View Allhactivities

Latest News

sábado, 6 de septiembre de 2025

Código en las Ruinas: Manual de Supervivencia a Bajo Nivel - Low-Level Survival Manual(L-LMG)

 

 

El mundo que conocías se acabó.

 

Las ciudades ardieron. Las redes colapsaron. Los servidores se convirtieron en chatarra oxidada bajo el sol de un cielo envenenado. Los lenguajes de alto nivel, esos castillos de naipes construidos sobre capas y capas de abstracción, se desvanecieron como el humo de los últimos generadores. Ya no hay frameworks. Ya no hay bibliotecas. Ya no hay "hello world" que funcione con un clic. 

Solo queda el metal, el silicio, la electricidad robada de cables pelados y baterías moribundas.

Ahora solo sobreviven los que entienden cómo habla la máquina. Los que pueden escribir en el lenguaje de los dioses caídos: el código a bajo nivel, Ensamblador. C puro y manipular Registros de Memoria cruda. Aquí, cada instrucción, cada byte malgastado cuenta. Cada ciclo de CPU es un recurso más valioso que el agua.

Esta serie no es un tutorial. Es un manual de supervivencia. Aprenderás a reprogramar microcontroladores con herramientas improvisadas, a optimizar código como si tu vida dependiera de ello (porque así es), a hackear hardware cuando el software ya no responde, y a descifrar el legado de los antiguos ingenieros, cuyos manuales se perdieron en el fuego.

No hay "ctrl+z". Solo hay tú, la máquina y el código que la domina.


martes, 12 de agosto de 2025

HTB Code

 

 

Hoy quiero hablarles sobre mi Code, una experiencia que, como cada vez que me enfrento a uno de estos desafíos, me dejó tanto aprendizajes como preguntas.

Para comenzar se hizo un escaneo de todos los puertos abiertos, y luego se escaneó estos para descubrir información valiosa sobre el servidor.

 

Una vez esto se ingresa al sitio con el  puerto 5000, este es un editor de código Python.

 

 En este punto comienza un reto interesante, que es intentar eludir ciertos parámetros para que se ejecute mi código Python, ya que estas protecciones restringen la invocación de algunos elementos que se han considerado en lista negra.

Lo primero fue encontrar la forma de que se imprimiera información que ayudara como punto de partida, en Python existe una función que almacena las variables globales. 

 

 

También se pueden extraer las variables globales como claves con ".key()"  

 

Se puede observar que el módulo "os" está habilitado; sin embargo, al intentar impórtalo no es posible, ya que ambas palabras han sido restringidas.

 

Así que una forma es acceder a ese módulo a través de la variable global, pero hay un inconveniente sobre el nombre del módulo, aún sigue estando restringido. 

 

La forma de abordar esta dificultad es abusar de la forma como está tratando este filtro, las palabras restringidas, y a la vez lo interprete Python pueda ejecutarlo. Una forma es tratarlo como cualquier string, se puede jugar con esa propiedad para sortear ese control.

 

 Ahora que podemos utilizar el módulo "os", lo siguiente es intentar ejecutar bash desde Python, pero siguen apareciendo palabras restringidas. 

 

Una forma de llamar obtener el valor de popen, es a través de la función "getattr", de esta forma se puede obtener esta propiedad.

 

Ahora para traer el id del usuario en el servidor, se debe invocar la función "read" para ser legible el resultado, el uso de "()" es para hacer llamado de la función  y poderlo imprimir. 

 

Es hora de utilizar Shell reverso, donde se hace llamado a mi máquina por el puerto abierto que estará esperado conexión.

 

La función anterior no imprimió nada, pero se obtendrá acceso a la máquina donde se encontrara la primera bandera.

 

 

 

 Lo siguiente es intentar escalar privilegios, buscando en las carpetas se encontró un archivo ".db", donde al abrirlo se pudo encontrar 2 usuarios con hashes. 

Se trata de crackear estos hashes con una herramienta online.

 

Estas credenciales las utilizo para intentar ganar más privilegios, funcionando con el usuario "martin". Luego se verifica los privilegios que posee este usuario, lo cual un script posee privilegios de root.

 

 

Se revisa la carpeta backup, ahí se encontró una carpeta con la aplicación, un backup y un archivo llamado "task.json". Este último parece mucho más interesante porque su estructura es para almacenar parámetros.

 

 

Al buscar y abrir el archivo "backy.sh, utiliza como parámetros "task.json" para realizar backups. Al modificar la variable que controlaba el directorio que iba a empaquetar, pudo hacerse al directorio de root. 

 

 

Se ejecuta el script con permisos sudo y pasándole el archivo previamente creado.

 

 

