免杀概念
字面意思,避免被杀
1、工具篇内容:msf自免杀、Veil、Venom、Shellter、BackDoor-Factory、Avet、TheFatRat、Avoidz、Green-Hat-Suite、zirikatu、AVIator、DKMC、Unicorn、Python-Rootkit、DKMC、Unicorn、Python-Rootkit、ASWCrypter、nps_payload、GreatSCT、HERCULES、SpookFlare、SharpShooter、CACTUSTORCH、Winpayload等。
2、代码篇内容:C/C++、C#、python、powershell、ruby、go等。
3、白名单内容:MsBuild、Msiexec、mshta、InstallUtil、rundll32、Regsvr 32、Cmstp、Wmic、CSC、Regasm、Regsvcs、Control、Msxsl、Odbcconf、Compiler等。
通常防护监控:
- 内存、文件、行为三个方面
病毒库:收集大量样本分析其中的特征码,然后对文件进行匹配,及时更病毒库可以有效防止已知的病毒传播。但对于新病毒的防护有滞后性。
特征码防护分为内存和文件两个方面,就比较直接,也可能存在误报的情况。
文件监控通常采用校验和的方式,在前期就对本地文件进行校验和计算并备份,定期或加载前计算文件校验和并与原来的进行比配。这种方式能有效避免文件被篡改(比如dll劫持等),单同时也让正常修改变麻烦。
个人认为最有效的还是进程监控,通过排查可以行为(比如注册表操作、添加启动项、添加服务、添加用户、注入、劫持、创建进程、加载DLL等等)来进行防护,单依然也存在对合法程序进行劫持和注入,容易被混进白名单,虽然持续监控所有进程的行为确实比较有效,但是同样也对系统增加压力。
免杀思路
通常的免杀思路:修改特征码、花指令免杀、加壳免杀、内存免杀、二次编译、分离免杀、资源修改等等,之后的样本我也就按照这些思路来写。