夺命十三枪——从零写不滅の免杀(卷一)

admin 2023年7月22日18:14:20评论57 views字数 1544阅读5分8秒阅读模式

第一枪:朝花夕拾——序


       我常常惊叹于世间阴阳,两极的事物,竟往往可以转化。软件表层的复杂与硬件底层的简洁竟然可以互相佐证。其次,研究游戏安全与免杀这两个看似不相干的两个事物,竟然可以互通借鉴。进而说免杀,极多与极少之间,往往用时恨少,但在有时却思路层出。更如我盼望假期,尚等她真正降临的时候,我反而愈发的手足无措了——与其百无聊赖的熵增下去,不如在惶惶不可终日的时候去慢慢干一点事。对,干一点事去,去学习提高,遂有此系列和大家见面。权当是我百无聊赖时学习的笔记,所以写下的东西一定不忍卒读,但是大家推敲我的文字是我的荣幸,我也会虚心恭听各位大佬们反馈。技术交流不是讲“茴”字有四种写法,相反的,我们一万个人心中应有一万个技术理解。只要我还在向前走,我就会慢慢把这个系列写下去,感谢关注H4公众号的各位给予我鼓励!

 


       这是目录,名字很幽默对吧,其实学习的过程也并非枯燥。可能以后会变更,根据这类知识的多少和我掌握的程度(bushi)来调整,更多是list一下要干什么。

 

第一枪:朝花夕拾——序

第二枪:修身二年——内存模型与进程

第三枪:修身三年——汇编基础

第四枪:修身五年——PE基础

第五枪:修身七年——C++API调用

第六枪:知彼——检测原理

第七枪:千面——绕过特征检测

第八枪:无影——隐藏文件、进程与导入表

第九枪:拉扯——HOOK

第十枪:遁形——注入

第十一枪:斩首——Rootkit

第十二枪:乱剑——混淆与加密

第十三枪:我想这个世上,可能真的没有什么枪法——跋  

 



       朝花夕拾是什么?早上的花晚上你把它们捡起来看。初识免杀,我们大多是从给shellcode编码,或者从图片加载,远程加载等等方式来规避杀软。这叫什么,这叫特征检测——当然这是后话。那我们举个例子(搜索引擎随机找的各种语言实现Shellcode加载(暂时两种) - Zahad003 - 博客园 (cnblogs.com)

       文章中提到了PythonC++两种加载器方式,我们来看看!

夺命十三枪——从零写不滅の免杀(卷一)

       节选自python实现的

夺命十三枪——从零写不滅の免杀(卷一)

       节选自C++实现的

       不需看懂代码意思,但是看得出VirtualAlloc单词在两段代码中都出现了。很好,这个函数就是申请虚拟内存,如果再仔细看看,(o)?参数都是一样的啊。正确的,无论是pythonC++实现的加载器,前者采用ctypes调用这个函数,后者采用#include<Windows.h>导入这个函数,其实根本上还是一样的东西。至于后文提到的base64、hex、xor等不同的加密方式、本地远程图片xml各种加载方式、也是只是在表层做障眼法。当然这有一定效果,但是动态一运行,今天上马明天杀,有什么意思?所以呢朝花夕拾,再来捡起朝花,我们应该从底开始。我们除了使用VirtualAlloc函数,能不能使用其他方式开辟内存空间,或者我们能不能用VirtualAlloc而不被发现,亦或者在别的信任的进程里调用,再或者让杀软无法知道我们在用——等等等等。这就是从基础学的原因所在。

    如果我们想隐藏掉恶意进程不被发现,那么就得学一下进程怎么创建销毁,怎么驱动隐藏,再学下去,不得学进程的内存模型,windows的权限规则(省略号)——朝花夕拾。

最后,写出很COOL的免杀,否极泰来是不准确的,我们不能认为免杀是运气,红了绿了也不是守株待兔的事情,各种事情也大抵如此。当然,学习过程中,如看尽长安花,比如内核安全与逆向分析都有涉猎了。但抱着努力学习的态度和求知的好奇加上一点点挑战的勇气,就会一直走下去——愿春风得意马蹄疾!

       DONE


原文始发于微信公众号(HB网络安全探究实验室):夺命十三枪——从零写不滅の免杀(卷一)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年7月22日18:14:20
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   夺命十三枪——从零写不滅の免杀(卷一)https://cn-sec.com/archives/1899282.html

发表评论

匿名网友 填写信息