Ahora solo es descomprimir  la nueva copia de seguridad y leer la flag de root.  

 

ref: 0xdf, hackthebox 

martes, 1 de julio de 2025

Guía Definitiva para Usar OWASP Zed Attack Proxy (ZAP): Primeros Pasos Configuración


¿Qué es OWASP ZAP?

OWASP ZAP (Zed Attack Proxy) es una herramienta de seguridad de código abierto que te permite encontrar vulnerabilidades en tus aplicaciones web. Es mantenida por la comunidad OWASP, una organización sin fines de lucro dedicada a mejorar la seguridad del software.


Configuración Inicial de OWASP ZAP


Para comenzar con la instalación, dirígete a la página principal dando click aqui, donde encontrarás diversas versiones del software, dependiendo del sistema operativo de tu equipo. En mi caso, utilizaré la versión para Linux Installer.

Al hacer clic en el botón de descarga, obtendrás un archivo con extensión ".sh". A este archivo, deberás otorgarle los permisos necesarios, en este caso, los permisos de ejecución. Luego, lanza el archivo con los permisos de "sudo".



Una vez iniciado el proceso, aparecerá una ventana de instalación que te guiará a través de los siguientes pasos: aceptar los términos y condiciones, seleccionar el tipo de instalación y elegir la ubicación donde deseas instalar el software.



Para finalizar, realiza una búsqueda de ZAP en la barra de búsqueda y haz clic en el icono que aparece.




Con esto ya tenemos zap corriendo en la maquina.



 

Configuracion de ZAP


Para utilizar la herramienta se debe configurar previamente tu navegador con un plugin ampliamente reconocido llamado Foxyproxy, que se instalara como extension de tu navegador. Una vez esto, se ingresar toda la información requerida.



Como ultimo paso se debe agregar un certificado proporcionado por ZAP, este garantiza la seguridad de la transmisión de datos. Sin este certificado, la transmisión de la información podría verse interrumpida en sitios web que utilicen SSL/TLS. Para esto se ejecuta ZAP, y en el navegador mientras esta activo la intercepcion de trafico. Se  ingresa a http://zap/ , se da click en la parte de download y se descargara un archivo con extension ".cer".



En las configuraciones del navegador, en la barra de busqueda se introduce certificado, y se le da un click. 


Ahi la seccion de authorities, se da click en importar y se busca el certificado previamente descargado.



Para finalizar, un pop-up aparecera para pedir una confirmacion sobre el certificado, en mi caso marco ambos y click en ok.



 C

****

Ahora es psible interceptar las peticiones a travez de ZAP, pronto les comparto mas detalles de las funcionalidades de esta poderosa herramienta.

ref: OWASP ZAP

jueves, 15 de mayo de 2025

Sindrome del Impostor

 

Síndrome de Impostor

 


 

Viendo un video reciente de una persona que sigo desde hace bastantes años, le hacen una pregunta de como superar el síndrome del impostor y haciendo una analogía de pulir el metal hasta obtener una superficie de espejo. Él decía que esa la tarea era muy intensa porque a unos metros podrías verlo perfecto, pero a unos centímetros parecía basura. Puedes pulir  e incrementar a compuestos más finos. Y el verdadero truco para pulir superficies así, es la paciencia. Y se le ocurrió una ecuación, una fórmula para  explicar este tipo de situaciones.

 

Q=E+S+T

 donde Q es Quality(Calidad) la calidad general que se está buscando es equivalente a tu Experience(Experiencia) más tu Skill (Habilidad) más Time (Tiempo).

 

 Él dice que se separó la experiencia de la habilidad, por qué la experiencia está en un rango más alto en una gran gama de materias. Tengo habilidad con un rango más pequeño de materias. 

 

Esto es así porque la experiencia permite analizar y comprender mejor las cosas que no conozco aún. Mientras que la habilidad es tu talento específico con un proceso específico. La experiencia es un conocimiento más general de múltiples procesos y también tu forma de abordar las cosas.

 Él retoma con un ejemplo,  que pasaría si no tengo ninguna habilidad y tengo que recurrir únicamente a mi experiencia y el tiempo relativo, se puede hacer, incrementando el tiempo requerido. Las habilidades específicas se pueden sustituir con tiempo si se tiene el suficiente e igualmente pasa con la experiencia.

 

Y eso no ayuda al pulido porque simplemente significa que para obtenerlo lo que se quiere simplemente tendrás que esforzarte, no hay atajos para lograr un acabado de espejo. Fue una reflexión bastante ingeniosa para llegar a la conclusión de que la excelencia requiere dedicación y paciencia.