SlideShare una empresa de Scribd logo
1 de 20
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Título: Hacking con Python
Ponente: Daniel Echeverri Montoya.
Cargo o puesto: Founder at The Hacker Way.
Fecha: 25/11/2017
www.secadmin.es#secadmin2017 Security Conference 2017
Evento: SecAdmin Security Conference
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Nickname: Adastra (@jdaanial)
Blog: thehackerway.com
The Hacker Way: thehackerway.es
THW Academy: academy.thehackerway.com
Formador, consultor e Investigador de seguridad
informática y hacking.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
AGENDA
Manipulando shellcodes y malware desde Python.
- Creación de rutinas para la inyección de código malicioso con
Python.
- Inyección de código en procesos bajo sistemas Gnu/Linux.
- Inyección de código en procesos bajo sistemas Windows.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
AGENDA
Monitorizar la actividad del usuario.
- Creación de keyloggers con Python.
- Creación de screen scrapers.
- Creación de webcam scrapers.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Creación de herramientas para
monitorización y control
Let’s get evil :-)
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Creación de herramientas para
monitorización y control
- Rutinas que permitan controlar la interacción del usuario con el sistema
(dispositivos de entrada y salida).
- Comunicación bidireccional entre víctima y atacante por medio de un
canal de comunicación cifrado.
- Definición de un protocolo compartido/conocido entre ambas partes
para el intercambio de información.
- Modelo master/slave: El servidor (atacante) envía las rutinas que
debe ejecutar el cliente (víctima) utilizando un protocolo común y conocido
por ambas partes.
- Comunicación anónima entre atacante y víctima (servidor como
servicio oculto en alguna solución de anonimato existente).
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Inyección de malware sobre
Windows.
- Una de las técnicas más comunes a la hora de desarrollar malware, consiste
en inyectar rutinas en procesos que se encuentran en ejecución en la
víctima.
- Un atacante puede seguir dos caminos que le ayudarán a reafirmar su
presencia en la víctima, el primero consiste en inyectar librerías con código
malicioso que se deberán subir al sistema comprometido y el segundo en
inyectar shellcodes directamente en el espacio de direcciones de un
proceso.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Inyección de malware sobre
Windows.
- Independiente del enfoque empleado, en ambos casos es necesario
crear un hilo en el espacio de memoria virtual del proceso.
- En sistemas Windows dicho hilo se puede crear con la función
"CreateRemoteThread", la cual se encuentra incluida en la
librería "kernel32.dll".
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Inyección de malware sobre
Windows.
https://msdn.microsoft.com/es-
es/library/windows/desktop/ms682437(v=vs.85).aspx
HANDLE WINAPI CreateRemoteThread(
_In_ HANDLE hProcess,
_In_ LPSECURITY_ATTRIBUTES lpThreadAttributes,
_In_ SIZE_T dwStackSize,
_In_ LPTHREAD_START_ROUTINE lpStartAddress,
_In_ LPVOID lpParameter,
_In_ DWORD dwCreationFlags,
_Out_ LPDWORD lpThreadId
);
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Inyección de malware sobre
Windows.
- Inyectar DLLs en procesos que se encuentran en ejecución, a menudo se
asocia con una actividad maliciosa, sin embargo se trata de una técnica
utilizada por varias herramientas de seguridad para analizar el
comportamiento de los procesos activos.
- Esta técnica se basa en la creación de una librería compilada, la cual
posteriormente se carga en la memoria de un proceso determinado.
- Para cargar una librería DLL en la memoria de un proceso en
ejecución, es necesario utilizar la función "LoadLibrary" o
"LoadLibraryEx", las cuales se encuentran definidas en la
librería "kernel32.dll".
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Inyección de malware sobre
Windows.
- Dichas funciones permiten mapear el módulo ejecutable en el espacio de
direcciones del proceso. Admiten módulos DLL y ejecutables EXE.
https://msdn.microsoft.com/es-
es/library/windows/desktop/ms684175(v=vs.85).aspx
HMODULE WINAPI LoadLibrary(
_In_ LPCTSTR lpFileName
);
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Inyección de malware sobre
Windows.
- El procedimiento a seguir es el siguiente:
1– Generar el shellcode/librería
2– Se debe abrir el proceso objetivo con las flags adecuadas
para manipularlo. Utilizar kernel32.OpenProcess.
3– Reservar espacio en el proceso para inyectar la librería
en el proceso objetivo. Utilizar kernel32.VirtualAllocEx y
kernel32.WriteProcessMemory
4– Resolver la librería kernel32.LoadLibraryA
5– Crear un nuevo hilo en el proceso con
kernel32.CreateRemoteThread
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Inyección de malware sobre
Windows.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Inyección de malware sobre
GNU/Linux.
- Una de las formas más comunes de monitorizar y controlar el
comportamiento de los procesos en un sistema Linux, consiste en usar la
system call “ptrace” y la implementación “python-ptrace” permite interactuar
directamente con dicha función desde cualquier script escrito en lenguaje
Python.
- Con “ptrace” además que acceder a la información del proceso, también
es posible inyectar rutinas de código ejecutable directamente en la memoria
de dicho proceso y manipular el Instruction Pointer para que el shellcode
inyectado se ejecute inmediatamente.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Inyección de malware sobre
GNU/Linux.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Keylogger (Windows).
- Un keylogger básico se encarga de registrar todas las teclas pulsadas por la
víctima en un sistema comprometido.
- Es posible implementar Keyloggers en Python utilizando las librerías
PyWin (http://sourceforge.net/projects/pywin32/) y PyHook
(http://sourceforge.net/projects/pyhook/), las cuales solamente se
encuentran disponibles en sistemas Windows.
- Contienen funciones que permiten enganchar los principales eventos
de entrada en el sistema, como por ejemplo eventos del teclado o del
ratón.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Keylogger (GNU/Linux).
- Una implementación bastante habitual en sistemas Linux es Xorg, el cual
utiliza XKB (X Keyboard Extension) para configurar el mapa de caracteres
del teclado dependiendo del idioma utilizado por el usuario.
- La librería “Xlib” provee una función llamada “XqueryKeymap”, la cual
recibe como parámetro una conexión al servidor X y devuelve un
array de bytes con las teclas que se han presionado.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Screen scraper.
- Para un atacante también puede ser útil tomar capturas de pantalla y ver
gráficamente lo que el usuario esta viendo en un momento determinado.
- PIL (Python Imaging Library) sirve para éste propósito, sin embargo, la clase
“ImageGrab” que es la encargada de tomar capturas de pantalla en PIL,
solamente funciona en sistemas Windows.
- Otra alternativa se encuentra en la librería “pyscreenshot” que funciona como
un envoltorio de las funciones de “ImageGrab” que es independiente de
plataforma.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
Webcam scraper.
- Si un atacante consigue introducirse en el ordenador de su víctima, no
solamente tendrá la posibilidad de registrar los eventos producidos por el
teclado y el ratón, sino que también podrá activar la cámara y capturar lo
que ésta registra.
- La librería “opencv” incluye utilidades para el procesamiento de imágenes,
detección de objetos y permite controlar las cámaras que se encuentren
instaladas en el ordenador.
- El enfoque del atacante consistirá en primer lugar en crear un objeto del tipo
“VideoCapture” y posteriormente, iniciar un servidor web en la
máquina de la víctima, desde donde se transmitirá cada uno de los
frames generados del objeto “VideoCapture” de OpenCV.
- Se puede crear un servidor HTTP básico y emitir respuestas a los clientes
con Apache o las utilidades incluidas en Python.
www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience
¿Preguntas?.

Más contenido relacionado

Similar a SecAdmin 2017: Hacking con Python

Webinar Gratuito: Analizar una Imagen RAM con Volatility Framework
Webinar Gratuito: Analizar una Imagen RAM con Volatility FrameworkWebinar Gratuito: Analizar una Imagen RAM con Volatility Framework
Webinar Gratuito: Analizar una Imagen RAM con Volatility FrameworkAlonso Caballero
 
Pruebas de intrusion mediante Metasploit Framework
Pruebas de intrusion mediante Metasploit FrameworkPruebas de intrusion mediante Metasploit Framework
Pruebas de intrusion mediante Metasploit FrameworkErlaitzParreoMuoz
 
Evolución de las soluciones antimalware
Evolución de las soluciones antimalwareEvolución de las soluciones antimalware
Evolución de las soluciones antimalwareEventos Creativos
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...RootedCON
 
Mitos y-realidades-linux-y-los-virus
Mitos y-realidades-linux-y-los-virusMitos y-realidades-linux-y-los-virus
Mitos y-realidades-linux-y-los-virusGilmar Campana Quispe
 
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016Telefónica
 
Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Alejandro Ramos
 
Análisis Forense Memoria RAM
Análisis Forense Memoria RAMAnálisis Forense Memoria RAM
Análisis Forense Memoria RAMConferencias FIST
 
Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Telefónica
 
Software Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la ComputacionSoftware Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la ComputacionJuan Vladimir
 
Practica 2 extraccion de contraseñas
Practica 2 extraccion de contraseñasPractica 2 extraccion de contraseñas
Practica 2 extraccion de contraseñasAna Olvera
 
Penetración con una Backdoor
Penetración con una BackdoorPenetración con una Backdoor
Penetración con una BackdoorNEGOCIOS PROPIOS
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptxGabriela Soto
 

Similar a SecAdmin 2017: Hacking con Python (20)

Webinar Gratuito: Analizar una Imagen RAM con Volatility Framework
Webinar Gratuito: Analizar una Imagen RAM con Volatility FrameworkWebinar Gratuito: Analizar una Imagen RAM con Volatility Framework
Webinar Gratuito: Analizar una Imagen RAM con Volatility Framework
 
Pruebas de intrusion mediante Metasploit Framework
Pruebas de intrusion mediante Metasploit FrameworkPruebas de intrusion mediante Metasploit Framework
Pruebas de intrusion mediante Metasploit Framework
 
Analaisis de malwatre trickbot - mp alonso
Analaisis de malwatre   trickbot - mp alonsoAnalaisis de malwatre   trickbot - mp alonso
Analaisis de malwatre trickbot - mp alonso
 
Evolución de las soluciones antimalware
Evolución de las soluciones antimalwareEvolución de las soluciones antimalware
Evolución de las soluciones antimalware
 
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
rooted2020 Sandbox fingerprinting -_evadiendo_entornos_de_analisis_-_victor_c...
 
Mitos y-realidades-linux-y-los-virus
Mitos y-realidades-linux-y-los-virusMitos y-realidades-linux-y-los-virus
Mitos y-realidades-linux-y-los-virus
 
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
Cómo explotar EternalRomance & EternalSynergy en Windows Server 2016
 
Flisol2010
Flisol2010Flisol2010
Flisol2010
 
Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0Resolución de concursos de la NoConName 2010 v1.0
Resolución de concursos de la NoConName 2010 v1.0
 
Análisis Forense Memoria RAM
Análisis Forense Memoria RAMAnálisis Forense Memoria RAM
Análisis Forense Memoria RAM
 
Linux
LinuxLinux
Linux
 
Hacking withinnails pdfcompleto
Hacking withinnails pdfcompletoHacking withinnails pdfcompleto
Hacking withinnails pdfcompleto
 
Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2Cómo explotar EternalBlue en Windows Server 2012 R2
Cómo explotar EternalBlue en Windows Server 2012 R2
 
Software Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la ComputacionSoftware Libre en la Carrera de Ciencias de la Computacion
Software Libre en la Carrera de Ciencias de la Computacion
 
Curso linux clase_2_2012
Curso linux clase_2_2012Curso linux clase_2_2012
Curso linux clase_2_2012
 
Practica 2 extraccion de contraseñas
Practica 2 extraccion de contraseñasPractica 2 extraccion de contraseñas
Practica 2 extraccion de contraseñas
 
Penetración con una Backdoor
Penetración con una BackdoorPenetración con una Backdoor
Penetración con una Backdoor
 
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
[Shared] ML Bootcamp - GDG Barcelona - Semana 4.pptx
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
 

Más de Dani Adastra

IntelCon 2020: Uso avanzado de ZAP para hacking en aplicaciones web
IntelCon 2020: Uso avanzado de ZAP para hacking en aplicaciones webIntelCon 2020: Uso avanzado de ZAP para hacking en aplicaciones web
IntelCon 2020: Uso avanzado de ZAP para hacking en aplicaciones webDani Adastra
 
Malt 2020: Ciberseguridad en la empresa
Malt 2020: Ciberseguridad en la empresaMalt 2020: Ciberseguridad en la empresa
Malt 2020: Ciberseguridad en la empresaDani Adastra
 
IntelCon 2020: OSINT en la Deep web de TOR
IntelCon 2020: OSINT en la Deep web de TORIntelCon 2020: OSINT en la Deep web de TOR
IntelCon 2020: OSINT en la Deep web de TORDani Adastra
 
HoneyCon 2020: Hacking con ZAP
HoneyCon 2020: Hacking con ZAPHoneyCon 2020: Hacking con ZAP
HoneyCon 2020: Hacking con ZAPDani Adastra
 
HackMadrid 2020: Introducción práctica al RedTeam
HackMadrid 2020: Introducción práctica al RedTeamHackMadrid 2020: Introducción práctica al RedTeam
HackMadrid 2020: Introducción práctica al RedTeamDani Adastra
 
XIV Jornadas CCN Cert: Covert Channels en operaciones de Red Team
XIV Jornadas CCN Cert: Covert Channels en operaciones de Red TeamXIV Jornadas CCN Cert: Covert Channels en operaciones de Red Team
XIV Jornadas CCN Cert: Covert Channels en operaciones de Red TeamDani Adastra
 
8dot8 SUR 2020: Introducción práctica al RedTeam
8dot8 SUR 2020: Introducción práctica al RedTeam8dot8 SUR 2020: Introducción práctica al RedTeam
8dot8 SUR 2020: Introducción práctica al RedTeamDani Adastra
 
SecAdmin 2019: ZAP Proxy: Mucho más que una herramienta de "one-click hack"
SecAdmin 2019: ZAP Proxy: Mucho más que una herramienta de "one-click hack"SecAdmin 2019: ZAP Proxy: Mucho más que una herramienta de "one-click hack"
SecAdmin 2019: ZAP Proxy: Mucho más que una herramienta de "one-click hack"Dani Adastra
 
Morteruelo 2019: Seguridad informática en 50 días YOUR hacker way..
Morteruelo 2019: Seguridad informática en 50 días YOUR hacker way..Morteruelo 2019: Seguridad informática en 50 días YOUR hacker way..
Morteruelo 2019: Seguridad informática en 50 días YOUR hacker way..Dani Adastra
 
HackRon 2019: Python + TOR: Descubrir, analizar y extraer información de serv...
HackRon 2019: Python + TOR: Descubrir, analizar y extraer información de serv...HackRon 2019: Python + TOR: Descubrir, analizar y extraer información de serv...
HackRon 2019: Python + TOR: Descubrir, analizar y extraer información de serv...Dani Adastra
 
UAH 2018: Hacking en la deep web de TOR (for fun and profit)
UAH 2018: Hacking en la deep web de TOR (for fun and profit)UAH 2018: Hacking en la deep web de TOR (for fun and profit)
UAH 2018: Hacking en la deep web de TOR (for fun and profit)Dani Adastra
 
DragonJar 2015: Desmitificando la deep web de tor pentesting sobre instancias...
DragonJar 2015: Desmitificando la deep web de tor pentesting sobre instancias...DragonJar 2015: Desmitificando la deep web de tor pentesting sobre instancias...
DragonJar 2015: Desmitificando la deep web de tor pentesting sobre instancias...Dani Adastra
 
Cybercamp 2014: Tortazo: Desarrollo de un framework de auditoría para la red ...
Cybercamp 2014: Tortazo: Desarrollo de un framework de auditoría para la red ...Cybercamp 2014: Tortazo: Desarrollo de un framework de auditoría para la red ...
Cybercamp 2014: Tortazo: Desarrollo de un framework de auditoría para la red ...Dani Adastra
 
HoneyCon 2017: Pentesting sobre instancias de TOR con Tortazo y TortazoWeb.
HoneyCon 2017: Pentesting sobre instancias de TOR con Tortazo y TortazoWeb.HoneyCon 2017: Pentesting sobre instancias de TOR con Tortazo y TortazoWeb.
HoneyCon 2017: Pentesting sobre instancias de TOR con Tortazo y TortazoWeb.Dani Adastra
 
8dot8 2015: Desmitificando la deep web de TOR - pentesting sobre instancias d...
8dot8 2015: Desmitificando la deep web de TOR - pentesting sobre instancias d...8dot8 2015: Desmitificando la deep web de TOR - pentesting sobre instancias d...
8dot8 2015: Desmitificando la deep web de TOR - pentesting sobre instancias d...Dani Adastra
 
Cybercamp 2017: Hacking TOR & Freenet for fun, profit and stop the evil.
Cybercamp 2017: Hacking TOR & Freenet for fun, profit and stop the evil.Cybercamp 2017: Hacking TOR & Freenet for fun, profit and stop the evil.
Cybercamp 2017: Hacking TOR & Freenet for fun, profit and stop the evil.Dani Adastra
 
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...Dani Adastra
 

Más de Dani Adastra (17)

IntelCon 2020: Uso avanzado de ZAP para hacking en aplicaciones web
IntelCon 2020: Uso avanzado de ZAP para hacking en aplicaciones webIntelCon 2020: Uso avanzado de ZAP para hacking en aplicaciones web
IntelCon 2020: Uso avanzado de ZAP para hacking en aplicaciones web
 
Malt 2020: Ciberseguridad en la empresa
Malt 2020: Ciberseguridad en la empresaMalt 2020: Ciberseguridad en la empresa
Malt 2020: Ciberseguridad en la empresa
 
IntelCon 2020: OSINT en la Deep web de TOR
IntelCon 2020: OSINT en la Deep web de TORIntelCon 2020: OSINT en la Deep web de TOR
IntelCon 2020: OSINT en la Deep web de TOR
 
HoneyCon 2020: Hacking con ZAP
HoneyCon 2020: Hacking con ZAPHoneyCon 2020: Hacking con ZAP
HoneyCon 2020: Hacking con ZAP
 
HackMadrid 2020: Introducción práctica al RedTeam
HackMadrid 2020: Introducción práctica al RedTeamHackMadrid 2020: Introducción práctica al RedTeam
HackMadrid 2020: Introducción práctica al RedTeam
 
XIV Jornadas CCN Cert: Covert Channels en operaciones de Red Team
XIV Jornadas CCN Cert: Covert Channels en operaciones de Red TeamXIV Jornadas CCN Cert: Covert Channels en operaciones de Red Team
XIV Jornadas CCN Cert: Covert Channels en operaciones de Red Team
 
8dot8 SUR 2020: Introducción práctica al RedTeam
8dot8 SUR 2020: Introducción práctica al RedTeam8dot8 SUR 2020: Introducción práctica al RedTeam
8dot8 SUR 2020: Introducción práctica al RedTeam
 
SecAdmin 2019: ZAP Proxy: Mucho más que una herramienta de "one-click hack"
SecAdmin 2019: ZAP Proxy: Mucho más que una herramienta de "one-click hack"SecAdmin 2019: ZAP Proxy: Mucho más que una herramienta de "one-click hack"
SecAdmin 2019: ZAP Proxy: Mucho más que una herramienta de "one-click hack"
 
Morteruelo 2019: Seguridad informática en 50 días YOUR hacker way..
Morteruelo 2019: Seguridad informática en 50 días YOUR hacker way..Morteruelo 2019: Seguridad informática en 50 días YOUR hacker way..
Morteruelo 2019: Seguridad informática en 50 días YOUR hacker way..
 
HackRon 2019: Python + TOR: Descubrir, analizar y extraer información de serv...
HackRon 2019: Python + TOR: Descubrir, analizar y extraer información de serv...HackRon 2019: Python + TOR: Descubrir, analizar y extraer información de serv...
HackRon 2019: Python + TOR: Descubrir, analizar y extraer información de serv...
 
UAH 2018: Hacking en la deep web de TOR (for fun and profit)
UAH 2018: Hacking en la deep web de TOR (for fun and profit)UAH 2018: Hacking en la deep web de TOR (for fun and profit)
UAH 2018: Hacking en la deep web de TOR (for fun and profit)
 
DragonJar 2015: Desmitificando la deep web de tor pentesting sobre instancias...
DragonJar 2015: Desmitificando la deep web de tor pentesting sobre instancias...DragonJar 2015: Desmitificando la deep web de tor pentesting sobre instancias...
DragonJar 2015: Desmitificando la deep web de tor pentesting sobre instancias...
 
Cybercamp 2014: Tortazo: Desarrollo de un framework de auditoría para la red ...
Cybercamp 2014: Tortazo: Desarrollo de un framework de auditoría para la red ...Cybercamp 2014: Tortazo: Desarrollo de un framework de auditoría para la red ...
Cybercamp 2014: Tortazo: Desarrollo de un framework de auditoría para la red ...
 
HoneyCon 2017: Pentesting sobre instancias de TOR con Tortazo y TortazoWeb.
HoneyCon 2017: Pentesting sobre instancias de TOR con Tortazo y TortazoWeb.HoneyCon 2017: Pentesting sobre instancias de TOR con Tortazo y TortazoWeb.
HoneyCon 2017: Pentesting sobre instancias de TOR con Tortazo y TortazoWeb.
 
8dot8 2015: Desmitificando la deep web de TOR - pentesting sobre instancias d...
8dot8 2015: Desmitificando la deep web de TOR - pentesting sobre instancias d...8dot8 2015: Desmitificando la deep web de TOR - pentesting sobre instancias d...
8dot8 2015: Desmitificando la deep web de TOR - pentesting sobre instancias d...
 
Cybercamp 2017: Hacking TOR & Freenet for fun, profit and stop the evil.
Cybercamp 2017: Hacking TOR & Freenet for fun, profit and stop the evil.Cybercamp 2017: Hacking TOR & Freenet for fun, profit and stop the evil.
Cybercamp 2017: Hacking TOR & Freenet for fun, profit and stop the evil.
 
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
Codemotion 2017: Pentesting en aplicaciones node.js AS ALWAYS: FOR FUN AND PR...
 

Último

Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativaAdrianaMartnez618894
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son241514984
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptMiguelAtencio10
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxJOSEMANUELHERNANDEZH11
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 

Último (20)

Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
definicion segun autores de matemáticas educativa
definicion segun autores de matemáticas  educativadefinicion segun autores de matemáticas  educativa
definicion segun autores de matemáticas educativa
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
El uso de las tic en la vida ,lo importante que son
El uso de las tic en la vida ,lo importante  que sonEl uso de las tic en la vida ,lo importante  que son
El uso de las tic en la vida ,lo importante que son
 
dokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.pptdokumen.tips_36274588-sistema-heui-eui.ppt
dokumen.tips_36274588-sistema-heui-eui.ppt
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
Hernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptxHernandez_Hernandez_Practica web de la sesion 11.pptx
Hernandez_Hernandez_Practica web de la sesion 11.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 

SecAdmin 2017: Hacking con Python

  • 1. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Título: Hacking con Python Ponente: Daniel Echeverri Montoya. Cargo o puesto: Founder at The Hacker Way. Fecha: 25/11/2017 www.secadmin.es#secadmin2017 Security Conference 2017 Evento: SecAdmin Security Conference
  • 2. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Nickname: Adastra (@jdaanial) Blog: thehackerway.com The Hacker Way: thehackerway.es THW Academy: academy.thehackerway.com Formador, consultor e Investigador de seguridad informática y hacking.
  • 3. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience AGENDA Manipulando shellcodes y malware desde Python. - Creación de rutinas para la inyección de código malicioso con Python. - Inyección de código en procesos bajo sistemas Gnu/Linux. - Inyección de código en procesos bajo sistemas Windows.
  • 4. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience AGENDA Monitorizar la actividad del usuario. - Creación de keyloggers con Python. - Creación de screen scrapers. - Creación de webcam scrapers.
  • 5. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Creación de herramientas para monitorización y control Let’s get evil :-)
  • 6. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Creación de herramientas para monitorización y control - Rutinas que permitan controlar la interacción del usuario con el sistema (dispositivos de entrada y salida). - Comunicación bidireccional entre víctima y atacante por medio de un canal de comunicación cifrado. - Definición de un protocolo compartido/conocido entre ambas partes para el intercambio de información. - Modelo master/slave: El servidor (atacante) envía las rutinas que debe ejecutar el cliente (víctima) utilizando un protocolo común y conocido por ambas partes. - Comunicación anónima entre atacante y víctima (servidor como servicio oculto en alguna solución de anonimato existente).
  • 7. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Inyección de malware sobre Windows. - Una de las técnicas más comunes a la hora de desarrollar malware, consiste en inyectar rutinas en procesos que se encuentran en ejecución en la víctima. - Un atacante puede seguir dos caminos que le ayudarán a reafirmar su presencia en la víctima, el primero consiste en inyectar librerías con código malicioso que se deberán subir al sistema comprometido y el segundo en inyectar shellcodes directamente en el espacio de direcciones de un proceso.
  • 8. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Inyección de malware sobre Windows. - Independiente del enfoque empleado, en ambos casos es necesario crear un hilo en el espacio de memoria virtual del proceso. - En sistemas Windows dicho hilo se puede crear con la función "CreateRemoteThread", la cual se encuentra incluida en la librería "kernel32.dll".
  • 9. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Inyección de malware sobre Windows. https://msdn.microsoft.com/es- es/library/windows/desktop/ms682437(v=vs.85).aspx HANDLE WINAPI CreateRemoteThread( _In_ HANDLE hProcess, _In_ LPSECURITY_ATTRIBUTES lpThreadAttributes, _In_ SIZE_T dwStackSize, _In_ LPTHREAD_START_ROUTINE lpStartAddress, _In_ LPVOID lpParameter, _In_ DWORD dwCreationFlags, _Out_ LPDWORD lpThreadId );
  • 10. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Inyección de malware sobre Windows. - Inyectar DLLs en procesos que se encuentran en ejecución, a menudo se asocia con una actividad maliciosa, sin embargo se trata de una técnica utilizada por varias herramientas de seguridad para analizar el comportamiento de los procesos activos. - Esta técnica se basa en la creación de una librería compilada, la cual posteriormente se carga en la memoria de un proceso determinado. - Para cargar una librería DLL en la memoria de un proceso en ejecución, es necesario utilizar la función "LoadLibrary" o "LoadLibraryEx", las cuales se encuentran definidas en la librería "kernel32.dll".
  • 11. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Inyección de malware sobre Windows. - Dichas funciones permiten mapear el módulo ejecutable en el espacio de direcciones del proceso. Admiten módulos DLL y ejecutables EXE. https://msdn.microsoft.com/es- es/library/windows/desktop/ms684175(v=vs.85).aspx HMODULE WINAPI LoadLibrary( _In_ LPCTSTR lpFileName );
  • 12. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Inyección de malware sobre Windows. - El procedimiento a seguir es el siguiente: 1– Generar el shellcode/librería 2– Se debe abrir el proceso objetivo con las flags adecuadas para manipularlo. Utilizar kernel32.OpenProcess. 3– Reservar espacio en el proceso para inyectar la librería en el proceso objetivo. Utilizar kernel32.VirtualAllocEx y kernel32.WriteProcessMemory 4– Resolver la librería kernel32.LoadLibraryA 5– Crear un nuevo hilo en el proceso con kernel32.CreateRemoteThread
  • 13. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Inyección de malware sobre Windows.
  • 14. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Inyección de malware sobre GNU/Linux. - Una de las formas más comunes de monitorizar y controlar el comportamiento de los procesos en un sistema Linux, consiste en usar la system call “ptrace” y la implementación “python-ptrace” permite interactuar directamente con dicha función desde cualquier script escrito en lenguaje Python. - Con “ptrace” además que acceder a la información del proceso, también es posible inyectar rutinas de código ejecutable directamente en la memoria de dicho proceso y manipular el Instruction Pointer para que el shellcode inyectado se ejecute inmediatamente.
  • 15. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Inyección de malware sobre GNU/Linux.
  • 16. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Keylogger (Windows). - Un keylogger básico se encarga de registrar todas las teclas pulsadas por la víctima en un sistema comprometido. - Es posible implementar Keyloggers en Python utilizando las librerías PyWin (http://sourceforge.net/projects/pywin32/) y PyHook (http://sourceforge.net/projects/pyhook/), las cuales solamente se encuentran disponibles en sistemas Windows. - Contienen funciones que permiten enganchar los principales eventos de entrada en el sistema, como por ejemplo eventos del teclado o del ratón.
  • 17. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Keylogger (GNU/Linux). - Una implementación bastante habitual en sistemas Linux es Xorg, el cual utiliza XKB (X Keyboard Extension) para configurar el mapa de caracteres del teclado dependiendo del idioma utilizado por el usuario. - La librería “Xlib” provee una función llamada “XqueryKeymap”, la cual recibe como parámetro una conexión al servidor X y devuelve un array de bytes con las teclas que se han presionado.
  • 18. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Screen scraper. - Para un atacante también puede ser útil tomar capturas de pantalla y ver gráficamente lo que el usuario esta viendo en un momento determinado. - PIL (Python Imaging Library) sirve para éste propósito, sin embargo, la clase “ImageGrab” que es la encargada de tomar capturas de pantalla en PIL, solamente funciona en sistemas Windows. - Otra alternativa se encuentra en la librería “pyscreenshot” que funciona como un envoltorio de las funciones de “ImageGrab” que es independiente de plataforma.
  • 19. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience Webcam scraper. - Si un atacante consigue introducirse en el ordenador de su víctima, no solamente tendrá la posibilidad de registrar los eventos producidos por el teclado y el ratón, sino que también podrá activar la cámara y capturar lo que ésta registra. - La librería “opencv” incluye utilidades para el procesamiento de imágenes, detección de objetos y permite controlar las cámaras que se encuentren instaladas en el ordenador. - El enfoque del atacante consistirá en primer lugar en crear un objeto del tipo “VideoCapture” y posteriormente, iniciar un servidor web en la máquina de la víctima, desde donde se transmitirá cada uno de los frames generados del objeto “VideoCapture” de OpenCV. - Se puede crear un servidor HTTP básico y emitir respuestas a los clientes con Apache o las utilidades incluidas en Python.
  • 20. www.secadmin.es#secadmin2017 Security Conference 2017 Ed. Resilience ¿Preguntas?.