靶场统一登录密码:1qaz@WSX(WEB靶机需恢复快照V1.3) 配置信息 DC IP:10.10.10.10OS:Windows 2012(64) 应用:AD域 WEB IP1:10.10.10.80IP2:192.168.111.80OS:Windows 2008(64) 应用:Weblogic 10.3.6MSSQL 2008 PC IP1:10.10.10.201IP2:192.168.111.201OS:Windows 7(32) 应用: 攻击机 IP:192.168.111.1OS:Windows 10(64) IP:192.168.111.11OS:Parrot(64) 拓扑:
准备工作
为了和靶机IP对应,我们先配置一下虚拟机的网卡IP,修改子网IP,NAT设置和DHCP设置
接着登录WEB靶机以管理员身份运行startWeblogic来打开weblogic环境
信息收集
首先扫描一下存活主机和端口
-T5 指定扫描过程使用的时序,总共有6个级别(0-5),级别越高,扫描速度越快, 但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4
192.168.111.80开放了如下端口:
192.168.111.201开放了如下端口:
445端口:存在smb服务,可能存在永恒之蓝 139端口:存在Samba服务,可能存在爆破/未授权访问/远程命令执行 1433端口:存在mssql服务,可能存在爆破/注入/SA弱口令 3389端口:存在远程桌面 7001端口:存在weblogic
漏洞利用
接着根据扫到的7001端口,我们使用weblogicScanner检测weblogic漏洞,发现存在CVE-2019-2725、CVE-2017-3506、CVE-2017-10271、CVE-2016-0638
然后可以有两种攻击思路,一种是msf反弹shell提权,一种是cs提权
这里我们使用cs提权,通过Java反序列化漏洞利用工具直接打
或者使用LiqunKit来打,用法都是一样的
上传冰蝎马
成功连接
内网渗透
查看本机IP、版本信息、补丁信息等,发现主机是server2008R2,存在域de1ay.com,并且有双网卡
接着cs生成木马,通过冰蝎上传并执行,从而上线cs
查看防火墙状态,发现是打开的
代码语言:javascript复制# windows server 2003及以下版本:
netsh firewall show config
# window server 2003以上版本:
netsh advfirewall show allprofiles state
而关闭防火墙就需要管理员权限,所以需要提权
成功提权admin
进而关闭防火墙
代码语言:javascript复制Windows server 2003及之前版本:
netsh firewall set opmode disable #关闭
netsh firewall set opmode enable #开启
Windows server 2003之后版本:
netsh advfirewall set allprofiles state off #关闭
netsh advfirewall set allprofiles state on #开启
接着查看一下当前登录域及登录用户信息,发现存在域de1ay.com
再查看一下当前域内机器和域控,发现当前域成员有两台机器PC和WEB,WEB为当前获取权限的机器,域控为DC
代码语言:javascript复制net group "domain computers" /domain #查看当前域内机器
net group "domain controllers" /domain #查看域控
net group "domain admins" /domain #查看域管理员用户
ping域控名DC可知当前域控ip为10.10.10.10,另一台域成员机的IP为10.10.10.201
然后hashdump获取凭证信息之后可以PTH横向移动,再使用mimikatz抓一下密码,成功抓取到WEB机器的密码:1qaz@WSX
密码基本都是这个可以尝试碰撞其他主机
代码语言:javascript复制whoami /all #获取域 SID
tasklist /svc #查看进程列表
wmic process list brief #查看进程列表
wmic startup get command,caption #查询启动程序信息
schtasks /query /fo LIST /v #查询计划任务
net user #查询本机用户列表
net user /domain #查询域内用户
net localgroup #查询本机用户组成员列表
net localgruop administrators #查询本机管理员组成员列表
query user || qwinsta #查询当前在线用户
net share #查询本机共享列表
route print #查询路由信息
arp -a #查询arp缓存表
# 查询 RDP 端口 0xd3d 即为 3389 端口
reg query "HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlTerminal ServerWinstationsRDP-Tcp" /V PortNumber
横向移动
通过冰蝎上传fscan,扫描域成员PC和域控DC的端口,域成员PC和域控DC都存在永恒之蓝,进而获取shell
由于445 端口是开启的,我们可以尝试一下域横向移动,然后我们还得到了管理员的账号密码,就可以利用SMB beacon横向移动。因为连接的Beacons使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽,绕防火墙时可能发挥奇效 psexec横向移动的条件 对方主机开启了 admin$ 共享和445端口,如果关闭了admin$共享,会提示:找不到网络名 对方未开启防火墙 如果是工作组环境,则必须使用administrator用户连接(因为要在目标主机上面创建并启动服务),使用其他账号(包括管理员组中的非administrator用户)登录都会提示访问拒绝访问。 如果是域环境,即可用普通域用户连接也可以用域管理员用户连接。连接普通域主机可以用普通域用户,连接域控只能用域管理员账户。
先用spawn派生出来一个会话,在已有的 Beacon 上右键点击 Spawn(生成会话 / 派生),选择name为ceshi的payload,然后点击choose,会反弹一个子会话,在 external 的 ip 后面会有一个∞∞样式的小图标
在listeners创建一个payload为 Beacon SMB的监听,然后保存
于是利用psexec横向移动,使用make_token模拟管理员用户
接着通过端口扫描在 View->Targets中可以看到存活的主机
在目标主机图表上右击,jump–>psexec64或者psexec,选择管理员账号,在填写上listener和session信息,直接选择launch发动,成功获取域控权限
同理也成功获取域成员PC的权限