01.24
Wie erstellt man X-ARF-Reports?
Um einen Report erstellen zu können, ist es nötig das dieser über ein Schema abgebildet werden kann.
Eigentlich können alle Angriffsarten von Brute-Force-Login bis über dDOS-Angriffe oder nur Harvesting (unknown-User) über X-Arf abgebildet werden.
Es gibt aktuell bei x-arf.org folgende Schemas:
Login-Attack (Brute-Force, ssh, imap, smtp, ftp…..)
Malware-Attack (Honeypots, Trojaner….)
Fraud (Phishing-URLs, Malware-URLs….)
Wir haben für blocklist unter http://www.blocklist.de/downloads/schema/ noch ein eigenes Schema des Typ „info“, wo wir z.b. Harvesting, BadBot/RegBot usw. drin haben. Da diese ja ansonsten wieder ein eigenes wären.
Gehen wir nun einmal von einer SSH-Brute-Force-Attacke aus:
Dann benötigen wir zum generieren des Reports folgende Daten:
- Reported-From =Absender-Adresse vom Melder
- Category =wie im Schema, z.B. Abuse
- Report-Type =z.B. login-attack oder info
- Service =der Dienst wie z.B. ssh, imap, ftp….
- Version =Version des Skripts/Software, die diesen Report erstellt hat
- User-Agent =Name der Software/Skript
- Date =Zeitpunkt des Angriffs nach RFC rfc2822 (möglich korrekt per ntp gesynct)
- Source-Type =ip-adresse, ipv4, ipv6, url….
- Source = Angreifer IP oder URL
- Port = Der Port (bei ssh ist es normalerweise 22, smtp 25, apache 80 usw.)
- Report-ID = die ID gefolgt von @domain-des-reporters.tld (sollte man sich speichern um den Report später mal wieder zu finden.)
- Schema-URL = Die URL zum JSON-Schema wie z.B. http://www.x-arf.org/schema/abuse_login-attack_0.1.2.json)
- Attachment = Typ des Anhangs (normalerweise Text/Plain)
Wenn wir all diese Daten haben, können wir daraus den Report (2nd Part) als Yaml-Document generieren:
---
Reported-From: autogenerated[AT]blocklist.de
Category: abuse
Report-Type: login-attack
Service: ssh
Version: 0.1
User-Agent: blocklist.de V0.1
Date: Mar 3 2010 02:13:35 +0100
Source-Type: ipv4
Source: 85.25.xxx.xx
Port: 22
Report-ID: 12675788150797@blocklist.de
Schema-URL: http://www.x-arf.org/schema/abuse_login-attack_0.1.1.json
Attachment: text/plain
Dazu benötigen wir dann noch den dritten Part mit den Logfiles und den ersten Part mit einem kleinen Text für die manuelle Lesung von Abuse-Mitarbeitern.
Das ganze sieht dann fertig so aus:
http://www.x-arf.org/examples/ssh-report.txt
Man kann zum generieren auch die Classe von blocklist verwenden, welche unter den Downloads zu finden ist:
http://www.blocklist.de/downloads/genxarf-php.tar.gz
Um seine generierten E-Mails, kann man z.B. unseren XARF-Validator unter folgender URL verwenden:
http://www.blocklist.de/en/xarf-validator.html
Weitere Tools und Infos zu X-ARF gibts auf www.x-arf.org und http://www.x-arf.org/tools.html
Im nächsten Teil erklären wir, wie man sehr einfach einen X-ARF-Report automatisch einliest und bewertet.