no one is safe ...

Exploit

Getting a full Shell on D-Link DSL-320B

This time not a big thing ... more a nice detail on getting a shell on the DSL-320B device.

If you are doing a portscan on your local network with Nmap you will see the following output:

PORT   STATE SERVICE    VERSION
21/tcp open  ftp        D-Link or USRobotics ADSL router firmware update ftpd
22/tcp open  tcpwrapped
23/tcp open  telnet     D-Link DSL-2542B ADSL router telnetd
80/tcp open  http?

You could login with the credentials from the webinterface and you get a stripped access:


root@bt:~# telnet 192.168.178.111
Trying 192.168.178.111...

The Home Network Horror days starting right now …

Welcome to the following 2 crazy weeks with lots of vulnerabilities in more than 20 different home network devices. We have quite a high number of hopefully interesting vulnerabilities in devices from different vendors like Linksys, D'Link or Netgear for you.

Today we start with a short intro video which demonstrates unauthenticated execution of OS commands on two home routers of D-Link. The D-Link DIR-300 rev B and D-Link DIR-600 are still unpatched and an attacker is able to directly compromise these devices via the web interface. You will find the advisory here.

Multiple Vulnerabilities in D'Link DIR-600 and DIR-300 (rev B)

Device Name: DIR-600 / DIR 300 - HW rev B1
Vendor: D-Link

============ Vulnerable Firmware Releases - DIR-300: ============

Firmware Version : 2.12 - 18.01.2012
Firmware Version : 2.13 - 07.11.2012

============ Vulnerable Firmware Releases - DIR-600: ============

Firmware-Version : 2.12b02 - 17/01/2012
Firmware-Version : 2.13b01 - 07/11/2012
Firmware-Version : 2.14b01 - 22/01/2013

============ Device Description: ============

Using the discovered OS Command Injection vulnerability in Linksys WRT54GL within a pentest

After releasing the OS command execution vulnerability in the WRT54GL router from Linksys last week there were some requests about how could we use this vulnerability for getting a remote shell.

First off all we have to analyze the firmware a bit. For this it is best to download the original firmware from the vendor and use the firmware-modification-kit or binwalk created by Craig Heffner and Jeremy Collake. Awesome toolkit from awesome guys.

So let’s extract and analyse the firmware a bit:

root@bt:~/images/firmware_mod_kit/firmware-mod-kit-read-only# ./extract-ng.sh /root/images/FW_WRT54GL_4.30.15.002_US_20101208_code.bin linksyswrt54gl
Firmware Mod Kit (build-ng) 0.78 beta, (c)2011-2012 Craig Heffner, Jeremy Collake
http://www.bitsum.com
Scanning firmware...
DECIMAL   HEX       DESCRIPTION
-------------------------------------------------------------------------
32        0x20      TRX firmware header, little endian, header size: 28 bytes,  image size: 3362816 bytes, CRC32: 0xB5C3AB6E flags/version: 0x10000
700656    0xAB0F0   Squashfs filesystem, little endian, version 2.0, size: 2655384 bytes, 502 inodes, blocksize: 65536 bytes, created: Wed Dec  8 05:06:27 2010

root@bt:~/images/firmware_mod_kit/firmware-mod-kit-read-only/linksys-wrt54gl/rootfs# find . -iname wget
./usr/bin/wget

Bugs, Fixes und Ergänzungen zum Metasploit Buch [Update: 29.07.2012]

Ein Buch in dem vorhandenen Umfang bringt den einen oder anderen kleinen Fehler mit sich. Zudem ergeben sich durch die Natur des Metasploit Frameworks ständig Änderungen die in diesem Blogpost dokumentiert werden.


