Threat Intelligence (CTI)
Un ensemble de ressources pour la CTI et comprendre les menaces cyber.
[CTI] Ressources
Introduction
Plusieurs types de ressources sont nécessaires en CTI, notamment les outils et les frameworks pour collecter ou enrichir vos listes d'IOCs, et les ressources pour comprendre les menaces et connaître les acteurs malveillants.
IOCs
CI Bad Guys
Duggytuxy
Actualités des menaces et CVE
Awesome annual reports
Repos Github actualisé avec les derniers rapports de threat intelligence :
Malpedia
AttackerKB
Krebs on Security
The Hacker News
ThreatPost
Dark Reading
Zeroday Initiative
Permet de suivre les dernières CVE sorties :
Onion 666
Permet de trouver les liens vers le dark net
DeepDarkCTI
Donne des feeds sombres à suivre vers le darknet, Telegram et autres :
[CTI] Nuclei
Introduction
Le logiciel Nuclei permet de tester l'exploitabilité d'une vulnérabilité sur des systèmes grâce à des templates au format YML.
Installation & MAJ
Projet
Installation
Pour installer Nuclei (go doit être installé au préalable) :
go install -v github.com/projectdiscovery/nuclei/v3/cmd/nuclei@latest
MAJ
Pour mettre à jour Nuclei :
nuclei -update
Pour mettre à jour les templates :
nuclei update
Manuel
Exemple template
Voici un exemple de template pour une CVE SSH (cve-2024-6387.yaml) :
id: CVE-2024-6387
info:
name: RegreSSHion detect (based on software version)
author: UnaPibaGeek
severity: High
description: Regression (CVE-2024-6387) software version checker.
classification:
cve-id: CVE-2024-6387
metadata:
max-request: 2
vendor: OpenSSH
product: OpenSSH
tags: cve,cve2024,regression,openssh,ssh
tcp:
- host:
- '{{Hostname}}'
- '{{Host}}:22'
inputs:
- data: "SSH-2.0-OpenSSH_9.0\r\n"
matchers:
- type: regex
part: body
regex:
- 'OpenSSH_(8\.[5-9]p[1-2]?|9\.[0-7]p[1-2]?|[0-3]\.[0-9]p[1-2]?|4\.[0-3]p[1-2]?)'
Liste des cibles
Ici nous ciblerons des adresses IPs que nous indiquerons dans le fichier ips.txt :
192.168.5.40
En cas d'attaque web, il peut s'agir d'URL et non d'adresse IP.
Exécution d'un template
nuclei -t cve-20224-6387.yaml -l ips.txt
[CTI] Shodan
Introduction
Shodan est un moteur de recherche permettant de trouver des machines exposées sur Internet avec des filtres.
Manuel
Vous pouvez accéder à l'interface de Shodan :
Usage
<FILTER>:<VALUE>
Filtres
Voici quelques filtres courants :
Filtres |
ip |
port |
org |
country |
city |
product |
version |
os |
Sinon voici la liste complète des filtres :
Exemples
- Chercher des informations sur une IP spécifique :
ip:8.8.8.8
Chercher toutes les machines françaises de l'hébergeur Scaleway :
country:FR org:scaleway
Chercher toutes les machines Ubuntu ayant un service SSH :
os:ubuntu port:22
Vous pouvez retrouver plus d'exemples :
- https://www.shodan.io/search/examples
- https://github.com/BushidoUK/OSINT-SearchOperators/blob/main/ShodanQueriesAppliances.csv
Analyse
Vous pouvez analyser les résultats rapidement grâce à la section View Report :
On voir les ports les plus exposés, les services les plus utilisés, les hébergeurs les plus utilisés pour ces machines etc :
Vous pouvez aussi consulter les statistiques pour cette query dans le temps grâce à l'onglet Historical Trends :
Tracking de serveurs C2
Certains filtres ont été mis en place pour chercher des serveurs de commande et contrôle (C2) :
Serveurs C2 |
Filtres |
Metasploit |
http.favicon.hash:-12788697 ssl:MetasploitSelfSignedCA http.html:"msf4" |
Cobalt Strike |
ssl.jarm:07d14d16d21d21d07c42d41d00041d24a458a375eef0c576d23a7bab9a9fb1 port:443 ssl.cert.serial:146473198 product:"Cobalt Strike Beacon" http.html:"cs4.4" |
Brute Ratel |
http.html_hash:-1957161625 product:"Brute Ratel C4" |
Vous pouvez aussi retrouver des JARM de C2 qui sont des empreintes des certificats par défaut :
API
Pour utiliser l'API, il vous faut payer (une version premium à 69$ payable en une seule fois vous autorise à 100 queries par mois).
Une fois votré clé API récupérée, vous pouvez initialiser shodan :
shodan init <API_KEY>
Pour faire une recherche :
shodan search "<QUERY>"
Pour trouver des informations sur une IP :
shodan host <IP>
Pour télécharger les résultats d'une recherche au format JSON :
shodan download <OUTPUT>.json "<QUERY>"
Pour consulter les résultats :
shodan parse <OUTPUT>.json
Ou alors :
cat <OUTPUT>.json | jq