Explorando Machine 2 Milon de Hack de Box: Técnicas y Herramientas Prácticas de Hacking
Descubre las ideas sobre técnicas y herramientas prácticas de hacking a través de una conversación sobre Machine 2 Milon de Hack de Box. Aprende sobre escaneo de puertos, explotación de API y escalada de privilegios en este interesante artículo.
Video Summary
La conversación profundiza en Machine 2 Milon de Hack de Box, una máquina Linux con la dirección IP 10.10.10.111. A pesar de su nivel de dificultad fácil, abarca conceptos intrigantes como la creación de un escáner de puertos con Scapy, similar al escaneo Stealth de Nmap. También se discute la enumeración y la explotación de API utilizando Postman, así como la escalada de privilegios a través de la explotación del kernel con overlay fs. La conversación aborda los valores TTL para máquinas Linux y Windows, un script de Python para identificar tipos de máquinas y el uso de Nmap para el escaneo de puertos.
Se enfatiza la importancia de comprender conceptos incluso en desafíos fáciles, junto con el uso de herramientas como Kitty, Power Level 10k y Parrot OS. Se destacan técnicas y herramientas prácticas de hacking, mostrando las preocupaciones del orador sobre ciberseguridad mientras utiliza Hack the Box. Se recomienda VIP Plus para medidas de seguridad adicionales.
Se demuestra la exportación de datos en formato grepe para su análisis utilizando expresiones regulares, junto con el uso de nmap para el escaneo de puertos y la detección de servicios. Se menciona Scapy para el escaneo avanzado de redes, explorando los nombres en clave de Ubuntu a través del análisis de encabezados. La conversación discute el apretón de manos Triway en el escaneo de conexión TCP y las diferencias con el escaneo Stealth.
Se explica el proceso de construcción de un escáner de puertos en Python utilizando Scapy, cubriendo la manipulación de cadenas, la construcción de paquetes y el escaneo de puertos. Se implementa el enhebrado para un escaneo más rápido, con un enfoque en el manejo de límites de hilos y tiempos de espera para la eficiencia. El escáner se prueba escaneando puertos del 1 al 65535, asegurando que la precisión y los tiempos de respuesta estén optimizados.
Se introduce Tshark para el sniffing de paquetes y el análisis del tráfico de red, enfatizando la importancia de completar los apretones de manos para que las conexiones se registren. Se explora la generación de códigos de invitación utilizando métodos de cifrado como rot13 y la decodificación de base64, junto con el registro en plataformas similares a Hack the Box. Se discuten los desafíos enfrentados por los principiantes en hacking, concluyendo con posibles características como conexiones VPN en la plataforma.
La conversación también abarca la generación de diferentes puntos finales en una API, listando puntos finales, autenticando sesiones y verificando el estado de administrador. Se mencionan las VPN para usuarios específicos y los posibles riesgos de seguridad. Se detallan la ejecución de comandos de forma remota, la obtención de acceso al sistema y el manejo de tratamientos de consola.
Se discute la explotación de una API a través de curl, utilizando la falta de sanitización para obtener acceso, junto con la enumeración y explotación en un entorno controlado con Docker. También se cubre la búsqueda de credenciales en database.php, el acceso a correos electrónicos a través de SSH y la escalada de privilegios mediante la explotación de vulnerabilidades del kernel de Linux.
Se explora una vulnerabilidad que afecta a Ubuntu 22.04, proporcionando recursos para la instalación y explotación. Se demuestran la clonación de archivos, la compilación de binarios y la ejecución de comandos para acceder al directorio raíz y encontrar una bandera. Se decodifica un mensaje codificado en hexadecimal utilizando herramientas como PHP y CyberChef, expresando gratitud por alcanzar 2 millones de usuarios en la plataforma llamada 't millon'. El usuario reconoce a Hack The Box por su experiencia de aprendizaje y el ambiente amigable en sus oficinas.
Click on any timestamp in the keypoints section to jump directly to that moment in the video. Enhance your viewing experience with seamless navigation. Enjoy!
Keypoints
00:00:03
Descripción de la máquina
Máquina 2 millones de Hack de box es una máquina Linux de dificultad fácil con IP 10.10.10.111.
Keypoint ads
00:00:13
Exploración de conceptos
A pesar del nivel de dificultad fácil de la máquina, la discusión cubrirá conceptos interesantes, incluyendo la creación de un escáner de puertos sigiloso con scapy similar al escaneo sigiloso de Nmap.
Keypoint ads
00:00:40
Aplicación Práctica
La sesión demostrará prácticamente cómo construir un escáner moderadamente rápido aprovechando los conocimientos del curso ofensivo de Python en La Academia.
Keypoint ads
00:01:00
Uso de herramientas
La discusión utilizará en gran medida una aplicación introducida en el curso de introducción al hacking para la enumeración y explotación de APIs, empleando herramientas como Postman para la organización.
Keypoint ads
00:01:20
Escalada de privilegios
Se explorará una técnica de escalada de privilegios a través de la explotación del kernel utilizando overlight fs, un concepto previamente encontrado en la máquina del hospital.
Keypoint ads
00:02:01
Preparación
Se anima a los participantes a tener sus consolas listas para la sesión, asegurándose de que estén preparados para las demostraciones prácticas y discusiones.
Keypoint ads
00:02:24
Configuración del terminal
El orador utiliza Kitty con una configuración de Power Level 10k, empleando zsh con plugins específicos y personalizaciones para una experiencia optimizada.
Keypoint ads
00:02:36
Preferencia del sistema operativo
La migración temporal a Cali se debió a problemas con Parrot OS, pero con la resolución del problema en la última versión, el hablante ha regresado a Parrot OS, enfatizando una preferencia por él.
Keypoint ads
00:02:49
Personalización de Linux
El curso de personalización de Linux en La Academia se actualizó recientemente para mostrar la personalización de Parrot OS, destacando una experiencia fluida sin problemas.
Keypoint ads
00:03:18
Creación de directorio
Se crea un directorio llamado 'ton' utilizando la utilidad 'mkt', demostrando una configuración personalizada del flujo de trabajo para una organización eficiente del trabajo.
Keypoint ads
00:04:07
Valores TTL para máquinas Linux y Windows
En el contexto de Hack The Box, los valores de TTL alrededor de 64 son típicamente vistos para máquinas Linux y alrededor de 128 para máquinas Windows. Esta distinción es importante ya que ayuda a identificar el tipo de máquina que se está atacando durante la exploración de red.
Keypoint ads
00:05:02
Script de Python para la Detección de TTL
Un script de Python 3 está disponible que puede detectar el valor TTL de un objetivo sin necesidad de conocer rangos específicos. Este script proporciona una forma conveniente de determinar si una máquina está ejecutando Linux o Windows en función de su valor TTL.
Keypoint ads
00:05:28
Identificación de la máquina
Al usar el script de Python e ingresar la dirección IP, puede identificar con precisión si la máquina objetivo es un sistema Linux o Windows basado en el valor TTL reportado.
Keypoint ads
00:06:14
Exploración de puertos con Nmap
Al realizar un escaneo de puertos con Nmap, es crucial enfocarse en identificar los puertos abiertos en lugar de los filtrados. Esto garantiza que los resultados sean relevantes para un análisis y explotación posteriores.
Keypoint ads
00:06:47
Técnica de Escaneo Sigiloso
Utilizar un modo de escaneo Stealth en Nmap permite un proceso de escaneo más rápido y discreto. Al no completar el handshake de tres vías, el escaneo permanece sigiloso, reduciendo las posibilidades de dejar rastros y potencialmente aumentando la velocidad de escaneo.
Keypoint ads
00:07:42
Salida detallada en Nmap
Habilitar la opción de triple verbose en Nmap proporciona retroalimentación en tiempo real durante el proceso de escaneo, permitiendo la identificación inmediata de puertos abiertos a medida que avanza el escaneo. Este nivel de verbosidad ayuda en monitorear y analizar los resultados del escaneo de manera efectiva.
Keypoint ads
00:08:03
Medidas de seguridad de red
El orador discute medidas de seguridad de red, como deshabilitar la resolución de DNS y el descubrimiento de hosts ARP para mejorar la velocidad de escaneo y evitar posibles riesgos. Recomiendan usar parámetros específicos como '-pn' para evitar escaneos de red no deseados, especialmente cuando se está conectado a plataformas como Hack The Box.
Keypoint ads
00:09:00
Exportación de datos y análisis
El orador explica el proceso de exportar datos en formato 'grep' al archivo 'all ports' para un análisis eficiente. Destacan los beneficios de usar expresiones regulares (regex) para filtrar información relevante rápidamente y sugieren incorporar una función personalizada como 'extract ports' en el archivo 'zshrc' para la extracción de datos simplificada.
Keypoint ads
00:10:18
Exploración de puertos e identificación de servicios
El orador demuestra el uso de 'nmap' para el escaneo de puertos, identificando servicios como SSH en el puerto 22 y HTTP en el puerto 80. Hacen hincapié en la importancia de realizar escaneos exhaustivos para determinar los servicios y versiones que se ejecutan en un sistema, lo que permite una investigación adicional y recopilación de información.
Keypoint ads
00:11:29
Reconocimiento basado en scripts
El orador profundiza en la reconocimiento basado en scripts utilizando scripts Lua en 'nmap' para recopilar información detallada sobre servicios y sistemas. Explican cómo los scripts se categorizan según funcionalidades, permitiendo a los usuarios personalizar escaneos seleccionando categorías de scripts específicas o combinándolas para una reconocimiento completo.
Keypoint ads
00:12:05
Ordenación y visualización de datos
Al encerrar todo el resultado entre comillas dobles, presionar enter y aplicar un comando de ordenamiento, puedes ordenar alfabéticamente los datos. Esta representación visual ayuda a identificar repeticiones y listar cadenas únicas. Hay un total de 13 o 14 categorías que se pueden combinar según sea necesario.
Keypoint ads
00:12:36
Ejecución de script para detección de puertos
Los scripts para tareas de reconocimiento popular pueden ser solicitados, junto con la detección de la versión y servicio en ejecución en puertos específicos de una dirección IP dada. Estos parámetros pueden combinarse para mayor eficiencia y exportarse en formato nmap a un archivo llamado 'targeted' para mantener evidencia de escaneo.
Keypoint ads
00:13:30
Agradecimiento y Reconocimiento
Expresando gratitud por el apoyo y reconociendo la ayuda recibida en la ejecución de tareas. Enfatizando la importancia de mantener evidencia para todos los escaneos para evitar trabajo redundante y pérdida de tiempo.
Keypoint ads
00:13:45
Revisando el archivo 'targeted'
Examinando el archivo 'objetivo' para mejorar la legibilidad utilizando un alias 'bat' para el comando 'cat' con especificación de lenguaje para una mejor visualización. Se destacan los detalles sobre la vulnerabilidad del puerto SSH 22 debido a la versión superior a 7.7 y la redirección del puerto HTTP 80 a 'tum.millon.htb'.
Keypoint ads
00:15:02
Determinando la versión de Ubuntu
Utilizando encabezados para determinar la versión de Ubuntu buscando en Google con launchpad. Explorando posibles nombres en clave como 'ubuntu xenial', 'ubuntu trasti', 'ubuntu focal' y 'ubuntu yami'. El proceso implica un análisis descriptivo para confirmar la versión específica de Ubuntu.
Keypoint ads
00:16:06
Exploración de puertos con Scapy
Utilizando Scapy para el escaneo de puertos para agregar complejidad y evitar la monotonía en las interacciones de la máquina. Similar a nmap, esta herramienta mejora la experiencia de escaneo al proporcionar un enfoque diferente para el escaneo de puertos.
Keypoint ads
00:16:18
Resumen del Escaneo Sigiloso
La discusión profundiza en el concepto de un escaneo sigiloso, explorando cómo los paquetes son procesados a un nivel bajo a través de capas. El ponente planea crear un script utilizando Scapy para este propósito, recomendando la instalación de Scapy a través de 'pip 3 install scapy'.
Keypoint ads
00:17:01
Proceso de Escaneo de Conexión TCP
El orador explica el proceso de un escaneo de TCP Connect, ilustrando un apretón de manos de tres vías donde se envía un paquete SYN, seguido de una respuesta SYN-ACK, y finalmente un paquete ACK para establecer una conexión exitosamente. Se destaca la importancia de entender los orígenes y destinos de los paquetes para el desarrollo de scripts.
Keypoint ads
00:18:59
Diferencia con el Escaneo Sigiloso
Se hace una distinción entre un escaneo de conexión TCP y un escaneo sigiloso. En un escaneo sigiloso, el saludo de tres vías no se completa ya que el remitente no envía un paquete ACK después de recibir una respuesta SYN-ACK. Esto deja la conexión abierta, evitando el registro de evidencia de comunicación y potencialmente aumentando la velocidad de escaneo.
Keypoint ads
00:20:19
Script de Python para Escaneo de Puertos
Para realizar un escaneo rápido de puertos utilizando Scapy en Python, el ponente sugiere construir un script que utilice Scapy para el escaneo de puertos. El script debe implementar un enfoque de escaneo Stealth, donde el paquete final a filtrar sería un paquete de reinicio, indicando la finalización del escaneo.
Keypoint ads
00:20:35
Configurando barras de progreso con herramientas p
El orador planea usar herramientas p para crear barras de progreso en su programa, ya que le resulta visualmente atractivo. También mencionan la importación de módulos como Signal, sis y Time para funcionalidades adicionales.
Keypoint ads
00:21:01
Definiendo el Flujo Inicial del Programa
Antes de iniciar el programa, el orador configura una función de controlador para ejecutar cuando el flujo del programa se interrumpe por un comando Ctrl+C. Esta función mostrará un mensaje, como 'saliendo', en la consola y saldrá del programa con un código de error.
Keypoint ads
00:23:11
Escaneando Puertos
El orador discute ejecutar el script con una dirección IP y un rango de puertos, como 2-50, para escanear puertos dentro de ese rango. Enfatizan la importancia de proporcionar argumentos específicos al programa para una ejecución adecuada.
Keypoint ads
00:24:28
Validando los Argumentos del Programa
Para garantizar el uso correcto, el hablante valida el número total de argumentos pasados al programa. Esperan que el usuario ingrese una dirección IP y un rango de puertos, mostrando un mensaje de uso en rojo si los argumentos son incorrectos.
Keypoint ads
00:25:11
Configuración del script
La configuración del script implica especificar detalles como el nombre del script 'sis arc 0', la versión de Python 'python 3' y el rango de puertos a considerar. El nombre del script está resaltado en amarillo, al igual que la dirección IP y el rango de puertos.
Keypoint ads
00:26:03
Validación de entrada
La validación de entrada es crucial, como se demuestra por la necesidad tanto de una dirección IP como de un rango de puertos. La entrada incorrecta conduce a mensajes de error, mientras que la ejecución de la entrada correcta procede sin problemas.
Keypoint ads
00:27:01
Manejo de Rango de Puertos
Al manejar una entrada de rango de puertos como '4-78', dividir la cadena basándose en el delimitador de guion resulta en una lista con los puertos inicial y final. Convertir estos valores a enteros es esencial para un procesamiento adicional.
Keypoint ads
00:28:14
Asignación de Rango de Puertos Dinámica
La asignación dinámica del rango de puertos se logra definiendo una variable 'Rango de Puertos' que calcula el rango desde el puerto de inicio hasta el puerto final más uno. Este ajuste tiene en cuenta la naturaleza exclusiva del valor final en la función de rango de Python.
Keypoint ads
00:29:11
Uso de la Función de Rango
La función 'Range' en Python se utiliza para generar una secuencia de números que representan el rango de puertos. Sumar uno al puerto final asegura que se cubra todo el rango, incluido el puerto final especificado.
Keypoint ads
00:29:58
Configurando la función principal para el escaneo de puertos
El orador planea pasar los valores de IP y puerto total a una función llamada Main para el escaneo de puertos. Mencionan usar 'IP de destino' como parámetro inicial e iterar a través de cada valor de puerto para demostrar el número total de puertos.
Keypoint ads
00:30:40
Enviando paquetes al destino
Durante el proceso de escaneo, el orador explica la necesidad de enviar un paquete separado a cada puerto de destino utilizando scapy. Hacen hincapié en la importancia de construir los paquetes correctamente para una comunicación exitosa.
Keypoint ads
00:31:01
Escaneo de puertos individuales
El orador discute llamar a una función 'escanear Puerto' para escanear puertos individuales pasando la IP y valores de puerto específicos. Destacan la importancia de entender las estructuras de paquetes y la funcionalidad para un escaneo efectivo.
Keypoint ads
00:31:32
Desglose y análisis de paquetes
El orador demuestra el análisis de paquetes utilizando herramientas como tshark para analizar la composición de paquetes en detalle. Sugieren usar Wireshark para obtener una vista más completa de las capas de paquetes y encapsulación.
Keypoint ads
00:32:25
Comprendiendo las capas de paquetes
El orador explica las capas de paquetes, centrándose en las capas IP y TCP. Mencionan la encapsulación y la necesidad de representar con precisión las IPs de destino y los puertos de origen para una comunicación exitosa.
Keypoint ads
00:33:10
Utilizando Puertos Aleatorios para Escanear
Para garantizar un escaneo efectivo, el ponente sugiere utilizar puertos aleatorios como puertos de origen durante el escaneo. Mencionan el uso de 'rant short' para generar puertos aleatorios dentro del rango de 65,535 para una mayor eficiencia en el escaneo.
Keypoint ads
00:33:55
Configurando Puertos y Banderas
El orador discute la configuración de puertos y banderas para la comunicación de paquetes. Hacen hincapié en establecer los puertos de origen y destino correctamente, especificando el uso de 'rant short' para los puertos de origen aleatorios, y definiendo banderas como 'SIM' para la identificación de paquetes.
Keypoint ads
00:34:24
Manejo de errores en el procesamiento de paquetes
Al tratar con errores de procesamiento de paquetes, es esencial utilizar bloques try-except para capturar excepciones y mostrar mensajes de error descriptivos. Utilizar bibliotecas como pTools puede ayudar a presentar mensajes de error informativos para comprender el problema en cuestión. Establecer códigos y mensajes de error específicos puede ayudar en la resolución de problemas e identificación de la causa raíz de los errores.
Keypoint ads
00:35:16
Representación e interpretación de paquetes
En la representación de paquetes, distinguir entre valores hexadecimales como 0x02 y 0x12 es crucial para un manejo preciso de los paquetes. Es importante definir claramente los tipos de paquetes para evitar confusiones durante la transmisión o captura de paquetes. El uso de identificadores específicos como 's' para paquetes SYN y 'r' para paquetes de reset puede agilizar la interpretación y procesamiento de paquetes.
Keypoint ads
00:36:10
Pruebas y solución de problemas de paquetes
Probar la transmisión y recepción de paquetes a través de herramientas como tshark puede ayudar en analizar el comportamiento de los paquetes e identificar cualquier error en el proceso. Implementar mecanismos de manejo de errores y códigos de estado puede ayudar en diagnosticar problemas y refinar algoritmos de procesamiento de paquetes para mejorar la comunicación en red.
Keypoint ads
00:37:01
Estructura y configuración del paquete
Configurar estructuras de paquetes con la encapsulación adecuada, incluyendo las capas de IP y TCP, es esencial para definir de manera precisa los destinos de los paquetes, los puertos y las banderas. Utilizar funciones como randshort para generar puertos aleatorios dentro de un rango especificado puede mejorar la seguridad de los paquetes y la fiabilidad de la comunicación en la red.
Keypoint ads
00:38:21
Estableciendo los niveles de tiempo de espera y verbosidad
Establecer duraciones de tiempo de espera para respuestas de paquetes, como 2 segundos, y ajustar niveles de verbosidad para minimizar la salida innecesaria puede agilizar el procesamiento y análisis de paquetes. Al ajustar la configuración de tiempo de espera y la verbosidad, los administradores de red pueden optimizar la eficiencia en el manejo de paquetes y reducir el desorden de información superflua.
Keypoint ads
00:38:45
Advertencia de compatibilidad con Python 3
Al ejecutar código Python 3, puede encontrarse una advertencia de compatibilidad sobre tipos L3 incompatibles. Esta advertencia indica la necesidad de definir si el código está tratando con IPv4 o IPv6. A pesar de la advertencia, el código seguirá funcionando correctamente. Para abordar esta advertencia, se puede importar la biblioteca de registro y establecer el nivel de registro para mostrar solo errores críticos, ignorando advertencias y otros mensajes no críticos.
Keypoint ads
00:39:30
Estableciendo niveles de registro en Scapy
Para establecer niveles de error específicos en Scapy utilizando la biblioteca de registro, se puede utilizar el método 'getLogger' junto con 'setLevel'. Al especificar 'login.error', solo se mostrarán errores críticos durante la ejecución, ignorando advertencias no críticas. Esto permite un enfoque más centrado en el manejo de errores y el registro.
Keypoint ads
00:40:39
Exploración de puertos y análisis de paquetes
En el contexto del escaneo de puertos, enviar paquetes y analizar respuestas puede ayudar a determinar si un puerto está abierto o cerrado. Al enviar paquetes como SYN y SYN-ACK a puertos específicos, se pueden observar las respuestas para identificar puertos abiertos. Analizar las banderas de los paquetes, como la bandera SYN-ACK (0x12), puede indicar si un servidor ha respondido en un puerto particular, revelando su estado como abierto o cerrado.
Keypoint ads
00:43:22
Manejo de respuestas
Si la respuesta está vacía o carece de contenido, la función debe devolver falso. Esto indica que no se recibió información válida. Por otro lado, si la respuesta contiene datos, la función debe analizarlos para determinar si un puerto está abierto o cerrado.
Keypoint ads
00:43:31
Determinación del estado del puerto
Al examinar la respuesta, la función puede determinar el estado de un puerto. Si la respuesta indica 'verdadero', significa que el puerto está abierto y la función puede proceder a recopilar más información sobre el puerto.
Keypoint ads
00:44:10
Informe del Estado del Puerto
Cuando la respuesta es 'verdadero', indicando un puerto abierto, la función puede informar este estado indicando que el puerto está abierto y disponible para la comunicación. Esta información puede ser transmitida al usuario para tomar acciones adicionales.
Keypoint ads
00:44:44
Análisis de paquetes
Para determinar si un paquete es un paquete SYN, la función verifica si la capa TCP contiene el campo 'flx' con un valor de 12. Si se cumple esta condición, la función puede confirmar que el paquete es efectivamente un paquete SYN.
Keypoint ads
00:45:12
Manejo de paquetes
Si se encuentra que un puerto está abierto, la tarea de la función es enviar un paquete de reinicio para cerrar el puerto. Esta acción es necesaria para garantizar la seguridad y prevenir el acceso no autorizado a través del puerto abierto.
Keypoint ads
00:45:16
Manejo de errores
Si la respuesta no coincide con ninguna de las condiciones esperadas, la función debería devolver falso. Esto indica que el paquete recibido no es relevante para el escaneo y puede ser ignorado.
Keypoint ads
00:46:51
Seguimiento del progreso
Para proporcionar retroalimentación al usuario durante el escaneo de puertos, se puede mostrar una barra de progreso llamada 'escaneo tcp'. Esta barra se actualiza a medida que se escanea cada puerto, brindando información en tiempo real sobre el proceso de escaneo.
Keypoint ads
00:48:04
Estableciendo el puerto final para el escaneo
El orador menciona establecer el puerto final en 65535 para fines de escaneo. Explican que el puerto final se especifica como el puerto de destino final para el escaneo, que se indica con 'end Port' en la función principal.
Keypoint ads
00:48:49
Manejo de la Terminación del Escaneo
En caso de terminación del escaneo, el orador sugiere mostrar 'escaneo finalizado' para completar exitosamente y 'escaneo abortado' para salidas forzadas como usar control c. Discuten posibles mensajes como 'escaneo terminado (control c ha sido preestablecido)' o 'escaneo abortado' para indicar interrupción del escaneo.
Keypoint ads
00:50:32
Manejo de errores y retroalimentación
El orador menciona humorísticamente la posibilidad de mostrar 'escaneo abortado' para tareas incompletas debido a errores como la falta de definiciones de funciones. Enfatizan la importancia de prestar atención a los detalles y proporcionar retroalimentación constructiva para prevenir errores en el proceso de escaneo.
Keypoint ads
00:50:44
Eficiencia en el escaneo
Para mejorar la eficiencia del escaneo, el ponente recomienda utilizar hilos para acelerar el proceso. Sugieren importar la biblioteca 'threading' y organizar los hilos para ejecutar escaneos paralelos, pasando los puertos correspondientes para cada llamada. Este enfoque tiene como objetivo optimizar la velocidad de escaneo y la utilización de recursos.
Keypoint ads
00:51:27
Implementando el Multihilo para Escaneos Paralelos
El orador explica el proceso de implementar el multihilo para escaneos paralelos. Discuten la creación de una lista de hilos y el uso del módulo 'threading' para definir funciones de hilo con argumentos como direcciones IP y puertos. Al utilizar los hilos de manera efectiva, el proceso de escaneo puede acelerarse y gestionarse de manera más eficiente.
Keypoint ads
00:52:41
Configurando un escáner de puertos en Python usando Scapy
El orador explica el proceso de configurar un escáner de puertos en Python usando Scapy. Mencionan que la respuesta será una llamada a la función 'scan', pasando la IP y el puerto. Si la respuesta es verdadera, indica que el puerto está abierto. El orador discute la copia y pegado de código, el manejo de operaciones de anexar hilo, y la iteración a través de una lista de hilos para la paralelización.
Keypoint ads
00:54:01
Optimizando velocidad y rendimiento
El orador sugiere optimizar la velocidad y el rendimiento implementando la paralelización en el código. Recomiendan usar hilos y uniones para manejar múltiples llamadas de función de manera concurrente. El orador menciona probar para mejorar la velocidad, específicamente para los puertos 22 y 80, y aborda errores relacionados con las operaciones de hilo.
Keypoint ads
00:55:01
Estructura del paquete Scapy y rango de escaneo
El orador discute la conveniencia de Scapy para analizar estructuras de paquetes y crear paquetes personalizados. Mencionan el escaneo de puertos del 1 al 65535, destacando posibles retrasos en el escaneo de todos los puertos. El orador enfatiza la importancia de la precisión en informar los puertos abiertos y ajustar la configuración de tiempo de espera para las respuestas del servidor.
Keypoint ads
00:56:27
Gestionando limitaciones de hilos y escaneo sigiloso
El orador habla sobre cómo gestionar las limitaciones de los hilos utilizando ejecutores para un manejo eficiente de los hilos. Hacen hincapié en la importancia del escaneo sigiloso para evitar ser detectados por los servidores. El orador explica el concepto de olfatear paquetes y la importancia de completar el saludo de tres vías para establecer conexiones sin dejar rastros.
Keypoint ads
00:57:11
Estado de conexión y emisión de paquetes
El orador menciona que incluso si estás conectado, tu estado puede no mostrarse como conectado debido a la emisión de muchos paquetes, causando ruido. Esto está relacionado con los procesos ESAN y MAP.
Keypoint ads
00:57:33
Interacción con la máquina
El orador sugiere agregar alguna actividad a la máquina para hacerla menos aburrida, aunque la máquina ya es impresionante. Proceden a mencionar una dirección IP, 10.129.23.177, y discuten campos de inicio de sesión y autenticación.
Keypoint ads
00:58:13
Iniciar sesión en Hack the Box
El orador habla sobre el proceso de inicio de sesión en Hack the Box, mencionando que no es un hack oficial de Hack the Box. Discuten el 'Antiguo login' y la falta de funcionalidades definidas como la recuperación de contraseña.
Keypoint ads
00:58:40
Membresía de Hack the Box
El orador rememora el proceso pasado de obtener un código de membresía para Hack the Box registrándose y obteniendo un código de invitación. Mencionan la funcionalidad de 'unirse' y el proceso de generación de códigos de invitación.
Keypoint ads
00:59:07
Generación de código y encriptación
El orador demuestra la generación de código para un código de invitación, señalando que los datos están encriptados. Mencionan el tipo de encriptación 'rot 13' y sugieren verificar el tipo de encriptación para desencriptar los datos.
Keypoint ads
01:00:02
Encriptación ROT13
El orador explica el método de encriptación ROT13, donde cada letra se rota 13 posiciones en el alfabeto. Proporcionan un ejemplo de cómo aplicar la encriptación ROT13 usando el comando 'TR' en la consola.
Keypoint ads
01:01:40
Solicitud de API y Decodificación
Una solicitud se puede hacer al punto final http://mion.htb usando curl, que parece tener una API detrás de él. La respuesta probablemente esté en formato JSON. Al decodificar un valor base64 encontrado en la respuesta, se puede obtener una invitación de código similar a las utilizadas en plataformas como Hack The Box.
Keypoint ads
01:02:13
Invitación de código
Decodificar el valor base64 revela una invitación de código, reminiscente de procesos de registro de plataformas como Hack The Box de hace unos 10 años. Este código puede ser utilizado con fines de registro.
Keypoint ads
01:03:46
Registro de usuario
Un usuario con el nombre de usuario 'savitar' y el correo electrónico 'savitar@sbcglobal.net' se ha registrado exitosamente. El proceso de registro implica ingresar un código de invitación y crear una contraseña.
Keypoint ads
01:04:19
Reconocimiento de suscriptores
Se da reconocimiento a los suscriptores, incluyendo a 'sebiJesúsrm69' por 5 meses, 'Iván Pérez Molina' por 3 meses, 'sulivan gfx' por 21 meses, y 'suvanjef' por un regalo de suscripción. Se extienden agradecimientos especiales a los moderadores 'Alex calion' y 'matc9' por su apoyo.
Keypoint ads
01:04:48
Desafíos del Registro
Se destaca la dificultad y confusión inicial enfrentada durante el proceso de registro, enfatizando la necesidad de orientación por parte de individuos experimentados. Superar los desafíos iniciales llevó a un viaje de aprendizaje y desarrollo de habilidades en el campo del hacking.
Keypoint ads
01:05:26
Experiencia de aprendizaje
El orador reflexiona sobre su viaje de aprendizaje, mencionando la importancia de la orientación práctica en el hacking. Comenzando con un conocimiento mínimo, el orador adquirió gradualmente habilidades y conocimientos, enfatizando el valor de la experiencia práctica sobre la comprensión teórica.
Keypoint ads
01:05:33
Funcionalidad del sitio web
Algunas funciones en el sitio web, como 'Ver mi perfil' y 'Configuración de la cuenta', se señalan como no funcionales, pareciendo el diseño del sitio web de sus primeros días. El hablante expresa curiosidad sobre la posibilidad de descargar una VPN similar a la de Hack The Box para conexiones seguras.
Keypoint ads
01:05:57
Generación de VPN
El orador explora la opción de generar un paquete de conexión VPN similar al de Hack The Box. Al pasar el cursor sobre las opciones 'paquete de conexión' y 'regenerar', se identifican distintos puntos finales relacionados con la generación de VPN, insinuando posibles funcionalidades futuras.
Keypoint ads
01:06:24
Accediendo a los puntos finales de la API
Para acceder a los puntos finales de la API, se puede intentar enviar una solicitud GET y manipular la URL. Al jugar con el modo detallado, es posible que se requiera un conjunto de autorización, posiblemente debido a la necesidad de llevar una cookie de sesión. Esto implica configurar un encabezado con el valor de la cookie de sesión. El uso de jq puede ayudar a ver diferentes puntos finales existentes.
Keypoint ads
01:07:26
Registro de usuario e inicio de sesión
Para el registro de usuarios y el inicio de sesión, es probable que ciertas solicitudes se procesen a través de POST a rutas específicas de la API. Existe una sección de administrador para verificar si un usuario es un administrador enviando una solicitud GET a 'Api v1 admin'. Además, es posible interactuar con otras rutas utilizando solicitudes PUT.
Keypoint ads
01:08:05
Generación de VPN
Generar una VPN para un usuario específico, no el usuario actual, puede ser crítico. Sin embargo, intentar generar una VPN para otro usuario puede requerir privilegios administrativos. Sin la autorización adecuada, intentar generar una VPN puede resultar en una respuesta de 'no autorizado'.
Keypoint ads
01:09:11
Exploración de punto final de API
Explorar más puntos finales de API revela opciones como 'Actualizar configuraciones de administración de la versión de la API' que permite cambiar las características del usuario. Se debe tener cuidado ya que esta acción podría tener implicaciones significativas. Al trabajar con APIs, asegurarse de que el tipo de contenido correcto, típicamente 'application/json', es crucial para solicitudes exitosas.
Keypoint ads
01:11:17
Convirtiéndose en Administradores
El orador menciona que ahora son administradores pero expresan insatisfacción con la configuración actual, indicando la necesidad de mejoras.
Keypoint ads
01:11:23
Generando VPN
Discusión sobre el proceso de generar una VPN para un usuario enviando una solicitud con los detalles del usuario en formato JSON, resaltando la importancia de especificar el nombre de usuario.
Keypoint ads
01:11:46
Cambios en la respuesta
Observando un cambio en la respuesta de 'no autorizado' a 'tipo de contenido no válido' después de modificar los encabezados de la solicitud para incluir 'tipo de contenido aplicación/json' y proporcionar el parámetro 'nombre de usuario'.
Keypoint ads
01:12:23
Generación dinámica de VPN
Observación de que el sistema genera una VPN basada en el usuario especificado en la solicitud, lo que sugiere una posible ejecución de comandos a nivel de sistema para la creación de la VPN.
Keypoint ads
01:13:00
Preocupaciones de seguridad
Destacando la importancia de garantizar la validación de entrada para prevenir ataques de inyección de comandos, advirtiendo sobre posibles vulnerabilidades en el proceso de creación de VPN.
Keypoint ads
01:14:15
Ejecución remota de comandos
Discusión sobre la falta de capacidades de ejecución de comandos remotos, seguida de un escenario hipotético de obtener acceso al sistema escuchando en el puerto 443 para una shell inversa.
Keypoint ads
01:15:02
Gestión de terminales
Explicación sobre cómo gestionar la terminal de manera efectiva aplicando comandos específicos para mantener el control y prevenir la terminación accidental de servicios.
Keypoint ads
01:15:36
Configuración del entorno de terminal
El valor de 'term' debe establecerse en 'X term' para habilitar el control. Si la terminal no tiene 'bash', se recomienda exportar 'shell bash'. Ajustar las dimensiones de la terminal para que coincidan con el tamaño de la ventana de la terminal es crucial para un funcionamiento adecuado.
Keypoint ads
01:16:13
Explotación de API
Explotar una falta de saneamiento de API a través de 'curl' puede llevar a vulnerabilidades de seguridad. La explotación detallada de API se cubre en una sección dedicada de la academia, ofreciendo ejemplos y ejercicios prácticos para la enumeración y explotación en un entorno controlado.
Keypoint ads
01:17:00
Plan de estudios de la academia
La academia ofrece un curso completo sobre la explotación de API, dedicando aproximadamente una hora para cubrir temas como la enumeración y explotación en un entorno controlado utilizando Docker. El curso proporciona ejemplos detallados para una comprensión más profunda de la seguridad de API.
Keypoint ads
01:17:25
Personalización de Linux
La academia también abarca la personalización de Linux, guiando a los estudiantes en la configuración de su entorno para un rendimiento óptimo. Los estudiantes pueden personalizar su configuración, explorar recursos y cambiar entre modos claro y oscuro para una experiencia personalizada.
Keypoint ads
01:18:53
Configuración del entorno
Ya sea utilizando Parrot o Kali, configurar el entorno es similar y no debería plantear desafíos significativos. Ambas distribuciones ofrecen herramientas y funciones para un trabajo cómodo y eficiente, permitiendo a los usuarios crear espacios de trabajo, abrir múltiples consolas y personalizar su configuración.
Keypoint ads
01:19:00
Seguridad de la base de datos
En un archivo PHP llamado 'database.php', las credenciales como nombre de usuario y contraseña suelen ser almacenadas. Sin embargo, utilizar variables de entorno para almacenar información sensible como el host, usuario y contraseña puede mejorar la seguridad. Acceder a las credenciales desde variables de entorno puede prevenir exponerlas en texto claro.
Keypoint ads
01:20:20
Accediendo al correo electrónico
Para acceder a los correos electrónicos, navegue hasta el directorio 'bar mail' donde se encuentra un archivo de correo electrónico. Al examinar las enumeraciones del sistema, se pueden identificar los privilegios de usuario y las membresías de grupo, como no tener privilegios de sudo o ser parte del grupo 'docker'.
Keypoint ads
01:21:40
Análisis de sistemas
Analizar un sistema Ubuntu Yami revela una versión del kernel de 5.1.7, potencialmente explotable para la escalada de privilegios utilizando técnicas como overlay fs. A pesar de dudas anteriores, el sistema carece de binarios explotables con permisos setuid.
Keypoint ads
01:22:25
Búsqueda de propiedad de archivo
Realizar búsquedas de archivos propiedad de 'admin' desde el directorio raíz puede revelar archivos potencialmente interesantes. Filtrar directorios irrelevantes como 'sis' y 'proc' utilizando redirección y tuberías puede llevar a descubrir archivos como 'bar mail admin' que contienen información valiosa.
Keypoint ads
01:23:39
Visita a Hack The Box
Recordando una visita a las oficinas de Hack The Box en Grecia, donde la CEO, Pilarin, estaba ausente. A pesar de reunirse con el equipo de marketing y recibir regalos como calcetines, camiseta y llavero de Hack The Box, el ambiente era acogedor. La comunicación fue en inglés, mostrando competencia, y se mencionó un proyecto reciente de migración de base de datos.
Keypoint ads
01:24:39
Mantenimiento del servidor y actualización del sistema
El orador menciona la necesidad de mantenimiento del servidor y una actualización del sistema debido a vulnerabilidades recientes relacionadas con el kernel de Linux. Específicamente, se han identificado vulnerabilidades como overlight fs fuse, que podrían potencialmente llevar a exploits de escalada de privilegios.
Keypoint ads
01:25:26
Permisos de usuario y Escalada de privilegios
El orador explica la diferencia entre ser un administrador y tener acceso de root, resaltando las limitaciones de no tener privilegios de root. Esta distinción se vuelve crucial al intentar explotar vulnerabilidades y elevar privilegios en un sistema.
Keypoint ads
01:26:43
Explotando vulnerabilidades
El orador discute el proceso de clonación y transferencia de archivos de explotación a una máquina objetivo, enfatizando la importancia de comprimir archivos para una transferencia eficiente. Siguiendo pasos específicos como compilar binarios y ejecutar comandos, el orador demuestra cómo explotar vulnerabilidades con éxito.
Keypoint ads
01:28:02
Decodificación de mensajes
El orador decodifica un mensaje utilizando codificación de URL y demuestra la conversión de datos hexadecimales a texto legible. Al utilizar herramientas como PHP para decodificar y xxd para la conversión inversa, el orador muestra un método para revelar mensajes e información oculta.
Keypoint ads
01:29:22
Método de descifrado usando XOR y Base64
El orador explica un método de descifrado utilizando XOR y Base64. Mencionan usar Cyber Chef para romper la encriptación rápidamente ya que la clave es conocida. Al convertir una cadena Base64 a hexadecimal y aplicar XOR, descifran el mensaje 'Hack de box'.
Keypoint ads
01:30:39
Celebración de 2 millones de usuarios en la plataforma
El orador expresa gratitud por alcanzar los 2 millones de usuarios en la plataforma, mencionando la máquina 't millon' nombrada en celebración. Elogian el esfuerzo puesto en la creación de máquinas de alta calidad por el equipo de Hack de box, expresando admiración y respeto por su trabajo.
Keypoint ads
01:31:11
Agradecimiento hacia el equipo de Hack de Box.
El orador recuerda visitar las oficinas de Hack de Box y expresar gratitud al equipo por su impacto en su proceso de aprendizaje. Mencionan el deseo de comunicarse mejor en inglés para transmitir el impacto significativo que el equipo ha tenido en su vida y carrera, enfatizando una profunda apreciación y respeto por el equipo.
Keypoint ads
01:31:49
Pensamientos finales y agradecimientos
En conclusión, el orador reitera su admiración y respeto por el equipo de Hack de Box, reconociendo la influencia positiva que el equipo ha tenido en su vida. Expresan gratitud y admiración, destacando la experiencia y el impacto en su experiencia de aprendizaje.
Keypoint ads