Hi Leute,
gestern Nacht habe ich ein altes, aber gutes Tutorial gefunden und es direkt versucht umzusetzen, was dann nach ein paar Stunden auch geklappt hat.
Es handelt sich dabei um dieses Tutorial: Exploit writing tutorial part 1 : Stack Based Overflows | Corelan Team
Dazu musste ich natürlich erstmal Windows XP in Virtual Box aufsetzen und Easy RM to Mp3 Conversion Utility, einen Perl Interpreter und das Debugprogramm Windbg darauf installieren.
(Metasploit habe ich ausgelassen, da es für das Verständnis nicht wichtig ist und die Ergebnisse aus dem Tutorial übernommen werden können)
Das hatte auch alles geklappt: Ich konnte Easy RM .. mit einem ersten Perl Skript zum Absturz bringen und mit einem weiteren Perl Skript, die Inhalte von EIP, EBP und ESP so belegen,dass es in weiteren Schritten möglich werden sollte, einen Shellcode in ESP zu legen und in EIP eine instruction die dann dorthin springt.
Anhand einer DLL Datei hat man dann einen opcode für "jmp esp" gefunden und einen Shellcode erzeugt, der "CALC" ausführt, also den Windows Taschenrechner startet.
Soviel zur Vorgeschichte, bei mir tun sich jetzt einige Fragen auf:
> Das Tutorial ist ja nun schon fast 9 Jahre alt. Läuft das heute noch genau so ab?
1. Bug überprüfen, "stürzt das Programm wirklich ab wenn man eine Datei öffnet die 30.000 A's enthält"? (mir ist schon bewusst dass es nicht nur um Dateien öffnen geht, es könnte auch einen nicht begrenzte Passwortlänge oder ähnliches sein..)
2. Durch Skripte Dateien erstellen und daran herumspielen, bis man im Debugger sieht, dass man EIP und ESP passend belegt hat.
3. opcode für jmp esp herausfinden - Muss man das eigentlich jedes mal aufs neue oder kann man immer den selben benutzen?
4. Shellcode erzeugen, der in den esp passt und sozusagen den Sinn des Exploits bezweckt.
> Macht man die meisten Tätigkeiten um das Exploitschreiben "drumherum" heutzutage in Metasploit?
Im Tutorial wurden z.B. so spezielle Muster durch das Tool "pattern_create.rb" erstellt, mit denen man exakt herausfinden konnte, wann der Pufferüberlauf beginnt.
Anscheinend sind in Metasploit schon viele vorgefertigte Exploits drin. Wenn die Frage mit "ja" beantwortet werden sollte,
würde das für mich heißen, dass sich eine Einarbeitung in Metasploit für Hacker (und solche die es werden wollen) schon lohnen würde.
> Informieren sich Exploitwriter auf Seiten wie https://www.exploit-db.com/ über die neuesten Exploits und bauen dann dazu passende, wenn sie genügend Informationen dazu haben?
Manche werden sich wohl auch Zero Days im Dark Net oder so kaufen?
> Welche Debugger benutzt ihr dafür aktuell in Windows und in Linux?
Sorry für die eventuell dummen Fragen und den recht langen Text
gestern Nacht habe ich ein altes, aber gutes Tutorial gefunden und es direkt versucht umzusetzen, was dann nach ein paar Stunden auch geklappt hat.
Es handelt sich dabei um dieses Tutorial: Exploit writing tutorial part 1 : Stack Based Overflows | Corelan Team
Dazu musste ich natürlich erstmal Windows XP in Virtual Box aufsetzen und Easy RM to Mp3 Conversion Utility, einen Perl Interpreter und das Debugprogramm Windbg darauf installieren.
(Metasploit habe ich ausgelassen, da es für das Verständnis nicht wichtig ist und die Ergebnisse aus dem Tutorial übernommen werden können)
Das hatte auch alles geklappt: Ich konnte Easy RM .. mit einem ersten Perl Skript zum Absturz bringen und mit einem weiteren Perl Skript, die Inhalte von EIP, EBP und ESP so belegen,dass es in weiteren Schritten möglich werden sollte, einen Shellcode in ESP zu legen und in EIP eine instruction die dann dorthin springt.
Anhand einer DLL Datei hat man dann einen opcode für "jmp esp" gefunden und einen Shellcode erzeugt, der "CALC" ausführt, also den Windows Taschenrechner startet.
Soviel zur Vorgeschichte, bei mir tun sich jetzt einige Fragen auf:
> Das Tutorial ist ja nun schon fast 9 Jahre alt. Läuft das heute noch genau so ab?
1. Bug überprüfen, "stürzt das Programm wirklich ab wenn man eine Datei öffnet die 30.000 A's enthält"? (mir ist schon bewusst dass es nicht nur um Dateien öffnen geht, es könnte auch einen nicht begrenzte Passwortlänge oder ähnliches sein..)
2. Durch Skripte Dateien erstellen und daran herumspielen, bis man im Debugger sieht, dass man EIP und ESP passend belegt hat.
3. opcode für jmp esp herausfinden - Muss man das eigentlich jedes mal aufs neue oder kann man immer den selben benutzen?
4. Shellcode erzeugen, der in den esp passt und sozusagen den Sinn des Exploits bezweckt.
> Macht man die meisten Tätigkeiten um das Exploitschreiben "drumherum" heutzutage in Metasploit?
Im Tutorial wurden z.B. so spezielle Muster durch das Tool "pattern_create.rb" erstellt, mit denen man exakt herausfinden konnte, wann der Pufferüberlauf beginnt.
Anscheinend sind in Metasploit schon viele vorgefertigte Exploits drin. Wenn die Frage mit "ja" beantwortet werden sollte,
würde das für mich heißen, dass sich eine Einarbeitung in Metasploit für Hacker (und solche die es werden wollen) schon lohnen würde.
> Informieren sich Exploitwriter auf Seiten wie https://www.exploit-db.com/ über die neuesten Exploits und bauen dann dazu passende, wenn sie genügend Informationen dazu haben?
Manche werden sich wohl auch Zero Days im Dark Net oder so kaufen?
> Welche Debugger benutzt ihr dafür aktuell in Windows und in Linux?
Sorry für die eventuell dummen Fragen und den recht langen Text

Zuletzt bearbeitet: