Tawheed30/soar-incident-response

GitHub: Tawheed30/soar-incident-response

一个将安全告警自动映射至 MITRE ATT&CK 并执行预定义响应动作(如封禁 IP、隔离主机)的自动化 SOAR 事件响应系统。

Stars: 0 | Forks: 0

上次登录:Wed Dec 24 02:00:30 on ttys003 mohammedtawheed@Mohammeds-MacBook-Pro-2 mitre-soc-simulator % soar-incident-response/ │ ├── alerts/ │ └── alerts.json │ ├── src/ │ ├── alert_ingestor.py │ ├── decision_engine.py │ ├── response_engine.py │ ├── reporter.py │ └── main.py │ ├── reports/ │ └── incident_report.txt │ ├── config/ │ └── response_rules.json │ ├── README.md ├── requirements.txt └── .gitignore zsh: no such file or directory: soar-incident-response/ zsh: command not found: │ zsh: command not found: ├── zsh: command not found: │ zsh: command not found: │ zsh: command not found: ├── zsh: command not found: │ zsh: command not found: │ zsh: command not found: │ zsh: command not found: │ zsh: command not found: │ zsh: command not found: │ zsh: command not found: ├── zsh: command not found: │ zsh: command not found: │ zsh: command not found: ├── zsh: command not found: │ zsh: command not found: │ zsh: command not found: ├── zsh: command not found: ├── zsh: command not found: └── mohammedtawheed@Mohammeds-MacBook-Pro-2 mitre-soc-simulator % cd mohammedtawheed@Mohammeds-MacBook-Pro-2 ~ % ls Applications detector.py lbtds.txt mitre_mapping.json network-ids.py parse_logs.txt readme.md auth.log detector.py.save Library mitre-soc-simulator OneDrive Pictures soc-log-threat-detection authlog.py Documents log_parser.py Movies pandas.txt proj 4 Terminal Saved Output.txt Desktop Downloads logger.py Music parse_log.txt Public mohammedtawheed@Mohammeds-MacBook-Pro-2 ~ % cd mohammedtawheed cd: no such file or directory: mohammedtawheed mohammedtawheed@Mohammeds-MacBook-Pro-2 ~ % cd documents mohammedtawheed@Mohammeds-MacBook-Pro-2 documents % ls Documents - MOHAMMED’s MacBook Pro soar mohammedtawheed@Mohammeds-MacBook-Pro-2 documents % cd soar mohammedtawheed@Mohammeds-MacBook-Pro-2 soar % mkdir soar-incident-response cd soar-incident-response mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % mkdir alerts src reports config mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % touch alerts/alerts.json touch config/response_rules.json touch reports/incident_report.txt touch src/alert_ingestor.py touch src/decision_engine.py touch src/response_engine.py touch src/reporter.py touch src/main.py touch README.md touch requirements.txt touch .gitignore mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano alerts/alerts.json mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano config/response_rules.json mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano src/alert_ingestor.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano src/decision_engine.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano src/response_engine.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano src/reporter.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano src/main.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % python3 src/main.py Traceback (most recent call last): File "/Users/mohammedtawheed/Documents/soar/soar-incident-response/src/main.py", line 18, in main() File "/Users/mohammedtawheed/Documents/soar/soar-incident-response/src/main.py", line 10, in main alerts = load_alerts(ALERT_FILE) File "/Users/mohammedtawheed/Documents/soar/soar-incident-response/src/alert_ingestor.py", line 5, in load_alerts return json.load(f) File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/json/__init__.py", line 293, in load return loads(fp.read(), File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/json/__init__.py", line 346, in loads return _default_decoder.decode(s) File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/json/decoder.py", line 337, in decode obj, end = self.raw_decode(s, idx=_w(s, 0).end()) File "/Applications/Xcode.app/Contents/Developer/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/json/decoder.py", line 355, in raw_decode raise JSONDecodeError("Expecting value", s, err.value) from None json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0) mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano alerts/alerts.json mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % cat alerts/alerts.json [ { "id": "A-1001", "type": "Brute Force", "source_ip": "45.77.22.11", "severity": "HIGH" }, { "id": "A-1002", "type": "Malware Activity", "source_ip": "91.202.44.88", "severity": "CRITICAL" } ] mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % python3 src/main.py ## 事件 ID:A-1001 Type: Brute Force Severity: HIGH Source IP: 45.77.22.11 Action Taken: BLOCK_IP Result: Firewall rule added to block IP 45.77.22.11 ## 事件 ID:A-1002 Type: Malware Activity Severity: CRITICAL Source IP: 91.202.44.88 Action Taken: ISOLATE_HOST Result: Host communicating with 91.202.44.88 isolated from network mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano src/mitre_mapper.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano src/reporter.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % python3 src/main.py ## 事件 ID:A-1001 Type: Brute Force Severity: HIGH Source IP: 45.77.22.11 MITRE ATT&CK: T1110 – Brute Force Action Taken: BLOCK_IP Result: Firewall rule added to block IP 45.77.22.11 ## 事件 ID:A-1002 Type: Malware Activity Severity: CRITICAL Source IP: 91.202.44.88 MITRE ATT&CK: T1059 – Command and Scripting Interpreter Action Taken: ISOLATE_HOST Result: Host communicating with 91.202.44.88 isolated from network mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano README.md mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano usecase mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git init git add . git commit -m "Initial commit: Automated SOAR incident response system" Initialized empty Git repository in /Users/mohammedtawheed/Documents/soar/soar-incident-response/.git/ [main (root-commit) e72b3a9] Initial commit: Automated SOAR incident response system 23 files changed, 1726 insertions(+) create mode 100644 .DS_Store create mode 100644 .gitignore create mode 100644 README.md create mode 100644 alerts.json create mode 100644 alerts/alerts.json create mode 100644 alerts/alerts.jsony create mode 100644 alerts:alerts.json create mode 100644 config/response_rules.json create mode 100644 reports/incident_report.txt create mode 100644 requirements.txt create mode 100644 response_rules.json create mode 100644 src/alert_ingestor.py create mode 100644 src/decision_engine.py create mode 100644 src/main.py create mode 100644 src/mitre_mapper.py create mode 100644 src/reporter.py create mode 100644 src/response_engine.py create mode 100644 src:alert_ingestor.py create mode 100644 src:decision_engine.py create mode 100644 src:main.py create mode 100644 src:mitre_mapper.py create mode 100644 src:reporter.py create mode 100644 src:response_engine.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano .gitignore mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % rm -f .DS_Store rm -f alerts.json rm -f alerts/alerts.jsony rm -f alerts:alerts.json rm -f response_rules.json rm -f src:alert_ingestor.py rm -f src:decision_engine.py rm -f src:main.py rm -f src:mitre_mapper.py rm -f src:reporter.py rm -f src:response_engine.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % ls -R alerts config README.md reports requirements.txt src ./alerts: alerts.json ./config: response_rules.json ./reports: incident_report.txt ./src: alert_ingestor.py decision_engine.py main.py mitre_mapper.py reporter.py response_engine.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git add . git commit -m "Cleanup: finalize SOAR incident response project structure" [main 29d89fe] Cleanup: finalize SOAR incident response project structure 13 files changed, 237 insertions(+), 1588 deletions(-) delete mode 100644 alerts.json delete mode 100644 alerts/alerts.jsony delete mode 100644 alerts:alerts.json delete mode 100644 response_rules.json delete mode 100644 src:alert_ingestor.py delete mode 100644 src:decision_engine.py delete mode 100644 src:main.py delete mode 100644 src:mitre_mapper.py delete mode 100644 src:reporter.py delete mode 100644 src:response_engine.py mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git branch -M main git remote add origin git@github.com:Tawheed30/soar-incident-response.git git push -u origin main Enumerating objects: 33, done. Counting objects: 100% (33/33), done. Delta compression using up to 11 threads Compressing objects: 100% (29/29), done. Writing objects: 100% (33/33), 7.28 KiB | 2.43 MiB/s, done. Total 33 (delta 17), reused 0 (delta 0), pack-reused 0 (from 0) remote: Resolving deltas: 100% (17/17), done. To github.com:Tawheed30/soar-incident-response.git * [new branch] main -> main branch 'main' set up to track 'origin/main'. mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response git rm --cached .DS_Store rm '.DS_Store' mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git commit -m "Remove macOS .DS_Store from repository" [main 52df598] Remove macOS .DS_Store from repository 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .DS_Store mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git push Enumerating objects: 3, done. Counting objects: 100% (3/3), done. Delta compression using up to 11 threads Compressing objects: 100% (2/2), done. Writing objects: 100% (2/2), 252 bytes | 252.00 KiB/s, done. Total 2 (delta 1), reused 0 (delta 0), pack-reused 0 (from 0) remote: Resolving deltas: 100% (1/1), completed with 1 local object. To github.com:Tawheed30/soar-incident-response.git 29d89fe..52df598 main -> main mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano README.md mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git push Everything up-to-date mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git status On branch main Your branch is up to date with 'origin/main'. Changes not staged for commit: (use "git add ..." to update what will be committed) (use "git restore ..." to discard changes in working directory) modified: README.md no changes added to commit (use "git add" and/or "git commit -a") mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git add README.md mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git commit -m "Clean README documentation" [main 1d7c54f] Clean README documentation 1 file changed, 3 insertions(+), 231 deletions(-) mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % git push Enumerating objects: 5, done. Counting objects: 100% (5/5), done. Delta compression using up to 11 threads Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 382 bytes | 382.00 KiB/s, done. Total 3 (delta 2), reused 0 (delta 0), pack-reused 0 (from 0) remote: Resolving deltas: 100% (2/2), completed with 2 local objects. To github.com:Tawheed30/soar-incident-response.git 52df598..1d7c54f main -> main mohammedtawheed@Mohammeds-MacBook-Pro-2 soar-incident-response % nano README.md UW PICO 5.09 File: README.md Modified # 自动化 SOAR 事件响应系统 ## 概述 一个基于 Python 的安全编排、自动化和响应 (SOAR) 系统,它能够接入安全告警,将其映射到 MITRE ATT&CK 技术,执行自动化响应剧本,并生成 SOC 风格的事件报告。 ## 功能 - 告警接入(基于 JSON) - 自动化响应决策引擎 - 事件响应动作(IP 封禁、主机隔离) - MITRE ATT&CK 技术映射 - SOC 风格的事件报告 ## 架构 告警 → 决策引擎 → 响应引擎 → 报告 ## 项目结构 soar-incident-response/ ├── alerts/ │ └── alerts.json # 示例安全告警(输入) ├── config/ │ └── response_rules.json # 响应剧本和动作 ├── reports/ │ └── incident_report.txt # 生成的事件报告 ├── src/ │ ├── alert_ingestor.py # 加载并解析告警 │ ├── decision_engine.py # 确定响应动作 │ ├── response_engine.py # 执行响应剧本 │ ├── mitre_mapper.py # 将告警映射到 MITRE ATT&CK │ ├── reporter.py # 生成事件报告 │ └── main.py # 应用程序入口 ├── README.md ├── requirements.txt └── .gitignore ^G Get Help ^O WriteOut ^R Read File ^Y Prev Pg ^K Cut Text ^C Cur Pos ^X Exit ^J Justify ^W Where is ^V Next Pg ^U UnCut Text ^T To Spell
标签:Homebrew安装, PB级数据处理, SOAR, 安全编排与自动化响应, 安全运维, 安全运营, 扫描框架, 自动化响应, 逆向工具