Ergänzungen / Aktualisierungen:

  • db_autopwn wurde aus dem Framework entfernt - siehe hierzu auch folgenden Blogeintrag. Update 29.07.2012: db_autopwn ist mittlerweile nicht mehr funktionsfähig. Es gibt ein erstes Resource Skript welches ähnliche Funktionen übernimmt. In nächster Zeit werde ich versuchen eine erweiterte Version, zur Analyse der Schwachstelleninformationen, zu erstellen
  • Seite 70 - Metasploit Installation: Es gibt mittlerweile nur mehr ein passendes Metasploit Paket für die unterschiedlichen Betriebssysteme und Architekturen. Dieses Paket erfüllt alle Abhängigkeiten und beinhaltet neben der freien Open Source Version auch die kommerziellen Metasploit Versionen. Die genutzte Version hängt nur mehr vom eingegebenen Produktkey ab.
  • Die XML-RPC Schnittstelle wurde aus dem Framework entfernt (Link). Externe Programme müssen entsprechend an die neue API angepasst werden. Davon sind die im Buch betrachteten Programme Nikto, Dradis und BeEF betroffen. Das BeEF-Projekt wurde bereits mit der neuen API ausgestattet und sollte wieder mit dem Metasploit Framework kommunizieren können.
  • Das in Kapitel 3.2.1 genutzte Shodan Modul ist mittlerweile in etwas aktualisierter Form im Metasploit Framework vorhanden. Die Bezeichnung des Moduls lautet auxiliary/gather/shodan_search. Dieses Modul bietet in seiner jetzigen Form auch die Möglichkeit die ermittelten Ergebnisse in der Datenbank zu hinterlegen.
  • In Kapitel 2.9 werden die Loggingfunktionen der Metasploit Konsole konfiguriert. Diese lassen sich wie im Buch beschrieben mit einem "save" in der Startkonfiguration hinterlegen. Das "spool"-Kommando ist dabei allerdings nicht inkludiert. Dieses lässt sich im Metasploit Verzeichnis im Resource File msfconsole.rc hinterlegen.
    root@bt:~# cat .msf4/msfconsole.rc
    spool /root/.msf4/logs/console.log

    Im Anschluss wird auch das Spooling bei jedem Start der Metasploit Konsole aktiviert.
  • Eine umfangreiche Erweiterung der automatisierten Post-Exploitation Phase ist hier im Blog zu finden.
  • Kapitel 8.4: Das Auxiliary Server-Modul File-Autopwn wurde aus dem Framework entfernt. Dieses Modul hatte bereits einige Fehler und wurde längere Zeit nicht aktiv gewartet. Aus diesem Grund habe ich es etwas minimiert und zu einem reinen Fileformat Exploit Generator umgebaut. Der Webserver der in Abbildung 8-13 dargestellt ist, ist in dem hier angehängten Modul nicht mehr inkludiert. Update: Metasploit enthält ein neues Resource File welches alle Fileformat Exploits automatisch generiert. Weitere Informationen findet ihr Automatisierungsmechanismen.
  • Kapitel 6.3 - Weiter Importmöglichkeiten: Metasploit unterstützt über db_import das Nikto XML Format.
    root@bt:/pentest/web/nikto# ./nikto.pl -host <IP> -Format xml -o nikto.xml
    msf > db_import /pentest/web/nikto/nikto.xml
    [*] Importing 'Nikto XML' data
    ...
  • Kapitel 6 - Automatisierung: Die in Kapitel 6.2 dargestellten Resource Files unterstützen mittlerweile umfangreichen Ruby Code. Ich habe mehrere Beispiel Resource Files erstellt, die auch im Framework unter scripts/resource aufzufinden sind. Weitere Informationen findet ihr in meiner Artikelserie zu Automatisierungsmechanismen.
  • Kapitel 10.11 - Exploit Entwicklung: Die Metasploit Entwicklung läuft mittlerweile über GIT ab. Ein kurzer GIT Cheat Sheet ist hier zu finden.
  • Kapitel 8.5 - Client Side Attacks: Um aus sicheren Umgebungen auszubrechen gibt es neben den dargestellten Möglichkeiten auch noch den DNS Payload. Dieser wird in einem kurzen Artikel hier vorgestellt.
  • Kapitel 8.2.1 XSSF – Management von XSS Zombies mit Metasploit: XSSF ist seit Metasploit 4.3 nicht mehr funktionsfähig. Der Entwickler schreibt auf der Webseite des Projektes dass er sich so bald wie möglich diesem Problem annehmen wird. Update 29.07.2012: XSSF project is working again thanks to Black Zero (z00) who took some time to solve the problem ! New version is supported by current MSF 4.4.
  • Kapitel 11.3 - Metasploit Pro auf der Konsole: Die spezifischen Befehle der kommerziellen Versionen Metasploit Community/Express/Pro lassen sich weiterhin auf der Metasploit Konsole msfpro nutzen. Diese Kommandos sind nicht mehr über ein Plugin integriert sondern lassen sich als Auxiliary Module wie alle anderen Module nutzen.
    10.8.28.2 - (Sessions: 0 Jobs: 0)> use auxiliary/pro/ <Tab>+<Tab>
    use auxiliary/pro/bruteforce          use auxiliary/pro/import_creds
    use auxiliary/pro/single              use auxiliary/pro/campaign
    use auxiliary/pro/listener            use auxiliary/pro/tunnel
    use auxiliary/pro/cleanup             use auxiliary/pro/nexpose
    use auxiliary/pro/upgrade_sessions    use auxiliary/pro/collect
    use auxiliary/pro/normalize           use auxiliary/pro/upload
    use auxiliary/pro/discover            use auxiliary/pro/phish_email
    use auxiliary/pro/webaudit            use auxiliary/pro/download
    use auxiliary/pro/phish_generate_exe  use auxiliary/pro/webscan
    use auxiliary/pro/exploit             use auxiliary/pro/phish_start_web
    use auxiliary/pro/websploit           use auxiliary/pro/handler
    use auxiliary/pro/replay              use auxiliary/pro/import
    use auxiliary/pro/report
  • Kapitel 2.5 - Benutzeroberflächen: Das Metasploit Framework umfasst seit Version 4.1 eine eingeschränkte grafische Weboberfläche der kommerziellen Versionen Metasploit Express bzw. Metasploit Pro. In der Zeitschrift Hakin9 findet ihr in der aktuellen Ausgabe 07/12 - Exploiting Software eine umfangreiche Betrachtung und Darstellung dieser grafischen Oberfläche.