En este post aprenderás sobre Scripting para Red Team, automatización, el uso de Discover Scripts, el uso de comandos remotos y LOLBAS: una colección de scripts para ataques en Red Team.
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Red Team VS Pentest
Cuando hablamos de Red Team el alcance del mismo, no sólo abarca a las tecnologías sino también a las personas y procesos. Otra cosa que ya hemos mencionado más de una vez es que, a diferencia de un pentest tradicional, el cual mucho más acotado en tiempo y alcance, un servicio de red team justamente es muchísimo más amplio tanto en su ventana de tiempo de ejecución como en su alcance ya que, entre otras cosas se trata de generar la mayor cantidad de escenarios posibles o incluso replicar campañas de APT conocidas, lo cual brinda como resultado un resultado mucho más holístico en relación a la postura de seguridad de una determinada compañía o entidad.
Aclarado el contexto, está claro que la fase de reconocimiento en el mundo del Red Team, a diferencia justamente de un pentest tradicional, es de vital importancia. Justamente, cuando hablamos de reconocimiento, hablamos de OSINT en todos sus aspectos o lo que se suele llamar tradicionalmente como information gathering pasivo y activo. Dado que justamente en un ejercicio de red team se suele modelar con muchísimo más tiempo un escenario de ataque.
Automatizando el Reconocimiento de un Red Team con Discover Scripts
Mientras más tiempo le dediquemos a esta fase más van a ser los vectores de ataque que se puedan utilizar para realizar un ataque exitoso, desde bucket de AWS, servicios que no necesariamente deberían estar expuestos (RDP por ejemplo), paneles de gestión web, posibles cuentas de github en donde los desarrolladores de la compañía guardan código de la misma, etc. En un ejercicio de Red Team todo y absolutamente todo lo que se encuentre puede ser un expuesto a vulnerar.
Veremos una herramienta de tipo «all in one» que no suele realmente ser muy conocida pero que lleva varios años La herramienta se llama Discover Scripts. Esta herramienta también puede usarse para otras cuestiones no tan relativas a OSINT sino que a través de la misma se pueden disparar otras tools como Recon-NG o Nikto para un escaneo web.
Discover Scripts, cómo su nombre indica, es un conjunto de scripts que disparan acciones o herramientas. Utiliza herramientas cómo «dnsrecon, goofile, goog-mail, goohost, theharvester, metasploit, urlcrazy, whois, wikto y varias otras.
INSTALACIÓN
Para instalarla solo deberemos clonar el repositorio desde su sitio oficial git clone.
Una vez finalizada la instalación deberemos movernos al directorio /opt/discover que es dónde se instala por default. Lo primero que deberemos hacer ahora es correr el script bash de actualización de la herramienta el cual ./update.sh.
Al disparar el script la herramienta empezará a instalar no solamente los componentes necesarios, sino que, además, la misma instalará muchas otras herramientas de las que se vale para hacer las diferentes búsquedas que hace e incluso herramientas ofensivas como impacket y muchas otras. El proceso de instalación lleva un tiempo largo con lo cual sugerimos un poco de paciencia e ir siguiendo el paso a paso de la instalación con un café.
EJECUCIÓN DE LA HERRAMIENTA
Una vez finalizada 100% la instalación y actualización de todos los componentes, y estándo parados en el directorio de la misma ya podemos empezar a utilizar la herramienta, para hacerlo sólo debemos correr el script ./discover.sh con el comando sudo por delante, excepto que estemos trabajando con la cuenta de root en forma directa.
Al disparar el script nos aparecerá la siguiente pantalla:
Cómo podemos ver la herramienta tiene varias opciones que no solamente están limitadas al «Reconocimiento» sino que puede invocar escaneos de puertos (port scanning) con nmap o incluso escaneos web con Nikto, por sólo mencionar algunas de las opciones.
Recomendados mirar el sitio web de github de Lee Baird para ver la documentación del uso ya que es bastante extensivo todo lo que se puede realizar con la herramienta. En nuestro caso, y dado que estamos hablando de «Reconocimiento» en el marco de un Red Team Engagement, trabajaremos solamente con la opción de «RECON».
Entonces vamos a marcar dentro de RECON la opción 1 llamada Domain, para eso solo tipeamos el número 1 en la consola y le damos enter y nos aparecerá el siguiente menú que se observa:
En este caso, vamos a trabajar con la opción 1 llamada «Passive» dado que queremos recolectar la mayor cantidad de información en forma 100% pasiva sin que la actividad en sí, pueda ser detectada de alguna forma u otra.
NOTA:
Si tipeamos la opción «Active» la búsqueda utilizará módulos de herramientas cómo dnsrecon, WAF00W, traceroute, Whatweb, and recon-ng, los cuales no son pasivos y podrían detectar nuestra actividad y que nuestra IP sea baneada. Vamos a tomar un dominio válido ya que, en principio, no estamos haciendo absolutamente nada más que recolectar información. Para ellos voy a usar el dominio de https://www.nintendo.com/.
Para ello entonces, luego de seleccionar la opción 1 de «Passive» como ya dijimos antes, nos va a pedir que ingresemos el nombre de la compañía (Esto sirve para el nombre del reporte que la herramienta va a crear una vez que termine) y por otro lado el nombre del domino, el cual deberá ingresarse con el formato «dominio.com» es decir sin www ni http. En nuestro caso «Nintendo.com»
Si prestamos atención podemos ver la imagen que la herramienta nos dice que va a utilizar entre otras herramientas ARIN, DNSRecon, dnstwist, TheHarvester, recon-ng, y varias más e inclusive nos indica que si queremos generar APIs para maximizar el resultado lo hagamos, lo cual recomendamos tanto para BING, Google CSE, Shodan, Censys, etc.
Las APIs que hayamos generado se pueden cargar en las diferentes herramientas que se utilizan, en este caso por sobre todo recon-ng y theharvester, con lo cual las APIs se cargarían de la siguiente manera:
En recon-ng se puede usar el comando «show keys» y luego ingresar las APIs con el comando «keys add», ejemplo: «keys add bing_api <valor de api>».
Una vez que le damos «enter» la herramienta empieza a correr con lo cual acá recomendamos otro cafecito. Veremos que arranca corriendo y haciendo diferentes querys a través de variadas tools:
Lectura de datos
Una vez que la herramienta termina de trabajar nos va a decir «Scan Complete» y nos va a mostrar en que ruta se guarda el archivo, en este caso dentro de /root/data/Nintendo.com que es el dominio que especificamos.
Desde una consola como root entonces disparamos el Firefox al archivo index.html generado dentro de /root/data/Nintendo.com/ y veremos en el navegador lo siguiente:
Podemos observar en la pantalla que se nos generan varios tabs en dónde tenemos el de «Home», «General», «DNS», «Domain», «File», «Reports» y «Web». En general vamos a poder encontrar listado de usuarios y correos electrónicos que después se puede usar dicho listado para crear un diccionario customizado aunque hay que validar mucha de esta información.
Dominios
Sugerimos que esto se haga directamente buscando información en el sitio oficial de la empresa u entidad que se esté mirando en ese momento como a través de técnicas de scrapping por ejemplo de Linkedin de los usuarios de dicha compañía (Cosa que veremos más adelante en otra entrada). En el caso de DNS es dónde empezamos a ver los mapas y registros de DNS perteneciente a la empresa o entidad, cómo por ejemplo se puede ver a continuación.
También podremos ver dentro de este contexto otros dominios DNS registrados por la compañía, en este caso utilizados como mail corporativo.
Sub dominios
También los sub dominios, que en este caso particular podemos ver que son muchos dados que es una empresa o compañía extremadamente grande.
En el tab de «Files» podemos ver que la herramienta nos muestra todos los archivos que están públicos, en este caso seleccionamos la opción PDF de entre todos los que nos brinda. Esto es extremadamente útil ya que podríamos complementariamente bajar muchos de estos archivos con herramientas cómo Foca o metagoofil para poder extraer adicionalmente otros datos de utilidad a través de la metadata de los mismos.
Por último (Al menos en lo que este post se refiere) podemos ver también que, cuando nos dirigimos al tab «Reports» se nos despliegan muchas dos opciones de las cuales una es la de «Active Recon» y la segunda la de «Passive Recon». En este caso y dado que desde el principio sólo corrimos un Passive Recon para la opción «Domain», está será la opción que se seleccionaremos. Al hacerlo veremos que nos muestra un resúmen pormenorizado de todo lo que encontró en una forma súper útil para seguir.
CONCLUSIONES
Esta herramienta junto con el uso de recon-ng en forma automatizada, yo la uso mucho para recolectar información. Cómo toda herramienta de «botón gordo» ayuda mucho a automatizar y recolectar mucha información en un lapso mucho menor que la búsqueda meramente manual, no obstánte hay que recordar que:
- Muchos de los datos se deben Re validar manualmente
- Que la parte de datos de casillas de correo y de personas conviene sacarlos por otro medio o por algunos módulos específicos de recon-ng que ya veremos más adelante o mismo por scrapping.
- Que se debe utilizar si o si tanto en recon-ng cómo en la herramienta de «TheHarvester» las APIs que ya previamente tengamos registradas (Shodan, Censys, Bing, GoogleCSE, Virustotal, etc.) ya que va a ser mucho más rica la búsqueda que nos genere la herramienta.
Recordemos además que la herramienta puede automatizar escaneos activos, automatizar el uso de metasploit a través de módulos que invoca, automatizar escaneos web con nikto y muchas cosas más ya que, además de la automatización de muchas de las herramientas que ya mencionamos al principio también en el caso de su uso en Kali Linux utiliza y automatiza el «Penetration Tester Framework» (PTF).
Espero que les haya gustado la nota. Happy hacking!
RECURSO BIBLIOGRÁFICO
https://github.com/leebaird/discover
Comandos CMD remotos de Windows para hackear
Muchos hackers nuevos provienen de Windows, pero rara vez (o nunca) utilizan sus herramientas de línea de comandos integradas. Como hacker, a menudo se verá obligado a controlar el sistema de destino utilizando sólo comandos de Windows y sin GUI.
Aunque nos encantaría tener Meterpreter de Metasploit en el objetivo y utilizar todas sus capacidades en el sistema propio, eso no siempre es posible. Algunos exploits sólo nos permitirán obtener un shell CMD en el sistema Windows de destino.
En estos casos, necesitará comprender cómo controlar el sistema estrictamente a través del símbolo del sistema, sin tener nunca la comodidad y familiaridad de la GUI de Windows.
Lo que quiero hacer en este tutorial es demostrar algunos comandos de Windows en un sistema Windows. Ejecutaré los comandos de Windows desde un sistema Kali remoto en el objetivo.
Paso 1: Conéctese a un sistema Windows remoto desde Kali
Windows hace una distinción entre comandos que se pueden ejecutar físicamente en el sistema y aquellos que se pueden ejecutar de forma remota. No podemos asumir que un comando que podemos ejecutar mientras estamos en el sistema se ejecutará de forma remota.
Aquí sólo nos interesan aquellos que se pueden ejecutar de forma remota. En mi caso, me conectaré al sistema de destino con una conexión Netcat, pero un shell de comandos generado por Metasploit u otro funcionará igual de bien.
Paso 2: comandos básicos
En muchos sentidos, los comandos CMD de Windows son similares a los comandos de Linux/Unix (Unix precedió a estos comandos por más de una década, y Microsoft tomó mucho prestado de él). En su forma más básica, necesitamos cambiar directorios dentro del sistema de archivos. Al igual que Linux, Windows utiliza el comando cd (cambiar directorio). Para viajar a la raíz del sistema de directorios, simplemente podemos escribir:
cd \
Además, podemos subir un nivel en la estructura del directorio escribiendo:
cd ..
Si queremos ver el contenido de un directorio, escribimos dir como se ve arriba. Algunos otros comandos clave y básicos incluyen:
del <nombre de archivo>
Esto eliminará el archivo, similar a Linux rm .
escriba <nombre de archivo>
Esto mostrará el contenido del archivo, similar al cat de Linux .
Como puede ver a continuación, utilicé el tipo de letra para mostrar el contenido del archivo confidencial.txt. Luego elimino el archivo confidencial.txt y, cuando vuelvo a mostrar su contenido, aparece el mensaje «El sistema no puede encontrar el archivo especificado».
Para crear un nuevo directorio, usamos el comando md (crear directorio) (en Linux, es mkdir). Para crear un directorio llamado «nuevodirectorio», escribimos:
md nuevo directorio
Después de crear un nuevo directorio, ahora podemos ejecutar dir y ver el nuevo directorio que creamos.
Paso 3: comandos de red
Cuando estamos en el sistema remoto, es posible que necesitemos información de red. Para ello disponemos de dos comandos básicos, ipconfig y netstat . ipconfig es muy similar a ifconfig de Linux , como se ve a continuación.
Para ver las conexiones de red del sistema, podemos escribir netstat , tal como en Linux.
netstat
Paso 4: Ver procesos
A menudo, cuando estamos en un sistema remoto, necesitaremos ver una lista de los procesos en ejecución. Desde la GUI, por supuesto, podemos usar el Administrador de tareas (Ctrl + Alt + Supr), pero desde el símbolo del sistema remoto usamos la lista de tareas .
lista de tareas
Si queremos encontrar un solo proceso, podríamos usar el filtro findtr (buscar cadena). Esto funciona de manera similar a grep en Linux. Entonces, para encontrar el proceso llamado «explorador», podríamos escribir:
lista de tareas | explorador findtr
Tenga en cuenta que utilizamos la canalización (|), al igual que en Linux, para enviar los resultados del comando de lista de tareas al comando de filtrado, findstr .
Si quiero finalizar un proceso, puedo usar el comando taskkill. Requiere el PID (ID de proceso) del proceso que queremos eliminar. En este caso, el proceso del explorador tiene un PID de 1532, así que para finalizarlo, puedo escribir:
tareakill /PID 1532 /F
Donde /F significa «forzar la muerte».
Paso 5: busque las cuentas de usuario
Si queremos ver los usuarios en el sistema de destino, podemos escribir:
usuarios de la red
Como puede ver, este sistema tiene tres usuarios: invitado, administrador y víctima, con el nombre apropiado.
Paso 6: ejecute un navegador en el destino
Mientras operamos el sistema desde el símbolo del sistema, podemos ejecutar algunas aplicaciones, como por ejemplo el navegador web. Internet Explorer se llama iexplore (puede no estar disponible en versiones de windows más modernas) en el símbolo del sistema y podemos encontrarlo en «Archivos de programa» con la versión de 64 bits o en «Archivos de programa (x86)» con la versión de 32 bits. Entonces, si quiero abrir Internet Explorer en el sistema remoto desde el símbolo del sistema y abrir Wonderhowto.com ,escribiría:
Iexplore www.google.com
Cuando lo hacemos, esto abre Internet Explorer en el sistema de destino y va a google.com. Esto podría ser realmente útil si tenía configurado un enlace XSS malicioso o deseaba utilizar el módulo de entrega web de Metasploit y necesitaba que el objetivo fuera a un servidor web.
Además, es posible que queramos que el sistema de destino vaya a nuestro servidor web en Kali. Podríamos iniciar el servidor web Apache y luego dirigir el sistema de destino a nuestro servidor web donde podemos tener algún software malicioso.
Podemos escribir:
Iexplore <dirección IP>
Como puede ver a continuación, hemos dirigido el sistema de destino a nuestro servidor web en Kali.
LOLBAS: colección de scripts para ataques en Red Team
Distintos investigadores y hackers se han propuesto construir una lista de LOLBins, programas legítimos de los cuales se puede abusar para evitar la seguridad y evadir la detección. Estos programas pueden serr utilizados por equipos de Red Team o directamente por atacantes en malware, APTs y en situaciones de escalamiento de privilegios y ataques laterales.
La confianza es uno de los pilares clave en los que se basa la seguridad de la información. En última instancia, lo que determina quién tiene acceso a qué, qué aplicaciones pueden ejecutarse y cuáles no. ¿Pero qué pasa cuando se abusa de esa confianza? Por ejemplo, cuando aplicaciones autorizadas y confiables son utilizadas por atacantes.
Los LOLBins son un buen ejemplo de la explotación de confianza: son binarios «confiables» que un atacante puede usar para realizar acciones distintas de aquellas para las que originalmente fueron diseñados. Como tal, los LOLBins hacen posible que los atacantes eviten las contramedidas defensivas, como la inclusión en la lista blanca de aplicaciones, el monitoreo de seguridad y el software antivirus con una menor posibilidad de ser detectados. Un ejemplo, se puede usar el comando print.exe para copiar un archivo a un Alternate Data Stream (ADS) y luego ejecutarlo.
LOLBAS («Living Off the Land Binaries and Scripts»).
Actualmente, hay más de 130 LOLBins, LOLLibs y LOLScripts en la lista, que van desde la herramienta de transferencia de datos legítima de Microsoft Bitsadmin.exe hasta print.exe. La lista incluye programas que han documentado un potencial de abuso, así como una variedad de programas que ya se han convertido en herramientas favoritas para recuperar cargas útiles de malware durante ataques del mundo real, incluidos mshta.exe, certutil.exe y regsvr32.exe.
Tener una buena documentación sobre estos binarios y scripts puede ayudar a todos a prevenir ataques al bloquear activamente su ejecución. Si sabes que algo puede ser usado para el mal, hace que el trabajo sea mucho más fácil cuando buscas ataques e intentas prevenirlos. Después de todo, los actores de amenaza de persistencia avanzada (APT) ya están usando estos binarios / scripts como parte de sus ataques. Por lo tanto, debemos profundizar en todos los archivos y descubrir formas inteligentes en que podamos usar esta lista antes de que lo hagan los atacantes.
LOLBAS funciona como una lista dinámica mantenida por la comunidad. Cualquier persona interesada en realizar una investigación de seguridad para enviar nuevos LOLBins es alentada a hacerlo y ser reconocida por ello. La lista actual es solo el comienzo y se espera poder proporcionar una lista de búsqueda en un formato de base de datos para el servicio, asignarla al marco MITRE ATT & CK y agregar más datos en cada registro de LOLBin y LOLScript, incluida la información sobre su detección y las técnicas de bloqueo relevantes.
GTFOBins
GTFOBins es una lista inspirada en LOBAS pero con binarios de Unix/Linux que pueden ser explotados por un atacantes para saltear restricciones de seguridad locales.
Offensive-PowerShell
Offensive-PowerShell es un repositorio de Github contiene un recopilatorio de scripts en Powershell para operaciones ofensivas relacionadas con tareas de Red Teaming. Se describen cómo funciona cada uno y dan un pequeño tutorial en inglés sobre cómo usarlos, además de decir con qué versiones de Windows son compatibles.
No te detengas, sigue avanzando
Aquí tienes un propósito para este 2024 que debes considerar seriamente: si has querido mejorar tus habilidades en hacking, Ciberseguridad y programación ahora es definitivamente el momento de dar el siguiente paso. ¡Desarrolla tus habilidades aprovechando nuestros cursos a un precio increíble y avanza en tu carrera!
Pentesting Web. Prácticas de un Ethical Hacker Profesional
Aprende Pentesting Web, Hacking Ético y Ciberseguridad. Practicas reales y aprender todo sobre Vulnerar entornos Web.
Calificación: 4,2 de 54,2 (609 calificaciones) 30.473 estudiantes Creado por Alvaro Chirou • 1.800.000+ Enrollments Worldwide, Walter Coto || +440,000 Estudiantes
Lo que aprenderás
- Hacking Ético Web
- El TOP 10 Vulnerabilidades Web de OWASP
- Uso de Burp Suite
- Identificar Vulnerabilidades Web
- Explotar Vulnerabilidades Web
- Identificar Vulnerabilidades que NO son de OWASP TOP 10
- Prácticar con Escenarios Reales de Hacking Web
- Las 5 Fases del Pentesting Web
El Pentesting Web se enfoca principalmente en aplicaciones y paginas funcionando en internet. Esto genera que su demanda laboral sea además de muy alta, sumamente importante.
La gran ventaja de esta profesión es que efectivamente, puedes llevarla adelante desde cualquier parte del mundo, con una computadora e internet.
Nosotros te brindaremos los fundamentos teóricos y la base necesaria para que empieces desde 0, y vayas avanzando hacia el ámbito profesional, con laboratorios simulando entornos reales
Hemos creado esta formación profesional donde aprenderás todo lo que necesitas para ser un experto, y con practicas que podrás aplicar en escenarios reales.
Contaras con nuestra supervisión, experiencia y respuesta a todas tus preguntas que tengas sobre el contenido. Así también sobre las actualizaciones que hagamos sobre el curso, el cual será tuyo de por vida y recibirás dichas actualizaciones sin tener que volver a pagar.
Empieza a aprender ya mismo y acompáñame en este increíble curso.
¿Te gustaría enterarte de cuando lanzamos descuentos y nuevos cursos?
Sobre los autores
Álvaro Chirou
Yo soy Álvaro Chirou, tengo más de 20 Años de experiencia trabajando en Tecnología, eh dado disertaciones en eventos internacionales como OWASP, tengo más de 1.800.000 estudiantes en Udemy y 100 formaciones profesionales impartidas en la misma. Puedes serguirme en mis redes:
Laprovittera Carlos
Soy Laprovittera Carlos. Con más de 20 años de experiencia en IT brindo Educación y Consultoría en Seguridad de la Información para profesionales, bancos y empresas. Puedes saber más de mi y de mis servicios en mi sitio web: laprovittera.com y seguirme en mis redes:
¿Quieres iniciarte en hacking y ciberseguridad pero no sabes por dónde empezar? Inicia leyendo nuestra guia gratuita: https://achirou.com/como-iniciarse-en-ciberseguridad-y-hacking-en-2024/ que te lleva de 0 a 100. Desde los fundamentos más básicos, pasando por cursos, recursos y certificaciones hasta cómo obtener tu primer empleo.