Archivo

Archive for the ‘Manuales y tutoriales’ Category

Asterisk Rest Interface (ARI) en Issabel

enero 21, 2019 1 comentario

Una de las cosas que me gusta hacer junto con el Ethical Hacking es instalar/programar aplicaciones de Voz para ello hace mucho tiempo que uso Asterisk, evidentemente esto a evolucionado gratamente para los que nos gusta esta área, a partir de Asterisk 12 apareció ARI o “Asterisk REST Interface” API que permite programar cualquier tipo de aplicación y que se ejecute en Asterisk.

Realmente ARI desde mi punto de vista ha cambiado la forma de ver lo que se puede hacer con Asterisk ya que no solo es pensar en una PBX, si no que ahora puedes tomar las librerías de ARI de los lenguajes mas importantes como python, C#, Java, Javascript, para conectarte a la API y empezar a desarrollar usando la aplicación que implementa Asterisk a nivel de dialplan llamada “Statis”.

En esa linea de ideas, debido a que Issabel trae Asterisk 13 podemos usar ARI sin problemas, a continuación veremos como realizar la configuración del mismo y realizar una prueba básica usado la herramienta wscat para conectarnos vía Websocket hacia la API en este caso ARI.

 

1.- Configurar ARI en Issabel

Ingresar al archivo http_custom.conf y activar ARI e indicarle en que puerto va funcionar de la siguiente forma:

Luego ingresar al archivo “ari.conf” el usuario y contraseña con el cual usaremos ARI

2.- Crear el dialplan

Ahora crearemos un dialplan para consumir y/o conectarse hacia ARI , para ello sera necesario declarar una extension 9000 donde invocaremos la aplicacion “Stasis” que es el mecanismo que utiliza Asterisk para entregar el control de un canal desde el plan de marcado hacia ARI.

En el archivo “extensions_custom.conf” incluimos un nuevo contexto llamado “ariwebsoket” de la siguiente forma:

 

Luego agregamos el final del archivo el nuevo conexto:

3.- Pruebas con ARI sobre Issabel.

Vamos a preparar una prueba muy sencilla de como nos podemos conectar mediante una petición de websoket hacia ARI para visualizar un evento en concreto, para ello sera necesario instalar wscat mediante nodejs.

curl -sL https://rpm.nodesource.com/setup_8.x | bash –
yum install -y nodejs
npm install -g wscat

Ahora desde una terminal nos conectamos a Issabel y ejecutamos

wscat -c “ws://localhost:8088/ari/events?api_key=ari:tucontrasena&app=hello-world”

Veremos que estamos conectados hacia ARI, de igual forma en el CLI veremos lo siguiente:

Lo cual nos indica que hay una conexión vía WebSocket hacia la aplicación “Hello-world”

Ahora al llamar a la extensión 9000 sera posible ver los detalles del evento mediante ARI de la siguiente forma

Esto es un test muy sencillo para validar que ARI funciona correctamente en Issabel, en un post nuevo veremos como desarrollar una aplicación con Nodejs haciendo uso de una cliente ARI para controlar Issabel.

Saludos
Juan Oliva.

 

 

Anuncios

búsqueda de vulnerabilidades mediante análisis de código fuente estático

enero 11, 2019 5 comentarios

Luego de terminar el año a full, regresar de unas pequeñas vacaciones me pongo al día con el blog ya que lo he tenido un poco descuidado. Como parte de las actividades en los proyectos de Ethical Hacking se tienen requerimientos para buscar vulnerabilidades en el código fuente de manera estática, es decir sin que la aplicación evaluada este ejecutándose, para realizar ello nos podemos ayudar en ciertas herramientas que pueden AYUDAR en realizar esto, y resalto AYUDAR por que ninguna herramienta va hacer el trabajo al 100% , siempre va ser necesario realizar un análisis posterior de los casos.

En este caso, vamos a aprender a instalar , configurar y usar Sonarqube es una herramienta que me a ayudado mucho en estas labores, este procedimiento se puede aplicar en Ubuntu 18.04.1 u otro derivado.

 

1.- Instalar java

sudo apt install openjdk-8-jdk openjdk-8-jre

2.- Crear directorio

mkdir sonarqube

2. -Descargar Sonarqube

Para ello es necesario ingresar a la pagina : https://www.sonarqube.org/downloads/

También es necesario descargar el escaner de : https://docs.sonarqube.org/display/SCAN/Analyzing+with+SonarQube+Scanner

Al descomprimir los archivos tendremos lo siguiente :

