Foro de elhacker.net

Seguridad Informática => Bugs y Exploits => Mensaje iniciado por: Rojodos en 19 Diciembre 2003, 16:05 pm



Título: <-!-> Herramientas: findjmp, offsets, etc.. (Actualizado)
Publicado por: Rojodos en 19 Diciembre 2003, 16:05 pm
Actualizado

Bueno, pues aunque las herramientas que se mencionan son buenas, sirven, y bastan.. les dejo una pequeña actualización de herramientas, espero les gusten, han sido hechas por el grupo de investigación y desarrollo eEye (http://www.eeye.com/).

Buscador de offsets estables de direcciones de retorno en ejecutables inestables. (http://www.eeye.com/html/resources/downloads/other/eereap.zip)

Explotador de Tags y valores en IExplorer con adaptación en archivos de origen binarios, para buscar overflows en contoles ActiveX y tags nativos del navegador. (http://www.eeye.com/html/resources/downloads/other/TagBruteForcer.zip)

Manipulador de paquetes de bajo nivel de red tipo Libnet para sistemas NT. (http://www.eeye.com/html/resources/downloads/other/LibnetNT.zip)

Retina (c) scanners individuales de multiples vulnerabilidades. (http://www.eeye.com/html/resources/downloads/audits/index.html)


Att.
sirdarckcat

Bueno, la he estado probando y ... ES UNA MARAVILLA!!! :D :D :D

Te encuentra offsets como un CALL ESP o un JMP ESP en la libreria que le metas como argumentos. Fijaos:

Citar
C:\Documents and Settings\Rojodos\Escritorio>Findjmp kernel32.dll esp

Scanning kernel32.dll for code useable with the esp register
0x79467DDC call esp
Finished Scanning kernel32.dll for code useable with the esp register
Found 1 usable addresses

C:\Documents and Settings\Rojodos\Escritorio>Findjmp user32.dll esp

Scanning user32.dll for code useable with the esp register
0x77E42C75 jmp esp
0x77E44A50 jmp esp
Finished Scanning user32.dll for code useable with the esp register
Found 2 usable addresses

Juaz, es realmente increible :)

Espero que os sirva.

LINKS:

Source en C: http://www.i2s-lab.com/Free-Tools/Findjmp.c

EXE: http://ns2.elhacker.net/h/findjmp.rar


findjmp.zip (http://web.i.elhacker.net/archivos/findjmp.zip?attredirects=0&d=1)
MD5 (findjmp.exe) = d6b7b87dc329973df8bcd25087258df6
SHA1 (findjmp.exe) = 8fa51ffd877fc655cd2fccb45e544083a1a47f61

Salu2


Título: Re:PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: mdada en 19 Diciembre 2003, 22:02 pm
Corrijanme si estoi mal (y espero no estarlo)
pero ese es un registro de ensamblador, o no?
esp, edi,ebp,eax , ax,cx,bx, ip,cs, etc...
(vicety verá que no se llega a ningun lugar por crear virus? io ahora aprendo asm que ya me fastidié del pascal y Visual Shit ;-))
saludos!


Título: Re:PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: dxr en 20 Diciembre 2003, 04:44 am
creo q no habeis entendido la funcion de esto.

A ver es post anteriores se abla de q en los exploits hacen un overflow a unas librerias... y no todas se cargan en el mismo sitio dependiendo del idioma del windows... si el exploit esta preparao pa atacar en la direccion a y en el windows en expañol esta en la c ya no funciona esto lo q ace es buscar q el punto donde ay q atacar es c...


Título: Re:PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: Rojodos en 26 Diciembre 2003, 23:32 pm
Los offsets se buscan para cambiarlos en el exploit y/o en la shellcode, para que dicho exploit SIRVA en el SO que kieres atacar ;)


Título: Re:PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: elvizo en 8 Enero 2004, 12:06 pm
entonces cual es la funcion q realiza un offset? se encarga de indicar cual es el so q corre? esq me he hecho un lio, xq entonces, tu averiguas por ejemplo los offset de windows y coges y los cambias por los q hay en un exploit para linux y te tira el exploit en windows????? espero me aclaren  ???


Título: Re:PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: byebye en 8 Enero 2004, 12:12 pm
imaginate que el exploit sobreescribe esp con la direccion donde se encuentra la shellcode, entonces tienes que buscar en una libreria que use el programa el jmp esp, entonces saltara  a el codigo de tu shellcode. esa direccion no es = en todos los windows, cambia segun versiones sps etc, si usas una direccion cualquiera lo mas normal es que el programa que tiene el fallo pete, pq a saber donde apunta esa direccion.


Título: Re:PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: elvizo en 13 Enero 2004, 09:39 am
la verdad q es una buena idea, ya que yo tampoco entiendo muy bien eso de sacar los offsets y apuntarlos en la direccion de la shellcode
aunque sea un trabajo algo tedioso para los "pro" de este foro q nos puedan demostrar como se hace, creo q seria muy bueno explicarlo bien, y si sale una buena expliacion pos a partir de ella se crea un texto para q futuros wannabies q kieran aprender acerca de este temna tan solo tengan q leer el texto y no volv
er a preguntar...


Título: Re:PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: byebye en 13 Enero 2004, 11:45 am
en este tema esta explicado como buscar las direcciones. http://www.elhacker.net/foro/index.php?board=32;action=display;threadid=22504


Título: Re: PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: Rojodos en 4 Agosto 2004, 20:59 pm
Bueno, como estuve buscando el programita (Findjmp) por aqui, y sabiendo que es muy util, pues le pongo chinchetazo....

Salu2


Título: offset de rpc2 con shel
Publicado por: Kintaro en 21 Agosto 2004, 13:35 pm
estoy probando el exploit rpc2 con shellcode de shell, para buscar el offset he visto que pone algo asi:
    "\xeb\x1e\x01\x00"//     FOR CN SP3/SP4+-MS03-26
    "\x4C\x14\xec\x77"//    TOP SEH FOR cn w2k+SP4,must modify to SEH of your target's os

el seh es el setupexceptonhandler , no?
y la primera linea que es? busque con el olly la direccion de una llamada a seh y cambie pero seguia sin funcionar, la verdad es q no se a que se refieren esas lineas, otras veces lo explica mejor, por favor aver si podeis echarme una mano y echamos a andar el rpc2 cn shell, salu2 thxthx


Título: Re: PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: Gospel en 22 Agosto 2004, 08:28 am
A ver... no se pq abres este post aquí, ya q no mencionas nada del Findjmp... pa la prox, abre un nuevo tema.

Tb podías haber dicho q estás hablando del exploit RPC2 @ http://www.k-otik.com/exploits/10.09.rpc2universal.c.php, q me ha costao encontrarlo...

La mitad del código fuente está comentado, en plan chapuza... asi q yo no me fío nada de este código! No da mucha confianza y paso de tirarme horas buscando offsets pa na. Tío, sé q es una putada pq MS03-039 es una buena vulnerabilidad y no se han publicao exploits q funcionen con éxito, pero creo q es mejor pasar de este exploit RPC2 (o conoces de buena fe q a alguien le ha funcionao??)

De todas formas, el SEH pointier creo q hacía referencia al kernel32.dll, y sí, se desensambla con el olly. La primera linea ni idea...

Bueno, si quieres echar a andar un exploit a ver q te parece mi idea: Ahora casi todo el mundo q tiene Win XP tiene puesto el SP1 así q pq no echamos a andar el MS03-043 de Adik??. Llevo mucho tiempo queriendo probarlo con éxito, pero definitivamente no funciona contra SP0 y no he podido probarlo contra SP1. Contra SP1 tiene q funcionar fijo, pq he visto por internet análisis sobre este exploit, vease:

Exploiting Heap Overflow in Microsoft Messenger Service with msgr07.exe by Patti Lawrence
www.giac.org/practical/GCIH/Patti_Lawrence_GCIH.pdf

An Analysis of the Windows Messenger Service Buffer Overflow Vulnerability by Peter Hewitt
www.giac.org/practical/GCIH/Peter_Hewitt_GCIH.pdf

Pos eso, si quieres seguir trabajando con RPC2, como tu quieras, pero creo q estaría bien intentar sacar el exploit de Adik, q es bastante más fiable q el RPC2. Si tienes oportunidad de trabajar con este exploit sobre Win XP SP1, yo te ayudo en lo q pueda...

Ciao

Salu2

 


Título: Programita para conocer los offsets de las API de Windows. :)
Publicado por: Rojodos en 2 Febrero 2005, 20:52 pm
Bueno, con este programita, puedes conocer el offset de por ejemplo System() en la msvcrt.dll o de WinExec(), o de lo que necesites (nunca se sabe  ;D)

Al compilarlo y ejecutarlo, te dara la direccion en la memoria de la funcion que le especifiques por parametro dentro de la DLL que le especifiques por parametro :)

Código:
#include <stdio.h>
#include <windows.h>
typedef VOID (*MYPROC)(LPTSTR);

int main (int argc, char **argv) {
    char dll[100];
    char funcion[100];
   
    HINSTANCE libreria;   
    MYPROC procadd;

    printf ("Busca offsets xDD. Introduce como primer argumento el nombre de la DLL,\n");
    printf ("y como segundo argumento la funcion dentro de esa DLL\n");
    printf ("Por ejemplo %s msvcrt.dll system\n\n", argv[0]);
   
    if (argc != 3){
        printf ("Introduce 2 argumentos como se explica mas arriba!!!\n");
        return 1;
        }
       
    memset(dll,0,sizeof(dll));
    memset(funcion,0,sizeof(funcion));
   
    memcpy (dll, argv[1], strlen(argv[1]));
    memcpy (funcion, argv[2], strlen(argv[2]));
   
    libreria = LoadLibrary(dll);
    procadd = (MYPROC)GetProcAddress (libreria,funcion);
   
    printf ("Offset de %s en la DLL %s es %x", funcion, dll, procadd);
   
    return 0;
   
    }

En este caso, si probais el ejemplo, sale:

Citar
F:\Rojodos>system_offset msvcrt.dll system
Busca offsets xDD. Introduce como primer argumento el nombre de la DLL,
y como segundo argumento la funcion dentro de esa DLL
Por ejemplo system_offset msvcrt.dll system

Offset de system en la DLL msvcrt.dll es 77bf8044

Asi se pueden calcular rapidamente offsets, si tener que trastear con el Olly.

Entre esto (para calcular los offsets de las APIs) y el findjmp (para buscar jmp esp, o jmp ebp, etc...) se pueden codear exploits rapidamente para cualquier sistema Windows :) Sin necesidad de trastear con el olly.

