ctf
Inhalt
capture the flag⌗
capture the flag
ist ein Event, bei dem man versucht in computersysteme einzudringen und Schwachstellen auszunutzen, um die Flag (eine Beute) zu bekommen.
Rechtslage⌗
ctf ist illegal. Natürlich nicht, wenn man eigene Systeme angreift, oder man die ausdrückliche Erlaubnis anderer hat ihre Systeme anzugreifen.
Die meisten Strategien, die angewand werden verstoßen gegen mehrere Artikel (StGB §202a-c(Ausspähen von Daten), StGB §202d(Datenhehlerei), StGB §303a,b(Datenveränderung, Computersabotage)). Der Verstoß wird mit mehreren Jahren Freiheitsstrafe geahndet.
Angriffsartren⌗
- Forensics
- das Auslesen von eigentlich unsichtbaren Daten
- Metadaten
- Netzwerktraffic
- Steganographie
- das Auslesen von eigentlich unsichtbaren Daten
- Reverse engeneering
- Decompiling
- Web exploits
- code injection
- remote code execution
- subdomain scanner
- cross site scripting
- server request exploiting
- cryptografie
- hashing
- cracking
- enoding
- chiffrieren
Aufbau⌗
Uns wurde eine KaliVM zur verfügung gestellt, auf der ein Docker container lief, den wir dann auf die angegebenen Art und Weisen angreifen sollen.
Web-path-scanner⌗
Ein Programm, welches alle möglichen unterordner einer Domain scannt.
Tools
Domains, auf die man achten sollte:
- Fehlerdateien -> Versionen des Programms -> mögliche Schwachtellen
- Changelogs -> überprüfung auf (fehlende) Patches für Schwachstellen
- php,js Dateien -> Quellcode -> Bugs
- php,js -> Datenbank Zugang
- robots.txt (eine Datei, die Suchmaschinen sagt, welche dirs nicht geindext werden sollen) -> können interessant sein
Dirsearch⌗
dirsearch -u [domain] -t [threads] -e [Dateiendungen]
SQL injection⌗
- Passwort: ‘OR 1=1;
- Passwort: ‘OR 1=1 OR 1=’
- Passwort ‘UNION select * from users;
1=1
ist immer wahr, daher wird die Gesamtaussage als true
evaluiert. Das OR
ist ein exklusives oder, daher reicht es, wenn nur eine Aussage (also die 1=1
) wahr ist. Es spielt keiner Rolle, ob die Hochkommata geschlossen werden, denn ein ;
beendet den String immer, unabhänging von den Anführungszeichen.
sqlmap⌗
sqlmap --url [url/file] --method POST --data "username=admin&password=admin" -p "password"
Skeletieren von Daten
tables
zeigt die Tabellen in der Datenbank-T users --dump
erstellt eine Kopie der Tabelle “users”--dump
erstellt eine Kopie aller Tabellen
level [1,2,3]
die “Brutalität”, mit der gesucht wird. Eine höhere Zahl sendet mehr Versuche an den Server. Daher ist die Wahrscheinlichkeit, dass etwas gefunden wird höher. Aber auch die Gefahr entdeckt zu werden wird größer.
Directory traversal⌗
Inhalte ausßerhalb des Webroot lesen.
<?php
$fileToLoad = '404.png';
if (isset($_GET['filename'])) {
$fileToLoad = $_GET['filename'];
}
readfile('./' . $fileToLoad)
?>
Steganoraphie⌗
Versteckt Übermittlung von Daten. Hier zum Beispiel durch das “least important bit” in den RGB codes von Bildern.
findest du was?
Encoding⌗
Brute-force⌗
Hydra⌗
hydra -vV (verbose) -I (ingore exit arrow) -f (stop searching when result is found (the first result)) -t 5 (number of parallel tasks) -p password -L /usr/share/wordlist/rockyou.txt malicious.xd -S 8080 http-post-form "/login.php:username=^USER^&password=^PASS^:Login failed"
-l login or -L FILE
-p PASS or -P FILE
52posts⌗
Dieser Beitrag ist Teil meines Plans, in 2023 jede Woche einen Post zu erstellen, mit Dingen, die ich gelernt habe. (Das sind dann 52 Posts).