


개요
Sooty는 SOC 분석가의 작업 흐름 일부를 자동화하는 데 도움을 주기 위해 개발된 도구입니다. Sooty의 목표 중 하나는 가능한 많은 일상적인 점검을 수행하여 분석가가 동일한 시간 내에 더 깊은 분석에 더 많은 시간을 할애할 수 있도록 하는 것입니다. Sooty의 여러 기능에 대한 자세한 내용은 아래에서 확인할 수 있습니다.
Sooty는 이제 Tines.com의 자랑스러운 후원을 받고 있습니다! 기업 보안 팀을 위한 SOAR 플랫폼입니다.
목차

현재 Sooty가 할 수 있는 작업:
- 이메일로 안전하게 보낼 수 있도록 URL을 살균(sanitize)
- 역방향 DNS 및 DNS 조회 수행
- 다음 출처에서 평판 확인:
- 주소가 잠재적으로 악성인지, 스팸 또는 웹 봇에 사용되는지 식별:
- IP 주소가 TOR 종료 노드인지 확인
- Proofpoint URL, UTF-8 인코딩 URL, Office SafeLink URL, Base64 문자열 및 Cisco7 비밀번호 디코딩
- 파일 해시를 구하고 VirusTotal과 비교 (요구 사항 참조)
- WhoIs 조회 수행
- HaveIBeenPwned에서 사용자 이름 및 이메일 확인하여 유출 발생 여부 확인 (요구 사항 참조)
- 이메일에서 URL, 이메일 및 헤더 정보를 추출하는 간단한 분석
- 이메일에서 IP 주소 추출
- 외부 서비스에 의해 단축된 URL의 원래 URL 복원 (시간당 10회 요청 제한)
- URLScan.io에서 평판 보고서 조회
- EmailRep.io를 활용하여 알려진 악성 활동에 대해 이메일 주소 분석 및 도메인 평판 보고
- 피싱 대응의 기초로 사용할 수 있는 동적 이메일 템플릿 생성 (.msg만 지원, .eml은 향후 업데이트에서 지원 예정)
- HaveIBeenPwned 데이터베이스를 사용하여 피싱 메일에 대한 분석 강화 수행, 이메일 주소가 과거에 유출되었는지, 언제 발생했는지, 유출 위치를 식별 (API 키 필요)
- PhishTank에 URL 제출 (요구 사항 참조)
- Unfurl의 CLI 버전을 통해 Unfurl URL
- 현재 사용 가능한 전체 도구 목록과 레이아웃은 아래 참조:
└── Main Menu
├── Sanitize URL's for use in emails
| └── URL Sanitizing Tool
├── Decoders
| ├── ProofPoint Decoder
| ├── URL Decoder
| ├── Office Safelinks Decoder
| ├── URL Unshortener
| ├── Base 64 Decoder
| ├── Cisco Password 7 Decoder
| └── Unfurl URL
├── Reputation Checker
| └── Reputation Checker for IP's, URL's or email addresses
├── DNS Tools
| ├── Reverse DNS Lookup
| ├── DNS Lookup
| └── WhoIs Lookup
├── Hashing Functions
| ├── Hash a File
| ├── Hash a Text Input
| ├── Check a hash for known malicious activity
| └── Hash a file and check for known malicious activity
├── Phishing Analysis
| ├── Analyze an Email
| ├── Analyze an email address for known malicious activity
| ├── Generate an email template based on analysis
| ├── Analyze a URL with Phishtank
| └── HaveIBeenPwned Lookup
├── URL Scan
| └── URLScan.io lookup
├── Extra's
| ├── About
| ├── Contributors
| ├── Version
| ├── Wiki
| └── Github Repo
└── Exit


요구 사항 및 설치
- Python 3.x
- requirements.txt 파일에서 모든 종속성 설치.
pip install -r requirements.txt
- 메인 디렉터리로 이동하여
python Sooty.py 또는 Sooty.py를 실행하여 도구 실행
- Sooty의 전체 기능을 사용하려면 여러 API 키가 필요합니다. 그러나 이러한 키가 없어도 도구는 여전히 작동하지만, 키가 제공하는 추가 기능은 사용할 수 없습니다. 링크는 아래에서 찾을 수 있습니다:
example_config.yaml 파일에서 해당 키를 교체하고 파일 이름을 config.yaml로 변경합니다. 예시 레이아웃은 아래와 같습니다:
- PhishTank 지원을 위해서는 고유한 앱 이름도 추가 필드로 필요합니다.
config.yaml 파일에 고유한 이름을 업데이트하세요.

