Hacking Hacking Practical Guide For Beginners (Hacking With Python) (PDFDrive - Com) (01-50) .En - Es
Hacking Hacking Practical Guide For Beginners (Hacking With Python) (PDFDrive - Com) (01-50) .En - Es
Este documento está orientado a proporcionar información exacta y confiable en relación con el tema y el tema
cubierto. La publicación se vende con la idea de que el editor no está obligado a prestar servicios contables,
permitidos oficialmente o de otra manera calificados. Si el asesoramiento es necesario, legal o profesional, se debe
De una Declaración de Principios que fue aceptada y aprobada igualmente por un Comité de la
Asociación Americana de Abogados y un Comité de Editores y Asociaciones.
De ninguna manera es legal reproducir, duplicar o transmitir ninguna parte de este documento en forma electrónica o
impresa. La grabación de esta publicación está estrictamente prohibida y no se permite el almacenamiento de este
La información proporcionada en este documento se declara veraz y coherente, ya que cualquier responsabilidad, en
términos de falta de atención o de otro tipo, por el uso o abuso de cualquier política, proceso o dirección contenida en este
documento es responsabilidad solitaria y absoluta del lector receptor. Bajo ninguna circunstancia se tendrá responsabilidad
legal o culpa alguna contra el editor por cualquier reparación, daño o pérdida monetaria debido a la información aquí
Los autores respectivos son dueños de todos los derechos de autor que no posee el editor.
La información aquí contenida se ofrece únicamente con fines informativos, y es universal como tal. La presentación de
la información es sin contrato ni ningún tipo de garantía. Las marcas comerciales que se utilizan no tienen ningún
consentimiento, y la publicación de la marca comercial no tiene permiso ni respaldo del propietario de la marca
comercial. Todas las marcas comerciales y marcas de este libro son solo para fines de aclaración y son propiedad de
Este libro contiene pasos y estrategias comprobadas sobre cómo aprender los fundamentos de la piratería.
Este libro electrónico le enseñará los principios básicos de la piratería. Explicará los tres tipos de piratas informáticos, así
como las herramientas que puede utilizar. Le dará un plan de estudio detallado sobre cómo mejorar sus habilidades y
conocimientos en un corto período de tiempo. Además, este libro le enseñará cómo usar el lenguaje de programación Python.
Un capítulo entero está dedicado a las pruebas de penetración. Ese capítulo explicará las diferentes partes y requisitos
de una prueba efectiva. Además, ese material lo armará con herramientas y técnicas específicas que puede usar en sus
Las lecciones que encontrará en este libro se basan en un sistema operativo llamado Kali Linux. Kali es el sistema operativo preferido
de los hackers y probadores de penetración. Este sistema operativo contiene una extensa colección de herramientas de piratería. Con
Kali, no tendrá que descargar e instalar programas adicionales. Puedes usarlo como está.
Este libro electrónico también discutirá temas orientados a la defensa, como la protección contra malware. De esta manera, sabrá qué
hacer en caso de que tenga que atacar a un objetivo o frustrar los esfuerzos de un hacker.
Si está buscando un libro completo sobre piratería básica, este es el libro que necesita.
Pruebas de penetración
1. sombrero blanco
2. sombrero negro
3. Sombrero gris.
Un hacker de sombrero blanco (también conocido como ético) intenta violar los sistemas de red para ayudar a las empresas y
organizaciones a mejorar sus defensas digitales. Mientras tanto, un hacker de sombrero negro accede a registros digitales y / o
dispositivos con fines maliciosos. Un pirata informático gris es una combinación de los dos primeros tipos: esta vez puede ser un
Nota importante: hay leyes que prohíben la piratería de sombrero negro. Puede ser encarcelado si intenta acceder
a la información digital sin el permiso del propietario. Por eso, este libro te ayudará a convertirte en un hacker
ético. Le proporcionará consejos, trucos y técnicas que puede utilizar en sistemas de piratería éticamente.
Beneficios de la piratería ética
Para protegerte de los ladrones, debes pensar como tal. Este principio sirve como el núcleo de la piratería de sombrero
blanco.
El número total de hackers está creciendo cada día. Y estas personas están en una búsqueda continua para mejorar sus
habilidades y ampliar sus conocimientos. Si considera las vulnerabilidades que existen en las máquinas y las redes digitales,
se dará cuenta del terrible estado de seguridad que las personas tienen contra los piratas informáticos. Necesitas proteger tu
sistema de los malos. Para lograr este objetivo, debes saber cómo hackear. Los objetivos de un hacker de sombrero blanco
son:
vulnerabilidades
Los hackers dividen sus ataques en diferentes tipos. Estos tipos son:
No técnico
Estas técnicas se centran en los usuarios finales (es decir, las personas que utilizan los dispositivos de destino). Debido a que los
humanos tienen una tendencia natural a confiar en los demás, los piratas informáticos pueden romper las defensas de un sistema sin
usar ninguna herramienta electrónica. Estos hackers pueden usar tácticas de "ingeniería social" para obtener la confianza de un usuario
y obtener acceso a una red o archivo. Aprenderá más sobre ingeniería social más adelante.
Un hacker también puede implementar un ataque físico contra su objetivo. Por ejemplo, puede entrar en una sala de
computadoras y acceder a uno o más dispositivos que están presentes. Como alternativa, puede revisar los contenedores de
basura en el edificio e intentar buscar información útil (por ejemplo, contraseñas). Los hackers se refieren a este enfoque como
Red
Los piratas informáticos pueden implementar este tipo de ataque fácilmente, ya que la mayoría de las redes son accesibles a través de
Aprovechar las vulnerabilidades en los mecanismos de transporte digital (por ejemplo, NetBIOS) Enviar un
Sistema operativo
Estos ataques juegan un papel importante en el conjunto de herramientas de cualquier hacker. Eso es porque cada computadora tiene un
sistema operativo. Y hay muchas herramientas que puede usar para descifrar el sistema operativo (es decir, el sistema operativo) de una
computadora.
Hay muchos sistemas operativos por ahí. Sin embargo, los piratas informáticos suelen centrarse en los más populares (por ejemplo,
sistemas Windows). Estos son algunos de los ataques del sistema operativo que puede usar:
Descifrando contraseñas
Solicitud
Algunos hackers utilizan programas informáticos para atacar redes. A menudo, un hacker obtiene acceso a una máquina a través de una
aplicación basada en la web o un programa relacionado con el correo electrónico. Los miembros más populares de este tipo son:
Omitir los mecanismos de seguridad (por ejemplo, firewall) a través de protocolos "en línea" (por ejemplo, SMTP, HTTP,
IMAP, etc.)
Capítulo 2: Hacking: una guía para principiantes
Hay muchos materiales de aprendizaje para hackers. La mayoría de estos materiales son gratuitos, por lo que no tendrá que gastar
dinero solo para desarrollar sus habilidades de piratería. Desafortunadamente, la mayoría de los recursos de piratería que
encontrarás están creados para piratas informáticos intermedios y / o expertos. No se beneficiará de dichos materiales si es un
principiante completo. En este capítulo, descubrirá una manera rápida y fácil de convertirse en un hacker. El programa de
aprendizaje de tres pasos que verá aquí está creado para novatos. Le ayudará a dominar los conceptos básicos de piratería
redes. Obviamente, no podrá piratear una computadora si ni siquiera conoce la diferencia entre TCP / IP y Windows
XP. Para convertirse en un hacker, debes conocer los conceptos básicos de la tecnología informática.
Sería mejor si te expones a diferentes sistemas operativos. Cada vez más personas están cambiando a sistemas Linux, por lo que
debe aprender los conceptos básicos de ese sistema operativo. Una vez que haya dominado los conceptos básicos de las
computadoras y las redes, será fácil comprender cómo funcionan los "exploits" y las "vulnerabilidades".
Hay innumerables libros de piratería por ahí. Una búsqueda básica en Google le dará cientos de materiales de aprendizaje
disponibles. Sin embargo, dado que eres nuevo en el mundo de la piratería, debes centrarte en las ideas y principios básicos
de la piratería. Es tentador tomar libros sobre temas avanzados como la utilización de Wireshark o la selección de carga útil,
pero no se beneficiará de este método de estudio. La estrategia de aprendizaje ideal para un concepto complejo (como la
piratería informática) es dominar los conceptos básicos y desarrollar sus conocimientos y habilidades lentamente.
Este libro electrónico cubrirá los aspectos básicos de la piratería. Después de leer este libro, podrá atacar sistemas y
cualquier persona que se tome en serio la piratería. Es cierto que hay toneladas de programas y herramientas listas para usar
disponibles en línea. Sin embargo, confiar en el trabajo de otras personas no es una buena idea. La capacidad de crear sus propios
programas y modificar las herramientas de piratería existentes puede ayudarlo enormemente en su búsqueda para convertirse en un
experto en piratería.
Hay muchos lenguajes de programación entre los que puede elegir. Pero si eres un novato total, primero debes
estudiar Python. Python es uno de los lenguajes de programación más simples que existen. Sin embargo, es
extremadamente efectivo para escribir códigos con fines de piratería. Esta es la razón principal por la que muchos
hackers prefieren este lenguaje a C ++ o Ruby. Aprenderá más sobre Python en el próximo capítulo.
Capítulo 3: Cómo piratear con Python
Python es uno de los mejores lenguajes de programación para hackear. Este lenguaje es fácil de aprender y lo suficientemente
potente como para satisfacer todas sus necesidades de programación. En este capítulo, aprenderá los conceptos básicos de
Python. Sabrá cómo iniciarlo, cómo escribir códigos con él y cómo compilarlo.
Nota importante: Este capítulo asume que está utilizando Kali Linux, un sistema operativo creado para hackers. Kali
Linux contiene cientos de herramientas de piratería integradas que puede usar para probar sus sistemas o atacar otras
redes. Además, este sistema operativo es completamente gratuito. Para descargar Kali Linux, visite: https://www.kali.org/downlo
Una excelente ventaja de usar Kali Linux es que viene con una versión preinstalada de Python. Eso significa que puede
comenzar a escribir códigos sin descargar nada. Los módulos predeterminados y la biblioteca de idiomas de Python le
permiten realizar una amplia gama de actividades. Por ejemplo, la versión lista para usar de Python tiene manejo de
Las herramientas y componentes integrados de Python son suficientes para crear herramientas de piratería eficaces. Pero
puede mejorar la eficacia y flexibilidad de este lenguaje descargando módulos adicionales de fuentes de terceros. Estos
módulos adicionales son la razón principal por la que muchos hackers eligen Python para sus necesidades de
Instalar un módulo
Al igual que otros sistemas Linux, Kali Linux requiere "wget" al adquirir nuevos archivos o programas de
Internet. Este comando descarga el archivo o programa elegido desde su repositorio respectivo. Luego,
debe descomprimir el módulo descargado y emitir el siguiente comando:
Supongamos que desea descargar Nmap (un módulo de Python) de www.xael.org . Para obtener este módulo,
debe:
2. Inicie un terminal (la pequeña ventana que recibe entradas del usuario).
Kali> cd python-nmap-.03.4 /
Felicidades. Instalaste con éxito un módulo de Python en tu computadora Kali Linux. Ahora, puede usar dicho
módulo para sus actividades de piratería. Nota importante: este es el método que debe utilizar para agregar
más módulos a su sistema operativo. Puede parecer largo y complejo al principio. Pero una vez que te
acostumbres, crear una gran colección de módulos de terceros será un paseo por el parque.
Cómo escribir scripts de Python
En esta parte del libro, aprenderá a escribir códigos usando el lenguaje Python. También explicará los términos
fundamentales, conceptos y sintaxis de los códigos Python. Lea este material cuidadosamente; te ayudará a
convertirte en un programador y hacker conocedor. Nota importante: debe usar un editor de texto al escribir códigos.
Kali Linux tiene un editor de texto incorporado llamado "Leafpad". Como puede ver, Kali Linux contiene todo lo que
Formateo adecuado
El formateo juega un papel importante en el lenguaje Python. El intérprete de Python agrupa los códigos según su
formato. Tenga en cuenta que la consistencia es más importante que la precisión. No tiene que seguir reglas de
formato estrictas. Solo tiene que ser coherente con el formato que está utilizando.
Por ejemplo, si usará una doble sangría para diferenciar un bloque de código, sangra dos veces cada línea de ese bloque de
código. Olvidar esta simple regla puede conducir a mensajes de error y / o ataques fallidos.
Nada supera el aprendizaje activo. Para ayudarlo a dominar este proceso, escribamos un código básico con Leafpad. Aquí
está el código:
Este código consta de tres líneas. El primero activa el intérprete de Python. El segundo crea una variable
llamada "nombre" y establece un valor para ello. La última línea concatena la palabra "Hola" con la entrada del
usuario e inserta un signo de exclamación. En este punto, aún no puede ejecutar el código. Debes darte el
Nota importante: para obtener más información sobre los permisos de Linux, consulte este sitio:
Después de emitir ese comando usando un terminal, su pantalla le mostrará esto: ¡Hola, Chuck Norris!
Puede agregar comentarios a sus códigos de Python. En programación, un comentario es una palabra, oración o
párrafo que define lo que puede hacer un fragmento de código. No afecta la funcionalidad o el comportamiento del
código en sí. No es necesario agregar un comentario a sus códigos, pero se recomienda. Los comentarios lo ayudarán
a recordar información importante con respecto a sus códigos. Obviamente, no desea olvidar los "mecanismos
El intérprete de Python omite cada comentario. Eso significa que el intérprete saltará sobre palabras, oraciones o párrafos
hasta que encuentre un bloque de código legítimo. En Python, debe usar "#" para establecer un comentario de una sola
línea. Para comentarios multilínea, debe escribir tres comillas dobles. Estos símbolos deben aparecer al comienzo de sus
2. ""
"Hola, soy
Comentario
importar un módulo, accederá a las clases, métodos y funciones (aprenderá sobre esto más adelante) que están
presentes dentro de ese módulo. Esta característica es una de las principales razones por las que Python es el
En este punto, es importante discutir la programación orientada a objetos (o POO). OOP es un modelo de codificación que sirve
como el principio central detrás de los principales lenguajes de computadora (por ejemplo, Java). Necesitas entender OOP si
vincular sus actividades con el mundo real. Por ejemplo, una computadora tiene métodos (por ejemplo, se enciende, accede a
Internet, inicia aplicaciones, etc.) y propiedades (por ejemplo, espacio disponible, velocidad de procesamiento, marca, etc.). Si
piensa en OOP como un lenguaje humano, los objetos son sustantivos, los métodos son verbos y las propiedades son adjetivos.
Cada objeto pertenece a una clase. Una computadora, por ejemplo, pertenece a la clase llamada "máquinas". "Máquinas" es la
Variables
Las variables apuntan a la información que existe en la memoria de una computadora. En Python, esta memoria puede guardar
diferentes datos (por ejemplo, cadenas, listas, enteros, booleanos, diccionarios, números reales, etc.).
Los tipos variables actúan como clases. El script que verá a continuación muestra algunos de estos tipos. Inicie un editor de
[10,20,30,40,50]
SampleStringVariable
Después de ejecutar ese script, verá el siguiente mensaje en su pantalla: Esta es una variable
increíble.
Nota importante: Python puede elegir el tipo correcto de variable en su nombre. No tiene que declarar la variable
Las funciones
El lenguaje Python viene con funciones preinstaladas. Kali Linux tiene una amplia colección de funciones,
aunque puede descargar más de las bibliotecas en línea. Aquí hay algunas funciones que usará en sus
programas:
int (): use esta función para truncar datos numéricos. Simplemente le da al entero parte del argumento.
len (): esta función cuenta los elementos en una lista. exit (): esta
max (): con esta función, puede determinar el valor más alto de una lista. type (): use esta función
para identificar el tipo de datos de un objeto Python. float (): esta función convierte su argumento en
un número de punto flotante. sorted (): use esta función para ordenar las entradas de una lista.
range (): esta función proporciona una lista de números entre dos valores específicos. Debe establecer dichos
Liza
La mayoría de los lenguajes de programación usan matrices. Una matriz es una colección de diferentes objetos. Puede recuperar
una entrada de una matriz especificando la posición de la primera. Por ejemplo, puede obtener el cuarto valor de una matriz
escribiendo [4]. Python tiene una característica similar, pero se conoce como "lista".
Las listas de Python son "iterables". Eso significa que puede usarlos para sus declaraciones de bucle (aprenderá más sobre
bucles más adelante). Supongamos que desea recuperar el tercer elemento de la "SampleList" (es decir, el que creó
1. Escriba la palabra " impresión ". Este comando le permite mostrar información.
importante tener en cuenta que la numeración comienza en cero. Por lo tanto, escribir "1" le dará el
30
Cómo conectarse en red con el lenguaje Python
Python tiene un módulo llamado "socket". Este módulo le permite construir conexiones de red utilizando el
lenguaje Python. Veamos cómo funciona este módulo. Para este ejemplo, usará "socket" para construir una
conexión TCP (Protocolo de Control de Transmisión). Los pasos que debe seguir son:
2. Cree una variable que pertenezca a una clase llamada "socket". Establezca "práctica" como el nombre de la variable.
3. Utilice el método llamado "connect ()" para establecer una conexión a un puerto. El proceso real termina aquí. Los
pasos restantes le mostrarán algunas de las cosas que puede hacer después de establecer una conexión.
4. Use "recv" para adquirir 1024 bytes de datos del socket actual.
7. Termine la conexión.
8. Guarde el código como "samplesocket" y emita "chmod".
zócalo de importación
practica = socket.socket ()
impresión
practica.close
Ejecute ese código y vincule su computadora a otra usando el 22 Dakota del Norte Puerto. Si SSH (Secure Socket Shell) está
activo en ese puerto, obtendrá el banner de la segunda computadora en su variable de "muestra". Luego, la información
Un diccionario es un objeto que puede contener elementos (llamados "elementos"). Puede usar un diccionario para registrar los
nombres de usuario de sus objetivos o las vulnerabilidades de una red. Los diccionarios requieren un par clave-valor. Pueden
almacenar varias copias de un valor. Sin embargo, cada clave debe ser única. Al igual que una lista de Python, un diccionario es
iterable. Puede usarlo con sus declaraciones "para" para crear scripts complejos. Además, puede usar un diccionario para crear
sus propios crackers de contraseñas. La sintaxis para crear un nuevo diccionario es:
Los programas de computadora necesitan la capacidad de decidir. En el lenguaje Python, tiene varias opciones sobre cómo
administrar la disposición de su código. Por ejemplo, puede combinar las declaraciones "if" y "else" para crear potentes
herramientas de piratería. Analicemos algunas de las declaraciones de control más populares de Python:
La declaración "si"
La sintaxis de esta declaración es
...
Nota importante: Debe sangrar el "bloque de control" de la instrucción (el bloque de código que viene después de la
expresión).
...
más
...
La secuencia de comandos que se proporciona a continuación verifica la "ID" del usuario actual. Si el valor es cero, el
terminal mostrará "Hey, usted es el usuario root". Si el valor no es cero, el mensaje resultante será "Hola, eres un usuario
común".
Si userid == 0:
Un bucle es otra característica poderosa de Python. Las formas más populares de bucles son "para" y "mientras". Analicemos
1. El bucle "para"
Este tipo de bucle establece datos de un objeto Python (por ejemplo, una lista) para recorrer una variable
contraseñas = ["ftp", "muestra", "usuario", "administrador", "copia de seguridad", "contraseña"] para la contraseña en
las contraseñas
2. El bucle "while"
Un ciclo while verifica el valor de una declaración booleana y ejecuta un fragmento de código mientras el valor de
la declaración es "verdadero". Tenga en cuenta que las declaraciones booleanas solo tienen dos valores posibles: (1)
En este punto, has aprendido muchas cosas sobre el lenguaje Python. Usemos ese conocimiento para crear una herramienta de
piratería: un descifrador de contraseñas. El programa que creará está diseñado para cuentas FTP (Protocolo de transferencia de
3. Genere un socket que se conecte a una dirección IP específica a través del 21 S t Puerto.
6. Escriba un bucle para probar cada contraseña. El proceso continuará hasta que se hayan utilizado todas las
contraseñas o el programa obtenga "230" como respuesta del servidor FTP de destino.
re re sys de
importación
sample.recv (1024)
returen datos
username = "SampleName"
contraseñas = ["123", "ftp", "root", "admin", "prueba", "copia de seguridad", "contraseña"] para la contraseña en las
contraseñas:
intento == "230":
Guarde el archivo como "passwordcracker.py". Luego, obtenga el permiso para ejecutar el programa y ejecútelo en su
Nota importante: El código dado anteriormente no está escrito en piedra. Puede modificarlo de acuerdo con sus
preferencias y / o situación. Una vez que se convierta en un programador experto de Python, podrá mejorar la flexibilidad y
Este capítulo se centrará en temas relacionados con la seguridad informática (por ejemplo, privacidad, redes,
contraseñas, etc.). Después de leer este artículo, sabrá cómo protegerse de otros hackers. También sabrá cómo
ejecutar ataques contra las defensas de sus objetivos. Debe leer este material detenidamente: la seguridad
Debe tratar la seguridad como una parte importante del uso de una computadora. Probablemente esté utilizando Internet
para realizar una investigación, leer sus correos electrónicos, comprar cosas o vender su propia mercancía. Estas cosas se
han vuelto más fáciles debido a las computadoras y las redes. Sin embargo, esta conveniencia viene con un alto precio: falta
No comparta sus nombres de usuario y contraseñas con nadie (ni siquiera con sus amigos más cercanos).
Lea las políticas de seguridad / privacidad de cada sitio al que accederá antes de ingresar datos personales.
No compre nada de sitios no confiables. Lo último que desea hacer es dar su dinero y / o
información financiera a personas sin escrúpulos. Si desea comprar algo en línea, busque sitios
confiables como www.amazon.com y
www.ebay.com .
No comparta las credenciales de inicio de sesión de sus cuentas de correo electrónico con otras personas. Algunos correos
Tenga en cuenta que mantener sus contraseñas en secreto no es suficiente. Un hacker aún puede acceder a esa
información a través de un keylogger. Básicamente, un keylogger es un programa que registra todas las teclas que
spyware / adware de forma regular Use un teclado en pantalla para ingresar sus
El término "malware" se refiere a programas que están diseñados para "infectar" un dispositivo electrónico (por ejemplo, computadora,
Virus
Básicamente, los virus son programas informáticos que infectan otros programas. La mayoría de los virus se ejecutan solo cuando
se ejecuta el programa que infectaron. Esta es la razón principal por la que los virus son difíciles de detectar. Un virus tiene dos
partes: el "infector" y la "carga útil". Tenga en cuenta, sin embargo, que no se requiere la carga útil. Eso significa que un programa
Troyanos
Este término proviene del legendario "Caballo de Troya", un gran caballo de madera que deletreaba la perdición para Troya.
En la piratería, un troyano es un programa que contiene otros programas. El "contenedor" es típicamente inofensivo. De
hecho, puede ser un programa que atraiga a usuarios desprevenidos. Una vez que una persona descarga e instala un
Spyware
Este es uno de los malware más peligrosos que existen. Básicamente, el spyware registra las actividades que realiza en su
computadora y transmite los datos al hacker. Esta transmisión de datos se produce a través de internet. Los hackers dividen
el spyware en dos tipos: inofensivo y dañino. El software espía inofensivo se centra en datos no confidenciales (por ejemplo,
los sitios web que visita). El spyware dañino, por otro lado, recopila información confidencial (por ejemplo, contraseñas).
Adware
Básicamente, el adware es una forma de malware que muestra anuncios en la computadora de una persona. Este malware se vuelve
extremadamente activo cuando la máquina infectada está en línea. Es cierto que el adware es una de las formas más seguras de
Mantenerse alejado de sitios sin escrúpulos puede ayudarlo a prevenir la infección de malware. Sin embargo, es probable que
algunos programas maliciosos aún se adhieran a su máquina. Sería mejor si instalara un programa anti-malware de buena
reputación y escaneara su computadora regularmente. Estos son algunos de los programas antivirus más populares en la
actualidad:
Nota importante: si es un usuario activo de Internet, debe escanear su computadora en busca de malware al menos
una vez por semana. Ajuste esta frecuencia a dos o tres veces por semana si se trata de información confidencial.
Seguridad web
La piratería y la seguridad digital no se limitan a las computadoras. Estos temas también se aplican a los sitios web. En esta
parte del libro, aprenderá mucho sobre las defensas básicas de un sitio web. Puede usar esta información para proteger su
Los fundamentos
La seguridad del sitio web consta de dos aspectos: interno y externo. El aspecto interno se refiere a la naturaleza
de la información que está manejando. Por ejemplo, su sitio web es seguro si no está tratando con datos
confidenciales. Pocos piratas informáticos atacarían su sitio si no se benefician de él. El aspecto externo, por otro
lado, involucra la configuración de su sitio web, las aplicaciones que instaló en él y los códigos que utilizó para
crearlo.
La mejor manera de mantener un sitio seguro es desactivarlo. De esta manera, los piratas informáticos no tendrán ninguna forma de
acceder a sus archivos. Sin embargo, si necesita un sitio web en vivo, debe minimizar los puertos y servicios abiertos que ofrece.
Desafortunadamente, estas opciones no son aplicables para la mayoría de las empresas y organizaciones. Eso significa que muchos
Nota importante: los sitios web que tienen puertos abiertos, servicios y diferentes lenguajes de script son vulnerables a los piratas
informáticos. Esto se debe a que un hacker puede usar un puerto, servicio o lenguaje de computadora para evitar las defensas de un
sitio web.
Puede proteger su sitio actualizando todas sus aplicaciones regularmente. También debe aplicar actualizaciones de
Aquí hay una verdad básica: su sitio web tiene vulnerabilidades. Puede ser un puerto abierto, un servicio activo o una falla en el
código utilizado en la creación de su sitio. Estas vulnerabilidades sirven como puertas que los hackers pueden usar para ingresar
a su red o servidor. Además, los hackers tienden a compartir sus conocimientos con otros. Si un hacker detecta una vulnerabilidad
objetivo y distribuir la primera a sus "hermanos" y / o "hermanas". Es importante mantenerse actualizado con las últimas
vulnerabilidades de sus sistemas. Obtenga el último parche para su sitio web siempre que sea posible.
1. Construir defensas sólidas: esta estrategia requiere atención y esfuerzo constantes por parte del propietario del sitio web o
su "personal de TI". Con esta estrategia, necesita asegurar las últimas actualizaciones y parches para su sitio, revisar sus
aplicaciones en línea regularmente y contratar programadores experimentados para trabajar en su sitio web.
2. Detectar y corregir vulnerabilidades: esta estrategia se basa en un programa o servicio de escaneo de sitios web. Este "escáner
web" busca vulnerabilidades existentes en sus aplicaciones, equipos y secuencias de comandos del sitio web.
La primera estrategia es lógica: construirá un "muro alto" alrededor de su sitio web para asegurarse de que los hackers no
puedan atacarlo. Sin embargo, requiere mucho tiempo, esfuerzo y atención. Esa es la razón principal por la cual los
propietarios de sitios web prefieren la segunda estrategia. Obviamente, es mejor verificar si la vulnerabilidad existe realmente
que construir "muros" para proteger las debilidades imaginarias. Aquí, solo gastará tiempo, esfuerzo y dinero en corregir la
La prueba de penetración (también llamada piratería ética) es el proceso de atacar una red o sistema para detectar y corregir las
debilidades del objetivo. Las empresas están dispuestas a desembolsar algo de efectivo para proteger sus sistemas de los piratas
informáticos. Debido a esto, las pruebas de penetración sirven como una actividad rentable y emocionante para los piratas
informáticos éticos.
Este capítulo le enseñará los conceptos básicos de las pruebas de penetración. Explicará los principios básicos de la
"prueba de la pluma" y le dará una lista de herramientas que debe usar. Además, le proporcionará un plan paso a paso
Un probador de penetración intenta violar las defensas de su objetivo sin acceso previo a ningún nombre de usuario,
contraseña u otra información relacionada. El probador usará sus habilidades, herramientas y conocimientos para obtener
datos relacionados con su objetivo y demostrar la existencia de vulnerabilidades. Al atacar una red local, una prueba de
Como puede ver, las pruebas de penetración tienen muchas similitudes con la piratería maliciosa. Hay dos diferencias
principales entre estos dos: el permiso y las intenciones del hacker. Un probador tiene permiso para atacar a su
objetivo. Y su objetivo principal es ayudar a sus clientes a mejorar su seguridad digital. Por el contrario, los piratas
informáticos maliciosos no solicitan el permiso del objetivo. Simplemente realizan ataques para robar información,
A menudo, un probador necesita atacar a su objetivo como usuario básico. Debe mejorar sus derechos de acceso y / o recopilar información
Algunos clientes quieren que el probador se centre en una única vulnerabilidad. Sin embargo, en la mayoría de los casos, un
probador debe registrar cada debilidad que descubrirá. La repetibilidad del proceso de piratería es importante. Sus clientes no
Recuerde que hay una delgada línea entre las pruebas de penetración y el pirateo malicioso. Para asegurarse de
Enfoque en la ética
Deberías trabajar como profesional. Considera tus principios morales y personales. No importa si está
atacando su propia computadora o probando la red de una empresa: todas sus actividades deben estar
Como hacker ético, la confianza es su principal activo. Nunca use información relacionada con el cliente para
fines personales. Si ignoras esta regla, es posible que te encuentres tras las rejas.
Respeto a la privacidad
Cada pieza de información que recopilará durante una prueba de penetración es importante. Nunca use esos datos para
recopilar detalles corporativos o espiar a otras personas. Si tiene que compartir información, hable con el personal
autorizado.
Los piratas informáticos inexpertos suelen estrellar sus objetivos accidentalmente. Esta tendencia resulta de una mala planificación y
preparación. La mayoría de los principiantes ni siquiera leen las instrucciones que vienen con las herramientas que están usando.
Su sistema puede experimentar DoS (denegación de servicio) durante una prueba de penetración. Esto sucede a menudo
cuando el hacker ejecuta múltiples pruebas simultáneamente. Sería mejor si esperara a que termine una prueba antes de
ejecutar otra. No asumas que tu objetivo puede sobrevivir a tus ataques sin ningún tipo de daño.
Nota importante: su objetivo es ayudar a sus clientes a mejorar su seguridad digital. Lo último que desea
hacer es derribar toda su red mientras realiza una prueba. Este evento arruinará tu reputación como
hacker.
Pruebas de penetración: el proceso
Aquí hay una descripción detallada del proceso involucrado en las pruebas de penetración:
Permiso seguro
No haga nada en su objetivo hasta que tenga un permiso por escrito de su cliente. Este documento puede protegerlo de
demandas desagradables o problemas similares. La autorización verbal no es suficiente cuando se realizan ataques de piratería.
Recuerde: los países están implementando reglas y sanciones estrictas con respecto a las actividades relacionadas con la
piratería.
Formular un plan
Un plan puede aumentar sus posibilidades de tener éxito. Hackear un sistema puede ser extremadamente complicado,
especialmente cuando se trata de sistemas modernos o desconocidos. Lo último que quieres hacer es lanzar un
Especifique su objetivo / s
Identifique la información y el acceso que tendrá al comienzo de su prueba. Especifique los "entregables"
(el resultado que enviará a su cliente). Concéntrese en los objetivos que son vulnerables o importantes. Una vez
que haya probado los "pesos pesados", la parte restante de la prueba será rápida y fácil. Aquí hay algunos
Estaciones de trabajo de
infraestructura de red
Nota importante: debe tener mucho cuidado al elegir un método de piratería. Considere los efectos de ese método
y cómo responderá su objetivo. Por ejemplo, los piratas informáticos pueden bloquear usuarios legítimos del
sistema. Este tipo de accidente puede ser desastroso durante el horario comercial. Elige tus herramientas
Kali Linux contiene varias herramientas de hackeo. Si está utilizando ese sistema operativo, no necesitará descargar otros
programas para sus pruebas de penetración. Sin embargo, la gran colección de herramientas de Kali puede ser desalentadora y / o
confusa. Es posible que tenga problemas para identificar las herramientas que necesita para cada tarea que debe realizar. Estas
Nmap: encontrará este programa en el conjunto de herramientas de casi todos los hackers. Es una de las herramientas
más poderosas que puede usar cuando se trata de auditoría de seguridad y descubrimiento de redes. Si usted es un
administrador de red, también puede usar Nmap para rastrear el tiempo de actividad del host, controlar el cronograma de
Esta herramienta es perfecta para escanear grandes redes informáticas. Sin embargo, también es efectivo cuando se usa contra
objetivos pequeños. Debido a que Nmap es popular, encontrará muchos recursos disponibles para dominar este programa.
Ghost Phisher: esta herramienta es un programa de ataque Ethernet e inalámbrico. Puede convertir su computadora en
un punto de acceso (o un punto de acceso) y secuestrar otras máquinas. También puede funcionar con el marco
Dientes de Maltego: con este programa, verá las amenazas que están presentes en el entorno de su objetivo. Los
dientes Maltego pueden mostrar la seriedad y las complicaciones de diferentes puntos de falla. También descubrirá
Esta herramienta utiliza Internet para recopilar información sobre su sistema de destino y sus usuarios. Los hackers usan los
Dominios
Empresas
Frases
Archivos Personas
Netblocks Sitios
web Direcciones IP
Afiliaciones
Wireshark: muchos piratas informáticos consideran esta herramienta como el mejor analizador para protocolos de red. Le
permite monitorear todas las actividades en una red. Las principales características de Wireshark son:
Puede capturar paquetes de datos y realizar análisis fuera de línea. Puede realizar análisis
de VoIP (es decir, Voz sobre Protocolo de Internet). Tiene una GUI (interfaz gráfica de
Puede exportar datos a diferentes tipos de archivos (por ejemplo, CSV, texto sin formato, XML, etc.) Puede
ejecutarse en diferentes sistemas operativos (por ejemplo, OS X, Linux, NetBSD, etc.) Exploitdb: el término "exploitdb" es
la abreviatura de " Explotar base de datos ". Básicamente, exploitdb es una colección de exploits (es decir, un programa
que "explota" la vulnerabilidad de un objetivo) y el software en el que pueden ejecutarse. El objetivo principal de esta base
de datos es proporcionar una colección completa y actualizada de exploits que los investigadores informáticos y los
Debes encontrar la vulnerabilidad antes de atacar a un objetivo. Y necesita un exploit que funcione en la
vulnerabilidad que encontró. Pasarás días (o incluso semanas) buscando posibles debilidades y creando
exploits efectivos. Con exploitdb, sus tareas serán más rápidas y fáciles. Solo tiene que ejecutar una
búsqueda del sistema operativo y / o programa que desea atacar, y exploitdb le dará toda la información que
necesita.
Aircrack-ng: esta es una colección de herramientas que puede usar para probar redes WiFi. Con Aircrack-ng,
Prueba: puede usarlo para probar sus controladores y tarjetas WiFi. Ataque: use Aircrack-ng para
Cracking: esta herramienta le permite recopilar paquetes de datos y contraseñas crack. Monitoreo: puede
capturar paquetes de datos y guardarlos como un archivo de texto. Luego, puede usar los archivos resultantes con
otras herramientas de piratería. Johnny: esta herramienta es una GUI de código abierto para "John the Ripper", un
conocido pirateador de contraseñas. Es posible usar "JTR" tal cual. Sin embargo, Johnny puede automatizar las
tareas involucradas en descifrar contraseñas. Además, esta GUI agrega más funciones
al programa JTR.
Implemente su plan
Las pruebas de penetración requieren persistencia. Debes ser paciente mientras atacas a tu objetivo. A veces,
descifrar una sola contraseña puede llevar varios días. La atención también es importante. Proteja la información
que recopilará tanto como pueda. Si otras personas tienen en sus manos sus hallazgos, su objetivo estará en
peligro extremo.
No tiene que buscar posibles hackers antes de ejecutar su prueba. Si puede mantener sus actividades privadas y
seguras, está listo para comenzar. Este principio es crucial durante la transmisión de sus hallazgos a sus clientes. Si
tiene que enviar la información por correo electrónico, debe cifrarla y establecer una contraseña para ello. Puedes
1. Recopila información sobre tu objetivo. Google puede ayudarlo con esta tarea.
2. Recorte sus opciones. Si realizó una investigación exitosa, tendrá muchos puntos de entrada
potenciales. Tiene un tiempo limitado, por lo que sería imposible verificar todos esos puntos de
3. Use sus herramientas para reducir aún más sus opciones. Puede usar escáneres y recolectores de paquetes de datos para
Analice los datos que recopiló. Esos datos lo ayudarán a detectar vulnerabilidades de red y probar su existencia. El
conocimiento juega un papel importante en esta tarea. Seguramente enfrentará algunas dificultades durante sus
primeros intentos. Sin embargo, las cosas se volverán fáciles una vez que haya adquirido el conocimiento y la
experiencia necesarios. Nota importante: cree un informe escrito sobre sus hallazgos. Comparta los datos con sus
clientes para demostrar que contratarlo es una de las mejores decisiones que tomaron.
Las diferentes formas de pruebas de penetración
La forma de prueba de penetración que realizará dependerá de las necesidades de su cliente. En esta parte del libro,
En una prueba de recuadro negro, no tiene ninguna información sobre su objetivo. Su primera tarea es
investigar sobre la red de su cliente. Su cliente definirá los resultados que necesita, pero no le dará otros
El probador comenzará desde cero. Por lo tanto, actuará como un hacker malicioso que quiere acceder a
una red.
El probador tendrá mayores posibilidades de detectar conflictos en la red. El probador no necesita ser un programador experto. A
diferencia de otros tipos de pruebas de lápiz, las pruebas de recuadro negro no se basan en secuencias de comandos listas para
Es extremadamente complejo El probador necesita gastar tiempo y esfuerzo en diseñar y lanzar un ataque.
Estas pruebas son detalladas y completas, ya que el hacker tiene acceso a toda la información relacionada con su
objetivo. Por ejemplo, el hacker puede usar las direcciones IP y los códigos fuente de una red como base para su
ataque.
Esta forma de prueba depende en gran medida de los códigos y las habilidades de programación.
Las ventajas
Ayuda al pirata informático a identificar fallas de diseño que resultan de conflictos entre el flujo lógico del
Aquí, el hacker tiene acceso a cierta información sobre su objetivo. Puede pensar en una prueba de caja gris como una
El hacker puede realizar la prueba incluso sin usar el código fuente de la red. Por lo tanto, la prueba de
penetración es objetiva y no intrusiva. Habrá una conexión mínima entre el probador y el desarrollador.
atacar redes.
Diferentes facetas de una prueba de penetración
Penetración de red
Esta faceta se centra en los atributos físicos de tu objetivo. El objetivo principal de esta faceta es identificar
vulnerabilidades, determinar riesgos y garantizar la seguridad de una red. Como hacker, debe buscar fallas en el
diseño, operación o implementación de la red con la que está tratando. Probablemente hackeará módems,
Penetración de aplicación
En esta faceta, te concentrarás en la estructura lógica del objetivo. Simula ataques de piratería para verificar la
efectividad de las defensas existentes de la red. La penetración de la aplicación generalmente requiere que los hackers
Esta faceta se centra en cómo cambiarán los flujos de trabajo y las respuestas de la organización durante un ataque.
También implica la relación de los usuarios finales con sus computadoras. Durante esto, el probador de penetración
Los probadores de penetración dividen las pruebas en dos categorías: manual y automatizado. Las pruebas manuales se basan en las
habilidades de un hacker de sombrero blanco. El probador tiene control completo sobre el proceso. Si comete un error, toda la prueba de
penetración puede resultar inútil. Las pruebas automatizadas, por otro lado, no necesitan intervención humana. Una vez que se ejecuta la
prueba, la computadora se encargará de todo: desde la selección de objetivos hasta el registro de los resultados.
En esta parte del libro, aprenderá información importante sobre este tipo de pruebas. Debes dominar este concepto
si te tomas en serio la piratería. Con este conocimiento, puede determinar fácilmente el tipo de prueba que debe
Realizará pruebas manuales la mayor parte del tiempo. Aquí, utilizará sus herramientas, habilidades y conocimientos para encontrar
las debilidades de una red. Las pruebas manuales implican los siguientes pasos:
Investigación: este paso tiene una gran influencia en todo el proceso. Si tienes mucha información sobre tu
objetivo, atacarlo será fácil. Puede realizar investigaciones utilizando internet. Por ejemplo, puede buscar
Kali Linux tiene una amplia gama de herramientas que puede utilizar en esta fase de "reconocimiento". Con los programas integrados
de Kali, puede recopilar fácilmente datos sobre sus objetivos (por ejemplo, hardware, software, base de datos, complementos, etc.).
Evaluación de debilidades: analice la información que recopiló e identifique las debilidades potenciales del
objetivo. Su conocimiento y experiencia lo ayudarán en esta tarea. Obviamente, primero debes trabajar en
las debilidades obvias. Esto se debe a que estas debilidades atraen a los hackers de sombrero negro.
Explotación: ahora que conoce las debilidades específicas de su objetivo, debe realizar un ataque. Usted
Preparación y envío de resultados: registre toda la información que recopiló durante la prueba. Organice los
datos para que sus clientes puedan determinar fácilmente los próximos pasos. Asegúrese de que su informe se