冬训营丨打造一款诊断型个人防火墙
时间 : 2022年01月28日 来源: 安天
欢迎访问STDN.TECH下载沙丁鱼系列工具。
1. 以内核中的网络流量为线索出发,获取对应进程,运行环境,及其对应的文件路径。
2. 根据协议,获取进程所打开的端口,看是否有异常端口。
3. 根据远程IP获取对方地理位置,是否有境外连接。
4. 根据远端尝试接入的连接信息(如:敏感端口列表,连接频率),判断自己是否被扫描。
//探测端口列表
port=21,23,135,137,138,139,445,1433,3306,3389
//探测模式,0:全部都扫了才告警1:只要扫描其中一个就告警,2:扫两个...依此类推
mode=1
//白名单
whiteList=
sameIPRemindTime=3
MaxRecord=500
silence=0
5. 通过模拟端口,将首包发送至蜜罐,用于诊断是否自己正在被攻击,通过自定义的协议建立代理,将攻击方数据透明转发至蜜罐,进行下一步的追踪捕获等。
6. 与流量检测系统的联动,使得流量检测系统能够定位到异常流量所对应的样本,方便取证。
7. 与威胁情报联动,根据IP,C2等。
8. 通过获取关键网络封包(如:首包),并将其发送至安全大脑,用于分析,并传回结果,决定是否封锁异常进程。
9. 一些隐藏进程因网络连接动作而被检测出来的用户实际案例,截图等。
10. 插件系统的设计。
配置文件:chinese.txt
dll=logRecord.dll
author=Simpower
description=日志记录插件,同时提供全日志查询图形界面
weight=130 权重越大优先级越高
gui=logmgr.exe
开放三个接口
#define DLL_EXPORT __declspec(dllexport)
void DLL_EXPORT __stdcall init(int tid);//初始化,启用插件时调用,主线程执行
void DLL_EXPORT __stdcall uninit(inttid);//反初始化,取消插件时调用,主线程执行
void DLL_EXPORT __stdcall recvLog(int tid,const LPCSTR log);//接收网络日志,独立线程
11. 展望及沙丁鱼系列工具
安世盾防火墙(Personal Fire Wall)
ActionScope(获取可执行文件的行为)
certiScope(提取可执行文件中的资源证书等)
VirtualMatrix(一系列虚拟化工具集)
FileRescuer(恢复误删除的文件和目录等)
MMWarpIn(直接读写物理内存,从内核投放代码到进程等)