PInjection es un script de Python que puede funcionar como Módulo o como script ejecutable desde la línea de comandos (CLI script). Este script lo que hace es inyectar Código Objeto en una región de memoria específica de un proceso utilizando la API de Windows (OpenProcess, VirtuallAllocEx, WriteProcessMemory y ReadProcessMemory).
- PInjection NO es un script ejecutable para meter tu virus ejecutarlo y romperle la computadora a tu amigue cuando va al baño.
- PInjection NO es un script ejecutable para guardar funciones ejecutables o código máquina en una región de memoria específica.
- PInjection SI es un script ejecutable para meter Código Objeto específico y "marshalizado" en una región de memoria específica.
- PInjection SI es un módulo que provee una interfaz sencilla de utilizar para cualquier novato en Python.
- PInjection SI es una buena elección para ofuscar y ocultar código objeto en un proceso (Similar a DLL Injection)
- PInjection SI es un software libre y gratuito. (GNU GPLv3)
Como ya dije, esto no es un script para ejecutar y automáticamente vas a destruír permanentemente la computadora destino, sino un script/módulo para cargar código objeto en la memoria de un proceso, esto quiere decir explicitamente lo dícho, para ejecutar el código objeto que se guarda, se tiene que conocer qué es, ya que luego se tendrá que pasar a FunctionType utilizando la librería types, y ahí se tendrán que definír todas las constantes utilizadas en el código objeto. La carga del código objeto es automática, la ejecución NO.
Tambien hay muchos procesos en los cuales une no podrá inyectar, ya que estos procesos tienen y/o presentan condiciones especificas internas que no permiten acceder a sus regiones de memoria.
Inyectando la función test_function
del archivo testmodule
en el proceso explorer.exe (explorer.exe PID 5600).
Comando: python pinjection.py 5600 --function testmodule___test_function --verbose
Ejecutando la función una vez inyectada (Se encuentra en la región de memoria cuya dirección base es 14548992)
Comando: python pinjection.py 5600 --constants constantsfile --baseaddr 14548992 --buffsize 164 --execute --verbose
- Primer release con archivo binario, este debería utilizarse como script CLI, y el archivo python como paquete o módulo.
- Si no se desaloja la memoria en el proceso específico, se generará una fuga de memoria.
- Todos los contenidos multimedia estan licenciados bajo la licencia Creative Commons BY-SA
- Este software fué diseñado con fínes educativos. El autor renuncia a toda responsabilidad por el uso que se haga del mismo