Cyberhades

Web Name: Cyberhades

WebSite: http://www.cyberhades.com

ID:129906

Keywords:

Cyberhades,

Description:

Durante nuestro paso por la RootedCON de este año 2020, mi compañero de batalla Fran Ramírez y un servidor no sólo tuvimos las oportunidad de dar una presentación, sino también tuvimos el privilegio de ser entrevistado por Gonzalo Álvarez Marañón, para la segunda temporada del podcast de ElevenPaths Radio, un crack donde los haya y para nosotros un gran orgullo poder ser entrevistados por alguien a quién admiramos.El podcast lo grabamos en el Kinépolis en la tarde del sábado (último día de la RootedCON). En el mismo tuvimos la oportunidad de hablar sobre una de nuestras pasiones: la historia, o mejor dicho, las microshistorias de la informática. En esta ocasión el foco de la entrevista fue sobre la influencia que la mujer ha tenido en este campo, esas hackers ocultas . Ayer hice una presentación sobre TLS para desarrolladores, bueno más bien un taller, y uno de los ejercicios consistía en ejecutar un servicio con un certificado caducado para hacer algunas pruebas.Para ello tenía que crearme un certificado caducado, y yo que soy muy listo, me dije nada, cuando cree al certificado lo pongo el número de días de caducidad en negativo y listo. Así, si queremos crear un certificado que caducó hace 5 días:openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days -5req: Non-positive number -5 for -daysreq: Use -help for summary.Pues eso, que al final no soy tan listo :DAsí que a buscar se dijo. La mayoría de las soluciones que encontré requerían el cambio de la fecha del sistema por una fecha pasada y luego generando el certificado pasándole el número de días de su caducidad, que obviamente, sumando dicho valor a la fecha de sistema no pasara la fecha actual.La verdad que la idea de cambiar la fecha del sistema pues no me hacía mucha gracia, pero luego pensé, bueno si lo hago desde un contenedor ¿Qué más da? Así que levanté un contendor con ubuntu y ejecuté el comando date:docker run -it --rm ubuntu:18.04root@c09ad5d2689d:/# date +%Y%m%d -s 20200101 date: cannot set date: Operation not permitted20200101root@c09ad5d2689d:/#Otro batacazo :(. Claro esto tiene sentido. Los miles que os habéis leído el libro de Docker: SecDevOps XD sabréis que un contenedor Docker no es más que un proceso más en el sistema, y éste comparte el mismo reloj. Por lo tanto cambiar la fecha en el contenedor cambiaría también la fecha del sistema, además para ello, tendrías que correr el contenedor con privilegios elevados ( privileged).Volviendo a la casilla cero, la idea era el no cambiar la fecha del sistema, así que después de seguir buscando una solución al problema, finalmente encontré una utilidad llamada faketime. Esta utilidad de acuerdo a la documentación, es una simple capa encima de la librería libfaketime. Dicha librería permite la modificación de la fecha para una aplicación sin afectar al sistema. Esta librería intercepta algunas llamadas del sistema y faketime haciendo uso de LD_PRELOAD nos permite establecer la fecha y la hora para una aplicación específica.Por lo tanto, ejecutando el siguiente comando:faketime '2020-01-01' openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 1Creamos un certificado cuya validez va desde el 1 de enero al 2 de enero del 2020. Verifiquémoslo:openssl x509 -in server.crt -text -noout Validity Not Before: Jan 1 00:00:05 2020 GMT Not After : Jan 2 00:00:05 2020 GMTfaketime acepta varias formas de especificar la fecha como puede observarse en la documentación:faketime 'last Friday 5 pm' /bin/datefaketime '2008-12-24 08:15:42' /bin/datefaketime -f '+2,5y x10,0' /bin/bash -c 'date; while true; do echo $SECONDS ; sleep 1 ; done'Si quieres probarlo por ti mismo, puedes instalártela o puedes crearte un contenedor Docker. Para ello o bien te creas la imagen de forma manual, o puedes usar doig:doig -u -i mytools -t faketimeY luegos ejecutas el contenedor:docker run -it --rm mytoolsPor cierto si quieres jugar con certificados con problemas , https://badssl.com es un gran recurso. Este es un proyecto que llevaba tiempo dándole vueltas con Fran y que por fin he encontrado algo de tiempo para dedicarle.La idea es muy sencilla, básicamente es el crear una imagen Docker con ciertas herramientas sin tener que tener conocimientos de cómo crear una imagen Docker o de cómo instalar dichas herramientas.Por ejemplo, supongamos que queremos lanzar sqlmap contra una aplicación web, y en ese momento no tenemos a mano nuestra querida Kali, y tampoco queremos buscar sqlmap e instalarla en nuestro sistema. Una forma muy conveniente y limpia sería ejecutarla desde de un contenedor Docker, y cuando terminemos nos deshacemos del contendor y listo. Nuestro sistema se queda intacto . Para esto, uno tendría que crear un fichero Dockerfile, añadir los comandos necesarios para instalar sqlmap, y por último construir la imagen Docker, o buscar una imagen ya creada con sqlmap y usar dicha imagen, etc.Docker Image Generator es un proyecto que permite crear imágenes Docker sin tener que crear Dockerfiles, que contenga las herramientas que le digamos, siempre y cuando estén disponibles en el proyecto.Este proyecto, aunque las herramientas que incluye son de ciberseguridad, es un proyecto genérico que puede ser extendido con herramientas de cualquier tipo, siempre y cuando puedan correr dentro de un contenedor Docker.El proyecto está escrito en go y he creado los binarios para Linux, MacOS y Windows.Si lo prefieres, puedes compilar tú mismo el proyecto (necesitarás una versión de go con soporte para módulos en tu sistema). Para ello sólo tienes que clonar el repositorio y ejecutar:go buildO puedes usar makemake buildUna vez compilado o descargado (y extraído el contenido del .tgz) el proyecto, deberías tener un binario llamado doig, un directorio llamado tools y un fichero llamado Dockerfile.template.Veamos la ayuda:./doig -hThis tool creates a customized docker image with the tools you needUsage: doig [--tools TOOLS] [--category CATEGORY] [--image IMAGE] [--dockerfile] [--list]Options: --tools TOOLS, -t TOOLS List of tools separated by blank spaces --category CATEGORY, -c CATEGORY List of categories separated by blank spaces --image IMAGE, -i IMAGE Image name in lowercase --dockerfile, -d Prints out the Dockerfile --list, -l List the available tools and categories --help, -h display this help and exitVeamos las herramientas que tenemos disponibles:./doig -l[*] Tools [-] altdns [-] amass [-] anonsurf [-] bucket_finder[*] Categories [-] powershell [-] scanner [-] reversing [-] osintSi miramos dentro del directorio tools, ahí podremos ver todas las herramientas registradas. Cómo se puede ver, los ficheros son ficheros .ini, y su contenido es muy sencillo, lo que nos permite extender esta aplicación con más herramientas de cualquier tipo. Todo lo que tenemos que hacer es saber que necesitamos hacer dentro de la imagen para instalarlas.Veamos un ejemplo de cómo podríamos crear una imagen con sqlmap y nmap:./doig -i ejemplo -t nmap sqlmapSuccessfully built b2a1675f6331Successfully tagged ejemplo:latestTools added to the image: [-] sqlmap [-] nmapLo que hemos hecho es especificar con la opción -t las herramientas que queremos, y con la opción -i decimos que queremos crear una imagen con el nombre dado, en este caso ejemplo.Si en vez de crear una imagen docker, queremos simplemente obtener el fichero Dockerfile para generar la imagen, podemos usar la opción -d:./doig -d -t nmap sqlmapFROM ubuntu:18.04RUN apt update \ apt install -y software-properties-common git curl p7zip-full wget whois locales python3 python3-pip \ add-apt-repository -y ppa:longsleep/golang-backports \ apt update \ localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8WORKDIR /optENV LANG en_US.utf8RUN apt install -y nmap \ apt install -y sqlmap \ rm -rf /var/lib/apt/lists/*Si hemos ejecutado el comando que nos genera la imagen, deberíamos tener un imagen llamada ejemplo, y todo lo que tenemos que hacer es ejecutar un contenedor con dicha imagen:docker run -it ejemploroot@f754ee45fac7:/opt#Y desde ahí deberíamos ser capaz de ejecutar tanto nmap, como sqlmap.También podríamos ejectuar cualquiera de esos comandos directamente sin tener que entrar en una shell en el contenedor:docker run -it ejemplo nmap localhostStarting Nmap 7.60 ( https://nmap.org ) at 2020-04-12 14:22 UTCNmap scan report for localhost (127.0.0.1)Host is up (0.000046s latency).Other addresses for localhost (not scanned): ::1All 1000 scanned ports on localhost (127.0.0.1) are closedNmap done: 1 IP address (1 host up) scanned in 1.68 seconds** Recuerda que el comando se ejecuta dentro del contenedor, por lo que localhost es el contenedor y no tú host.Por último mencionar que cada herramienta tiene definida una categoría, y existe la posibilidad de instalar todas las herramientas de una o más categorías con la opción -c:./doig -c recon -i imagen-reconSuccessfully built bb4598f26508Successfully tagged imagen-recon:latestTools added to the image: [-] wafw00f [-] cloudflair [-] massdns [-] theharvesterEl comando anterior instala todas las herramientas en la categoría recon. Cómo se puede ver, al final se listan las herramientas instaladas en la imagen.Al hora de correr el contendor, se le puede sacar mucho más partido si sabemos usar Docker. por ejemplo puedes querer compartir ficheros entre el contenedor y tu sistema, o ejecutar el contenedor con cierto privilegios, etc. Si quiere aprender más sobre Docker, internet está lleno de recursos, pero si prefieres documentació en español y en papel te recomiendo este magnífico libro: Docker: SecDevOps ;)El proyecto está en continuo desarrollo, y estamos trabajando en mejorar el código (refactorización, tests, etc), estamos añadiendo más herramientas y nuevas funcionalidades.Si lo pruebas y encuentras errores reportalos para que los podamos arreglar o colabora con un pull request, tanto para mejoras, cómo para añadir nuevas herramientas.Quiero dar las gracias Oscar por su colaboración con el proyecto, así cómo a los viejos de la vieja escuela: Fran, Alberto y Enrique, por sus ideas, apoyo y aguantarme :D

TAGS:Cyberhades 

<<< Thank you for your visit >>>

Explorando los rincones de Internet

Websites to related :
Speech Ladies / FrontPage

  If you are citizen of an European Union member nation, you may not use this service unless you are at least 16 years old. Stop wasting time looking fo

NAKED AND AFRAID

  Think you could do better in thewild than those naked guys and gals on TV? Before you experiment with gettingwacky in the wilderness, see how you stac

City of Binghamton

  Mayor Richard C. David Welcome to the City of Binghamton's new website, your "virtual City Hall," which will connect you to the resources and informat

ILLBALLERZ

  Content Warning: This essay contains strong language about suicide and suicidal thoughts.There was a point in time when I thought about killing my...

Clit Clamps - Buy Clit Clamps an

  FREE DOMESTIC SHIPPING on orders over $99 Holiday Sale going on now! USE CODE: HOLIDAY FOR 20% OFF your next order! When You Sign Up to our Exclusive

Supra Forums

  JavaScript is disabled. For a better experience, please enable JavaScript in your browser before proceeding.Since 2001Supra Forums is the largest onli

Define life | Dictionary and The

  Syriac: ܚܝܐ(khayē) m|pHebrew: חיא(khayē) m|pArmenian: կյանք(kyank‘)Catalan: vidaCzech: životDanish: livDutch: levenEsperanto: vivoFinni

Ancestrally Challenged

  This is a really interesting story on an unknown grave in Aiken Co. SC, You can see a picture of the grave on our Dicsussion ForumAccording to Boyd an

Belize Camping Experience Beliz

  Belize Camping Experience Belize changing Belize by discipling children and youth through Jesus Christ Our Vision To see Belize Change Belize through

Itsanitas.com

  Sostituzione del ginocchio è un importante intervento di chirurgia ortopedica in cui un logoro o congiunto malato del ginocchio viene sostituito con

ads

Hot Websites