Salu2


Título: Re: PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: Crack_X en 21 Febrero 2005, 01:38 am
Se publico un findjmp2 hoy en bugtraq . El primer findjmp fue hecho por Eeye para encontrar jmp/call/push en una dll cargada.
Esta 2da version fue hecha por Hat-squad.com , incluye pop/ret scanner y logea lo que encuentra con findjmp en findjmp.txt.


Título: Re: Programita para conocer los offsets de las API de Windows. :)
Publicado por: Slasher-K en 19 Marzo 2005, 15:46 pm
Quería poner este mismo código en VB, por si a alguno le interese, ya que no todos saben programar en C. Además es interesante poder comparar los codes en distintos lenguajes ;D

Código:
Sub Main()
        Dim sLib$, sFunc$
        Dim sCmdLine$
        Dim hLib&
        Dim lProcAddr&
        Dim sMsg$

  'Obtiene la linea de comandos.
  '
  sCmdLine = Command$
 
  If sCmdLine Like vbNullString Then
    sMsg = "Debes ingresar la librería y el nombre de la función:" & vbCrLf & vbCrLf & _
           "USO: FndOffset librería función"

    Call MsgBox(sMsg)
    Exit Sub
  End If
 
  'Obtiene los argumentos desde la linea de comandos.
  '
  sLib = RTrim$(Left$(sCmdLine, InStr(1, sCmdLine, " ")))
  sFunc = Trim$(Mid$(sCmdLine, InStr(1, sCmdLine, " ")))
 
  'Carga la librería en memoria y devuelve
  'la dirección en donde se cargó.
  '
  hLib = LoadLibrary(sLib)
 
  If hLib Then
    'Obtiene el offset relativo (RVA) de la función
    '
    lProcAddr = GetProcAddress(hLib, sFunc)
   
    If lProcAddr Then
      sMsg = "El offset de '" & sFunc & "' en '" & sLib & "' es 0x" & _
            Hex$(lProcAddr) & " (" & lProcAddr & ")"

      Call Clipboard.SetText(sMsg, vbCFText)  'Copia los datos al portapapeles.
      Call MsgBox(sMsg, vbExclamation)
      Call MsgBox("Los datos se copiaron al portapapeles.", vbInformation)
     
    Else
      Call MsgBox("No se encontró la función u ordinal '" & sFunc & "' en '" & sLib & "'", vbCritical)
    End If
   
    'Descarga la librearía de memoria.
    '
    Call FreeLibrary(hLib)
  Else
    Call MsgBox("No se pudo cargar la librería '" & sLib & "'", vbCritical)
  End If
