jueves, 14 de marzo de 2013

Ondas Wireless

En el mundo del wireless el modo monitor es dejar en escucha la tarjeta inalambrica, es decir que capture todos los paquetes que circulan cerca del computador. 
Algunos creen que las redes inalambricas se transmiten como un infrarojo llegando la señal a un destino fijo, pero no es asi, las ondas electromagneticas se encuentran en cualquier lado, asi los aparatos electronicos que manejan wireless o esa frecuencia y un poco de ingenio se pueden hacer bastantes cosas espero que les guste este apartado

la mayoria de gente suele pensar que una señal de un aparato electronico es enviada y recibida por 2 partes, el emisor y el receptor. Algo en lo que he leido en los ultimos dias y como la curiosidad mato al gato me di en la tarea de ver que tan cierto era esto he aqui mi deduccion si contiene errores les pido que me los informe asi podrian ayudar a alguien que quiere aprender.

SEÑAL

Una señal no es mas que una onda electromagnetica que se emite en el aire o en el vacio, cada aparato electronico celular, modem inalambrico, tablets, ps3 entre otros manejan un tipo de señal para la comunicacion.


 
bueno de que nos sirve esto y que coherencia tiene este texto con esas frecuencias?

como veran la logica es una sola si ven un modem inalambrico que esta emitiendo? señales como podemos crackear un pass de wifi? capturando señales e injectando paquetes a un modem especifico. En este caso quiero mostrar que no solo el modo monitor nos sirve para crackear wireless nooo.

Usaremos 2 herramientas gratuitas y de un facil acceso

1. Gerix Wifi Cracker
2. Wireshark

Lo primero de todo es colocar nuestra tarjeta en modo monitor esto lo realizamos de 2 formas manual o por el programa Gerix Wifi Cracker que es el de nuestro ejemplo 
ya tenemos la tarjeta en modo monitor escuchando la comunicacion de todos los modems inalambricos que alcance a captar. Ahora es el turno de wireshark, en la lista de tarjetas que modemos utilizar para escuchar nos aparece la eth0 (ren por cable), wlan0(red inalambrica), mon0(tarjeta en modo monitor)

veran que comienza a captar paquetes por la tarjeta en modo monitor, cual es la gracia de hacerlo con wireshark que para analizar el trafico que circula por esa red inalambrica no hay necesidad de conectarse a esta. Es decir el pc emite ondas que se exparsen en el aire y el modem recibe luego el modem interpreta y transmite segun la peticion la ventaja de wireshark es que nos deja manejar diferentes protocolos.

Con ayuda se ese entorno y una facil lectura es posible capturar paquetes TCP que hallan sido enviadas
cada frecuencia es diferente informacion, por eso te pinchan el telefono xD

3p1c0w3nd

Faceb00k y HTML

Este texto lo escribi no hace mucho trata sobre algunas cosas interesantes de facebook, como es la suplantacion de identidad de mensajes en facebook, los filtros de los mensajes de facebook. En fin lo dejo por si algun curioso quiere algun dia leerlo. Si lo lees y ves que tengo algunos errores, puedes compartirnos tu pensamiento ^^

http://www.4shared.com/office/ccHVcGsn/HTMLYFACEB00K.html


Hasta la proxima

3p1c0w3nd

Cracking un comienzo

Existe algo tan fantastico como las misma programacion, el cracking, esta vez no se trata de esas personas que quieren joderte la vida, o ingresar a sitios sin previa autorizacion o capturando tus claves personales. En realidad cracking trata sobre el como evadir
la restriccion de los programas para no registrarse, usar un serial o no comprar ningun software de paga.

Algunas veces es conocida como ingenieria reversa que consiste en entender el codigo lo mejor posible desde ensamblador.
Existen lenguajes de alto y bajo nivel, pero para mi concepto el  mejor lenguaje de programacion es ensamblador, es cierto que  es algo complicado de manejar pero quien dijo que era imposible. Les dejo un video sobre como crackear un programa, para algunos que lean mi blog veran que es algo basico, aunque les digo a ellos que hay instrucciones mejores que un NOP y un JMP ^^. Pero no solo podemos desarrollar keygen o crackear algun software aprendiendo ensamblador, hay un mundo por delante desde la explotacion de software por algunos errores de programacion hasta creacion de juegos con el Directx  en 2D.

Disfrutenlo



http://vimeo.com/16399540

Refencias

http://www.ricardonarvaja.info/


Recuerda que todo este material es educativo, no seas lammer dañando el trabajo de los demas solo hazlo por aprender algo nuevo :)

