Cybersecurity Threats & Vulnerabilities Guide:把 18 类常见威胁做成可复用脚本库

导语:把“DDoS 检测”“MITM 检测”“SQL 注入扫描”“勒索软件行为监控”这些常见话题写在一份仓库里,再配上 45+ 个可直接跑的 Python 脚本和 Next.js 前端,这就是 s4ntrx 的 Cybersecurity Threats & Vulnerabilities Guide。它不是教你怎么攻击,而是把每类威胁的“检测 + 防御”样板代码摆出来,方便蓝队做基线、红队做内训。


一、项目概览

  • 仓库地址:https://github.com/s4ntrx/Cybersecurity-Threats-Guide
  • 作者:s4ntrx(X/Twitter @Dinosn)
  • License:MIT
  • 统计:6 个一级分类、18+ 主题、45+ Python 脚本、2 个 Shell 脚本、74+ 文件
  • 技术栈:Python 3.8+ 主体脚本,Next.js 14 + Tailwind CSS 的前端 Web App(cybersec-app/)
  • 配套接口:Flask 后端(api/index.py)实现健康检查、工具列表、扫描接口

这套仓库走的是“教学 + 工具”双轮路线:每个威胁子目录下都有 README.md 讲原理,detection/ 放检测脚本,prevention/ 放防御代码。结构高度一致,几乎不用适应期就能上手。

Cybersecurity Threats Guide 仓库结构图

二、六大分类速览

仓库把威胁切成六个一级目录,每个目录下的子主题基本遵循 README.md + detection/ + prevention/ 三段式。

2.1 Network Security(网络层)

覆盖 DDoS、MITM、端口扫描、DNS Spoofing、ARP Poisoning。脚本示例:

  • 01-network-security/ddos-attacks/detection/ddos_detection.py:按阈值统计入向流量速率,超阈值即告警。
  • 01-network-security/man-in-the-middle/prevention/certificate_pinning.py:演示证书钉扎的标准写法。
  • 01-network-security/port-scanning/prevention/stealth_mode.py:展示端口混淆思路(注意合规使用)。

2.2 Web Application Security(Web 层)

覆盖 SQL 注入、XSS、CSRF、会话劫持。脚本示例:

  • 02-web-application-security/sql-injection/detection/sql_injection_scanner.py:启发式匹配常见 SQLi Payload。
  • 02-web-application-security/xss-attacks/prevention/csp_headers.py:自动生成 CSP 头模板。
  • 02-web-application-security/csrf/prevention/same_site_cookies.py:演示 SameSite Cookie 配置。

2.3 Malware Analysis(恶意软件)

覆盖勒索软件、木马、Rootkit、键盘记录器。脚本示例:

  • 03-malware-analysis/ransomware/detection/file_monitor.py:基于文件系统事件实时监控高频改写行为。
  • 03-malware-analysis/ransomware/prevention/backup_system.py:3-2-1 备份策略模板。
  • 03-malware-analysis/rootkits/prevention/secure_boot.py:模拟 UEFI Secure Boot 配置检查。

2.4 Social Engineering(社工)

覆盖钓鱼、Pretexting、Baiting、Tailgating。脚本示例:

  • 04-social-engineering/phishing/detection/email_analyzer.py:邮件头字段异常打分。
  • 04-social-engineering/phishing/prevention/email_filters.py:示例 DMARC/SPF/DKIM 校验规则。

2.5 Cryptography(密码学)

覆盖对称加密、非对称加密、哈希、密钥管理。脚本示例:

  • 05-cryptography/encryption/symmetric/aes_example.py:AES-GCM 加密标准写法。
  • 05-cryptography/encryption/asymmetric/rsa_example.py:RSA-OAEP 使用示例。
  • 05-cryptography/hashing/password_hashing.py:演示 Argon2 / bcrypt 推荐用法。

2.6 Incident Response(应急响应)

覆盖数字取证、隔离策略、恢复流程、事后分析。脚本示例:

  • 06-incident-response/forensics/memory_analyzer.py:基于 Volatility 思路的内存镜像扫描骨架。
  • 06-incident-response/containment/isolation_script.py:自动把失陷主机从交换机隔离。
  • 06-incident-response/containment/backup_recovery.py:备份校验与回滚脚本。