End Sub


Título: Re: Programita para conocer los offsets de las API de Windows. :)
Publicado por: Dark_Knight en 5 Julio 2005, 03:45 am
Hola

Tengo una pregunta para Rodojos, en tu tutorial explicas un metodo sencillo de hacer un exploit completo.....pero en tus ejemplos al inicio esta el codigo de vuln1, despues dices que puedo ver la vulnerabilidad por medio del OllyDbg y que al colocar el mas de 64 A´s vere en EIP 41414141 hasta aqui todo va bien, pero cuando veo las explicaciones todo es distinto porque cuando busco por ejemplo:

004012CD  |. 68 80124000    PUSH vuln1.00401280                      ; /format = "Introduzca un argumento al programa"
004012D2  |. E8 79170000    CALL <JMP.&msvcrt.printf>                ; \printf
004012D7  |. 83C4 10        ADD ESP,10
004012DA  |. EB 17          JMP SHORT vuln1.004012F3
004012DC  |> 83EC 08        SUB ESP,8
004012DF  |. 8B45 0C        MOV EAX,DWORD PTR SS:[EBP+C]
004012E2  |. 83C0 04        ADD EAX,4
004012E5  |. FF30           PUSH DWORD PTR DS:[EAX]                  ; /src
004012E7  |. 8D45 B8        LEA EAX,DWORD PTR SS:[EBP-48]            ; |
004012EA  |. 50             PUSH EAX                                 ; |dest
004012EB  |. E8 50170000    CALL <JMP.&msvcrt.strcpy>                ; \strcpy
004012F0  |. 83C4 10        ADD ESP,10

