SlideShare una empresa de Scribd logo
El poder de los reptiles
Hacer herramientas de hacking es fácil
>>> print(Me)
https://twitter.com/ggdaniel
http://cr0hn.com/me/
https://github.com/cr0hn/navajanegra
Aviso…
• Las ideas aquí presentadas son fruto de
la experiencia e investigación propia.
• Las soluciones presentadas pueden
no ser las mejores. Éstas son son
solo mis propuestas
¿Por qué?
¿Por qué?
Hackers != desarrolladores
¿Por qué?
Hackers != desarrolladores
¿Por qué?
Hackers != desarrolladores
¿Por qué?
Las herramientas de hacking muy mal diseñadas (en general)
Aplicaciones no re-usables. Buenas prácticas… ¿qué es eso?
Tolerancia a fallos pésima
Obsesión por reinventar la rueda…
Hackers != desarrolladores
¿Por qué?
Las herramientas de hacking muy mal diseñadas (en general)
Aplicaciones no re-usables. Buenas prácticas… ¿qué es eso?
Tolerancia a fallos pésima
Obsesión por reinventar la rueda… why?! :)
Hackers != desarrolladores
¿De qué va esta charla?
Hacer movidas tope chungas con Python
Nociones de esenciales de desarrollo
Buenas prácticas
Como hacer puzzles de frameworks y cómo unirlos
¿De qué va esta charla?
Hacer movidas tope chungas con Python
Nociones de esenciales de desarrollo
Buenas prácticas
Como hacer puzzles de frameworks y cómo unirlos
Cómo hacer caca en
Python
¿Qué vas a aprender?
Nociones de buenas prácticas
Organizar y crear tu herramienta de hacking
Casos concretos de uso
Ejemplos prácticos de cada uso
¿Porqué Python?
Fácil
Desarrollo muy rápido
Infinidad de librerías
Código limpio
Buena relación: tiempo desarrollo / rendimiento
¿Porqué Python 3.x?
Python 2.7.x
No será evolucionado
Muchos problemas de unicode, textos, core…
Python 3
Es el futuro de Python
Incluye infinidad de nuevas características muy interesantes
¡Manos a la obra!
Muchas herramientas no pueden ser usadas con un “import”
Usarlas en nuestro código puede ser muy complicado
Solo pueden ser usadas en linea de comandos
Problema 1
Solución 1
Una correcta estructuración del proyecto
Diseñar nuestra aplicación pensando en la potabilidad
Cómo 1
Wfuzz
theHardvester
Cómo 1
Wfuzz
theHardvester
Cómo 1
Cómo 1
lib
Cómo 1
lib
Cómo 1
lib
doc
Cómo 1
lib doc
Cómo 1
lib doc
bin
Cómo 1
lib doc bin
Cómo 1
Cómo 1
Cómo 1
Cómo 1
setup.py
Cómo 1
setup.py
Cómo 1
setup.py
LICENSE
Cómo 1
setup.py
LICENSE
Cómo 1
setup.py
LICENSE
README.rst
Cómo 1
setup.py
LICENSE
README.rst
Cómo 1
setup.py
LICENSE
README.rst
__init__.py
Cómo 1
setup.py
LICENSE
README.rst
__init__.py
Problema 2
Añadir nuevos parámetros de entrada
Cada cambio implica modificar mucho del código
Problema 2
Problema 2
Problema 2
Verbosity
Problema 2
Verbosity
Problema 2
Verbosity
1
Problema 2
Verbosity
1
2
Solución 2
Objeto contenedor de parámetros de aplicación
Posibilidad de comprobación exhaustiva de los parámetros
Cómo 2
Cómo 2
Cómo 2
Cómo 2
1
Problema 3
Obtención de resultados de ejecución no es sencilla
El mejor de los casos: parsear XML/JSON/YAML…
Problema 3
Problema 3
Problema 3
is_2_multiple
Problema 3
is_2_multiple
Problema 3
is_2_multiple1
2
3
Solución 3
Objeto contenedor de resultados.
Abstracción de resultado del formato de salida: XML/JSON…
Cómo 3
Cómo 3
Cómo 3
Cómo 3
1
Problema 4
Cada nueva UI implica cambiar mucho código.
Inclusión de nueva funcionalidad no es sencilla.
La aplicación no puede ser usada como librería.
Problema 4
Problema 4
Problema 4
Solución 4
Solución 4
Solución 4
API
Solución 4
API
Cómo 4
setup.py
LICENSE
README.rst
__init__.py
Cómo 4
setup.py
LICENSE
README.rst
__init__.py
api.py
Cómo 4
setup.py
LICENSE
README.rst
__init__.py
api.py
Cómo 4
Cómo 4
Cómo 4
Cómo 4
Cómo 4
Cómo 4
Cómo 4
1
2
Problema 5
Mostrar información por pantalla con un print(…)
Añadir nuevas localizaciones, además del print(…)
Enviar información a 2 localizaciones concurrentemente
Problema 5
Problema 5
Problema 5
Problema 5
Problema 5
1
Problema 5
1
2
Problema 5
Problema 5
Problema 5
Problema 5
Problema 5
1
2
Problema 5
Problema 5
Problema 5
1
3
2
4
Solución 5
Punto de entrada unificado a los medios de salida
Solución 5
Solución 5
Hello world
Solución 5
Hello world
Cómo 5
Cómo 5
1
2
3
Cómo 5
Cómo 5
Cómo 5
Cómo 5
Problema 6
Instalar dependencias es muy tedioso
Cada dependencias tiene su web oficial y su forma de
instalarse
Solución 6
Usar pip para instalar dependencias
Usar un fichero de dependencias: requirements.txt
Cómo 6
setup.py
LICENSE
README.rst
__init__.py
api.py
Cómo 6
setup.py
LICENSE
README.rst
__init__.py
requirements.txt
api.py
Cómo 6
setup.py
LICENSE
README.rst
__init__.py
api.py
requirements.txt
Cómo 6
Cómo 6
Problema 7
Las dependencias cruzadas entre proyectos.
Varias versiones de una misma libraría en el sistema.
Acceso como administrador.
Solución 7
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Un espacio virtual…?
Solución 7
¿Y en Python?
Cómo 7
Cómo 7
Problema 8
Python es mucho más lento que otros lenguajes
No no tiene coroutines integradas en el framework
Problema 8
Python es mucho más lento que otros lenguajes
No no tiene coroutines integradas en el framework
¡¡¡¿¿Co..rru..ti….. queeee??!!!
Problema 8
Python es mucho más lento que otros lenguajes
No no tiene coroutines integradas en el framework
¡¡¡¿¿Co..rru..ti….. queeee??!!!
Problema 8
Problema 8
def hello_coroutine(…):
return get_web_page(…)
Problema 8
def hello_coroutine(…):
return get_web_page(…)
…
hello_coroutine()
…
Run!
Problema 8
def hello_coroutine(…):
return get_web_page(…)
…
hello_coroutine()
…
Run! get_web_page()
1
Problema 8
def hello_coroutine(…):
return get_web_page(…)
…
hello_coroutine()
…
Run! get_web_page()
1
<—Respuesta
Problema 8
def hello_coroutine(…):
return get_web_page(…)
…
hello_coroutine()
…
Run! get_web_page()
1
return get_web_page()
<—Respuesta
2
Solución 8
Usar la librería asyncio (a.k.a. Tulip), incluida en Python 3.4
Instalarla en versiones anteriores de Python 3.4
Cómo 8
Cómo 8
Cómo 8
Bloqueo
Cómo 8
Bloqueo
Cómo 8
Bloqueo
NO
bloqueante
El poder de los reptiles: Hacer herramientas de hacking es fácil
El poder de los reptiles: Hacer herramientas de hacking es fácil
Problema 9
Python NO tiene multithreading real.
Los hilos no son realmente hilos, sino una simulación.
GIL (Global Interpreter Lock)
CTRL+C
Problema 9
GIL
thread
1
T0
thread
2
Problema 9
GIL
thread
1
T1
thread
2
Problema 9
GIL
thread
1
T2
thread
2
Problema 9
GIL
thread
1
thread
2
T3
Problema 9
GIL
thread
1
thread
2
T4
Solución 9
Usar multiprocessing
Cómo 9
Multithreading
Cómo 9
Multithreading
Cómo 9
Multithreading
Cómo 9
Multiprocessing
Cómo 9
Multiprocessing
Cómo 9
Multiprocessing
Problema 10
Ejecución de tareas en backgound
Ejecución de procesos muy costosos computacionalmente
Creación un flujo de información entre tareas
Solución 10
Usar Celery
Solución 10
Pero… ¿Qué es eso de Celery? ¿Se come?
Solución 10
Pero… ¿Qué es eso de Celery? ¿Se come?
Solución 10
Gestor de tareas distribuido
Consumidor3
Solución 10
Tarea
Generadora
Consumidor1
Consumidor2
Gestor de colas
Conceptualmente
Consumidor3
Solución 10
Tarea
Generadora
Consumidor1
Consumidor2
Gestor de colas
Conceptualmente
Consumidor3
Solución 10
Tarea
Generadora
Consumidor1
Consumidor2
Gestor de colas
Conceptualmente
Consumidor3
Solución 10
Tarea
Generadora
Consumidor1
Consumidor2
Gestor de colas
Conceptualmente
Registrar
visita
Solución 10
Enviar email
Enviar email
Caso concreto
Registrar
visita
Solución 10
Enviar email
Enviar email
Caso concreto
send_mail(“text”)
Registrar
visita
Solución 10
Enviar email
Enviar email
Caso concreto
send_mail(“text”)
Registrar
visita
Solución 10
Enviar email
Enviar email
Caso concreto
send_mail(“text”)
Registrar
visita
Solución 10
Enviar email
Enviar email
Caso concreto
send_mail(“text”)
Cómo 10
Tasks Servidor broker
Cómo 10
Cómo 10
Cómo 10
Cómo 10
Cómo 10
celery.py
Cómo 10
celery.py
Cómo 10
Cómo 10
main_task.py
Cómo 10
main_task.py
Cómo 10
main_task.py
__init__.py
Cómo 10
main_task.py
__init__.py
Cómo 10
celery.py
Cómo 10
celery.py
__init__.py
Cómo 10
celery.py
__init__.py
Cómo 10
celery.py
__init__.py
celeryconfig.py.py
Cómo 10
celery.py
__init__.py
celeryconfig.py
Cómo 10
celeryconfig.py
Cómo 10
celeryconfig.py
Cómo 10
celeryconfig.py
Cómo 10
celery.py
Cómo 10
celery.py
Cómo 10
celery.py
Cómo 10
main_task.py
Cómo 10
main_task.py
Cómo 10
main_task.py
Cómo 10
“pseudo-demo”
Cómo 10
“pseudo-demo”
Cómo 10
“pseudo-demo”
Cómo 10
“pseudo-demo”
Cómo 10
“pseudo-demo”
Problema 11
Quiero que se ejecuten tareas cada X tiempo
Solución 11
Usar Celery beat
Cómo 11
celeryconfig.py
Cómo 11
celeryconfig.py
Cómo 11
celeryconfig.py
Cómo 11
celeryconfig.py
Cómo 11
celeryconfig.py
Cómo 11
celeryconfig.py
Cómo 11
celeryconfig.py
Mini ejemplo: Análisis de Malware “cutre”
Mini ejemplo
Celery + Yara
Mini ejemplo
main_task.py
Mini ejemplo
main_task.py
Mini ejemplo
main_task.py
Mini ejemplo
main_task.py
export.py
Mini ejemplo
main_task.py
export.py
Mini ejemplo
start.py
Mini ejemplo
start.py
¡ Gracias !
https://github.com/cr0hn/navajanegra

Más contenido relacionado

Destacado

RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker imagesRootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
Daniel Garcia (a.k.a cr0hn)
 
Topera: Evadiendo Snort con IPv6
Topera: Evadiendo Snort con IPv6Topera: Evadiendo Snort con IPv6
Topera: Evadiendo Snort con IPv6
Daniel Garcia (a.k.a cr0hn)
 
GoLismero: The Web Knife
GoLismero: The Web KnifeGoLismero: The Web Knife
GoLismero: The Web Knife
Daniel Garcia (a.k.a cr0hn)
 
How to break down a research question
How to break down a research questionHow to break down a research question
How to break down a research question
krochalek
 
Cybercam 2014
Cybercam 2014Cybercam 2014
Introduccion muy básica a Python
Introduccion muy básica a PythonIntroduccion muy básica a Python
Introduccion muy básica a Python
Daniel Garcia (a.k.a cr0hn)
 
Identificando y rompiendo servicios de las 4 capas de TCP/IP
Identificando y rompiendo servicios de las 4 capas de TCP/IPIdentificando y rompiendo servicios de las 4 capas de TCP/IP
Identificando y rompiendo servicios de las 4 capas de TCP/IP
Daniel Garcia (a.k.a cr0hn)
 
Security in NodeJS applications
Security in NodeJS applicationsSecurity in NodeJS applications
Security in NodeJS applications
Daniel Garcia (a.k.a cr0hn)
 
The art of disguise - Antifingerprinting techniques
The art of disguise - Antifingerprinting techniquesThe art of disguise - Antifingerprinting techniques
The art of disguise - Antifingerprinting techniques
Daniel Garcia (a.k.a cr0hn)
 
Qué es el fingerprinting: Definición, peligros y medidas mitigadoras
Qué es el fingerprinting: Definición, peligros y medidas mitigadorasQué es el fingerprinting: Definición, peligros y medidas mitigadoras
Qué es el fingerprinting: Definición, peligros y medidas mitigadoras
Daniel Garcia (a.k.a cr0hn)
 
Extreme security in web servers
Extreme security in  web serversExtreme security in  web servers
Extreme security in web servers
Daniel Garcia (a.k.a cr0hn)
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
Ram Babu
 
Talking TUF: Securing Software Distribution
Talking TUF: Securing Software DistributionTalking TUF: Securing Software Distribution
Talking TUF: Securing Software Distribution
Docker, Inc.
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOS
Docker, Inc.
 
'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen Day'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen Day
Docker, Inc.
 
Prometheus design and philosophy
Prometheus design and philosophy   Prometheus design and philosophy
Prometheus design and philosophy
Docker, Inc.
 
Orchestrating Least Privilege by Diogo Monica
Orchestrating Least Privilege by Diogo Monica Orchestrating Least Privilege by Diogo Monica
Orchestrating Least Privilege by Diogo Monica
Docker, Inc.
 
Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container Environments
Docker, Inc.
 