3p1c0w3nd








lunes, 11 de marzo de 2013

Sockets con java




Los sockets en cualquier lenguaje de programacion, son muy importantes. Nos permiten conectarnos a un  host que se encuentre en una red lan o en internet. Gracias al desarrollo de algunas librerias en los lenguajes de programacion podemos hacer uso de ellos.

Para nuestro ejemplo algo basico pero sirve como entendimiento de lo que significa esto.

http://es.wikipedia.org/wiki/Socket_de_Internet

Lo primero que debemos hacer es importar algunas librerias.



No me detendre mucho explicando que es java, como declara funciones o como declarar variables, hay bastante documentacion al respeto en google. Luego que tenemos declaradas nuestras librerias es hora de inicializarlas.






Declaramos algunas variables publicas para poderlas utilizar en el programa, los tipos de datos BufferedReader, PrintWriter y Socket no serviran mucho para realizar conexion a host remotos. Luego creamos una funcion llamada conexion y dentro de ella ingresamos un bloque de try y catch en caso de que nos llegue a arrojar alguna exepcion la capturamos y poder depurar nuestro programa.





Realizamos la conexion al host usando la variable de conexion, acontinuacion utilizamos la variable entrada y salida para poder enviar y recibir informacion.




Para poder enviar informacion hacemos uso de la variable salida y utilizamos algunos metodos ya implementados en la libreria java.net.PrintWriter. Como vamos a conectarnos a un servidor web enviamos las cabeceras y esperamos una respuesta.



 Con la linea
while (entrada.readLine() != null){
                System.out.println(entrada.readLine());
            }

lo que hacemoses recibir los datos que nos envie el servidor y luego los imprimimos en estos momentos nos arrojaria el texto html




 Podemos realizar aun cosas mas interesantes ya tenemos la conexion con el host, ya recibimos texto html, ahora es el turno de las expresiones regulares. Podremos conseguir enlaces que se encuentren dentro de la url un ejemplo vamos a capturar todos los href de la web asi tener mas claridad de la pagina web.

Para realizar esto tenemos que declarar una variable de tipo array donde guardaremos cada enlace.





Despues de declarar el array solo tenemos que agregar algunas intrucciones


 Vamos a explicar por partes

while(entrada.readLine() != null){
                mensaje = entrada.readLine();
                respuesta = respuesta.append(mensaje);
               
            }


en esta instruccion miramos mientras que entrada.readLine() sea distinto de null guardamos en  mensaje el texto enviado desde el servidor y en respuesta almacenamos el resultado de respuesta y agregamos el resultado de mensaje, asi nos queda mas facil para utilizar el texto y poder buscar lo que necesitamos

Pattern buscar = Pattern.compile("href=\"(.*?)\"", Pattern.CASE_INSENSITIVE);
           
            Matcher palabra = buscar.matcher(respuesta);


aca creamos una variable Pattern para poder buscar un texto en lo almacenado anteriormente con  Pattern.compile("href=\"(.*?)\"", Pattern.CASE_INSENSITIVE); buscamos lo que necesitamos en este caso todos los href lo que contiene es una expresion regular que nos sacara todos los href del codigo html. Luego declaramos una variable Matcher y utilizamos el metodo de Pattern matcher para buscar en respuesta.

 while(palabra.find()){
              
                   i++;
                   path[i] = palabra.group();
                 
                  System.out.println(path[i]+"  "+i);
              
             }

           

aca utilizamos el while y usamos el metodo de Matcher find para buscar la palabra,  mientras este buscando, almacene lo encontrado en path. palabra.group() contiene lo buscado en el texto html y luego simplemente mostramos lo encontrado. Veamos que nos muestra el programa.



Exactamente lo que esperabamos, bueno hasta aca este minituto sobre sockets recuerda que hay mas, funciones de esas librerias de java. Esto tan solo es un comienzo se puede desarrolar algun crawling o algun scanner de vulnerabilidades. Esto es algo basico, existen funciones para crear servidor y cliente en este caso hemos creado un cliente que se conecta a un website y envia algunas peticiones http.

Referencias

http://docs.oracle.com/javase/6/docs/api/java/io/BufferedReader.html
http://docs.oracle.com/javase/6/docs/api/java/io/package-summary.html

3p1c0w3nd

domingo, 10 de marzo de 2013

NMAP a la orden del pentesting

nmap es una herramientas muy necesaria para realizar diversos ataques ya sean de recoleccion de informacion o de verificacion de vulnerabilidades. El echo es que nmap va a estar siempre presente, pero alguno sabe realmente el poder que tiene esta herramienta?.