todo me aparece muy distinto o no esta como aqui....como ADD ESP, 10 a mi no me aparece y me confundo demasiado.... lei que cambia por el sistema operativo que tenga cada uno y cosas asi, pero mejor te pregunto a ti, es por esa razon que me aparece diferente o porque no sale igual a los ejemplos ....y es una lastima para mi, porque esta muy bien realizado el tutorial y quisiera seguir aprendiendo de el.

Ahorita estoy viendo el programa que pusiste aqui...y quisiera saber si aun es necesario utilizar el Olly o con el programa que pusiste junto con el findjmp puedo seguir realizando los ejemplos del tutorial......y si el codigo de la shell tiene algun fallo, porque al compilarlo en visual c++ me aparecen un errores que dicen "missing "{" before "_cdecl",
"siza_t" y "main", ojala me puedas responder.

GRACIAS  ;D


Título: Re: Programita para conocer los offsets de las API de Windows. :)
Publicado por: krispin en 12 Noviembre 2005, 16:06 pm
Jau!!!!!!
aqui les dejo una chapuzilla mas visual.
tE Sak todos los offsets de todas funciones de una dll.
saludox.

El que quiera que lo utilic y el que no, pues ya se sabe, a la basuraaaaaaaaaa
el programilla es: Offsets.rar:
http://usuarios.lycos.es/p4n0r4mix/


Título: Re: PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: krispin en 30 Noviembre 2005, 18:52 pm
Buenax!!!
aqui les dejo uno un poco mas visual, el que quiera que lo utilice,
y el que no,
pues lo de siempre,
a la basura.
http://usuarios.lycos.es/p4n0r4mix/FindJmp3.rar

saludox!!!


Título: Re: PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: CrowDat en 5 Diciembre 2005, 15:35 pm
Buenas,
tal como se comenta en este hilo http://foro.elhacker.net/index.php/topic,96879.msg451389.html ,en el link que se hace referencia a http://www.i2s-lab.com/Free-Tools/Findjmp.EXE , este fichero es un virus como una casa.
Antes de que nadie diga «pues a mi me va bien» , que coja, se baje ese archivo, y lo ejecute, y no ejecute la copia que habia buena anteriormente.

Estaba buscando unos offsets para WinXP English,y para ello lo instale bajo VMWare -y menos mal..-, una vez concluida la instalacion,y dado que no tenia nada instalado, ni siquiera winrar, opte por bajarme el link al .exe, nada mas ejecutarlo ha borrado todos los .exe, de windows y abre un internet explorer a la direccion http://www.i2s-lab.com/sophos.htm la cual no existe actualmente.

Despues de instalarme el winrar y bajar el findjmp adjunto en el foro,los he comparado y me encuentro con lo siguiente:

findjmp.exe adjunto en rar del foro
Fecha Creacion: 08/04/2004
Tamaño: 3584 bytes

findjmp.exe descargado de i2s-lab.com
Fecha Creacion: 12/06/2005
Tamaño: 36864 bytes

Si se abre con el notepad, se puede ver claramente como en el findjmp de i2s-lab se ve lo siguiente «explorer http://www.i2s-lab.com/sophos.htm»
Por ultimo,el findjmp del foro, esta comprimido con upx,y el de la i2s-lab no lo esta,viendose que esta compilado con VisualC++.