3.- Luego descargaremos un proyecto opensource como DVWA para analizarlo

Para esto descargaremos un viejo conocido como DVWA

4.- Ahora vamos a configurar el escaner

– Crear una carpeta “main” en la ruta sonar-scanner-3.2.0.1227-linux/bin

cd sonar-scanner-3.2.0.1227-linux/bin
mkdir main

– luego dentro de la carpeta “main” vamos a mover y descomprimir la carpeta de la aplicacion a analizar

mv DVWA-master.zip sonar-scanner-3.2.0.1227-linux/bin/main/
cd sonar-scanner-3.2.0.1227-linux/bin/main/
unzip DVWA-master.zip

– Ahora crear un archivo “sonar-project.properties” indicando la aplicación a evaluar de la siguiente forma

cd sonar-scanner-3.2.0.1227-linux/bin
vim sonar-project.properties

5.- Finalmente iniciamos el panel de sonar y luego escaner para iniciar el análisis

– Iniciar sonar
cd sonarqube/sonarqube-6.7.5/bin/linux-x86-64
./sonar.sh start

Sonar iniciara en el puerto 9000 del localhost de la siguiente forma

 

– Ahora iniciar el escaner
cd sonarqube/sonar-scanner-3.2.0.1227-linux/bin
./sonar-scanner

Como vemos el análisis del de las paginas se realizo correctamente.

6.- Análisis de resultados

Luego de que el escáner termine el análisis en el panel de sonar aparecerá un nuevo proyecto de la siguiente forma

Como vemos ahora tenemos un proyecto analizado, al ingresar veremos que tenemos catalogadas los bugs, vulnerabilidades, entre otros resultados.

Al ingresar a las vulnerabilidades, tendremos un listado de las mismas.

El siguiente paso es analizar cada una de las vulnerabilidades reportadas en el código para identificar la importancia de las mismas, su importancia en el modelo de negocio y por su puesto como poder corregirlas.

 

Espero que les sirva.
Saludos
Juan Oliva

 

Mikrotik Winbox server vulnerability

octubre 10, 2018 1 comentario

Hace unos meses recibía llamadas de algunos clientes preocupados debido a que sus empresas proveedoras de servicios de internet y de Voz los llamaban advirtiéndoles que sus equipos Mikrotik fueron comprometidos y que era necesario que revisen sus redes internas ante algún comportamiento “raro”.

Así fue como comenzó todo, luego googleando un poco se encontraban muchas notificas referentes a que millones de estos routers fueron comprometidos para ser usados en campanas de “cryptojacking” es decir usaban los equipo para minar crytomendas, sin embargo como siempre todo fue la punta del iceberg.

Buscando el vector del ataque se reportaba que descubrió que servicio Winbox cuenta con una vulnerabilidad que permite a eludir la autenticación y leer archivos al modificar una solicitud para cambiar un byte relacionado con una ID de sesión, lo cual suena a mas de los mismo, fallas en el control de recepción de variables en determinados servicios, el cual fue catalogado como CVE-2018-14847

Valga las verdades el fabricante reporto la vulnerabilidad a fines de marzo de 2018 sin embargo siempre existe un tiempo en que los atacantes elaboran los programas para sacarle provecho a este tipo de vulnerabilidad y por supuesto nadie actualiza 😀 es por ello recién a mediados de agosto se desato el caos en las implementaciones que usaban esto equipos con la aparición de los exploits.

Para los que me conocen saben que Mikrotik no es de mis equipos preferidos, esto es debido a que lo venden como “Firewall de perímetro” es decir proteger a una red empresarial, cuando el equipo no es mas que un router, sabiendo que hoy para proteger una empresa necesita mas que abrir o cerrar puertos o un proxy básico en su mínima expresión como es el que maneja el RouterOS, sin embargo es evidente que el factor costo es importante comparado con equipos UTM, sumado al desconocimiento de los clientes ante integradores oportunistas.

Entonces sin mas, les comparto el procedimiento y el vídeo para hacer el P.O.C. de esta vulnerabilidad sobre Kali Linux

Espero les sirva!!

Saludos
Juan Oliva

 

 

 

SWIFT SWIFTNet Hacking en Redes Bancarias

junio 20, 2018 Deja un comentario

Luego de ver la noticia del hackeo del banco de chile, lean la publicación de la nota de Cesar Farro que lo detalla desde su perspectiva externa, me animé a escribir algo referente a ello, ya que es casi un año que vengo involucrado en realizar análisis de seguridad y vulnerabilidades a redes SWIFT justamente.

Como detrás de este tipos de servicios existen NDA vigentes, voy a ser bastante pragmático al respecto, emitiendo lineamientos que desde mi punto de vista personal, y que tendrían que ser de sentido común para este tipo de redes y al final conclusiones al respecto.

Al grano, normalmente siempre se tiene la perspectiva por fuera y no necesariamente por dentro, ya que como se entenderá son arquitecturas muy cerradas y no en lo tecnológico necesariamente ( si no pregunten el al banco de Chile 😀 ) digo esto por que al final terminamos hablando de los mismos componentes de siempre, como sistema operativos Windows, Unix, estaciones de trabajo, aplicaciones web, bases de datos, es decir nada que en una red empresarial deja de tener, empecemos desmenuzando la idea.

1.- QUE ES SWIFT ?
De pronto lo que uno mas conoce es el famoso código SWIFT para realizar transferencias internacionales, detrás de ello esta la “Society for Woldwide Interbank Financialla cual provee hardware/software que articula mediante programas y regulaciones en general toda esta actividad a la cual están afectas las entidades bancarias.

Dentro de los lineamientos se establecen arquitecturas de uso que pueden tener las entidad bancarias que se detallan a continuación :

Arquitectura A1 Full Stack
La interfaz de mensajería como la de comunicación están dentro del entorno del usuario. Este tipo de arquitectura también incluye soluciones alojadas donde el usuario tiene las licencias para la interfaz de mensajería y la interfaz de comunicación.

Arquitectura A2 Partial Stack
La interfaz de mensajería está dentro del entorno del usuario, pero un proveedor de servicios (para ejemplo, una agencia de servicios, SWIFT Alliance Remote Gateway o un centro de grupo) es licencia y administra la interfaz de comunicación. Arquitectura A3 – Connector
La aplicación de software (por ejemplo, Alliance Lite2 AutoClient, soluciones de transferencia de archivos) es utilizado en el entorno del usuario para facilitar la comunicación de aplicación a aplicación con una interfaz en un proveedor de servicios. Arquitectura B – No local user footprint
No se utiliza ningún componente de infraestructura específico de SWIFT dentro del entorno del usuario.
Fuente : https://www.accesspay.com/wp-content/uploads/2017/09/SWIFT_Customer_Security_Controls_Framework.pdf

2.- LOS CONTROLES
Dentro de las regulaciones a nivel de gestión de SWIFT solicita y obliga a cumplir los 27 controles ( obligatorios y recomendados) los mismos que están indicados en el “SWIFT Customer Security Controls Framework” al cual se puede acceder públicamente y además los empleados cursos como por ejemplo el “Customer security programme” entre otros.
Un detalle que se puede identificar en este contexto, es que las entidades tienen que  cumplir todos los controles y no solo los obligatorios ya que el común es pensar con eso ya están aprobando, cuando es todo lo contrario.

Sobre el cumplimiento de los controles, desde mi punto de vista, si bien es cierto en general la especificación de los controles es buena, sin embargo también muchos de los controles son muy ambiguos y poco precisos.

Basado en ello, un auditor/empleado que solo conoce la parte de gestión, puede interpretar de manera muy ligera los mismos, por ejemplo hacer cumplir un control determinado con solo con un procedimiento general, por el contrario alguien que maneja de parte de ingeniería/técnica la va interpretar de manera mas puntual, por ejemplo con una captura de pantalla del sistema o componente técnico, donde se muestra que se hace efectivo el control.

Para finalizar este punto indicar que la red SWIFT de la entidad va ser tan antigua como la misma lo permita en funcion a lo de siempre, no actualizar su arquitectura.

3- Evaluaciones de Cyberseguridad
Dentro de los controles de SWIFT se exige que es necesario hacer una evaluación de Ciberseguridad / Ethical Hacking a todos los componentes que involucran la arquitectura SWIFT. Por otro lado también a nivel de regulador bancario en el caso del Perú por ejemplo es la SBC que también lo exige, entonces tienen por lo menos dos servicios que tienen que ejecutar en diferentes ámbitos.

En ese sentido, es clave definir bien los activos a evaluar, sistemas involucrados, las actividades contempladas y horarios de ejecución, es decir es necesario definir bien el alcance, de lo contrario como en otros ámbitos, este punto solo será un puro formalismo a cumplir en el informe como desarrollar un escaneo o un análisis de vulnerabilidades automatizado que pasa a los informes.

4.- CONCLUSIONES Y RECOMENDACIONES

