Archivo
Instalar Virtualbox Guest Additions en Kali Linux 2017.3
Este post es para mi para no olvidarme, espero le sirva a alguno 😀
Buscar la imagen adecuada
apt-cache search linux-image
instalar la imagen
apt-get install linux-image-4.14.0-kali3-amd64
Dependencia
apt-get install libelf-dev
Reiniciar
reboot
Instalar los hearders nuevos
apt-get install -y linux-headers-$(uname -r)
Luego montar el disco de Guest Additions
Una vez montado instalar
cp /media/cdrom0/VBoxLinuxAdditions.run /root
cd /root/
chmod a+x VBoxLinuxAdditions.run
./VBoxLinuxAdditions.run
Capturando Credenciales con Responder.py
Responder.py , es una herramienta desarrollada por Trustwave SpiderLabs, la cual puede responder a las consultas LLMNR y NBT-NS dando su propia dirección IP como destino para cualquier nombre de host solicitado.
Pero Cómo trabaja ?
Para entender como trabaja, es necesario conocer como funcionan las peticiones de recursos de red en una red Windows, ya que justamente, es posible abusar del comportamiento predeterminado de los servicios de resolución de nombres que usa Microsoft Windows con el objetivo de robar credenciales de autenticación.
Desmenuzando el comportamiento
Si un cliente de Windows no puede resolver un nombre de host utilizando el servicio DNS, este utilizará el protocolo de resolución de nombres de multidifusión o mejor llamado «LLMNR» para pedir a los equipos vecinos resolver las direcciones IPv4 e inclusive bajo IPv6.
Si la solicitud usando LLMNR falla, se utilizará el protocolo NetBios Name Service o NBT-NS el cual cumple el mismo objetivo que el anterior.
Entonces, cuando un host utiliza LLMNR o NBT-NS para resolver una solicitud de un recurso de red, es posible que cualquier host de la red que conozca la dirección IP del host al que se le pregunte puede responder. Incluso si un host responde a una de estas solicitudes con información incorrecta, todavía se considerará como legítimo, en esa etapa en donde se sitúa la herramienta Responder.py para capturar credenciales.
Gráficamente sería lo siguiente:
Responder.py no solo para LLMNR o NBT-NS
Responder.py por si fuera poco, además viene con varios servidores de autenticación falsos (HTTP/SMB/MSSQL/FTP/LDAP) que soportan NTLMv1/NTLMv2/LMv2, Extended Security NTLMSSP y autenticación HTTP básica.
Para qué sirve en un servicio de Pentesting ?
Para los que nos dedicamos a esto, sabemos que la captura de credenciales mediante fuerza bruta es un proceso que difícilmente se puede realizar con buenos margenes de éxito debido al corto tiempo con el que se cuenta, en este caso Responder.py surge como una técnica muy buena para ello, poder realizar captura de credenciales y conseguir ingresar a estaciones y/o servidores además de realizar post explotación evidentemente.
P.O.C. Veamos una demo del funcionamiento.
Mas adelante veremos otros de escenarios de aplicacion de responder.py durante un pentesting.
Saludos
Juan Oliva
Install Janus WebRTC Gateway in Debian
Desde hace varios meses vengo trabajando algunas cosas con mi amigo de aventuras tecnológicas Alfredo Pastor @AlfredoPastorL sobre la plataforma «Janus» pero qué es?
Por que no solo de Asterisk vive el hombre, se puede decir que Janus es auto denominado por la empresa Meetecho como un «WebRTC Gateway» de múltiple propósito, proporciona funcionalidades de comunicación para el uso de WebRTC con un navegador, a través del intercambio mensajes JSON y retransmitir comunicación RTP / RTCP . es posible desarrollar implementaciones de aplicaciones como pruebas de eco, web conference, grabadoras de medios, pasarelas SIP y similares.
En este caso vamos a ver como instalarlo correctamente en una plataforma DEBIAN
1.- Instalación de dependencias
#apt-get install aptitude
#aptitude install libmicrohttpd-dev libjansson-dev libnice-dev libssl-dev libsrtp-dev libsofia-sip-ua-dev libglib2.0-dev libopus-dev libogg-dev libcurl4-openssl-dev pkg-config gengetopt libtool automake make git cmake
Luego removemos los paquetes de correspondientes a rtp srtp ya que vamos a instalar nuevas versiones desde fuentes.
#apt-get remove libsrtp0 libsrtp0-dev
#apt-get autoremove libsrtp0 libsrtp0-dev
2.- Instalación de SRTP
#cd /opt/
#wget https://github.com/cisco/libsrtp/archive/v1.5.4.tar.gz
tar xfv v1.5.4.tar.gz
#cd libsrtp-1.5.4
#./configure –prefix=/usr –enable-openssl
#make shared_library && make install
3.- Instalación de USRSCTP
#cd /opt/
#git clone https://github.com/sctplab/usrsctp
#cd usrsctp
#./bootstrap
#./configure –prefix=/usr/lib64 && make && make install
4.- Instalación de LIBWEBSOCKETS
#cd /opt/
#git clone https://github.com/warmcat/libwebsockets.git
#libwebsockets
#mkdir build && cd build/
#cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DCMAKE_C_FLAGS=»-fpic» ..
#make && make install
5.- Instalación de DXYGEN y GRAPHVIZ
#aptitude install doxygen graphviz
6.- Instalación de RABBITMQ
#cd /opt
#git clone https://github.com/alanxz/rabbitmq-c
#cd rabbitmq-c
#git submodule init
#git submodule update
#autoreconf -i
#./configure –prefix=/usr && make && make install
7.- Instalación de PAHO
#cd /opt
#git clone https://github.com/eclipse/paho.mqtt.c.git
#cd paho.mqtt.c
#make && make install
8.- Instalación de JANUS
#cd /opt
#git clone https://github.com/meetecho/janus-gateway.git
#cd janus-gateway
#sh autogen.sh
#./configure –prefix=/opt/janus
#make
#make install
#make configs
#./configure –disable-rabbitmq
#./configure –enable-docs
9.- Instalación del servidor Web
#apt-get install apache2
Ahora copiamos las paginas de ejemplo
#cp -R /opt/janus-gateway/html/ /var/www/
#cd /var/www/html/
10.- Pruebas
Si todo salio bien deberíamos poder levantar Janus de la siguiente forma :
#/opt/janus/bin/janus
Eso quiere decir que Janus está en funcionamiento, luego ingresaremos al servidor Web de la siguiente forma : http://debian/ y veremos los siguiente
Si desean ver el manual en video Alfredo realizó todo el proceso incluido como funcionan los demos de Janus
En el siguiente post haremos una guia de como enlazar Janus con Asterisk
Kamailio entendiendo lógica de enrutamiento
Uno de los aspectos mas importantes y a la vez complicados de entender en Kamailio es la lógica de enrutamiento, debido a que tiene mucho que ver con el comportamiento del protocolo SIP.
Luego de mi charla en el ElastixWorld 2015 he tenido varias consulta referente a Kamailio y su comportamiento, un poco de ello lo explique en la charla «Usando el módulo PIKE en Elastix MT» sin embargo en este post vamos a dar un alcance un poco mayor a este tema.
Primero vemos de manera genera lo que trae el archivo de configuración.
Esta imagen representa el esquema a nivel de parametrización de un archivo kamailio.cfg
Ahora vamos a ver cada punto:
1.- Definiciones Globales
Variables que vamos a usar a lo largo de la lógica de enrutamiento, las cuales pueden estar referidas a parámetros de log, direcciones IP y puertos que va escuchar el servidor, entre otras.
Tiene la siguiente forma:
2.- Sección de Módulos
Es donde definimos o «cargamos» los módulos vamos a user, por ejemplo el modulo de MYSQL para guardar los registros en base de datos, o el modulo de TLS para cifrado de la señalización.
Tienen las siguiente forma:
3.- Sección de configuración de módulos
En esta sección de parametrizan o configuran los módulos que hemos cargado en la sección anterior, es muy importante configurar los módulos adecuadamente, ya que en algunos casos se activan con configuraciones por defecto, lo cuales pueden producir a la larga efectos extraños en el comportamiento.
Tienen la siguiente forma:
4.- Bloques de rutas o lógica de enrutamiento
Esta es la sección es «clave» en el archivo de configuración ya que va establecer todo el camino que va seguir las peticiones SIP que recibamos, aquí hay que decir que no existe un patrón único, ya que uno puede hacer su lógica tan simple o tan compleja como lo desee, es decir con mas o menos bloques de rutas, sin embargo existen ciertos patrones que uno siempre va respetar o encontrar en otros archivos, estos son bloques de rutas que normalmente vamos a encontrar:
- Principal (Main ó request_route)
- Secundarias (REQINIT, WITHINDLG,REGISTRAR)
- Failure (failure_route)
- Branch (branch_route)
En esquema que pude realizar para mi autocompasión de un esquema de enrutamiento maso menos complejo:
Como se puede apreciar todo parte del bloque «Main» o «Request Route» y va ingresando a los demás bloques en donde cada uno tiene un objetivo puntual aplicado a la solicitud SIP entrante.
El bloque «REQINIT» tiene un papel muy importante ya que hace la mayoría de la comprobaciones previas como la evaluación de seguridad entre otras cosas.
Luego los métodos secundarios realizan el registro, localización y reenvío de las solicitudes SIP a otro server, un Asterisk por ejemplo. según sea el caso.
Bueno espero que este post les amplié el panorama respecto al funcionamiento de kamailio, mas adelante desmenuzaremos otros aspectos de este formidable software.
Saludos
Juan Oliva
Instalación de Openstack en Ubuntu
Hace un tiempo que llevo investigando, trabajando y usando de Openstack, es todo un mundo nuevo y fascinante, a continuación les muestro como instalarlo sobre Ubuntu 14.04 64bits en una instalación All-in-One (todo en uno) ya que existe también la arquitectura muli nodo.
1.- Preparación del sistema operativo
Algunos detalles de la instalación y post instalación de Ubuntu para openstack
- Es recomendable crear un usuario «stack» para ser usado, luego ingresar con ese usuario para realizar la instalación.
- Es necesario configurar una dirección IP fija en el archivo «interfaces»
2.- Instalación de pre-requisitos
Ingresar con el usuario «stack» y luego escalar a root
2.1.- Instalar git
sudo su
sudo apt-get -y install git
2.2.- Clonar openstack del repostitorio dev
git clone https://git.openstack.org/openstack-dev/devstack
2.3.- Configurar el archivo «local.conf» con las credenciales y parámetros de red.
cp /home/stack/devstack/samples/local.conf /home/stack/devstack/local.conf
cd devstack/
vim local.conf
ADMIN_PASSWORD : Es la contraseña de acceso para horinzon
FLOATING_RANGE=192.168.10.224/27 : El el segmento LAN de la red, se considera el pool de IPs que seran asignadas para las maquinas virtuales.
FIXED_RANGE=10.11.12.0/24 : El segmento de direcciones internas asignadas a las maquinas virtuales.
3.- Instalación de Openstack
Una vez que tengamos configurado el archivo «local.conf» iniciarnos el proceso de instalación, Es un proceso largo, de 30 a 40 minutos, así que tengan un buen cafe a la mano.
./stack.sh
4.- Ingresar a Horizon
Una vez que el proceso culmine será posible ingresar a hortizon que es la interfase de administración de openstack de la siguiente forma:
5.- Crear imágenes
Se puede definir a una imagen como un sistema pre configurado que se usa como base para crear una «instancia» , aterrizando conceptos sería instancia = maquina virtual, una instalación por defecto:
Evidentemente es posible crear una nueva imagen las cuales pueden ser de tipo : AKI, AMI, ARI, hasta de tipo ISO, sin embargo la mas común es de tipo QCOW2 que son de tipo qemu.
Una buena explicación de los tipos de imágenes pueden encontrarla aquí: http://docs.openstack.org/image-guide/image-formats.html
Se puede encontrar imágenes de las principales distribuciones de Linux :
https://www.rdoproject.org/resources/image-resources/
Y crear sus propias imágenes :
6.- Crear instancias.
Conceptual mente es un «clon» de una imagen que crea un usuario, es decir es bueno tener una diversa cantidad de imágenes para poder tener instancias de los diversas distribuciones.
7.- Conclusiones
Definitivamente Openstack es ahora una nueva alternativa para crear nubes o virtualizar simplemente, definitivamente crear instancias solo es la punta del iceberg en este entorno de trabajo.
Una Guía muy detallada de como usar horizon pueden encontrarla aquí
Espero les sirva
Juan Oliva
@jroliva
Configurando seguridad en Elastix MT
Configuración y dinámica de mi charla realizada en el ElastixWorld de Colombia para lograr configurar el módulo PIKE en Elastix MT
1.- Activar la variable en las definiciones globales
2.- Verificar la carga del módulo
3.- Configurar el módulo PIKE a gusto 😀
4.- Evaluar en la lógica de enrutamiento
Descargar archivo de configuración
http://www.silcom.com.co/configuration/kamailio.cfg
Vídeo de demostración
Espero les sirva
Saludos
@jroliva
OWASP Broken Web Applications Project
Como parte de la enseñanza de los cursos de Ethical Hacking que tengo la oportunidad de impartir, suelo hacer uso de aplicaciones o sistemas vulnerables, con el objetivo de poder recrear escenarios y que los participantes puedan no solo identificar fallos de seguridad, si no también poner en practica, diversas técnicas de explotación de vulnerabilidades y desarrollar un adecuado análisis de la razón por la cual se producen estos bugs.
OWASP Broken Web Applications Project (OWASPBWA) sirve perfecto para este objetivo, ya que es un conjunto de aplicaciones web vulnerables que se distribuye en una máquina virtual que puede ser importada en VirtualBox por ejemplo.
OBWA es una maquina virtual que contiene instaladas aplicaciones web como WordPress, Jommla, phpBB2 entre otros proyectos como Webgoat, DVWA, Multidae, etc.
Lo más interesante desde el punto de vista académico, claro está 😀 es la gran cantidad de vulnerabilidades que podemos encontrar, basta con realizar un análisis con Nessus para darse cuenta de ello.
Dentro de las vulnerabilidades que se pueden explotar podemos citar algunas como :
WORDPRESS
CVE-2014-10021
WORDPRESS WP Symposium 14.11 shell upload
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-10021
CVE-2007-2426
high myGallery mygallerybrowser.php ‘myPath’
http://www.cvedetails.com/cve/CVE-2007-2426/
JOOMLA
CVE-2014-0793
Multiple cross-site scripting (XSS)
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2014-0793
phpBB2
CVE-2003-1215, CVE-2003-1216
SQL injection vulnerability
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1215
Entre muchas otras vulnerabilidades que se pueden encontrar.
Mas información :
Página del proyecto
https://code.google.com/p/owaspbwa/
Archivo OVA para importar en VirtualBox
http://sourceforge.net/projects/owaspbwa/files/1.1.1/
User Guide
https://code.google.com/p/owaspbwa/wiki/UserGuide
Vídeo de la conferencia de presentación
https://www.youtube.com/watch?v=cwjcfAgKqcg
Espero les sirva
Saludos
Juan Oliva
@jroliva
Conferencias via IRC de ASTERISK-PERU
El viernes pasado participe como ponente en una conferencia via Irc , organizada por la comuna de Asterisk-Peru , mi tema fue hablar un poco sobre las novedades de Astrisk 1.6 , la cual creo que salio muy simpatica , asi mismo estuvo Edgar Landivar de Elastix , hablando sobre el famoso modulo de callcenter , y finalmente Mark Warren , hablando sobre los equipos redfone , Appliance de alta disponibilidad para Asterisk , todo lo que se converso en la conferencia lo pueden encontrar en estos enlaces.
Charla irc Asterisk 1.6 : http://www.asterisk-peru.com/node/1450
Carla irc Modulo de callcenter Elastix : http://www.asterisk-peru.com/node/1449
Carla irc Redphone : http://www.asterisk-peru.com/node/1451