Remote Bufferoverflow explotando + escribiendo exploit

-1

Mi maestro me dio algo de ejercicio sobre B.O para entender cómo funciona el desbordamiento de búfer, y "cómo" escribe algún exploit para demostrarlo. Me dio algunos programas en C, no puedo resolver el último. Para el último, el objetivo es explotar el desbordamiento de búfer, habilitar rdp y agregar una cuenta de administrador a la máquina víctima.

Configuración:

Máquina víctima con Windows XP SP3, ejecutando programa vulnerable del lado del servidor.

Máquina de ataque mi kali linux box.

Aquí el código: código Lo compilé y lo lancé en el cuadro xp sp3. De vuelta a kali, también escribí un script en python para buscar el desbordamiento del búfer con la ayuda del depurador de inmunidad:

Aquí está el código:

Gracias a pattern_create.rb y pattern_offset.rb vi que necesito 185 caracteres antes de sobrescribir el EIP. También vi que la cadena generada por pattern_create se compara con el registro ESP. Así que abra kernel32.dll para la dirección de CALL ESP y póngala a mi favor, aquí está el código con los cambios:

buff="\ x41" * 185 #junk charaters

buff +="\ x67 \ x86 \ x86 \ x7c" # la dirección de CALL ESP

buff + = needshellcodeHERE!

Ahora necesito el código shell, pero desafortunadamente, no entiendo cómo puedo crear un código shell que habilite RDP y agregue una cuenta de usuario con privilegios máximos.

¿Alguien puede ayudarme?

    
pregunta Murdoc 28.10.2016 - 20:13
fuente

2 respuestas

0
  

Ahora necesito el código shell, pero desafortunadamente, no entiendo cómo   puede crear un código de shell que habilite RDP y agregue una cuenta de usuario con max   privilegios.

No entiendo por qué necesita un código de shell que habilite el Escritorio remoto. Si puede obtener shell remoto en la máquina, como administrador, puede habilitar el Escritorio remoto cambiando los valores de registro e iniciando el servicio.

Este artículo ofrece más detalles sobre cómo habilitar MS Remote Desktop.

    
respondido por el hax 28.10.2016 - 20:19
fuente
0

Simplemente use un código de shell ordinario generado con msfvenom. Una vez que obtenga una conexión con el shell emergente, habilite RDP, agregue cuentas de administrador o lo que quiera realmente de la forma habitual. Crear shellcode que solo habilite RDP o solo una tarea específica no es muy útil ni eficiente (excepto en casos especiales). Tenga en cuenta que la palabra shellcode se deriva del hecho de que este código se utiliza para iniciar un shell. Aunque desde entonces Shellcode se ha utilizado para hacer muchas otras cosas, el uso de la palabra se ha atascado. A menos que esté bajo restricciones serias, use un código de shell genérico para abrir un shell.

    
respondido por el rhodeo 28.10.2016 - 20:32
fuente

Lea otras preguntas en las etiquetas