Docker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&ADocker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&A
Docker, Inc.
 
Persistent storage tailored for containers
Persistent storage tailored for containersPersistent storage tailored for containers
Persistent storage tailored for containers
Docker, Inc.
 

Destacado (20)

RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker imagesRootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
RootedCON 2017 - Docker might not be your friend. Trojanizing Docker images
 
Topera: Evadiendo Snort con IPv6
Topera: Evadiendo Snort con IPv6Topera: Evadiendo Snort con IPv6
Topera: Evadiendo Snort con IPv6
 
GoLismero: The Web Knife
GoLismero: The Web KnifeGoLismero: The Web Knife
GoLismero: The Web Knife
 
How to break down a research question
How to break down a research questionHow to break down a research question
How to break down a research question
 
Cybercam 2014
Cybercam 2014Cybercam 2014
Cybercam 2014
 
Introduccion muy básica a Python
Introduccion muy básica a PythonIntroduccion muy básica a Python
Introduccion muy básica a Python
 
Identificando y rompiendo servicios de las 4 capas de TCP/IP
Identificando y rompiendo servicios de las 4 capas de TCP/IPIdentificando y rompiendo servicios de las 4 capas de TCP/IP
Identificando y rompiendo servicios de las 4 capas de TCP/IP
 
Security in NodeJS applications
Security in NodeJS applicationsSecurity in NodeJS applications
Security in NodeJS applications
 
The art of disguise - Antifingerprinting techniques
The art of disguise - Antifingerprinting techniquesThe art of disguise - Antifingerprinting techniques
The art of disguise - Antifingerprinting techniques
 
Qué es el fingerprinting: Definición, peligros y medidas mitigadoras
Qué es el fingerprinting: Definición, peligros y medidas mitigadorasQué es el fingerprinting: Definición, peligros y medidas mitigadoras
Qué es el fingerprinting: Definición, peligros y medidas mitigadoras
 
Extreme security in web servers
Extreme security in  web serversExtreme security in  web servers
Extreme security in web servers
 
Websphere MQ admin guide
Websphere MQ admin guideWebsphere MQ admin guide
Websphere MQ admin guide
 
Talking TUF: Securing Software Distribution
Talking TUF: Securing Software DistributionTalking TUF: Securing Software Distribution
Talking TUF: Securing Software Distribution
 
Unikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOSUnikernels: the rise of the library hypervisor in MirageOS
Unikernels: the rise of the library hypervisor in MirageOS
 