La mayoria de gente lo unico que sabe es que nmap sirve para sacar puertos, versiones de software y pare de contar, pero esto no es realmente asi nmap es una herramienta muy poderosa cuando es enfocada en el mando equivocado. Hace algun tiempo vengo observando el funcionanmiento de los scripts de nmap algo realmente facinante.   En el directorio

C:\Archivos de programa\Nmap\scripts



encontraremos gran variedad de script listo para utilizarse, no quiero comenzar un post igual que todos los de la red, que sean como enseñar a escanear un puerto, sacar una version un puerto en especifico. No al contrario quiero dar algo distinto a lo encontrado en internet.

Utilizando nmap con scripts

como utilizamos nmap con algun script sencillo solo tenemos que agregar la opcion --script, pero estate pendiente porque cada vez que escaneas un host y lo haces como un scriptkiddie solo lograras dejar mucho log y haci dejarias mucho rastro primero te aconcejaria que escanearas el server para ver que puertos tiene abiertos luego ya te animas a utilizar los scripts no comienzes a mandar comandos al azar xD.

nmap -p 80, 443 -d --script dns-brute.nse www.website.com



como podemos ver tenemos un pantallo de lo que nos arroja el script de dns-brute, tenemos gran variedad de script, cada uno arrojandonos informacion hacerca del website, en este caso optuvimos algunos servidores dns.

otro ejemplo de uso de scripts de nmap

nmap -p 80,443 -d --script http-email-harvest.nse www.website.com






obtuvimos algunos correos para continuar con nuestra fase de recoleccion de informacion, tan solo es probar los scripts, pero no arrojes al azar verifica bien los servicios que estan corriendo y luego elije un script apropiado.





Como crear nuestro propio script?

 Los scripts de nmap pueden ser creados con alguna complejidad o facilidad depende de como lo quieras tomar, vamos a analizar la creacion de un script desde 0. Todo script de nmap tiene que tener esta estructura.
  • description
  • categories
  • portrule ó hostrule 
  • action

 La descripcion es la informacion que le colocamos a nuestro script 

categoria encontramos algunos nombres


  • safe modo inofensivo para el objetivo.
  • intrusive algo más intrusivo que el anterior pero, casi seguro, no causará problemas en el objetivo.Tener en cuenta wue usará algunas contraseñas prefijadas en los scripts y es posible que genere logs en el objetivo. Hay que tener cuidado pues.
  • malware para descubrimiento de malware y similares
  • version mayor potencia en la detección de versiones. Requiere -sV
  • discovery distintas pruebas de descubrimento en una red “interrogando” al los distintos servicios
  • vulnerability testeo de una vulnerabilidad en concreto
portrule o hostrule es la regla que le aplicamos a nuestro script puede ser tcp o udp

action es la accion que va a realizar nuestro script



 Para nuestro ejemplo he decicido crear un script sencillo, que nos devuelva el codigo fuente de una pagina web con una peticion GET.



/************************************************************************/


request.nse


description = [[    Descripcion del script ]]

author = "3p1c0w3nd"

license = "http://ojodelared.blogspot.com"


categories = {"discovery", "safe"}
local http = require "http"
local shortport = require "shortport"

portrule = shortport.http


function action(host, port)

    local status = http.generic_request(host, port, "GET", "/")
   
   
        if status then
            return status
       
   end

 end
    


el codigo que se encuentra en azul es la informacion de nuestro script, el codigo rojo ya son las acciones que nuestro script.  Primero declaramos variables con la palabra local





   

local http = require "http"
local shortport = require "shortport"


esto nos sirve para importar algunas librerias de nmap y poder trabajar con ellas.


portrule = shortport.http

estamos diciendo que vamos a trabajar con el http

function action(host, port)

    local status = http.generic_request(host, port, "GET", "/")
   
   
        if status then
            return status
       
   end

 end


finalmente nuestro codigo que realizara una peticion GET y si tiene algun resultado nos lo devolvera.






Obtenemos la salida de nuestro script, se pueden implementar mas script con el uso de las funciones,dejo algunos enlaces para mas informacion la respecto. Espero que les halla gustado tan solo es un comienzo de algo muy gigantesco pero con un poco de esfuerzo y lectura terminaras creando algunos scripts muy interesantes.

Recuerda que todo este material es educativo, asi que no profundizo mucho sobre el tema dejo algunos enlaces por si te causa curiosidad leas un poco.


3p1c0w3nd







Referencias

http://seguridadyredes.wordpress.com/2010/02/25/nmap-nse-scripting-breve-resena-para-creacion-y-ejecucion-scripts-nse-nmap-parte-1/
http://seguridadyredes.wordpress.com/2010/02/26/nmap-nse-scripting-breve-resena-para-creacion-y-ejecucion-scripts-nse-nmap-parte-2/
http://nmap.org/book/nse-library.html
http://systemadmin.es/2011/09/crear-script-nse-conexiones-tcp-nmap





cyberguerra && cyberterrorismo



sábado, 9 de marzo de 2013

facebook red social

Buenas tardes, noches o dias segun sea su situacion,  facebook es una red social muy gigante donde existen diferentes personas, pedofilia, asesinatos, suicidios entre otras cosas, pero no lo temas a mal esto es normal hoy dia no solo facebook tiene estos problemas algunos otros website tambien los tienen.

Facebook entre otras cosas malas tambien tiene su parte buena, puedes conocer mujeres, hombres, amigos, novias, papas, hermanas, etc....  muy atractivo no?. Algunos conoceran los limites de facebook otros solo entraran a mirar correo y algunas fotos. Facebook tambien te entrega bastante informacion sobre una persona te entrega telefono, correo, direccion, novia, esposa, etc... una red social bastante interesante :).

Para algunas personas facebook es la vida en si, donde esconden varios secretos o puden comunicar algunas palabras que necesitan.


Ahora viene que tan seguro es facebook contigo?

Facebook ha tenido varias vulnerabilidades desde su aparicion en internet, xss, sql, entre otras. Hace algunos dias decidi probar que tan seguro era facebook y tuve las siguientes concluciones.

m.fbjs.facebook.com
m.facebook.com

parece que tienen una vulnerabilidad o asi parece, en mi investigacion pude ver que cuando ingresas a m.fbjs.facebook.com/notes/ y ingresas una nueva nota con etiquetas h1 h2 h3 puedes formatear el texto eligiendo el tamaño deseado para publicar, al intentarlo desde la pantalla facebook www.facebook.com el texto sale normal como si no se hubiera ingresado ninguna etiqueta html, para un atakante que pudiera bypass algunos filtros he ingresar etiquetas script podria capturar algunas cuentas o con algun ataque de phising podria conseguir cuentas y contraseñas. Esa direccion es la que ingresan los dispositivos moviles, asi que son los primeros en estar afectados.







existen algunas herramientas de auditoria informatica que pueden ser util al momento de testear un website, una red lan o cualquier dispositivo tecnologico. Entre ellas tenemos nuestro maravilloso amigo nmap, nmap es una herramienta bastante util no solo puede averiguar que puertos tiene abiertos y que servicios estan corriendo sobre esos puertos, nmap puede servir como herramienta de auditoria avanzada.

En su carpeta /scripts podran encontrar algunos script funcionales para auditar distintos sistemas,.






cuando analize facebook utilice un script bastante interesante dns-brute.nse que te permite brutear el servidor dns para ver si tiene algunos nombres de dominio si abrimos este archivo veremos un codigo script un tanto confuso pero no imposible de leer





en otra ocasion trataremos la creacion de scripts para nmap, pero solo te digo que la zona que esta marcada son los nombres que va a utilizar nmap para brutear el servidor dns y averiguar si existen esos nombres, podemos agregar algunos mas luego lo veremos. Utilizacion del script

nmap --script nombre_del_script  url_site

ejemplo:

nmap --script dns-brute.nse www.facebook.com

Host script results:

| dns-brute:

|   DNS Brute-force hostnames

|     www.facebook.com - 31.13.76.16

|     www.facebook.com - 2a03:2880:10:6f01:face:b00c:0:8

|     ssl.facebook.com - 31.13.76.16

|     ssl.facebook.com - 2a03:2880:10:6f01:face:b00c:0:8

|     blog.facebook.com - 31.13.76.16

|     secure.facebook.com - 173.252.101.20

|     blog.facebook.com - 2a03:2880:10:6f01:face:b00c:0:8

|     ns0.facebook.com - 66.220.151.20

|     ns1.facebook.com - 69.171.239.12

|     ads.facebook.com - 31.13.76.16

|     ads.facebook.com - 2a03:2880:10:6f01:face:b00c:0:8

|     upload.facebook.com - 31.13.76.16

|     upload.facebook.com - 2a03:2880:10:6f01:face:b00c:0:8

|     dns.facebook.com - 31.13.76.16

|     mirror.facebook.com - 69.63.177.74

|     dns.facebook.com - 2a03:2880:10:6f01:face:b00c:0:8

|     ns2.facebook.com - 69.171.255.12

|     dev.facebook.com - 10.82.0.145

|     ns3.facebook.com - 66.220.151.20

|     apps.facebook.com - 31.13.76.16

|     apps.facebook.com - 2a03:2880:10:6f01:face:b00c:0:8

|     mta.facebook.com - 31.13.76.16

|     beta.facebook.com - 69.171.230.69

|     mta.facebook.com - 2a03:2880:10:6f01:face:b00c:0:8

|     beta.facebook.com - 2a03:2880:2020:6f00:face:b00c:0:0

|     chat.facebook.com - 69.171.241.10

|     ntp.facebook.com - 10.78.0.10

|_    ntp.facebook.com - 10.170.0.4

como veran son algunas ips y nombres de subdominios de facebook donde encontrarmos

http://mirror.facebook.com/ algunos backup del sistema de facebook, muy apetecido por alguien que realize el tema de ingenieria inversa o explotacion de software.

http://chat.facebook.com/ tiene algunos puertos abiertos, es como un puente donde pasan los mensajes o un sistema de administracion de mensajes, creo que hay se almacen cosas interensates ^^.

Facebook tambien ha tenido otro problema que es la suplantacion de identidad, se puede enviar un mensaje a otra persona en nombre de otra confuso xD.

Pero se los dejo mejor explicado con una imagen



explico mas sobre este error en un paper expuesto en nuestro grupo de seguridad de facebook
https://www.facebook.com/groups/br34ks3cur1ty/ el paper se llama htmlyfaceb00k.pdf



Conclusion:

Algunas veces un pequeño error puede terminar en un gran error estos ya lo he reportado, pero parece que facebook hace caso omiso a eso, algunos los pueden considerar errores otros no ya queda en el consecto de cada uno. Los sistemas informaticos son creados por personas asi que no suelen ser 100% seguros siempre tendran un pequeño error espero les halla gustado la primera entrada de nuestro blog trate de ser explicativo. Deja tus comentarios ^^

3p1c0w3nd

Bienvenido Usuario

Bienvenidos lectores, con este blog quiero dar a conocer distintos pensamientos que he adquirido con el tiempo, eso si todo enfocado al area de los sistemas. La tecnologia dia a dia se convierte en algo tan necesario que se encuentra en casi todo lado. Celulares, computadoras, Cajeros automaticos, programacion, electronica entre otras cosas avarcan todo lo respectivo de la tecnologia.

Cuando andas en un mundo que se encuentra bastante material sobre ataques a algunos sistemas informaticos, este blog tratara todos esos temas y algunos otros que no se encontraran en internet.

¡¡ IMPORTANTE LEER !!

No prentendo crear un blog donde se exponga como explotar una vulnerabilidad y como acceder a un sistema sin previa autorizacion, si quiero aclarar que algunos ejemplos son reales. Donde hay distintas vulnerabilidades esperando ser descubiertas pero ya sabes, no siempre es bueno dañar las cosas de los demas hace algun tiempo como algunos de los que estan leyendo este documento o estan en algun xat o por msm o algun medio de comunicacion entenderan que no se trata de dañar se trata de crear. Todo este material es educativo solo quiero concientizar a la gente sobre como se mueve este mundo de hackers. He cierto que para llegar a ese titulo se necesita bastante tiempo pero todo juntos avanzaremos ^^.

Quien soy yo bueno, me presento mi nombre es Edwin Fajardo pero me puedes conocer en el internet como 3p1c0w3nd ^^. Soy alguien apasionado por la informatica, en este mundo de la seguridad informatica y la programacion no llevo mucho tan solo 3 años pero tengo bastante entendimiento sobre distintos temas hacking y seguridad de sistemas informaticos. No creas que alguien nace para ser investigador informatico o pentester o hacker como lo quieras llamar, eso se forma con el entusiasmo que le metas a las cosas.  Cada persona nace para un arte no naces simplemente porque tus papas quisieron o no quisieron no creelo el regalo de la vida es un don que no todos pueden gozar.

Que veremos en este blog, temas como programacion en distitos lenguajes

javascript
html5
html  -- no es muy distinta del html5
php
java
c
c++
python
perl
entre otros

asi como tambien encontraremos algunos errores en algunos website y en algunos software, hay demasiadas cosas que veremos en este blog pero esperemos que con su apoyo podamos seguir . Espero que sea de tu agrado este blog y no nos veas como una persona diferentes si no como un amigo donde puedes confiar ^^



"No temo a los ordenadores; lo que temo es quedarme sin ellos" -- Isaac Asimov