C2远控篇&C&C++&ShellCode分离&File提取&Http协议&Argv参数&Sock管道

#C2远控-ShellCode-认知&环境

1.创建工程时关闭SDL检查

2.属性->C/C++->代码生成->运行库->多线程 (/MT)如果是debug则设置成MTD

3.属性->C/C++->代码生成->禁用安全检查GS

4.关闭生成清单 属性->链接器->清单文件->生成清单 选择否

#C2远控-ShellCode-分析&提取

ShellCode的本质其实就是一段可以自主运行的代码。

它没有任何文件结构,它不依赖任何编译环境,无法像exe一样双击运行,

因此需要通过控制程序流程跳转到shellcode地址加载上去执行shellcode。

目的:杀毒和感知平台如何定性

分析:OD&xdb&ida

提取:010Editor

加载:各种Loader方法执行

流程:ShellCode->Loader->EXE

思路:

1、Shellcode自写打乱-让杀毒不认识

2、Shellcode加密混淆-让杀毒不知道

3、Shellcode分离隐藏-让杀毒找不到

4、Shellcode注入回调-让杀毒绕圈圈

内存免杀是将shellcode直接加载进内存,由于没有文件落地,因此可以绕过文件扫描策略的查杀。为了使内存免杀的效果更好,在申请内存时一般采用渐进式申请一块可读写内存,在运行时改为可执行,在执行的时候遵循分离免杀的思想。分离免杀包含对特征和行为的分离两个维度,把shellcode从放在程序转移到加载进内存,把整块的ShellCode通过分块传输的方法上传然后再拼接,这些体现了基本的"分离"思想。

➢C2远控-ShellCode分离-C/C++从文本中提取

目录2个文件:xxxx.exe xxx.bin

可升级:混淆加密xxx.bin,读取后进行解密执行

➢C2远控-ShellCode分离-C/C++从参数中提取

执行:xxxx.exe shellcode

可升级:xxxx.exe shellcode password

➢C2远控-ShellCode分离-C/C++从网站中提取(shellcode要进行十进制转换在txt文件 如果是正常的话不会被传输 会当作字符串处理)

url:http://xx.xx.xx.xx/sc.txt

可升级:可以在绿标白名单的网站上找一个存储路径充当(txt十进制shellcode进行混淆加密)

➢C2远控-ShellCode分离-C/C++从管道中提取

socket,pipe等技术

利用建立网络通讯管道,在发送ShellCode接受执行

可升级:可以在发送过程中进行混淆加密,接受后进行解密执行

相关推荐
码匠许师傅7 小时前
【设计模式精讲】29.行为型模式总结与对比(Behavioral Patterns Summary)
c++·设计模式·uml
啦啦啦啦啦zzzz7 小时前
Logger的组装(c++20)
c++·算法·c++20
繁星蓝雨9 小时前
C++的设计与演进大纲(如何从C语言一步步成长为C++)
c语言·开发语言·c++·c++历史·c++演进
yutian06069 小时前
C: Unix UTC 时间戳转为 UTC+8 北京时间
c语言·unix
蒸蒸yyyyzwd9 小时前
机试学习笔记
c++·求职招聘
handler0110 小时前
【Linux】线程与虚拟内存的底层世界
linux·运维·服务器·c++·线程·虚拟地址空间·共享内存
郝学胜-神的一滴10 小时前
C++11 工程级应用 09:告别无谓拷贝,解锁高性能移动语义
开发语言·数据结构·c++·vscode·软件工程·visual studio
彧azz12 小时前
数据结构:关于图的学习
c语言·数据结构·笔记·学习·算法
hetao173383712 小时前
校内场-提高组 ZYZSC-S-Round 4
c++·算法
彧azz12 小时前
二叉搜索树学习记录
c语言·数据结构·笔记·算法