'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen Day'The History of Metrics According to me' by Stephen Day
'The History of Metrics According to me' by Stephen Day
 
Prometheus design and philosophy
Prometheus design and philosophy   Prometheus design and philosophy
Prometheus design and philosophy
 
Orchestrating Least Privilege by Diogo Monica
Orchestrating Least Privilege by Diogo Monica Orchestrating Least Privilege by Diogo Monica
Orchestrating Least Privilege by Diogo Monica
 
Infinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container EnvironmentsInfinit: Modern Storage Platform for Container Environments
Infinit: Modern Storage Platform for Container Environments
 
Docker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&ADocker Online Meetup: Infrakit update and Q&A
Docker Online Meetup: Infrakit update and Q&A
 
Persistent storage tailored for containers
Persistent storage tailored for containersPersistent storage tailored for containers
Persistent storage tailored for containers
 

Similar a El poder de los reptiles: Hacer herramientas de hacking es fácil

Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEO
nacho mascort
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Alfredo Chavez
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Alfredo Chavez
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014
Sergio Soto
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
menttes
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
Juan Manuel Rodriguez Burgos
 
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdfComo programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
AnaLpez275
 
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdfComo programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
AnaLpez275
 
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdfComo programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
AnaLpez275
 
Cómo programar C++, 9na Edición - Paul Deitel.pdf
Cómo programar C++, 9na Edición - Paul Deitel.pdfCómo programar C++, 9na Edición - Paul Deitel.pdf
Cómo programar C++, 9na Edición - Paul Deitel.pdf
Monica277891
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
alexis ibarra
 
Pucela testingdays testing_en_php
Pucela testingdays testing_en_phpPucela testingdays testing_en_php
Pucela testingdays testing_en_php
Isidro Merayo Castellano
 
Volviendo a poner el “soft” en software
Volviendo a poner el “soft” en softwareVolviendo a poner el “soft” en software
Volviendo a poner el “soft” en software
Danijel Arsenovski
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
csalazart
 
Desarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdfDesarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdf
MauricioGArmoa
 
Mariano Iglesias: Lithium - Un framework que pega como piña
Mariano Iglesias: Lithium - Un framework que pega como piñaMariano Iglesias: Lithium - Un framework que pega como piña
Mariano Iglesias: Lithium - Un framework que pega como piña
Grupo PHP Argentina
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
Asier Marqués
 
Masterclass ADWE Madrid
Masterclass ADWE MadridMasterclass ADWE Madrid
Masterclass ADWE Madrid
Kubide
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfony
Juan Eladio Sánchez Rosas
 
Pythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptxPythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptx
DiegoSalvetti2
 

Similar a El poder de los reptiles: Hacer herramientas de hacking es fácil (20)

Conceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEOConceptos básicos y aplicaciones prácticas de programación para SEO
Conceptos básicos y aplicaciones prácticas de programación para SEO
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012Retos en la Adopción del Refactoring -  Junta General del MexALN 28/06/2012
Retos en la Adopción del Refactoring - Junta General del MexALN 28/06/2012
 
Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014Pycon es 17 noviembre 2014
Pycon es 17 noviembre 2014
 
Qué puede aprender Drupal de Plone
Qué puede aprender Drupal de PloneQué puede aprender Drupal de Plone
Qué puede aprender Drupal de Plone
 
Gestión Remota de Equipos con Python
Gestión Remota de Equipos con PythonGestión Remota de Equipos con Python
Gestión Remota de Equipos con Python
 
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdfComo programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
 
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdfComo programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
Como programar en Java - 7ma Edicion - P. J. Deitel (1).pdf
 
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdfComo programar en Java - 7ma Edicion - P. J. Deitel.pdf
Como programar en Java - 7ma Edicion - P. J. Deitel.pdf
 
Cómo programar C++, 9na Edición - Paul Deitel.pdf
Cómo programar C++, 9na Edición - Paul Deitel.pdfCómo programar C++, 9na Edición - Paul Deitel.pdf
Cómo programar C++, 9na Edición - Paul Deitel.pdf
 
Python y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-CorrientesPython y la POO, en una clase, UNNe-Corrientes
Python y la POO, en una clase, UNNe-Corrientes
 
