SlideShare una empresa de Scribd logo
Título: Hacking con Python
Ponente: Daniel Echeverri Montoya.
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.
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.
AGENDA
Monitorizar la actividad del
usuario.
- Creación de keyloggers con Python.
- Creación de screen scrapers.
- Creación de webcam scrapers.
Creación de herramientas para
monitorización y control
Let’s get evil :-)
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).
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.
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".
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
);
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".
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
);
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
Inyección de malware
sobre Windows.
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.
Inyección de malware
sobre GNU/Linux.
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.
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.
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.
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.
https://cursos.securizame.com/cursos-presenciales/
Formación “Red-Team” en Securízame
¿Preguntas?.

Más contenido relacionado

La actualidad más candente

Explotación de vulnerabilidades recientes de Windows - Agosto 2017
Explotación de vulnerabilidades recientes de Windows - Agosto 2017Explotación de vulnerabilidades recientes de Windows - Agosto 2017
Explotación de vulnerabilidades recientes de Windows - Agosto 2017
Websec México, S.C.
 
Conversión y reparación de datos
Conversión y reparación de  datosConversión y reparación de  datos
Conversión y reparación de datosLuis Ortiz
 
Malware en linux
Malware en linuxMalware en linux
Malware en linux
Tensor
 
Crypters
CryptersCrypters
Crypters
Tensor
 
Taller SITEC 2010
Taller SITEC 2010Taller SITEC 2010
Taller SITEC 2010
Jorge Hernandez
 
Curso de hacking avanzado
Curso de hacking avanzadoCurso de hacking avanzado
Curso de hacking avanzado
YULI-CASTRO
 
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
Websec México, S.C.
 
Pruebas de intrusion mediante Metasploit Framework
Pruebas de intrusion mediante Metasploit FrameworkPruebas de intrusion mediante Metasploit Framework
Pruebas de intrusion mediante Metasploit Framework
ErlaitzParreoMuoz
 
Ataque troyano
Ataque troyanoAtaque troyano
Ataque troyano
lilianamantillag
 
Memoria Pruebas de intrusion mediante Metasploit Framework
Memoria Pruebas de intrusion mediante Metasploit FrameworkMemoria Pruebas de intrusion mediante Metasploit Framework
Memoria Pruebas de intrusion mediante Metasploit Framework
ErlaitzParreoMuoz
 
Introducción al pentesting free security
Introducción al pentesting   free securityIntroducción al pentesting   free security
Introducción al pentesting free security
Antonio Toriz
 
Informe ataque troyano OPTIX PRO
Informe ataque troyano OPTIX PRO Informe ataque troyano OPTIX PRO
Informe ataque troyano OPTIX PRO
Leyda Cordoba Araujo
 
Malware en Linux - Barcamp SE - Cali, Colombia 2013
Malware en Linux - Barcamp SE - Cali, Colombia 2013Malware en Linux - Barcamp SE - Cali, Colombia 2013
Malware en Linux - Barcamp SE - Cali, Colombia 2013
Alejandro Hernández
 

La actualidad más candente (13)

Explotación de vulnerabilidades recientes de Windows - Agosto 2017
Explotación de vulnerabilidades recientes de Windows - Agosto 2017Explotación de vulnerabilidades recientes de Windows - Agosto 2017
Explotación de vulnerabilidades recientes de Windows - Agosto 2017
 
Conversión y reparación de datos
Conversión y reparación de  datosConversión y reparación de  datos
Conversión y reparación de datos
 
Malware en linux
Malware en linuxMalware en linux
Malware en linux
 
Crypters
CryptersCrypters
Crypters
 
Taller SITEC 2010
Taller SITEC 2010Taller SITEC 2010
Taller SITEC 2010
 
Curso de hacking avanzado
Curso de hacking avanzadoCurso de hacking avanzado
Curso de hacking avanzado
 
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
OWASP IoTGoat - Enseñando a desarrolladores IoT a crear productos seguros - P...
 
Pruebas de intrusion mediante Metasploit Framework
Pruebas de intrusion mediante Metasploit FrameworkPruebas de intrusion mediante Metasploit Framework
Pruebas de intrusion mediante Metasploit Framework
 
Ataque troyano
Ataque troyanoAtaque troyano
Ataque troyano
 
Memoria Pruebas de intrusion mediante Metasploit Framework
Memoria Pruebas de intrusion mediante Metasploit FrameworkMemoria Pruebas de intrusion mediante Metasploit Framework
Memoria Pruebas de intrusion mediante Metasploit Framework
 
Introducción al pentesting free security
Introducción al pentesting   free securityIntroducción al pentesting   free security
Introducción al pentesting free security
 
Informe ataque troyano OPTIX PRO
Informe ataque troyano OPTIX PRO Informe ataque troyano OPTIX PRO
Informe ataque troyano OPTIX PRO
 