三、关键脚本用法

挑两个最常用的脚本示范,看完就能上手。

3.1 DDoS 检测脚本

git clone https://github.com/s4ntrx/Cybersecurity-Threats-Guide.git
cd Cybersecurity-Threats-Guide/01-network-security/ddos-attacks/detection
python3 ddos_detection.py --interface eth0 --threshold 1000

脚本会持续抓取网卡流量,按秒统计入向包速率。阈值默认 1000 pps,超过就在终端报警,并把异常时间段写入日志。生产环境建议结合 Snort/Suricata 做二次确认。

3.2 SQL 注入扫描脚本

cd 02-web-application-security/sql-injection/detection
python3 sql_injection_scanner.py --url https://target.example.com/login --param username

脚本内置常见 SQLi Payload 字典(' OR 1=1 --、UNION SELECT NULL,NULL,...、SLEEP(5)),对单参数做盲注/报错注入探测。扫描结果按漏洞等级排序输出。注意:仅在取得书面授权的目标上跑。


四、Next.js Web App 二次开发

仓库自带一个独立 Web 前端:cybersec-app/,用 Next.js 14 App Router + Tailwind CSS 写的,字体走 JetBrains Mono + Bebas Neue + Orbitron,部署目标是 Vercel。

技术栈:

  • Next.js 14:静态导出(next.config.js 配 output: 'export')
  • Tailwind CSS:工具类样式
  • Google Fonts:JetBrains Mono / Bebas Neue / Orbitron
  • Vercel 部署:vercel.json 一键导入即可

启动方式:

cd cybersec-app
npm install
npm run dev      # 本地 http://localhost:3000
npm run build    # 静态产物到 out/

如果想把仓库改成公司内训平台,只要改 cybersec-app/lib/data.js 里的威胁条目数据就行,前端结构不用动。


五、Flask API 接口

api/index.py 是 Vercel 兼容的 Flask 简易后端:

  • GET /api/health:健康检查
  • GET /api/tools:返回网络/Web 两类检测工具清单
  • POST /api/scan:同步执行扫描(Vercel 9 秒超时限制,单次任务要控制在 9 秒内)

调用示例:

curl -X POST https://your-app.vercel.app/api/scan 
  -H 'Content-Type: application/json' 
  -d '{"tool_id":"ddos","parameters":{"interface":"eth0","threshold":1500}}'

注意作者已经写了 Vercel 9s 限制的注释,所以脚本本身有意做成分批短跑,不是长驻进程。


六、红队实战建议

6.1 用作内训教材

仓库每个子目录的 README 都是一篇微型教学文档,按“原理 → 检测 → 防御”三段式写,直接拿来当公司安全意识培训讲义非常合适。

6.2 借检测脚本当 PoC 起点

蓝队想验证自家 EDR/IPS 是否能抓到勒索软件行为,可以直接拿 ransomware_behavior.py 跑一遍当回放脚本,看告警链路是否完整。

6.3 二次改造为内部平台

借 cybersec-app 的前端骨架,把 lib/data.js 里的威胁条目替换成公司自家业务相关的攻击场景,比如“供应链投毒”“SaaS 凭据泄漏”“AI 模型越狱”,10 分钟就能搭一个内部威胁门户。

6.4 局限性

  • 脚本大多是教学示例,生产环境需要补异常处理、日志审计、签名校验
  • 部分检测脚本基于字符串匹配,误报率高,仅适合做“触发器”
  • MIT 协议允许商用,但请保留原作者署名

七、思考题

  1. 如果把 02-web-application-security 的检测脚本接到自家 SIEM,需要补哪些字段才能让告警具备溯源能力?
  2. 03-malware-analysis 的检测脚本如果跑在 EDR 受控主机上,会不会被 EDR 自身拦掉?怎么设计规避?
  3. 06-incident-response/containment/isolation_script.py 是通过交换机 ACL 隔离还是通过防火墙 VLAN 隔离?哪种更适合云上 VM?

素材出处

  • 仓库:https://github.com/s4ntrx/Cybersecurity-Threats-Guide
  • 原始推文:https://x.com/Dinosn/status/2107719843013173407

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

请登录后发表评论

    暂无评论内容