Problemlösung mit pwnable.kr 04 - flag. Gepackte ausführbare Dateien

Bild

In diesem Artikel analysieren wir, wie und warum das Packen von ausführbaren Dateien verwendet wird, wie sie gefunden und entpackt werden und lösen die 4. Aufgabe von der Site pwnable.kr .

Organisationsinformationen
Speziell für diejenigen, die etwas Neues lernen und sich in einem der Bereiche Informations- und Computersicherheit entwickeln möchten, werde ich über die folgenden Kategorien schreiben und sprechen:

  • PWN;
  • Kryptographie (Krypto);
  • Netzwerktechnologien (Netzwerk);
  • Reverse (Reverse Engineering);
  • Steganographie (Stegano);
  • Suche und Ausnutzung von WEB-Schwachstellen.

Darüber hinaus werde ich meine Erfahrungen in den Bereichen Computerforensik, Analyse von Malware und Firmware, Angriffe auf drahtlose Netzwerke und lokale Netzwerke, Durchführung von Pentests und Schreiben von Exploits teilen.

Damit Sie sich über neue Artikel, Software und andere Informationen informieren können, habe ich in Telegram einen Kanal und eine Gruppe eingerichtet, um alle Probleme im Bereich ICD zu diskutieren . Außerdem werde ich Ihre persönlichen Anfragen, Fragen, Vorschläge und Empfehlungen persönlich prüfen und alle beantworten .

Alle Informationen werden nur zu Bildungszwecken bereitgestellt. Der Autor dieses Dokuments übernimmt keine Verantwortung für Schäden, die jemandem durch die Verwendung von Kenntnissen und Methoden entstehen, die durch das Studium dieses Dokuments erworben wurden.

Ausführbare Dateien verpacken


Gepackte Dateien sind Dateien, die ihren Quellcode durch Komprimierung oder Verschlüsselung verbergen. Im weiteren Verlauf entschlüsselt eine solche Datei ihren Quellcode und kopiert ihn in einen anderen Abschnitt. Packer ändern normalerweise die Import Address Table (IAT) oder die Import LookUp Table (ILUT) sowie den Header.

Bild

Die Verpackung wird aus folgenden Gründen verwendet:

  • Eine gepackte Datei benötigt weniger Speicherplatz.
  • Reverse Engineering des Programms zu verhindern;
  • verschlüsselte Verpackungen können auch böswillig verwendet werden, wenn Viren zum Verschlüsseln und Ändern des Virencodes erstellt werden, um die Erkennung mit signaturbasierten Systemen zu erschweren.

Bild

Um zu analysieren, ob ein Programm gepackt ist oder nicht, können Sie PEid oder DetectItEasy verwenden . Zum Auspacken werden geeignete Programme oder Universal-Entpacker verwendet, beispielsweise Quick Unpack .

Bild

Bild

Berühmte Packer:


Lösung der Flag-Aufgabe


Wir klicken auf das Symbol mit dem Signaturflag und erfahren, dass wir die ausführbare Datei herunterladen können.

Bild

Wir erhalten nicht den ersten Schritt. Ich werde Cutter verwenden , um das Programm zu analysieren. Öffnen Sie Cutter und geben Sie den Pfad zur ausführbaren Datei an.

Bild

Wir beobachten eine sehr seltsame Grafik des Programms und das Fehlen der Hauptfunktion.

Bild

Lassen Sie uns das Programm in DetectItEasy überprüfen, das besagt, dass unsere Datei von UPX gepackt ist.

Bild

Entpacken Sie das Programm mit dem folgenden Befehl.

upx -d flag 

Bild

Wenn Sie das Programm jetzt in Cutter werfen, können Sie die Hauptfunktion und die entpackten Zeilen beobachten.

Bild

Wir sehen eine Linie mit UPX. Finden Sie es in der Liste der Zeilen.

Bild

Das ist die Antwort. Als Ergebnis bekommen wir unsere Punkte.

Bild

Wir sehen uns in den folgenden Artikeln !!!

Wir befinden uns in einem Telegrammkanal: einem Kanal im Telegramm .

Source: https://habr.com/ru/post/de460028/


All Articles