3.23.2020

Desafio #6 - Encuentra la flag #QuedateEnCasa

Desde Snifer@L4b's queremos dar una pequeña serie de retos los cuales estarán disponibles durante los próximos días, debido a que estamos pasando por un nuevo reto en el cual debemos de cuidarnos y permanecer en casa. Ya que la situación actual afecta a todos nuestros seres queridos.




Este primer reto esta orientado para que se realice una interacción directa con Telegram, ya que deberán de iniciar una conversación con el bot @sniferbot e iniciar el mismo, teniendo consigo la primera pista, que es la descripción del bot.


El objetivo es obtener la flag, el bot tiene una pequena IA le diremos que es vulnerable if if if if if  :), según el comando que le envies ira soltando información, para llegar a la flag se tiene diferentes caminos por lo menos tenemos 3 formas de llegar al mismo, algunas son directas y otras demoras para el mismo.

Estuvo el bot funcionando un par de días en el cual recibió un fuzzing de datos, por ello realice un par de modificaciones para que este conversando sin caídas, el uso del mismo para que vaya funcionando es de la siguiente manera.


/comando

El mismo soltara algun tipo de informacion pistas o datos de manera publica en el grupo del blog, HackySec.


Espero que les guste este pequeño reto inicial, el viernes sacaremos la primera maquina virtual vulnerable, tenemos otros retos en el blog por si te interesa quizas algunos esten offline y no recuerdo donde andan los originales. Retos & Desafios

“Uno a uno, todos somos mortales. Juntos, somos eternos.” - Apuleyo

Regards,
Snifer
Compartir:

3.11.2020

BurpSuite XXXII - Agregando vulnerabilidades personalizadas en Burp Suite

En esta entrada de Burp Suite, veremos un nuevo plugin el cual tiene como fin adicionar manualmente vulnerabilidades como lo llama el mismo Burp Suite Issues.


Realizando un pentest identificamos que en el sitio www.sniferl4bs.com se identifica un IDOR el cual es explotable por medio de una modificación de parámetros y bajo un escenario en especifico que fue identificado, queremos contar con la identificación de la vulnerabilidad para pasar a un tercero o tener el registro en especifico. 


Este plugin se encuentra en la Bapp Store el cual es Add & Track Custom Issues, basta con dirigirnos a la pestaña respectiva y proceder instalándolo, considerando que debemos de tener previamente configurado Jython en la entrada Configuración de Plugins en Burp Suite, la limitación del plugin es que solo esta disponible para la versión PRO. 




Al instalar el plugin, nos habilita una nueva pestaña con la siguiente interfaz:

      • Add Issue: Agregar una vulnerabilidad
      • Delete Issue: Eliminar una Vulnerabilidad. 
      • Export to CSV - JSON: Exportar las vulnerabilidades en formato csv y json.
      • Import to CSV - JSON: Importar las vulnerabilidades en formato csv y json.



Al registrar un nuevo ISSUE nos permite configurar el nombre de la vulnerabilidad, el nivel  si es alto, medio, bajo, informativo, si va por HTTP o HTTPS configurar el puerto, el host y el path como datos principales.

Nos permite adicionar el Request y el Response de la PoC para tenerlo registrado.

Teniendo como resultado final, las vulnerabilidades que vayamos agregando, esto ya con el fin de presentar el escaneo de Burp directamente lo cual lo vería muy raro de que alguien lo haga directo, pero para un parseo posterior puede venir de mucha ayuda.


Este fin de semana estaremos con una entrada para trabajo colaborativo con Burp Suite, y si les debo el podcast #50 que sale hasta el día viernes.


«No importa lo despacio que vayas, siempre y cuando no te detengas» Confucio

Regards,
Snifer


Compartir:

3.07.2020

Extrayendo credenciales de un volcado de memoria de lssas.exe con Pypykatz

Cuando realizamos el dumpeo del proceso lssas.exe el siguiente paso es obtener las credenciales que se encuentren almacenadas en memoria valga la redundancia , muchas o gran parte de las veces llegamos a utilizar mimikatz para extraerlos, aquí tenemos el inconveniente que necesitamos un entorno windows para extraer los credenciales.


La herramienta que utilizamos para el volcado de memoria del proceso es procdump en esta prueba de ejemplo, puedes realizar este proceso con SharpSploit u otra según Procdump forma parte de suite de Sysinternals que tiene como objetivo el extraer la informacion que se encuentra en memoria obteniendo consigo si todo esta adecuadamente mal configurado extraemos credenciales.

