Live Free or Die    HackingJaime Peñalba Estébanez @Nighterman     Javier Rodríguez @Javiover
Introducción         2
Criminalización del hacking●   Reformas en el código penal●   Herramientas y exploits “ilegales“●   Si usas cifrado eres u...
Lo estas haciendo mal...
Lo estas haciendo mal si...●   Estas revelando o vendiendo secretos●   Estas violando privacidad de los usuarios●   Estas ...
Sentido común 0 – Potato 1●   Utilizas tu dirección IP●   Usas la wifi de un sitio publico con cámaras●   Usas el wifi de ...
Requisitos para “curiosear”●   Materia prima (Hookle)●   Anonimato (tor, ashell, proxys, etc...)●   Ocultarse en los siste...
Preload Hooking
Pivotar  ashell    +Tostadores             9
¿Dispositivos embebidos?●   Son objetivos fáciles de explotar●   Instalaciones homogéneas●   Muchas veces trabajan sobre R...
Pivotar por videos● Kernels 2.6.x● Procesadores ARM, MIPS● 64/128/256Mb RAM● Glibc 2.3.90
Pivotar por routers● Kernels 2.4.x y 2.6.x● Procesadores ARM, MIPSEL, MIPSBE● 32/48/64Mb RAM● uClibc 0.9.27● /var/ == tmpfs
Pivotar por routers
Pivotar por RSC, SSP, RACSun Fire V20z y V40z System Service Processor● Linux Kernel 2.4.18● CPU PPC 64Mhz● 64Mb RAM● Glib...
Pivotar por estaciones GPS● Linux RTOS (Montavista)● Kernels 2.2.x y 2.4.x● CPU PPC 64Mhz● 64Mb RAM● Glibc 2.2.3
Pivotar por estaciones GPS
Pivotar por estaciones GPS
Distribución de Ficheros● Almacenamiento en RAM● Upload via PJL (Printer Job Language)● Download via PJL o HTTP
Distribución de FicherosMas de 38.000 Impresoras en todo el mundo                                            19
Requisitos●   Cross Compilers de todos los colores●   Emuladores / Dispositivos para probar●   Paciencia, mucha paciencia....
ashell
ashell
Ashell: Funcionamiento
Rootkitlsnake      24
User Space VS Kernel●   Multiplataforma●   Mayor flexibilidad (standalone, full, netonly)●   Menos cambios que en el API d...
User Space VS Kernel●   Mayor exposición a ser descubierto●   Dificultad para encontrar un punto de    inyección en todos ...
Instalación●   Linux    ●   /etc/ld.so.preload●   Solaris    ●   crle -E LD_PRELOAD=/lib/secure/libsn.so                  ...
Funcionalidades de Sistema●   Ocultar procesos●   Ocultar ficheros●   Ocultar conexiones●   Garantizar acceso remoto●   Ga...
Funcionalidades de Red●   Conexiones cifradas●   Autenticación X.509●   Shell remota●   Proxy Socks4●   Port Forwarding●  ...
Opciones de despliegue●   Completo (Librería)●   Networking (Librería)    ●   Multiplataforma.    ●   Se instala sobre un ...
Identificar al owner●   GID (grupo de sistema) = XXXX●   Variables de entorno. VARIABLE=PASS●   Remoto: Puerto origen entr...
Ocultar procesos / ficherosstat()      __xstat()      access()stat64()    __xstat64()    chdir()lstat()     __lxstat()    ...
Ocultar procesos / ficheros                     33
Ocultar procesos / ficheros
Elevación de privilegios                   35
Elevación de privilegios
Acceso remoto
Acceso remoto
Acceso remoto
Ocultar conexiones●   Uso de System V IPC●   Hook socket() y accept()    ●   Agregamos el inodo a shared memory●   Hook cl...
Ocultar conexiones               41
Autenticación X.509
Autenticación X.509●   Verificaciones del certificado de rootkit      Validez del certificado y firma de la CA      Finger...
Autenticación X.509
sclient: Cliente remoto
sclient: socks4 pivoting                   46
sclient: shell remota
“LIVE FREE OR DIE    HACKING”       Grupo Delitos Telemáticos       Unidad Central Operativa             Guardia Civil    ...
El Escenario (I)   “Si conoces al enemigo y te conoces a ti mismo,no tienes por qué temer el resultado de cien batallas.” ...
El Escenario (II).• Servidores y otros elementos de red  vulnerados.• “Troyanización” de infraestructuras  informáticas y ...
Perfil del atacante• Amplios conocimientos en el desarrollo de  rootkits/malware.• Amplios conocimientos en periféricos y ...
El resultado• Delito de daños en sistemas informáticos (art. 264).• Delito de descubrimiento y revelación de secretos  (ar...
Comprendiendo el ataque• Análisis forense del binario.   – Principio de Locard.   – Análisis estático del binario.   – Aná...
Análisis del binario (estático)Nivel de debugStringsSímbolosBibliotecasSeccionesEtc.
Análisis del Binario (II).• Valorar realizar análisis dinámico.   – Strace, gdb, lsof, etc.• Estudiar las conexiones entra...
Conclusiones• A pesar de la complejidad del escenario, existen  herramientas tanto judiciales como técnicas para el  escla...
Dirección Generalde la Guardia Civil                      ¡GRACIAS POR VUESTRA                           ATENCIÓN!        ...
Jaime Peñalba Estébanez @Nighterman       Javier Rodríguez @JavioverEspecial agradecimiento al Grupo de Delitos Telemáticos
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]
Upcoming SlideShare
Loading in...5
×

Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]

1,918

Published on

Desde hace tiempo se ha tendido a criminalizar algunas actividades relacionadas con el mundo de la seguridad informática creando nuevas leyes o endureciendo las existentes con el fin de ampliar el control sobre las comunicaciones y los usuarios.

Teniendo en cuenta esta situación que ha sido agravada por las actuaciones de determinados colectivos; algunas practicas de la seguridad informática que antes podían justificarse como pura “”curiosidad”" se han convertido en un delito y pueden terminar en situaciones desagradables.

La charla tratara sobre los métodos que podemos utilizar para evitar que nuestra curiosidad se vuelva contra nosotros y terminemos recibiendo alguna visita “”non grata”". Mostraremos técnicas para conseguir anonimato en Internet y evitar ser trazados, como utilizar “”otros”" sistemas sin que nadie se percate de nuestra presencia, etc… En resumen: como se podría “”curiosear”" sin terminar enjaulado. Todo esto se demostrara utilizando herramientas propias, parte de las cuales serán liberadas al público tras finalizar la conferencia.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,918
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Jaime Peñalba y Javier Rodríguez - Live Free or Die Hacking [RootedCON 2012]

  1. 1. Live Free or Die HackingJaime Peñalba Estébanez @Nighterman Javier Rodríguez @Javiover
  2. 2. Introducción 2
  3. 3. Criminalización del hacking● Reformas en el código penal● Herramientas y exploits “ilegales“● Si usas cifrado eres un terrorista● Problemas tras reportar un fallo● Mayor repercusión mediática● Aumento de la ciberdelincuencia● #fueunhacker
  4. 4. Lo estas haciendo mal...
  5. 5. Lo estas haciendo mal si...● Estas revelando o vendiendo secretos● Estas violando privacidad de los usuarios● Estas sacando algún beneficio económico● No sabes lo que estas haciendo
  6. 6. Sentido común 0 – Potato 1● Utilizas tu dirección IP● Usas la wifi de un sitio publico con cámaras● Usas el wifi de un comercio y pagas con tarjeta de crédito● Utilizas tu cuenta para entrar● No cifras tus conexiones ni tus datos
  7. 7. Requisitos para “curiosear”● Materia prima (Hookle)● Anonimato (tor, ashell, proxys, etc...)● Ocultarse en los sistemas (lsnake)● Poderes de supervaca
  8. 8. Preload Hooking
  9. 9. Pivotar ashell +Tostadores 9
  10. 10. ¿Dispositivos embebidos?● Son objetivos fáciles de explotar● Instalaciones homogéneas● Muchas veces trabajan sobre RAM● Dificultad para realizar análisis forense 10
  11. 11. Pivotar por videos● Kernels 2.6.x● Procesadores ARM, MIPS● 64/128/256Mb RAM● Glibc 2.3.90
  12. 12. Pivotar por routers● Kernels 2.4.x y 2.6.x● Procesadores ARM, MIPSEL, MIPSBE● 32/48/64Mb RAM● uClibc 0.9.27● /var/ == tmpfs
  13. 13. Pivotar por routers
  14. 14. Pivotar por RSC, SSP, RACSun Fire V20z y V40z System Service Processor● Linux Kernel 2.4.18● CPU PPC 64Mhz● 64Mb RAM● Glibc 2.2.3
  15. 15. Pivotar por estaciones GPS● Linux RTOS (Montavista)● Kernels 2.2.x y 2.4.x● CPU PPC 64Mhz● 64Mb RAM● Glibc 2.2.3
  16. 16. Pivotar por estaciones GPS
  17. 17. Pivotar por estaciones GPS
  18. 18. Distribución de Ficheros● Almacenamiento en RAM● Upload via PJL (Printer Job Language)● Download via PJL o HTTP
  19. 19. Distribución de FicherosMas de 38.000 Impresoras en todo el mundo 19
  20. 20. Requisitos● Cross Compilers de todos los colores● Emuladores / Dispositivos para probar● Paciencia, mucha paciencia...● Poderes de super vaca 20
  21. 21. ashell
  22. 22. ashell
  23. 23. Ashell: Funcionamiento
  24. 24. Rootkitlsnake 24
  25. 25. User Space VS Kernel● Multiplataforma● Mayor flexibilidad (standalone, full, netonly)● Menos cambios que en el API de kernel● Mayor persistencia tras actualizar el S.O.● Uso de librerías de user space (OpenSSL) 25
  26. 26. User Space VS Kernel● Mayor exposición a ser descubierto● Dificultad para encontrar un punto de inyección en todos los procesos por S.O.● Hay que comunicar los procesos● Binarios estáticos● Mayor “sobrecarga” del sistema● Dolores de cabeza 26
  27. 27. Instalación● Linux ● /etc/ld.so.preload● Solaris ● crle -E LD_PRELOAD=/lib/secure/libsn.so 27
  28. 28. Funcionalidades de Sistema● Ocultar procesos● Ocultar ficheros● Ocultar conexiones● Garantizar acceso remoto● Garantizar privilegios de root (local) 28
  29. 29. Funcionalidades de Red● Conexiones cifradas● Autenticación X.509● Shell remota● Proxy Socks4● Port Forwarding● Conexión a través de servicios existentes (ssh, apache, mysql, etc...) 29
  30. 30. Opciones de despliegue● Completo (Librería)● Networking (Librería) ● Multiplataforma. ● Se instala sobre un solo servicio ● Shell, Socks4 y Port Forward● Standalone (Demonio) ● Proceso independiente ● Shell, Socks4 y Port Forward 30
  31. 31. Identificar al owner● GID (grupo de sistema) = XXXX● Variables de entorno. VARIABLE=PASS● Remoto: Puerto origen entre XXXX y XXXX● Remoto: Certificado 31
  32. 32. Ocultar procesos / ficherosstat() __xstat() access()stat64() __xstat64() chdir()lstat() __lxstat() closedir()lstat64() __lxstat64() fopen()fstat() __fxstat() fopen64()fstat64() __fxstat64() open() open64() readdir() readdir64() opendir() 32
  33. 33. Ocultar procesos / ficheros 33
  34. 34. Ocultar procesos / ficheros
  35. 35. Elevación de privilegios 35
  36. 36. Elevación de privilegios
  37. 37. Acceso remoto
  38. 38. Acceso remoto
  39. 39. Acceso remoto
  40. 40. Ocultar conexiones● Uso de System V IPC● Hook socket() y accept() ● Agregamos el inodo a shared memory● Hook close() ● Eliminamos el inodo de shared memory● Hook fopen() ● /proc/net/tcp || /proc/net/udp || /proc/net/raw 40
  41. 41. Ocultar conexiones 41
  42. 42. Autenticación X.509
  43. 43. Autenticación X.509● Verificaciones del certificado de rootkit Validez del certificado y firma de la CA Fingerprint SHA1 (Posibles MiTM) Extensión X.509 V3: SSL Client● Verificaciones del certificado de “admin” Validez del certificado y firma de la CA Common name (CN) correcto Extensión X.509 V3: SSL Server 43
  44. 44. Autenticación X.509
  45. 45. sclient: Cliente remoto
  46. 46. sclient: socks4 pivoting 46
  47. 47. sclient: shell remota
  48. 48. “LIVE FREE OR DIE HACKING” Grupo Delitos Telemáticos Unidad Central Operativa Guardia Civil RootedCon 2012
  49. 49. El Escenario (I) “Si conoces al enemigo y te conoces a ti mismo,no tienes por qué temer el resultado de cien batallas.” Sun tzu, El Arte de la Guerra.
  50. 50. El Escenario (II).• Servidores y otros elementos de red vulnerados.• “Troyanización” de infraestructuras informáticas y elementos de red.• Saltos que involucran varios países.• Resumen: Escenario complejo para la investigación.
  51. 51. Perfil del atacante• Amplios conocimientos en el desarrollo de rootkits/malware.• Amplios conocimientos en periféricos y arquitecturas de red.• ¿Motivación? (APT, daños, espionaje, etc).• No es un “niño” del Acunetix.
  52. 52. El resultado• Delito de daños en sistemas informáticos (art. 264).• Delito de descubrimiento y revelación de secretos (art 197).• Perjuicios económicos altos.• Lucro cesante.• Resumen = Pena de prisión + responsabilidad civil.
  53. 53. Comprendiendo el ataque• Análisis forense del binario. – Principio de Locard. – Análisis estático del binario. – Análisis dinámico del binario.• Estudio de los saltos. – Países/Zonas.• Judicialización del caso – Colaboración Interpol / Europol. – Grupos especializados internacionales (24x7). – Apoyos de ISPs y empresas especializadas. – Comisión Rogatoria Internacional / Eurojust.
  54. 54. Análisis del binario (estático)Nivel de debugStringsSímbolosBibliotecasSeccionesEtc.
  55. 55. Análisis del Binario (II).• Valorar realizar análisis dinámico. – Strace, gdb, lsof, etc.• Estudiar las conexiones entrantes/salientes – Del binario. (si es posible). – De la red. (si es posible).• Recursos por parte del denunciante/agraviado. – ¿Qué puede aportar en lo técnico?.
  56. 56. Conclusiones• A pesar de la complejidad del escenario, existen herramientas tanto judiciales como técnicas para el esclarecimiento del hecho.• Investigación larga, falsa sensación de impunidad por parte del atacante.• Importancia del análisis del binario y conexiones de red.• Importancia de la investigación policial clásica.
  57. 57. Dirección Generalde la Guardia Civil ¡GRACIAS POR VUESTRA ATENCIÓN! Grupo Delitos Telemáticos. Unidad Central Operativa Guardia Civil www.gdt.guardiacivil.es
  58. 58. Jaime Peñalba Estébanez @Nighterman Javier Rodríguez @JavioverEspecial agradecimiento al Grupo de Delitos Telemáticos

×