Pucela testingdays testing_en_php
Pucela testingdays testing_en_phpPucela testingdays testing_en_php
Pucela testingdays testing_en_php
 
Volviendo a poner el “soft” en software
Volviendo a poner el “soft” en softwareVolviendo a poner el “soft” en software
Volviendo a poner el “soft” en software
 
PHP Con symfony
PHP Con symfonyPHP Con symfony
PHP Con symfony
 
Desarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdfDesarrollo_web_con_PHP_y_MySQL.pdf
Desarrollo_web_con_PHP_y_MySQL.pdf
 
Mariano Iglesias: Lithium - Un framework que pega como piña
Mariano Iglesias: Lithium - Un framework que pega como piñaMariano Iglesias: Lithium - Un framework que pega como piña
Mariano Iglesias: Lithium - Un framework que pega como piña
 
BilboStack - Php en el 2012
BilboStack - Php en el 2012BilboStack - Php en el 2012
BilboStack - Php en el 2012
 
Masterclass ADWE Madrid
Masterclass ADWE MadridMasterclass ADWE Madrid
Masterclass ADWE Madrid
 
Desarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfonyDesarrollo de aplicaciones web con PHP y symfony
Desarrollo de aplicaciones web con PHP y symfony
 
Pythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptxPythonlearn-01-Intro.pptx
Pythonlearn-01-Intro.pptx
 

Más de Daniel Garcia (a.k.a cr0hn)

Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020
Daniel Garcia (a.k.a cr0hn)
 
Rooted con 2020 - from the heaven to hell in the CI - CD
Rooted con 2020 - from the heaven to hell in the CI - CDRooted con 2020 - from the heaven to hell in the CI - CD
Rooted con 2020 - from the heaven to hell in the CI - CD
Daniel Garcia (a.k.a cr0hn)
 
12 tricks to avoid hackers breaks your CI / CD
12 tricks to avoid hackers breaks your  CI / CD12 tricks to avoid hackers breaks your  CI / CD
12 tricks to avoid hackers breaks your CI / CD
Daniel Garcia (a.k.a cr0hn)
 
Security in AWS Lambdas - NavajaNegra CON 2018
Security in AWS Lambdas - NavajaNegra CON 2018Security in AWS Lambdas - NavajaNegra CON 2018
Security in AWS Lambdas - NavajaNegra CON 2018
Daniel Garcia (a.k.a cr0hn)
 
Rooted 2018 - Crawlino: The next level of crawling systems
Rooted 2018 - Crawlino: The next level of crawling systemsRooted 2018 - Crawlino: The next level of crawling systems
Rooted 2018 - Crawlino: The next level of crawling systems
Daniel Garcia (a.k.a cr0hn)
 
Ingenieria social aplicada: Mucho mas fácil de lo que parece
Ingenieria social aplicada: Mucho mas fácil de lo que pareceIngenieria social aplicada: Mucho mas fácil de lo que parece
Ingenieria social aplicada: Mucho mas fácil de lo que parece
Daniel Garcia (a.k.a cr0hn)
 
Ingeniería social aplicada: Mucho más fácil de lo que parece
Ingeniería social aplicada: Mucho más fácil de lo que pareceIngeniería social aplicada: Mucho más fácil de lo que parece
Ingeniería social aplicada: Mucho más fácil de lo que parece
Daniel Garcia (a.k.a cr0hn)
 
III Hack and beers: evadiendo técnicas de fingerprinting en Linux y Wordpress
III Hack and beers: evadiendo técnicas de fingerprinting en Linux y WordpressIII Hack and beers: evadiendo técnicas de fingerprinting en Linux y Wordpress
III Hack and beers: evadiendo técnicas de fingerprinting en Linux y Wordpress
Daniel Garcia (a.k.a cr0hn)
 

Más de Daniel Garcia (a.k.a cr0hn) (8)

Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020
 
Rooted con 2020 - from the heaven to hell in the CI - CD
Rooted con 2020 - from the heaven to hell in the CI - CDRooted con 2020 - from the heaven to hell in the CI - CD
Rooted con 2020 - from the heaven to hell in the CI - CD
 
12 tricks to avoid hackers breaks your CI / CD
12 tricks to avoid hackers breaks your  CI / CD12 tricks to avoid hackers breaks your  CI / CD
12 tricks to avoid hackers breaks your CI / CD
 
