2026/1/24 3:35:28
网站建设
项目流程
公司网站维护方案,新增备案 网站名字,个人备案的网站竞价排名做不了,学校网站管理免杀技术全称为反杀毒技术Anti Anti- Virus简称“免杀”#xff0c;它指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广#xff0c;其中包含反汇编、逆向工程、系统漏洞等黑客技术#xff0c;所以难度很高#xff0c;一般人不会或没能力接触这…免杀技术全称为反杀毒技术Anti Anti- Virus简称“免杀”它指的是一种能使病毒木马免于被杀毒软件查杀的技术。由于免杀技术的涉猎面非常广其中包含反汇编、逆向工程、系统漏洞等黑客技术所以难度很高一般人不会或没能力接触这技术的深层内容。其内容基本上都是修改病毒、木马的内容改变特征码从而躲避了杀毒软件的查杀。1、杀毒原理浅析1.1 基于特征码的静态扫描技术早期基于特征码的静态扫描技术比较普遍。特征码是反病毒公司在分析病毒时逐个与程序文件比较确定的只有该病毒才可能会有的一系列二进制串根据从病毒体中提取的病毒特征码可以与其它病毒或正常程序区别开来。但这种方法在当今病毒技术迅猛发展的形势下已经起不到很好的作用。1.2 基于行为检测的反病毒技术行为检测通过hook关键api以及对各个高危的文件、组件做监控防止恶意程序对系统修改。只要恶意程序对注册表、启动项、系统文件等做操作就会触发告警。最后行为检测也被应用到了沙箱做为动态检测对于避免沙箱检测的办法有如下几个延时部分沙箱存在运行时间限制沙箱检测对诸如硬盘容量、内存、虚拟机特征做检测部分沙箱会对文件重命名可以检测自身文件名是否被更改1.3 基于内存扫描的反病毒技术内存扫描器一般与实时监控型扫描器协作从理论上来讲反病毒软件的文件扫描组件能识别的病毒内存扫描器也能识别。但是不能从而武断地认为它们用的就是同一套特征码。就算对一个木马文件免杀成功如果不对其做内存免杀大多数在运行中的木马文件仍然会被反病毒软件杀掉。作为病毒来讲被加载到内存就证明它要开始执行一些动作了在病毒或木马初始化运行环境的时候会让更多的可疑点暴露出来。1.4基于新兴技术的反病毒技术当前较新的反病毒技术包括“主动防御”、“云查杀”、“可信继承”等等。云查杀基本思路就是以服务器为脑以所有用户的机器为触角从而使得服务器可以随时知道每个用户的情况如果其中某一个用户与其他用户对比发生了异常那么服务器就会发出指令让发生异常的机器检查出问题所在并将问题反馈给服务器从而在这个问题干扰到其他用户之前将其扼杀掉。在这其中又发展出了可信继承顶端的信任体系是由数字签名、样本分析构成的这些顶端的信任体系在用户的机器上表现出来的形式就是“根可信进程”。所谓的“根可信进程”就是指可信进程链条的顶端凡是由可信进程开启的新进程都被认为是可信的。2、免杀技术2.1 修改特征码所谓特征码就是防毒软件从病毒样本中提取的不超过64字节且能代表病毒特征的十六进制代码。主要有单一特征码、多重特征码和复合特征码这三种类型。既然杀毒软件在最开始时使用了病毒特征码概念那么我们可以通过修改病毒特征码的方式躲过杀软扫描。2.2 花指令免杀花指令免杀。花指令是设计者特意构思的它最根本的思想就是希望在反汇编时出错并为反病毒人员设下陷阱。而如果花指令可以成功保护软件真正代码不被轻易反汇编那么对于反病毒软件来说它所检测的自然也就不是木马文件中真正的内容了。花指令可能会用到各种指令例如jmp, call, ret的一些堆栈技巧位置运算等等。2.3 内存免杀技术反病毒软件的内存扫描原理与文件扫描原理都是通过特征码比对只是大多数反病毒公司的内存扫描与文件扫描采用的不是同一套特征码所以只需要这两套特征码全部绕过就能躲过反病毒软件的查杀。内存免杀技术大多数只需要使用“ShellCode加载器”就可以达到很好的免杀效果内存免杀后门大部分基于“VirtualAlloc”函数申请内存使用shellcode加载器将shellcode直接加载进内存避免文件落地就可以绕过文件扫描。对比修改特征码加花指令等需要对PE结构有一定的认知以及汇编基础知识来说内存免杀技术简单、高效、免杀效果显著使该项技术成为了安全攻防领使用最多的免杀技术。3、免杀技术具体实现3.1 特征码修改特征码是文件中的某一串二进制代码这个代码会被杀毒软件识别为木马病毒。想要确定特征码的位置可以利用myccl将00覆盖到文件中如果此时文件不报毒说明覆盖的地方存在特征码。如M为特征码存在在某一段中 aaaaa aMaaa aaaaa myccl将代码覆盖生成三个文件 aaaaa aaaaa aaaaa \------ aMaaa aMaaa \------ ------ aaaaa 不报毒 报毒 报毒 说明特征码在后面两个文件中继续缩小范围得到特征码详细的可以用二进制查看的工具就可以知道myccl的工作原理继续这个过程得到特征码的准确位置当然特征码可能有很多个还会有复合型特征码还是要看具体看情况去分析。这里以nc(netcat)为例通过修改nc的特征码达到免杀效果。需要用到的工具有myccl火绒nc和C32asm。起始位置可以自己定数量选100长度会自动算好点一下生成会在被选中的文件同目录下生成OUTPUT文件夹。第一段0000是文件的序号第二段是文件开始的位置第三段是单位长度。第二个文件是0001这里应该是文件名排序的问题E017F就是第二个文件的开始。接下来对文件夹杀毒然后把扫出有毒的文件删除点击二次处理提示找到特征码是否继续点击yes继续扫描文件夹发现没有报毒。点击特征区间,右键复合定位此处特征码。可以看到缩小了特征码的范围这里的数量也是可以改的继续改成100重复之前的操作。生成-扫描文件夹-删除报毒文件-二次处理-发现没有报毒-复合定位特征码。现在范围已经确定在两个字节内了可以不用在继续缩小范围用C32asm打开文件将NC拖入然后以十六进制打开文件找到00006678的位置后面的两个字节就是特征码。可以看到是一个中括号和一个换行符把中括号修改一下随便换个符号修改好后另存为一下看看这个修改后的文件能不能使用help界面的输出被修改了。最后成功通过了杀软测试这就是针对特定杀软通过修改特征码通过扫描文件夹-删除报毒文件-二次处理-发现没有报毒-复合定位特征码-修改特征码-通过杀软这个流程达到免杀的方法。3.2 花指令在介绍花指令之前让我们先来了解一些免杀必备的汇编知识栈栈是一种数据结构记住四个字先进后出。压栈就是把数据放入栈中从栈顶放入出栈的时候也是从栈顶取出所以会有先进后出的特点先进后出我们可以这样理解例如一个乒乓球筒我们放入乒乓球然后取出乒乓球取出的都是就后放进的球。就如我们放入球的顺序是球1、2、3、4取出的顺序是球4、3、2、1。push 压栈 pop 弹栈 mov a,b 把b的值送给a nop 无作用就是什么也没做 retn 从堆栈取得返回地址并跳到该地址执行下面是一些算术运算指令ADD 加法 sub 减法 inc 加1 dec 减1跳转指令JE 等于则跳转 JNE 不等于则跳转 JZ 为 0 则跳转 JNZ 不为 0 则跳转 JS 为负则跳转 JNS 不为负则跳转 JC 进位则跳转 JNC 不进位则跳转 JO 溢出则跳转 JNO 不溢出则跳转寄存器寄存器是中央处理器内的其中组成部分。寄存器是有限存贮容量的高速存贮部件它们可用来暂存指令、数据和位址。我们需要了解的是8个通用寄存器EAXEBXECXEDXESIEDIEBPESP这些就是我们需要掌握的一些指令可能看不明白下面会详细讲解。此处举例分析几种简单的花指令第一种花指令特征先有一个push 操作然后jmp到一个CallCall后面跟一个POP56 EB 272B A6 F1 CC 7E 25 31 96 23 39 7D B0 18 5A 1B D7 5E CB5E FF E62B A6 F1 CC 7E 25 31 96 23 39 7D B0 18 5A 1B D7 5E CB **E8 E6 FF FF FF 5E**原理push D(寄存器) 1.先push esi(使用一个参数保留环境,这里也可以push eax-edi等寄存器) jmp C(偏移) 2.通过EB xx的jmp偏移指令跳转至精心构造的偏移xx处也就是Call call B() 3.特定E8的Call指令回退调用(Call 1.push 下一条指令的地址A。2.jmp 函数地址B) pop D,jmp D 4.此时pop esi 就把地址A从堆栈中push出来然后jmp esi就跳转至地址A pop D 5.再次pop esi 的目的在于还原环境第二种花指令原理通过无效指令如CLC,CLD,FNOP。以及无效跳转mov 寄存器,A;cmp 寄存器,A;JNZ 迷惑跳转;来迷惑杀软或者病毒分析人员让程序不被轻易反汇编那么对于反病毒软件来说它所检测的自然也就不是木马文件中真正的内容了3.3 内存免杀技术看一个简单的ShellCode加载器int main(){ unsigned char buf[] shellcode; void* exec VirtualAlloc(0, sizeof buf, MEM_COMMIT, PAGE_EXECUTE_READWRITE); memcpy(exec, buf, sizeof buf); ((void(*)())exec)(); return 0; }这里我们将进行代码的逐行分析该段中需要重点关注的两个函数(1VirtualAlloc2memcpy1VirtualAlloc是一个Windows API函数它的作用是调用进程的虚地址空间预定或者提交一部分页。简单点的意思就是申请内存空间要让Shellcode执行起来需要先把它放到内存中该函数的函数声明如下LPVOID VirtualAlloc( LPVOID lpAddress, SIZE_T dwSize, DWORD flAllocationType, DWORD flProtect );lpAddress:分配内存区域的地址如果为null将由系统来分配。dwSize:要分配或者保留的区域大小这个参数以字节为单位。flAllocationType:这个数值有三个可选择MEM_COMMITMEM_RESERVEMEM_RESET一般都是用MEM_COMMIT。flProtect:指定了被分配区域的访问保护方式这里使用PAGE_EXECUTE_READWRITE表示赋予该区域可读可写可执行权限。2memcpy指的是C和C使用的内存拷贝函数简单来说就是把恶意代码放到刚开的内存中。memcpy(exec, buf, sizeof buf);第一个参数exec是存储复制内容的地址强制转换为void*指针。第二个参数buf是要复制到第一个参数里面的数据强制转换为void* 指针。第三个参数sizeof buf是要被复制的字节数。通过分析ShellCode加载器可以看出该技术的原理主要就是基于VirtualAlloc函数申请内存并通过参数flProtect指定被分配区域的访问保护方式比如PAGE_EXECUTE_READWRITE使得区域可以执行代码应用程序可以读写该区域这样就可以构造恶意代码进行命令执行,读取写入等操作。接下来我们理解这个语句((void(*)())exec)();首先要知道C语言的强制类型转换float n 3.14; (int)n;C语言的强制类型转换就是在要转换的参数前面加上 (类型)现在再了解一下函数指针void hello(){ printf(helloworld); } int main(){ hello(); //简化调用 (*hello)(); //标准调用 return 0; }hello是一个返void类型的函数hello的声明是· void (*hello)()看到了声明就可以得到这个函数类型的类型转换符了 void(*)()然后加上前面的强制类型转换( (void(*)()) exec)();这句代码的意思就是把exec强制转换为一个返回void类型的函数指针然后执行就成功执行了ShellCode接下来就可以自由发挥写一些混淆了。4、总结本文主要介绍了常见杀毒技术与免杀技术的基础概念以及一些常见免杀技术的实现手法。免杀技术可深可浅刚接触免杀并想深入学习的同学建议从汇编语言、Windows编程等基础学起。如果只作为自己众多技术点中的一环希望拿来就能用的话建议直接使用ShellCode加载器简单高效但要注意时效性噢。网络安全的知识多而杂怎么科学合理安排下面给大家总结了一套适用于网安零基础的学习路线应届生和转行人员都适用学完保底6k就算你底子差如果能趁着网安良好的发展势头不断学习日后跳槽大厂、拿到百万年薪也不是不可能初级黑客1、网络安全理论知识2天①了解行业相关背景前景确定发展方向。②学习网络安全相关法律法规。③网络安全运营的概念。④等保简介、等保规定、流程和规范。非常重要2、渗透测试基础一周①渗透测试的流程、分类、标准②信息收集技术主动/被动信息搜集、Nmap工具、Google Hacking③漏洞扫描、漏洞利用、原理利用方法、工具MSF、绕过IDS和反病毒侦察④主机攻防演练MS17-010、MS08-067、MS10-046、MS12-20等3、操作系统基础一周①Windows系统常见功能和命令②Kali Linux系统常见功能和命令③操作系统安全系统入侵排查/系统加固基础4、计算机网络基础一周①计算机网络基础、协议和架构②网络通信原理、OSI模型、数据转发流程③常见协议解析HTTP、TCP/IP、ARP等④网络攻击技术与网络安全防御技术⑤Web漏洞原理与防御主动/被动攻击、DDOS攻击、CVE漏洞复现5、数据库基础操作2天①数据库基础②SQL语言基础③数据库安全加固6、Web渗透1周①HTML、CSS和JavaScript简介②OWASP Top10③Web漏洞扫描工具④Web渗透工具Nmap、BurpSuite、SQLMap、其他菜刀、漏扫等恭喜你如果学到这里你基本可以从事一份网络安全相关的工作比如渗透测试、Web 渗透、安全服务、安全分析等岗位如果等保模块学的好还可以从事等保工程师。薪资区间6k-15k到此为止大概1个月的时间。你已经成为了一名“脚本小子”。那么你还想往下探索吗想要入坑黑客网络安全的朋友给大家准备了一份282G全网最全的网络安全资料包免费领取网络安全大礼包《黑客网络安全入门进阶学习资源包》免费分享7、脚本编程初级/中级/高级在网络安全领域。是否具备编程能力是“脚本小子”和真正黑客的本质区别。在实际的渗透测试过程中面对复杂多变的网络环境当常用工具不能满足实际需求的时候往往需要对现有工具进行扩展或者编写符合我们要求的工具、自动化脚本这个时候就需要具备一定的编程能力。在分秒必争的CTF竞赛中想要高效地使用自制的脚本工具来实现各种目的更是需要拥有编程能力.零基础入门建议选择脚本语言Python/PHP/Go/Java中的一种对常用库进行编程学习搭建开发环境和选择IDE,PHP环境推荐Wamp和XAMPP IDE强烈推荐Sublime·Python编程学习学习内容包含语法、正则、文件、 网络、多线程等常用库推荐《Python核心编程》不要看完·用Python编写漏洞的exp,然后写一个简单的网络爬虫·PHP基本语法学习并书写一个简单的博客系统熟悉MVC架构并试着学习一个PHP框架或者Python框架 (可选)·了解Bootstrap的布局或者CSS。8、高级黑客这部分内容对零基础的同学来说还比较遥远就不展开细说了贴一个大概的路线。网络安全工程师企业级学习路线很多小伙伴想要一窥网络安全整个体系这里我分享一份打磨了4年已经成功修改到4.0版本的**《平均薪资40w的网络安全工程师学习路线图》**对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。如果你想要入坑黑客网络安全工程师这份282G全网最全的网络安全资料包网络安全大礼包《黑客网络安全入门进阶学习资源包》免费分享学习资料工具包压箱底的好资料全面地介绍网络安全的基础理论包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等将基础理论和主流工具的应用实践紧密结合有利于读者理解各种主流工具背后的实现机制。网络安全源码合集工具包视频教程视频配套资料国内外网安书籍、文档工具 因篇幅有限仅展示部分资料需要点击下方链接即可前往获取黑客/网安大礼包CSDN大礼包《黑客网络安全入门进阶学习资源包》免费分享好了就写到这了,大家有任何问题也可以随时私信问我!希望大家不要忘记点赞收藏哦!特别声明此教程为纯技术分享本文的目的决不是为那些怀有不良动机的人提供及技术支持也不承担因为技术被滥用所产生的连带责任本书的目的在于最大限度地唤醒大家对网络安全的重视并采取相应的安全措施从而减少由网络安全而带来的经济损失。本文转自网络如有侵权请联系删除。