Malware en Linux - Barcamp SE - Cali, Colombia 2013
Malware en Linux - Barcamp SE - Cali, Colombia 2013Malware en Linux - Barcamp SE - Cali, Colombia 2013
Malware en Linux - Barcamp SE - Cali, Colombia 2013
 

Similar a H-Con 2018: Hacking con Python

HerramientasExplotacion-GRUPO5.pptx
HerramientasExplotacion-GRUPO5.pptxHerramientasExplotacion-GRUPO5.pptx
HerramientasExplotacion-GRUPO5.pptx
JhoseC1
 
Evolución de las soluciones antimalware
Evolución de las soluciones antimalwareEvolución de las soluciones antimalware
Evolución de las soluciones antimalware
Eventos Creativos
 
Analaisis de malwatre trickbot - mp alonso
Analaisis de malwatre   trickbot - mp alonsoAnalaisis de malwatre   trickbot - mp alonso
Analaisis de malwatre trickbot - mp alonso
Mario Alberto Parra Alonso
 
Ataque Informatico (Keylogger,screenshot,bavkdoor)
Ataque Informatico (Keylogger,screenshot,bavkdoor) Ataque Informatico (Keylogger,screenshot,bavkdoor)
Ataque Informatico (Keylogger,screenshot,bavkdoor)
Municipio de Guayaquil
 
Episodio de pentesting
Episodio de pentestingEpisodio de pentesting
Episodio de pentestingakencito
 
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
 
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
Alonso Caballero
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
duvanebayonaf
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
torresrjaredd
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
torresrjaredd
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
torresrjaredd
 
Test de intrusion
Test de intrusionTest de intrusion
Test de intrusion
Jesús Moreno León
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
pinerosca
 
Malware for Linux
Malware for LinuxMalware for Linux
Malware for Linux
Adario de León
 
Conceptos importantes seguridad en la red
Conceptos importantes seguridad en la redConceptos importantes seguridad en la red
Conceptos importantes seguridad en la red
pabloisma
 
Seguridad en los Archivos Seguridad en los Archivos Seguridad en los Archivos
Seguridad en los  Archivos Seguridad en los  Archivos Seguridad en los  ArchivosSeguridad en los  Archivos Seguridad en los  Archivos Seguridad en los  Archivos
Seguridad en los Archivos Seguridad en los Archivos Seguridad en los Archivos
anyv18880
 
Seguridad en los Archivos Seguridad en los Archivos Seguridad en los Archi...
Seguridad en los  Archivos Seguridad en los  Archivos Seguridad en los  Archi...Seguridad en los  Archivos Seguridad en los  Archivos Seguridad en los  Archi...
Seguridad en los Archivos Seguridad en los Archivos Seguridad en los Archi...
anyv18880
 
Malware
MalwareMalware
Actividad No. 2.3- Ataque contra contraseñas de sistemas WINDOWS
Actividad No. 2.3- Ataque contra contraseñas de sistemas WINDOWSActividad No. 2.3- Ataque contra contraseñas de sistemas WINDOWS
Actividad No. 2.3- Ataque contra contraseñas de sistemas WINDOWS
Francisco Medina
 

Similar a H-Con 2018: Hacking con Python (20)

HerramientasExplotacion-GRUPO5.pptx
HerramientasExplotacion-GRUPO5.pptxHerramientasExplotacion-GRUPO5.pptx
HerramientasExplotacion-GRUPO5.pptx
 
Evolución de las soluciones antimalware
Evolución de las soluciones antimalwareEvolución de las soluciones antimalware
Evolución de las soluciones antimalware
 
Analaisis de malwatre trickbot - mp alonso
Analaisis de malwatre   trickbot - mp alonsoAnalaisis de malwatre   trickbot - mp alonso
Analaisis de malwatre trickbot - mp alonso
 
Ataque Informatico (Keylogger,screenshot,bavkdoor)
Ataque Informatico (Keylogger,screenshot,bavkdoor) Ataque Informatico (Keylogger,screenshot,bavkdoor)
Ataque Informatico (Keylogger,screenshot,bavkdoor)
 
Hacking withinnails pdfcompleto
Hacking withinnails pdfcompletoHacking withinnails pdfcompleto
Hacking withinnails pdfcompleto
 
Episodio de pentesting
Episodio de pentestingEpisodio de pentesting
Episodio de pentesting
 
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
 
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
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
 
Test de intrusion
Test de intrusionTest de intrusion
Test de intrusion
 
Amenazas lógicas
Amenazas lógicasAmenazas lógicas
Amenazas lógicas
 
Malware for Linux
Malware for LinuxMalware for Linux
Malware for Linux
 
Conceptos importantes seguridad en la red
Conceptos importantes seguridad en la redConceptos importantes seguridad en la red
Conceptos importantes seguridad en la red
 
