密码保护:某黑产组织使用Ccprotect驱动保护隐藏IIS恶意dll排查分析

压缩包数据清洗最佳实践

常用的压缩包格式有zip,rar,7z这三类。一开始在处理这些压缩包时,采用的思路是直接用python封装的第三方模块如zipfile、rarfile、py7zr这些直接处理原始压缩文件。

如果只是处理几百兆的小文件,是没有任何问题,但对于几十G的压缩包效率极其低下,尤其针对不解压提取压缩包内部的文件内容的场景,一个rar的压缩包处理时长可能花费数十个小时。

本文针对压缩包清洗,花费大量时间研究。深入分析清洗数据的坑点,以及优化思路。

阅读更多

Zerotier + Openwrt异地组网高阶配置

和朋友一起协同开发,需要打通双方的局域网互访,所以考虑到vpn的场景。一开始考虑frp+openvpn的实现。frp实现点对点穿透,openvpn负责组网。但是感觉这样配置较为繁琐,双方都需要部署frp和openvpn,体验不是很友好。

探索了多种方案最终选择了Zerotier,一个自带P2P打洞的vpn,同时满足需要。只需要自建一台有公网ip的moon服务器就可以高效实现各个zerotier节点之间的打洞。

阅读更多

0889挖矿团伙rootkit后门溯源排查记录

近期发现某国内的黑客团伙用0889.org作为恶意样本地址和通信域名,后面简称0889组织。最近一次排查某云上挖矿的case,发现该组织通过jenkins RCE漏洞突破边界,内网横向后拿到主机权限后,批量下发挖矿和rootkit后门。

挖矿就没什么好说的,本文重点分析该组织的rootkit后门隐藏手法以及应急排查思路。

阅读更多

内存取证-Volatility3手动导出Linux系统符号表

└─# vol -f sample.mem linux.pstree.PsTree
Volatility 3 Framework 2.11.0
Progress:  100.00               Stacking attempts finished                 
Unsatisfied requirement plugins.PsTree.kernel.layer_name: 
Unsatisfied requirement plugins.PsTree.kernel.symbol_table_name: 

A translation layer requirement was not fulfilled.  Please verify that:
        A file was provided to create this layer (by -f, --single-location or by config)
        The file exists and is readable
        The file is a valid memory image and was acquired cleanly

A symbol table requirement was not fulfilled.  Please verify that:
        The associated translation layer requirement was fulfilled
        You have the correct symbol file for the requirement
        The symbol file is under the correct directory or zip file
        The symbol file is named appropriately or contains the correct banner

Unable to validate the plugin requirements: ['plugins.PsTree.kernel.layer_name', 'plugins.PsTree.kernel.symbol_table_name']

vol3分析Linux内存通常都会遇到上面的报错,就是缺少对应的系统符号表。但网上介绍Volatility3的文章大部分都是都把工具的命令行翻译成中文,当真的去实操vol分析内存时会发现有太多的坑,因为分析内存是需要当前系统的符号表。

vol3自带的Linux符号表非常少,而Linux的kernel版本又非常众多,大多数情况都需要在对应的机器上手动导出符号表才能开始分析内存。

阅读更多