– Contar con la zona segura exclusiva/aislada de todo y textualmente de TODO sin ningún tipo de enlace hacia la red empresarial y hacia internet, esto es fundamental pero es muy difícil sobre todo por temas en primera instancia de flexibilidad, recordar el viejo dicho “mientras mas mas seguro menos flexible” y por otro lado de presupuesto, ya que estamos hablando para comenzar de tener toda la parte de switching, firewall, controladores de dominio y demás dispositivos de la arquitectura, exclusivos para la red SWIFT totalmente separado y con una función única.

– PC de operador de uso exclusivo, es decir solo para uso de SWIFT, evitar uso de servidores de salto, maquinas virtuales, citrix, escritorios remotos y demás elementos, como sabemos la mayor brecha de seguridad la producen los usuarios finales e inevitablemente se tiene que usar Windows (ojo aquí con las actualizaciones de seguridad), es recomendable primero que las PC de operador que acceden a los aplicativos SWIFT sean de uso exclusivo para ello y estén dentro de la zona segura , evidentemente siguiendo estándares de aseguramiento muy rígidos (Que normalmente no lo aplican no solo a nivel del sistema operativo, si no a nivel físico, ejemplo, contraseña de bios, desactivar USB, no tener software innecesario, no tener salida a internet entre otras.

– Uso de doble factor de autenticación, uso de tokens RSA para no solo autenticar hacia las aplicaciones, si no también a nivel de sistema operativo de los PC operador, reduce la brecha de riesgo.

– Servidores de producción SWIFT , Desde mi punto de vista usar servidores Windows para los servidores de producción y respaldo que exige SWIFT, es un error, cuando es sabido que Solaris/Unix ofrecen una menor brecha de seguridad en cuanto a vulnerabilidades reportadas.

– Software de Mensajería SWIFT y arquitectura general SWIFT va ser tan actualizada o no, como la entidad bancaria lo decida, SWIFT provee actualizaciones bastante constantes por ejemplo para el software de mensajería, mediante boletines y es labor de los responsables estar capacitados para realizar ello.

Finalmente basado en lo que he visto la mayor brecha de seguridad esta en no tener una red segura, usuarios operadores con estaciones Windows multiproposito y el y uso Windows en los servidores de mensajería.

Espero les sirva.
Saludos
Juan Oliva

 

 

 

 

Instalación de OWASP Juice Shop en Kali Linux

marzo 22, 2018 Deja un comentario

OWASP Juice Shop es una aplicación de Internet intencionalmente insegura para entrenamientos de seguridad escrita enteramente en JavaScript que abarca todo el Top Ten de OWASP y otros defectos graves de seguridad.

Juice Shop está escrito en Node.js, Express y AngularJS. es una aplicación escrita completamente en JavaScript la cual contiene una gran cantidad de desafíos de hacking de diversa dificultad donde el usuario debe explotar las vulnerabilidades subyacentes. Lo cual es perfecto para probar, practicar, validar ,etc.etc vulnerabilidades con este tipo de arquitecturas que a la fecha se encuentran bastante viene muy bien.Instalación en Kali Linux
Si bien es cierto existen al menos dos formas de instalar, vamos a realizarla de la siguiente usando el contenedor en docker de la siguiente forma :

#apt-get install -y apt-transport-https ca-certificates dirmngr
#apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 \
–recv-keys 58118E89F3A912897C070ADBF76221572C52609D
#echo ‘deb https://apt.dockerproject.org/repo debian-stretch main’ > \
/etc/apt/sources.list.d/docker.list
#apt-get update
#apt-get install docker-engine
#service docker start
#docker run -d -p 3000:3000 bkimminich/juice-shop

Una vez instalado podremos acceder a Juice Shop

Existe un completo manual de explotación en el siguiente enlace :

https://bkimminich.gitbooks.io/pwning-owasp-juice-shop/content/

Espero les sirva.
Juan Oliva

 

 

Categorías:Manuales y tutoriales

Metasploitable3 Practice labs

marzo 22, 2018 Deja un comentario

Como algunos saben, parte de mis actividades profesionales en seguridad informática están destinadas a los temas de capacitación y entrenamiento, es así que al desarrollar los ejercicios para un nuevo curso de Ethical Hacking, empecé a desarrollar los correspondientes a Metasploitable 3  Al terminar los ejercicios se me ocurrió crear este documento.

El objetivo del material es proporcionar una guía práctica para desarrollar la
explotación de vulnerabilidades en Metasploitable 3 desde la perspectiva de un
Pentester / Ethical Hacker.

La misma representa una recopilación de diversos tutoriales escritos y en vídeo, los
cuales han sido probados y modificados tratando de aplicar una metodología sencilla y
que sobre todo provea un marco de referencia para la evaluación de vulnerabilidades.

Todas las instrucciones del presente material fueron realizadas con Kali Linux y con la
instalación de Metasploitable3 realizada en este enlace:

https://jroliva.net/2018/01/21/instalacion-metasploitable3/

Descarga :  http://www.silcom.com.pe/papers/Paper_Metasploitable3_Practice_labs.pdf

Espero les sirva
Juan Oliva.

Instalación de Metasploitable3 en Linux Mint/Ubuntu

enero 21, 2018 2 comentarios

Todos los que estamos relacionados en el mundo de Ethical Hacking y el Pentesting hemos usado Metasploitable la cual es una maquina virtual permite desarrollar ataques utilizando Metasploit Framework. La misma es utilizado para una diversidad de propósitos; como entrenamientos para la explotación de red, desarrollo de exploits, evaluación de software, entre otros propósitos. Metasploitable hasta la versión 2 era un disco duro la cual se instalaba fácilmente sobre VirtualBox o Vmware, sin embargo desde le 2012 que no se actualizaba y poco a poco venia perdiendo vigencia.

El año pasado la empresa Rapid7 creadores de la misma lanzaron la nueva versión  “Metasploitable3” la misma que hasta la fecha está basada en Windows lo cual cambia bastante toda la lógica llevada hasta el momento,  ya que su predecesor estaba basado en Linux.

Sin embargo esta nueva maquina tiene una serie de vulnerabilidad actuales muy interesantes que vale la pena revisar, a continuación veremos la forma de instalar la maquina, ya que la instalación de esta versión ha cambiado mucho.

Escenario :
S.O. Ubuntu Xenial 16.04
VirtualBox 5.2.4

1- Instalación de Prerrequisitos

Packer
wget https://releases.hashicorp.com/packer/1.1.3/packer_1.1.3_linux_amd64.zip?_ga=2.259436163.8806393.1516559508-2105737727.1516559508 -O packer_1.1.3_linux_amd64.zip
unzip packer_1.1.3_linux_amd64.zip
sudo mkdir /usr/local/packer
sudo mv packer /usr/local/packer/
nano ~/.profile
Al final del archivo agregar : export PATH=$PATH:/usr/local/packer
Luego el comando : source ~/.profile

Si todo salio bien al realizar el comando packer –version deberá responder de la siguiente forma.


Vagrant
wget https://releases.hashicorp.com/vagrant/2.0.1/vagrant_2.0.1_x86_64.deb?_ga=2.260144013.1615441003.1516560525-1954706866.1516560525 -O vagrant_2.0.1_x86_64.deb
sudo dpkg -i vagrant_2.0.1_x86_64.deb
vagrant plugin install vagrant-reload

Si todo salio bien deberíamos tener esta respuesta :
2.- Instalación de Metasploitable3

git clone https://github.com/rapid7/metasploitable3.git
cd metasploitable3/

Ahora comenzar con la construcción de la maquina virtual con el siguiente comando

packer build windows_2008_r2.json

Con ello, comenzara a descargar la ISO de Windows 2008 por tanto habrá que esperar a la descarga 😀
Luego comienza la construcción de la maquina virtual
Una vez finalizado el proceso nos mostrara lo siguiente :

Ahora proceder con el segundo paso de la construcción con el siguiente comando

vagrant box add windows_2008_r2_virtualbox.box –name=metasploitable3

Una vez culminado finalizamos la construcción  de la maquina con el comando que la importa hacia VirtualBox  :

vagrant up

Con ello tenemos finalizada la construcción de la maquina y la tendremos en la lista de maquina virtuales de virtual Box

Luego de identificarla corremos un nmap y vemos que tiene varios servicios para explorar.

3.- Guias
Finalmente les comparto algunas guías para que puedan practicar con Metasploitable3

http://www.hackingarticles.in/manual-penetration-testing-metasploitable-3/

http://ultimatepeter.com/metasploitable-3-meterpreter-port-forwarding/

http://www.hackingarticles.in/ftp-service-exploitation-metasploitable-3/

http://www.hackingarticles.in/penetration-testing-metasploitable-3-smb-tomcat/

http://www.hackingarticles.in/exploitation-metasploitable-3-using-glassfish-service/

http://www.hackingarticles.in/hack-metasploitable-3-using-mysql-service-exploitation/

Espero les sirva.
Saludos
Juan Oliva
@jroliva