elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Los 10 CVE más críticos (peligrosos) de 2020


  Mostrar Temas
Páginas: [1]
1  Seguridad Informática / Seguridad / ¿Qué VPN usas? en: 27 Junio 2010, 18:38 pm
¿Qué VPN usas cuando haces cosas malignas por la red? Yo personalmente uso IPREDator (https://www.ipredator.se/?lang=en) o secretslines (secretsline.biz), casi siempre combinados con proxies L1 que encuentro al azar.
2  Programación / Ingeniería Inversa / [Tutorial] Cavernas de código en: 4 Agosto 2009, 16:31 pm
Hoy voy a explicar como aprovechar las cavernas de código (codecaves) para añadir funciones a archivos ejecutables. En principio, en un EXE, al no ser el PE (Portable Executable) un formato muy eficiente, se deja zonas "en blanco". Con un poco de práctica podemos rellenar esas zonas, poner un salto (JMP) hasta allí y ejecutar nuestro código.

En este ejemplo voy a explicar como hacerlo manualmente para comprenderlo bien, pero se podría escribir un programa que facilitara la tarea. Vamos a hacer saltar un mensaje nada más abrir el bloc de notas, pero también podríamos añadir un programaque se baje algo de internet, un shellcode o un exploit que nos de root.

Bien, primero localiza el NOTEPAD.EXE en el directorio de Windows y haz una copia. Abre el OllyDbg y ejecútalo. Primero, vamos a buscar una zona "virgen" de código dentro, para poder excavar un poco e inyectar el nuestro. Lo que haremos será primero escribir los argumentos de la API MessageBox (más información aquí http://msdn.microsoft.com/en-us/library/ms645505(VS.85).aspx), llamarla pasándole esos argumentos y hacer un salto al principio del programa para que ejecute dicha función.

Bien, una vez que hemos corrido el programa con el Olly muevete un poco hacia abajo hasta encontrar un lugar cuyo código sea similar a este:

Código:
DB 00
DB 00
DB 00
...

Debe estar cerca del principio. Una vez hallado, marca sin miedo unas cuantas lineas con shift y el ratón y dale a editar (control+E). Escribe el texto en ASCII que quieras:



Dale a "OK" y verás en rojo lo modificado. En principio lo interpreta como código en ASM, por eso se ven comandos sin sentido. Actualizado haciendo Control+A y se verá así:



Para simplificar las cosas usaremos un solo texto para la ventana y para el texto, pero si quieres repite el proceso en otro lugar vacío para poner otra frase cualquiera.

Ahora que ya tenemos el argumento más importante de MessageBox podemos pasar a escribir la llamada a este. Recordemos como era:

Código:
int MessageBox(    
    HWND hWnd,
    LPCTSTR lpText,
    LPCTSTR lpCaption,
    UINT uType
);

En ASM, para pasar argumentos y hacer una llamda a una función tendría que ser así:

Código:
PUSH 0
PUSH 01008747
PUSH 01008747
PUSH 0
CALL MessageBoxA

Esto pone la ventana a nulo, y también el tipo de MessageBox para que solo tenga un botón. ATENCION: los dos números en hexadecimal del centro es el offset (la dirección) del texto que escribimos anteriormente. En mi caso es 0x01008747, pero en el tuyo podría ser otro.

Ahora busca otro trozo en blanco, marca una linea y dale a la barra espaciadora para editarlo, y empieza a añadir el código:



El cursor se irá desplazando automáticamente, ve escribiendo todo hasta completarlo:



Una vez lo tenemos apunta la dirección de nuestro código. En este ejemplo es 0x01008757. ¡No lo olvides! Ahora vamos al origen del programa, para poder hacer que salte a nuestro trocito. Botón secundario, Go To -> Origin:



Esto nos dejará en la primera linea del programa. Si directamente podemos un JMP (salto incondicional) a nuestra dirección se comería código original y por lo tanto importante. Así que marcar una cuantas lineas del principio y copialas aparte, en otro bloc de notas por ejemplo:



Ve ahora a la primera linea (PUSH 70 en este caso) y dale a la barra espaciadora. Escribe este código:

Código:
JMP 01008757

cuyo número será el que apuntamos anteriormente. Ahora nos quedará algo así:



Apunta el offset de la siguiente linea, aquí es 0x010073A4. Como puedes ver si comparamos con el código original que hemos copiado en el bloc de notas antes, nuestra edición se ha comido parte del programa original, así que hay que reimplantarlo. Vamos a nuestro código, haz Control+G y pon ahí la dirección a donde hacemos el salto (01008757).

Debajo del CALL MessageBoxA, ensambla de nuevo (tecla espacio) y añade el código que te comiste, así como un salto a la siguiente dirección. Quería así:

Código:
PUSH 70
PUSH 01001898
JMP 010073A4



Y nuestro codecave quedaría listo. Para terminar, haz clic en el botón secundario, "Copy to executable" -> "All modifications", pulsa el botón para guardar todas las modificaciones y cierra la ventana. Al hacer esto te pedriá una última confirmación, así que presiona "Sí" y "Aceptar" para terminar. Con esto nuestro programa modificado quedaría listo. Ve a donde lo tenías ejecutalo y verás el resultado.

¡Suerte!


Originalmente publicado en http://www.descifra.me/viewtopic.php?f=11&t=15
3  Programación / Ingeniería Inversa / Tutorial de iniciación con el OllyDbg en: 28 Julio 2009, 11:11 am
Buenas, les dejo este tutorial que me encontré por ahí:

http://www.descifra.me/viewtopic.php?f=11&t=11

Es un manual básico para aquellos que empiezan con Olly. Espero que les sirva.
4  Seguridad Informática / Hacking Ético / Tarjetas de cabinas telefónicas en: 11 Junio 2009, 13:00 pm
Hace alguños años, entre el 98 y el 2000, surgieron gran cantidad de webs diciendo como clonar o emular con diferentes circuitos las tarjetas para llamar por cabina telefónica en varios paises. Muchos esquemas y programas, pero pocos daban datos reales de funcionamiento.

Me surgió la duda de si esto se podría hacer hoy en día, que tenemos lectores USB de tarjetas que soporta cien protocolos por no más de 20 euros. El problema vino cuando intenté buscar información en internet: toda la información está terriblemente desactualizada.

Mi reto se centra en las tarjetas prepado de cabina de telefónica de España, que tienen un valor de 6 o 12 €. ¿Tiene alguien información sobre estos chips? ¿Son memorias EEPROM o son microcontroladores?

Sospecho que siguen la ISO 7861, tal vez usan el chip SLE 4442. ¿Alguien me lo podría confirmar? ¿Existe alguna web o foro donde se traten estos temas en profundidad?
5  Programación / Programación Visual Basic / Ayuda, pasar de VB.NET a VB 6 en: 5 Julio 2007, 22:48 pm
Resulta que encontre cierto codigo fuente en VB.NET que utiliza cierta dll. He aqui el enlace al proyecto:

http://www.xihsolutions.net/dotmsn/download/version1/Example.zip

Pero el problema es que yo quiero declarar esa dll en VB 6 y utilizarla como lo hacen en VB.NET. ¿Alguien puede ayudarme?
6  Programación / Programación Visual Basic / Cliente de MSN Messenger en: 4 Julio 2007, 16:37 pm
¿Alguien sabe de un cliente de MSN Messenger en VB 6 que este ACTUALIZADO? Hay muchos en internet pero ninguno trabaja con el protocolo actual.
7  Programación / Programación Visual Basic / Proxy en VB en: 24 Mayo 2006, 21:12 pm
Buenas, tengo cierto programa que se conecta por cierto puerto, me gustaria hacer que este programa se conectara a través de mi proxy y asi podre filtrar los paquetes entre el servidor y el cliente, para poder modificarlos a placer.

He leido mucho codigo para winsock pero no encuentro nada parecido a un proxy. No se como tomar una conexion por cierto puerto y ponerme a la escucha.

Agradecería vuestra ayuda \o/
8  Programación / Programación Visual Basic / Open for Binary en: 6 Agosto 2005, 20:51 pm
Buenas, tengo una duda con una programa. Mi programa pretende crackear a un *.exe, del cual conozco el offset y el valor que deseo cambiar. Utilizo entonces esta función para pretender cambiarlo.

Open "programa.exe" For Binary As #1
Put #1, &H4C663, &H7E
Close #1

Y al ver el archivo con un editor hexadecimal, en el original veo esto en esa dirección:

Offset 4C663 = EB

Y en el archivo editado esa dirección sigue siendo la misma, pero se cambian los valores anteriores y posteriores de los offset's contiguos.

¿Como podría hacer para que solo se cambiara esa dirección 4C663?

Gracias por responder.
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines