冬训营丨打造一款诊断型个人防火墙

时间 :  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(直接读写物理内存,从内核投放代码到进程等)