Security in AWS Lambdas - NavajaNegra CON 2018
Security in AWS Lambdas - NavajaNegra CON 2018Security in AWS Lambdas - NavajaNegra CON 2018
Security in AWS Lambdas - NavajaNegra CON 2018
 
Rooted 2018 - Crawlino: The next level of crawling systems
Rooted 2018 - Crawlino: The next level of crawling systemsRooted 2018 - Crawlino: The next level of crawling systems
Rooted 2018 - Crawlino: The next level of crawling systems
 
Ingenieria social aplicada: Mucho mas fácil de lo que parece
Ingenieria social aplicada: Mucho mas fácil de lo que pareceIngenieria social aplicada: Mucho mas fácil de lo que parece
Ingenieria social aplicada: Mucho mas fácil de lo que parece
 
Ingeniería social aplicada: Mucho más fácil de lo que parece
Ingeniería social aplicada: Mucho más fácil de lo que pareceIngeniería social aplicada: Mucho más fácil de lo que parece
Ingeniería social aplicada: Mucho más fácil de lo que parece
 
III Hack and beers: evadiendo técnicas de fingerprinting en Linux y Wordpress
III Hack and beers: evadiendo técnicas de fingerprinting en Linux y WordpressIII Hack and beers: evadiendo técnicas de fingerprinting en Linux y Wordpress
III Hack and beers: evadiendo técnicas de fingerprinting en Linux y Wordpress
 

Último

DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
lourdesuribe6
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Rubén Cortes Zavala
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
ADELAIDA90
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
Katia Reyes
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
PanchoChangue
 
DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
estudios22
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
JessAdrinGonzlezCade
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
Henry W. Zavala
 
590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf
ivanbrito1105
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
Eddy Nathaly Jaimes Villamizar
 
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
Rubén Cortes Zavala
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
edgarcalle8
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
GnesisOrtegaDeLen
 
Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
walter729637
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
241578066
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
gregory760891
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
correodetareas
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Telefónica
 

Último (18)

DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docxDE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
DE LO HUMANO Y LO COMUNITARIO PROYECTO INTEGRADOR (2).docx
 
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdfInforme_mc_bombas_Warman_001-WEIR vulco.pdf
Informe_mc_bombas_Warman_001-WEIR vulco.pdf
 
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
PROTOCOLO DE NANOPOROS Kit de códigos de barras 16S (SQK-RAB204)
 
El uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptxEl uso de las TIC en la vida cotidiana.pptx
El uso de las TIC en la vida cotidiana.pptx
 
11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf11. Legislación Aplicada a la Informática.pdf
11. Legislación Aplicada a la Informática.pdf
 
DN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en PerúDN Consultores | Una mirada al mercado de fibra en Perú
DN Consultores | Una mirada al mercado de fibra en Perú
 
bomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexionesbomba-koomey -Todo sobre sus istema y conexiones
bomba-koomey -Todo sobre sus istema y conexiones
 
Evolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TICEvolución, características, aplicación, ventajas y desventajas de las TIC
Evolución, características, aplicación, ventajas y desventajas de las TIC
 
590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf590248542-Pruebas-de-auditoria-informatica.pdf
590248542-Pruebas-de-auditoria-informatica.pdf
 
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docxSEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
SEGUNDA GENERACIÓN xxxxxxxxxxxxxxxx.docx
 
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
400816850-Mantenimiento-de-Equipos-de-Espesamiento-pdf.pdf
 
Conceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagaciónConceptos y definiciones de Antenas y propagación
Conceptos y definiciones de Antenas y propagación
 
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptxDiapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
Diapositiva sobre Tecnologia de la Información y Telecomunicaciones.pptx
 
Catalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdfCatalogo-Voxtech- accesorios radios RF.pdf
Catalogo-Voxtech- accesorios radios RF.pdf
 
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
"El uso de las TIC en la vida cotidiana". SantanaMartinez_Alejandra
 
Generaciones de Computadoras .
Generaciones de Computadoras                 .Generaciones de Computadoras                 .
Generaciones de Computadoras .
 
_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf_Manejo de Riesgos en el Laboratorio.pdf
_Manejo de Riesgos en el Laboratorio.pdf
 
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
Índice del libro "Metaverso y mundos virtuales: Tecnologías, Retos y Oportuni...
 

El poder de los reptiles: Hacer herramientas de hacking es fácil