Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
it-security:blog:buffer_overflow_x64 [2024/02/22 21:57] – law notice psycoreit-security:blog:buffer_overflow_x64 [2024/08/02 11:52] (aktuell) psycore
Zeile 1: Zeile 1:
 {{tag>deutsch linux kali it-security pentest blog}} {{tag>deutsch linux kali it-security pentest blog}}
  
-====== Buffer Overflow im 64-Bit Stack ====== +====== Buffer Overflow im 64-Bit Stack - Teil 1 ======
- +
-<callout type="danger" icon="glyphicon glyphicon-alert"> +
-=== Achtung! === +
- +
-Die Techniken und Methoden in diesem Artikel sind ausschließlich für Lernzwecke. Ein Missbrauch ist strafbar!((https://dejure.org/gesetze/StGB/202a.html)) +
-</callout> +
- +
-^ Projektdateien | {{ :it-security:nosoc-repo-bof64.zip |}} <label type="info" icon="glyphicon glyphicon-compressed">ZIP</label>+
-^ Größe | 5,76 KB | +
-^ Prüfsumme (SHA256) | 191e6f1811018970776e3bf035ff460033a47da62335fe5c9475a460b02a10d3 |+
  
 In diesem Tutorial erzeugen wir einen Buffer Overflow auf dem 64-Bit Stack, um root Rechte zu erlangen.((https://www.ired.team/offensive-security/code-injection-process-injection/binary-exploitation/64-bit-stack-based-buffer-overflow)) In diesem Tutorial erzeugen wir einen Buffer Overflow auf dem 64-Bit Stack, um root Rechte zu erlangen.((https://www.ired.team/offensive-security/code-injection-process-injection/binary-exploitation/64-bit-stack-based-buffer-overflow))
  
 Technische Einzelheiten zu Buffer-Overflows, Stack etc. gibt es hier((https://medium.com/@buff3r/basic-buffer-overflow-on-64-bit-architecture-3fb74bab3558)) Technische Einzelheiten zu Buffer-Overflows, Stack etc. gibt es hier((https://medium.com/@buff3r/basic-buffer-overflow-on-64-bit-architecture-3fb74bab3558))
-\\ 
-\\ 
-<mermaid> 
-classDiagram 
-    note for Buffer "Overwrite Buffer" 
-    note for RBP "Overwrite RBP" 
-    note for RIP "place return address" 
-    Buffer --> RBP 
-    RBP --> RIP 
-    RIP --> 0x00007FFFFFFFC19F 
-    Buffer: AAAAAAAAAAAA 
-    RBP: BBBBBBBBBBBB 
-    RIP: 0x00007FFFFFFFC19F 
-    class 0x00007FFFFFFFC19F{ 
-      Shellcode() 
-      root-Shell 
-    } 
-</mermaid> 
 \\ \\
 \\ \\
 ===== Abhängigkeiten ===== ===== Abhängigkeiten =====
 +
 +{{page>vorlagen:64_bit_stack_nav}}
 +
 +{{page>vorlagen:attention}}
 +{{:it-security:blog:bof-64-1.jpg|}}
  
 Was wird benötigt? Was wird benötigt?
Zeile 51: Zeile 28:
  
 <code bash> <code bash>
-wget http://ropshell.com/peda/peda.tar.gz +git clone https://github.com/longld/peda.git ~/peda
-tar zxvf peda.tar.gz+
 echo "source ~/peda/peda.py" >> ~/.gdbinit echo "source ~/peda/peda.py" >> ~/.gdbinit
 </code> </code>
Zeile 67: Zeile 43:
 \\ \\
 ==== Programm ==== ==== Programm ====
 +
 +Quellcode und kompilierte Binaries findet Ihr auch auf meinem [[gh>psycore8/nosoc-bof/tree/main/part-1|github repository]]
  
 <code c> <code c>
Zeile 102: Zeile 80:
 Interessant für uns ist das Register ''RIP''. Dieses enthält eine Rücksprungadresse, welche auf einen anderen Bereich im Code zeigt. Durch den Buffer-Overflow überschreiben wir diese Rücksprungadresse. Aber erst müssen wir herausfinden, wie wir dies machen können. Interessant für uns ist das Register ''RIP''. Dieses enthält eine Rücksprungadresse, welche auf einen anderen Bereich im Code zeigt. Durch den Buffer-Overflow überschreiben wir diese Rücksprungadresse. Aber erst müssen wir herausfinden, wie wir dies machen können.
  
-Wir startebn unser Programm im Debugger und generieren einen 200 Zeichen langen String:+Wir starten unser Programm im Debugger und generieren einen 200 Zeichen langen String:
  
 <code bash> <code bash>
Zeile 229: Zeile 207:
 \\ \\
 \\ \\
 +<mermaid>
 +classDiagram
 +    note for Buffer "Overwrite Buffer"
 +    note for RBP "Overwrite RBP"
 +    note for RIP "place return address"
 +    Buffer --> RBP
 +    RBP --> RIP
 +    RIP --> 0x00007FFFFFFFC19F
 +    Buffer: AAAAAAAAAAAA
 +    RBP: BBBBBBBBBBBB
 +    RIP: 0x00007FFFFFFFC19F
 +    class 0x00007FFFFFFFC19F{
 +      Shellcode()
 +      root-Shell
 +    }
 +</mermaid>
 +\\
 +\\
 +===== Repository =====
 +
 +^ Projektdateien | {{ :it-security:nosoc-repo-bof64.zip |}} <label type="info" icon="glyphicon glyphicon-compressed">ZIP</label> |
 +^ Größe | 5,76 KB |
 +^ Prüfsumme (SHA256) | 191e6f1811018970776e3bf035ff460033a47da62335fe5c9475a460b02a10d3 |
 +
 +~~DISCUSSION~~