今日分享一下【赤鸢安全】公众号的一篇文章:
文中的视频说到:很难找到我的shellcode!
哟呵?激起了我好奇,到底有多难找,毕竟咱们也是玩过一丢丢免杀的,也想看看其他人是如何做隐藏的,抱着试试看和学习的态度,顺便检验一下个人能力,所以有了接下来的一幕。
01
获取样本
当我们获取到样本之后,可以通过在线的沙箱去分析这些木马的各种行为,但是由于本次样本过于庞大。我就放弃了在线沙箱的想法!直接本地去分析木马的行为!
02
样本结构
03
攻击链还原
cd .rest免杀速成_files&&.Overlay.vbs windir%system32cmd.exe /c
脚本内容如下,作用就不一一解读,大致作用就是运行了 【bypass】 【Wireshark】
【bypass】是一个lnk,目的是打开上级路径的【免杀速成.html】
【Wireshark】是一个正常的程序。所以在目前的想法证实了该样本是通过【白加黑】上线的一个套路。
04
动作解析
借助【Process Hacker】这款工具,快速定位。观察进程的变化和外连的情况!
完整动作:
因为【Wireshark】是一个白进程,肯定不是他这个主体实现的这个加载功能,肯定是通过了某个被劫持的dll实现的!接下来还得继续分析是哪个dll干的坏事。
确定恶意dll的思路已经很明确了,毕竟是通过启动一个进程,然后跨进程写入shellcode。那我们可以多关注创建进程和内存读写的api。下面是给出分析过程中用到的api。
CreateProcessA
WriteProcessMemory
使用【Xdbg】进行下一步的分析,在api处下断点,查看是谁调用的,【运行】到函数的时候停下,然后【运行到返回】,确认恶意操作是在【WinSparkle.dll】
其中,存在数字签名的【zzz】就是原来的【WinSparkle】,被劫持了!
观察rundll32的内存情况,使用的是【Cheat Engine】
【zzc_64.dll】这就是木马存放的地方,通过文件读取,然后写入【rundll32】中
整体来说,难倒是不难,毕竟是也使用过的技术,对于这种排查方式来说还是比较常规的。在这里也是非常感谢【赤鸢安全】提供样本,最后祝各位师傅劳动节快乐。
文中的步骤,和用到的技术,可能跟正规军还有很大差距,或者是存在弊端,如存在不妥的操作,大家可以在下方留言评论,一起讨论!
原文始发于微信公众号(渗透安全团队):应急响应 | 基于Lnk钓鱼的样本分析
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论