Seguridad en los Archivos Seguridad en los Archivos Seguridad en los Archivos
Seguridad en los  Archivos Seguridad en los  Archivos Seguridad en los  ArchivosSeguridad en los  Archivos Seguridad en los  Archivos Seguridad en los  Archivos
Seguridad en los Archivos Seguridad en los Archivos Seguridad en los Archivos
 
Seguridad en los Archivos Seguridad en los Archivos Seguridad en los Archi...
Seguridad en los  Archivos Seguridad en los  Archivos Seguridad en los  Archi...Seguridad en los  Archivos Seguridad en los  Archivos Seguridad en los  Archi...
Seguridad en los Archivos Seguridad en los Archivos Seguridad en los Archi...
 
Malware
MalwareMalware
Malware
 
Actividad No. 2.3- Ataque contra contraseñas de sistemas WINDOWS
Actividad No. 2.3- Ataque contra contraseñas de sistemas WINDOWSActividad No. 2.3- Ataque contra contraseñas de sistemas WINDOWS
Actividad No. 2.3- Ataque contra contraseñas de sistemas WINDOWS
 

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 web
Dani Adastra
 
Malt 2020: Ciberseguridad en la empresa
Malt 2020: Ciberseguridad en la empresaMalt 2020: Ciberseguridad en la empresa
Malt 2020: Ciberseguridad en la empresa
Dani 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 TOR
Dani Adastra
 
HoneyCon 2020: Hacking con ZAP
HoneyCon 2020: Hacking con ZAPHoneyCon 2020: Hacking con ZAP
HoneyCon 2020: Hacking con ZAP
Dani 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 RedTeam
Dani 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 Team
Dani 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 (16)

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
 
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

Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
coloradxmaria
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
Emilio Casbas
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
marianabz2403
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
cristianrb0324
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
samuelvideos
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
rafaelsalazar0615
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
sarasofiamontezuma
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
DanielErazoMedina
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
PABLOCESARGARZONBENI
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
espinozaernesto427
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
vazquezgarciajesusma
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
ValeriaAyala48
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
SamuelRamirez83524
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
thomasdcroz38
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
DiegoCampos433849
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
ManuelCampos464987
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
zoecaicedosalazar
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
cdraco
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
raquelariza02
 

Último (20)

Conceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. TecnologíaConceptos Básicos de Programación. Tecnología
Conceptos Básicos de Programación. Tecnología
 
Inteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdfInteligencia Artificial y Ciberseguridad.pdf
Inteligencia Artificial y Ciberseguridad.pdf
 
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Estructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdfEstructuras Básicas_Tecnología_Grado10-7.pdf
Estructuras Básicas_Tecnología_Grado10-7.pdf
 
Desarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdfDesarrollo de habilidades de pensamiento (2).pdf
Desarrollo de habilidades de pensamiento (2).pdf
 
Diagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestreDiagrama de flujo soporte técnico 5to semestre
Diagrama de flujo soporte técnico 5to semestre
 
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfDESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
ACTIVIDAD DE TECNOLOGÍA AÑO LECTIVO 2024
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
EduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clasesEduFlex, una educación accesible para quienes no entienden en clases
EduFlex, una educación accesible para quienes no entienden en clases
 
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
Las lámparas de alta intensidad de descarga o lámparas de descarga de alta in...
 
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informática
 
Conceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdfConceptos básicos de programación 10-5.pdf
Conceptos básicos de programación 10-5.pdf
 
Estructuras básicas_ conceptos de programación (1).docx
Estructuras básicas_ conceptos de programación  (1).docxEstructuras básicas_ conceptos de programación  (1).docx
Estructuras básicas_ conceptos de programación (1).docx
 
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdfTRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
TRABAJO DESARROLLO DE HABILIDADES DE PENSAMIENTO.pdf
 
Diagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestreDiagrama de flujo - ingenieria de sistemas 5to semestre
Diagrama de flujo - ingenieria de sistemas 5to semestre
 
Diagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdfDiagrama de flujo basada en la reparacion de automoviles.pdf
Diagrama de flujo basada en la reparacion de automoviles.pdf
 
trabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6ftrabajo de tecnologia, segundo periodo 9-6f
trabajo de tecnologia, segundo periodo 9-6f
 
3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto3Redu: Responsabilidad, Resiliencia y Respeto
3Redu: Responsabilidad, Resiliencia y Respeto
 
proyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmusproyecto invernadero desde el departamento de tecnología para Erasmus
proyecto invernadero desde el departamento de tecnología para Erasmus
 

H-Con 2018: Hacking con Python

  • 1. Título: Hacking con Python Ponente: Daniel Echeverri Montoya.
  • 2. 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. 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. AGENDA Monitorizar la actividad del usuario. - Creación de keyloggers con Python. - Creación de screen scrapers. - Creación de webcam scrapers.
  • 5. Creación de herramientas para monitorización y control Let’s get evil :-)
  • 6. 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. 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. 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. 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. 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. 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. 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
  • 14. 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.
  • 16. 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. 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. 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. 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.