El volcado del proceso lsass se realiza de la siguiente manera, aclarando que depende mucho la ejecución según el escenario de explotabilidad que tengamos.

procdump.exe -accepteula -ma lsass.exe fichero.dump


Teniendo como resultado el fichero lsass.dmp, como mencionamos en el inicio de la entrada, existen dos maneras para tratar el dumpeo, el primero es con mimikatz desde un windows con la misma arquitectura o también desde linux, para cual tenemos la alternativa que es  pypykatz.

Pypykatz es una implementación de Mimikatz  en Python, con la posibilidad de ser ejecutada en cualquier sistema operativo.

Instalación

Puedes ser realizado desde pip o sacando una copia del repositorio en github, ambos serán descritos a continuación. 

Instalando a través de PIP

Necesitamos tener instalado pip3 para realizar la instalación.

╭─ ~/SniferL4bs
╰─pip3 install pypykatz 

Las dependencias que necesitamos instalar previamente son las siguientes

╭─ ~/SniferL4bs
╰─ pip3 install minidump minikerberos aiowinreg msldap winsspi

Instalando desde Github


git clone https://github.com/skelsec/pypykatz.git
cd pypykatz
python3 setup.py install

Solo debemos ejecutar en ambos casos pypykatz -h para ver las opciones de la herramienta.


╭─ ~/SniferL4bs                                                                                                                                                                    
╰─ pypykatz -h
usage: pypykatz [-h] [-v]
{live,lsa,registry,nt,lm,dcc,dcc2,gppass,ldap,dpapi,sake} ...

Pure Python implementation of Mimikatz --and more--

positional arguments:
{live,lsa,registry,nt,lm,dcc,dcc2,gppass,ldap,dpapi,sake}
commands
live                Get secrets from live machine
lsa                 Get secrets from memory dump
registry            Get secrets from registry files
nt                  Generates NT hash of the password
lm                  Generates LM hash of the password
dcc                 Generates DCC v1 (domain cached credentials version 1)
hash of the password
dcc2                Generates DCC v2 (domain cached credentials version 2)
hash of the password
gppass              Decrypt GP passwords
ldap                LDAP (live) related commands
dpapi               DPAPI (offline) related commands
sake                sake

optional arguments:
-h, --help            show this help message and exit
-v, --verbose

Necesitamos contar con el dumpeo del proceso para que el mismo sea tratado con pypykatz, el comando a ser utilizado es:

╭─ ~/SniferL4bs
╰─ pypykatz lsa minidump lsass.dmp 

Teniendo el siguiente resultado con los credenciales obtenidos en texto claro, si todo marcho adecuadamente para nosotros.



Para conocer un mayor detalle de la herramienta Pypykatz tenemos su WIKI en github de Pypykatz.

"La ignorancia está menos lejos de la verdad que el prejuicio." - Denis Diderot

Quieres que tratemos algun tema en el blog, avisanos en los comentarios, o en el grupo de Telegram.

Regards,
Snifer
Compartir:

2.19.2020

UpDog la alternativa para SimpleHTTPServer

Ayer identifique por Twitter esta herramienta, utilidad,  funcionalidad, como lo desees llamar que fue creada por Henry Prince a.k.a sc0tfree UpDog llegando a ser un reemplazo para SimpleHTTPServer que es utilizado de manera regular por Python. 



La diferencia entre este y SimpleHTTPServer es que permite la carga y descarga de archivos,iniciar el servicio bajo HTTPS configurando el certificado digital y lo principal en este upgrade es el uso de credenciales  por medio de una autenticación básica port HTTP.

Instalación


La forma mas rápida de realizar la instalación es con pip vale aclarar que debe de ser la versión 3 porque la herramienta se encuentra desarrollada bajo Python 3.

 $ pip3 install updog
Collecting updog
  Downloading updog-1.4.tar.gz (2.5 MB)
     |████████████████████████████████| 2.5 MB 209 kB/s
Requirement already satisfied: colorama in /usr/local/lib/python3.6/dist-packages (from updog) (0.3.9)
Requirement already satisfied: flask in /usr/local/lib/python3.6/dist-packages (from updog) (1.1.1)
Collecting flask_httpauth
  Downloading Flask_HTTPAuth-3.3.0-py2.py3-none-any.whl (5.0 kB)
Requirement already satisfied: pyopenssl in /usr/local/lib/python3.6/dist-packages (from updog) (19.1.0)
Requirement already satisfied: werkzeug in /usr/local/lib/python3.6/dist-packages (from updog) (0.16.1)
Requirement already satisfied: Jinja2>=2.10.1 in /usr/local/lib/python3.6/dist-packages (from flask->updog) (2.11.1)
Requirement already satisfied: itsdangerous>=0.24 in /usr/local/lib/python3.6/dist-packages (from flask->updog) (1.1.0)
Requirement already satisfied: click>=5.1 in /usr/local/lib/python3.6/dist-packages (from flask->updog) (7.0)
Requirement already satisfied: six>=1.5.2 in /home/snifer/.local/lib/python3.6/site-packages (from pyopenssl->updog) (1.13.0)
Requirement already satisfied: cryptography>=2.8 in /usr/local/lib/python3.6/dist-packages (from pyopenssl->updog) (2.8)
Collecting MarkupSafe>=0.23
  Downloading MarkupSafe-1.1.1-cp36-cp36m-manylinux1_x86_64.whl (27 kB)
Requirement already satisfied: cffi!=1.11.3,>=1.8 in /usr/local/lib/python3.6/dist-packages (from cryptography>=2.8->pyopenssl->updog) (1.14.0)
Requirement already satisfied: pycparser in /usr/local/lib/python3.6/dist-packages (from cffi!=1.11.3,>=1.8->cryptography>=2.8->pyopenssl->updog) (2.19)
Building wheels for collected packages: updog
  Building wheel for updog (setup.py) ... done
  Created wheel for updog: filename=updog-1.4-py3-none-any.whl size=2448078 sha256=71f3957b683f0412fd25861033cb9a6fbe2a822baee7d1c379ee6aa10c3f1a94
  Stored in directory: /tmp/pip-ephem-wheel-cache-x6_767dy/wheels/28/44/90/a0f0062acb127b1cf856ef3c07e0436588eb1524f67728007f
Successfully built updog
Installing collected packages: flask-httpauth, updog, MarkupSafe
Successfully installed MarkupSafe-1.1.1 flask-httpauth-3.3.0 updog-1.4


Como todas las herramienta con el comando -h tenemos las opciones.

 updog -h                                                                                                                                                                       
usage: updog [-h] [-d DIRECTORY] [-p PORT] [--password PASSWORD] [--ssl]
             [--version]

optional arguments:
  -h, --help            show this help message and exit
  -d DIRECTORY, --directory DIRECTORY
                        Root directory [Default=.]
  -p PORT, --port PORT  Port to serve [Default=9090]
  --password PASSWORD   Use a password to access the page. (No username)
  --ssl                 Use an encrypted connection
  --version             show program's version number and exit
 
En esta prueba que realice con las flags se adiciona la contrasenia y el directorio a utilizar


Al momento de autenticarnos solo ingresamos la contrasena previamente seteada accediendo al file server que estamos exponiendo.



El principal uso que se puede dar a esta herramienta, es para compartir informacion entre equipos, extraer datos a partir de un smbserver o por un servicio HTTP, en el blog vimos anteriormente diferentes métodos para generar un web server.


"Si queremos que todo siga como está, es necesario que todo cambie." - Giuseppe Tomasi di Lampedusa


Regards,
Snifer 
Compartir:

2.12.2020

Curso de desofuscación de binarios

Hoy estamos compartiendo un curso que encontramos el dia de ayer el cual es sobre desofuscación de binarios, el cual se encuentra disponible en github.



El curso fue realizado por Yuma Kurogome para el Global Cybersecurity Camp (GCC) Tokyo 2020, el curso a desarrollar de manera gratuita tenemos que contar con algunos conocimientos previos como lo indica en el README de github los cuales son:

    Robust skill set in x86/x64 architecture
    Basic experience with C/C++ and Python
    Basic understanding of low-level CS (e.g., OSs, Compilers, interpreters, linkers, and loaders)


Adicionalmente brinda enlaces los cuales debemos de conocer para manejarnos adecuadamente.


Los requerimientos:
    Contar con VirtualBox
    Descargar e instalar Ubuntu 18.04.3 en virtualbox
    Clonar el repositorio
    Ejecutar./setup.sh ./
    Instalar IDA Free
    Comenzar con Advanced-Binary-Deobfuscation.pdf

El curso esta pensado para trabajar con IDA Free, adicionando mas el curso de Ricardo Narvaja de IDA podemos tener unas buenas horas de trabajo.

 Enlace en Github del proyecto: Advanced Binary Deobfuscation

"Siempre parece imposible hasta que se hace" - Nelson Mandela


Regards,
Snifer
Compartir: