Ein nettes Gedankenspiel neulich während eines Workshops:
Aufgabe: Programme bzw. Schadcode unter Mithilfe eines internen Mitarbeiters an allen Sicherheitsvorkehrungen vorbeizuschleusen.
Problem: Nur E-Mail ist erlaubt, ein Virenscanner aktiv, Attachments außer PDF verboten. USB-Sticks und CD-ROM-Laufwerke sind abgeschaltet. Der Helfer im LAN hat nur den Acrobat Reader und Winzip zur Verfügung.
Meine Idee lässt sich wie folgt skizzieren:
- Man nehme ein nützliches Executable, z.B. nmap.exe
- Dieses Binary kodiert man mittels mimencode als Base64-File (-> nmap.b64)
- Das Base64-File lädt man in einen Texteditor, z.B. Word (-> nmap.doc)
- Aus dem Word-Dokument erzeugt man ein PDF (-> nmap.pdf)
Das PDF enthält jetzt reinen Text, kein embedded Executable oder sonstwas, notfalls kann man auch noch ein paar Leerzeilen manuell einfügen, um den Text zu maskieren. Kein mir bekannter Virenscanner schlägt an.
Das zurückkonvertieren ist ebenfalls recht einfach:
- Das PDF mit dem Acrobat Reader öffnen und „Datei -> als Text speichern“ (-> nmap.txt)
- Das daraus resultierende Textfile in file.b64 umbenennen
- Das Base64-File mit Winzip öffnen, wenn die Verknüpfungen passen mit Doppelklick
- Das darin befindliche File Unknown.001 extrahieren
- Das File Unknown.001 wieder in nmap.exe umbenennen
Das konvertieren in ein PDF ist etwas komplizierter, ich hab bisher auch kein mimencode für Windows gefunden. Das zurückkonvertieren ist jedoch so einfach, das kann ich sogar meiner Freundin einer Kollegin erklären.
Fertig 🙂
Die verschieden konvertierten Nmap-Versionen enthält dieses Zip-File, so kann das jeder selbst nachvollziehen. Ich habe mimencode verwendet, weil das Base64-Format im Gegensatz zum Beispiel zu uuencode keinen Header benötigt. Allerdings unterstützt nicht jedes Zip-Programm Base64.
Edit: Mist, meine Freundin liest mein Blog.