Ahora mismo escribo esto fuera de casa por lo que no he debugeado ni monitorizado que hace el findjmp de i2s-lab, pero esta clarisimo que es un virus,por lo que agradeceria que se quitara el link de descarga del mismo para que no le pase lo mismo que a mi a otros lectores del foro.

Saludos


Título: Re: PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: el-brujo en 5 Diciembre 2005, 18:37 pm
Gracias por la información CrowDat.

La descarga estaba linkeada a la página web del creador del programa por eso creo que casi nadie se lo tomó muy en serio....

Ya he borrado en enlace que contenía el virus y he puesto la descarga "buena", la que estaba adjunta al foro.

http://ns2.elhacker.net/h/findjmp.rar

PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
http://foro.elhacker.net/index.php/topic,22708.0.html


Título: Re: PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: Gospel en 6 Diciembre 2005, 02:06 am
Gracias CrowDat por el aviso... yo me lo hubiera comido enterito, ya q no trabajo con máquinas virtuales, por mala suerte...

Ya hay q ser gentuza para colar un virus sustituyendo el programa original en la web oficial del creador. Por cierto, alguien ha avisado ya a este tipo? Findjmp es una buena herramienta para trabajar con exploits así q más de uno se ha tenido q llevar una sorpresa desagradable...  :-\


Título: Re: PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: CrowDat en 6 Diciembre 2005, 22:10 pm
Buenas,
por ahora no les he avisado, estoy esperando unos dias para enviarles un email con "pruebas" sobre lo que les comente.
Por otra parte he enviado el fichero findjmp.exe falso a la mayoria de casas de antivirus, todas me han respondido y confirman que es un virus, de tipo worm, etc..

Me han enviado cada una de ellas un adjunto para actualizar la firma de antivirus para detectar este nuevo bichejo y en unos cuantos dias se actualizarán el resto de antivirus a nivel global, por ahora si se envia el fichero findjmp.exe a www.virustotal.com para que le haga un scaneo online ya lo muestra como virus el antivirus Sophos , catalogado como W32/Vulgar-A, el resto de antivirus se iran actualizando en los proximos dias, asi evitaremos tener mas sustos.

Saludos


Título: Re: PEDAZO DE HERRAMIENTA! BUSCA OFFSETS EN DLLS! FINDJMP.EXE!
Publicado por: Support en 6 Diciembre 2005, 22:42 pm
bien CrowDat por el aviso, muy meritorio de tu parte :)

Feliz Vida!


PD:aguante Cyruxnet...XD


Título: Re: <-!-> Herramientas: findjmp, offsets, etc.. (Actualizado)
Publicado por: Deka_10 en 20 Junio 2007, 17:52 pm
Han sacado el findjmp2. Espero que actualices el post.
http://www.governmentsecurity.org/archive/t13781.html


Título: Re: <-!-> Herramientas: findjmp, offsets, etc.. (Actualizado)
Publicado por: sirdarckcat en 21 Junio 2007, 04:44 am
la verdad esta mucho mejor la herramienta de eeye "eereap" ( http://www.eeye.com/html/resources/downloads/other/eereap.zip ), que el findjmp2..
por lo que solo deje el findjmp por cuestiones históricas.


Título: Re: <-!-> Herramientas: findjmp, offsets, etc.. (Actualizado)
Publicado por: IWKY en 24 Mayo 2008, 21:13 pm
Un pregunta, este tipo de herramietas existen para GNU/Linux? ya que yo soy usuario de debian y prefereria seguir con debian y no tener que usar maquinas virtuales o el win en disco.

Un saludo.


Título: Re: <-!-> Herramientas: findjmp, offsets, etc.. (Actualizado)
Publicado por: Hesp en 27 Octubre 2009, 17:53 pm
arwin: http://foro.elhacker.net/bugs_y_exploits/arwin_tu_mejor_amigo_para_optimizar_opcodes-t272132.0.html


Título: Metasploit 3.3 Portable svn r7553
Publicado por: shimpei en 25 Noviembre 2009, 19:50 pm
(http://i49.tinypic.com/15zmdl1.jpg)
http://www.4shared.com/file/159022886/e1861a8a/MSF_33p_v4__Full_svn_r7553_.html
y se nos termino de morir oficialmente el soporte para la GUI  ;D


Título: Re: <-!-> Herramientas: findjmp, offsets, etc.. (Actualizado)
Publicado por: Spike_Vam en 26 Junio 2010, 02:06 am
gracias  ;-)