Docker로 실행
- docker build -t sooty . && docker run --rm -it sooty
개발
기여하고 싶으신가요? 좋습니다!
코드 기여
- 기능 작업을 원하시면 이슈 페이지에 댓글을 남겨주시면 할당해 드리겠습니다.
- Projects 탭 아래에는 시작/완료를 기다리는 기능 목록이 있습니다.
- 모든 코드 수정, 개선 또는 추가는 풀 리퀘스트를 통해 이루어져야 합니다.
- 검토 및 병합 후 기여자는 ReadMe에 추가됩니다.
버그를 발견하셨나요? 알려주세요!
버그 및 이슈
- 이슈/버그가 발견되면 이슈 트래커에 티켓을 열고 버그 보고서 템플릿을 사용해 주십시오. 이 템플릿을 작성하고 추가 관련 정보를 포함하세요.
- 알려진 버그를 수정하고 싶다면 이슈 페이지에 댓글을 남기고 진행 상황을 추적하기 위해 풀 리퀘스트를 열어 주십시오. 제가 할당해 드리겠습니다.
- 설치 또는 사용에 문제가 있는 경우 제공된 템플릿을 사용해 주시면 최대한 빨리 응답하겠습니다.
기능 요청
- 새로운 기능/요청은 이슈를 여는 것으로 시작해야 합니다. 새 이슈를 생성할 때는 첨부된 템플릿을 사용해 주십시오. 이는 새 기능을 추적하고 중복을 방지하는 데 도움이 됩니다. 필요하다고 생각되는 추가 정보가 있으면 첨부하세요. 새 이슈를 생성하기 전에 Projects 탭에서 이 이슈가 이미 요청되었는지 확인하거나 다른 열린 이슈와 직접 확인하세요.
변경 로그
버전 1.3 - 템플릿 업데이트
- Sooty의 분석을 기반으로 생성되는 동적 이메일 템플릿의 첫 번째 버전 추가, 아래 예시 참조:

- Docker 이미지 추가
- Unfurl 추가
버전 1.2 - 피싱 업데이트
- 피싱 도구의 첫 번째 버전 추가.
- 이메일 (현재 Outlook /.msg만 테스트됨)을 분석하고 이메일, URL (필요시 Proofpoint 디코딩)을 검색하며 헤더에서 정보를 추출 가능.
- 이메일 본문에서 IP 추출.
- 이메일 발신자 평판 확인 및 강화된 정보 제공.
버전 1.1 - 평판 업데이트
- 평판 확인 기능 개선
- HaveIBeenPwned 기능 추가
- DNS 도구 및 WhoIs 기능 추가
- 해시 및 VirusTotal 확인 기능 추가
- 평판 확인에 Abuse IPDB, Tor 종료 노드, BadIP's 추가
버전 1.0
- 최초 릴리스
- URL 및 Proofpoint 디코더
- 평판 확인 기능 초기 구현
- 이메일에서 안전하게 사용할 수 있도록 링크 살균
로드맵
이 문서는 향후 버전에 추가될 기능의 개요입니다.
버전 1.2 - 피싱 업데이트
- 이메일 첨부 파일에서 악성 콘텐츠, 매크로, 파일, 해시 스캔 등 검사.
버전 1.3 - 템플릿 업데이트
Sooty의 분석을 기반으로 동적 이메일 템플릿 추가. 편집 : 추가됨
- MX 레코드 확인
- DKIM 확인 수행
버전 1.4 - PCAP 분석 업데이트
- .pcap 파일을 분석하고 간결하고 풍부한 정보를 제공하는 기능 추가.
버전 1.x - 케이스 업데이트
- '새 케이스' 기능 추가, 도구 출력을 txt 파일로 출력 가능.
기여자:
코드 기여:
문서 기여자:
