Mostrando entradas con la etiqueta malware. Mostrar todas las entradas
Mostrando entradas con la etiqueta malware. Mostrar todas las entradas

martes, 12 de julio de 2016

Setoolkit para la creación de payloads

Buenas noches hackers! En esta entrada con un vídeo explicativo de Rabbit Hutch, se procederá a la creación de payloads y el uso del exploit/multi/handler para estar a la escucha de por un puerto determinado a la espera de una conexión inversa a nuestro host, dentro de una red LAN proporcionada por VMware y en un entorno controlado virtualizado.


SET, proporciona un gran abanico de posibilidades en cuanto a ataques de ingeniería social. Estas herramientas se integran con el framework Metasploit para así garantizar una fase de explotación en el sistema víctima. 
La creación de un payload ejecutable garantiza que ese binario malicioso mediante la ingeniería social, la víctima pueda ejecutarlo y así realizar la conexión hacia nuestro host y la obtención de meterpreter para uso de administración remota del sistema. 
Este payload generado no es FUD, por tanto existen métodos de ofuscación de código ya sea una vez compilado, o desde su código fuente. Para ello esta entrada y este vídeo es un mera introducción a malware, detectado por los diferentes AV's existentes en el mercado. Dentro de poco veremos herramientas que generan troyanos o RAT, completamente FUD o casi. 
Pero básicamente el procedimiento es el mismo. La elección de un payload y su correspondiente exploit. Herramientas como Veil-Evasion permiten la creación de payloads y poder usarlo con el exploit/multi/handler de Metasploit a la espera de la conexión (o payload) inversa dada una dirección IP pública o privada y un puerto determinado. 
También veremos más adelante de forma teórica ataques fuera de la red LAN mediante el uso de NoIP y apertura de puertos en la puerta de enlace o gateway. 

Proof of concept

Un saludo Naivenom

sábado, 7 de mayo de 2016

Fraude online y cibercrimen

Buenas a todos,

En este nuevo post se pretende dar una primera idea de las principales amenazas existentes en la actualidad y de que manera los ciberdelincuentes las emplean para atentar tantos a empresas como a individuos.

- Cybersquating: Consiste en la usurpación de dominios, logos y marcas de una empresa para suplantarla. Se basa en registrar un nombre de dominio, a sabiendas de que otro ostenta mejor título a él.

-Typosquating: Se basa en un error tipográfico en la escritura del dominio que se desea acceder para entrar en otro que no se corresponde.

Nos podríamos preguntar, ¿Qué consigue un ciberdelincuente con ésto? Su finalidad puede ser desviar tráfico del dominio oficial con objeto de que dicha empresa compre el dominio, reputación de su marca, extosión, alojamiento de malware,...



Por ejemplo, un fraude contra el dominio de la conocida red profesional linkedin, podría ser:

typosquating: likedin, linkdin, limkedin
cybersquating: limkedin.com, timkedin.com

Existen diversos mercados de compra/venta de dominios como sedo (https://sedo.com/es/). Introduciendo el dominio target que se desea comprar, por ejemplo, en este caso linkedin, se encontrarían todos estos dominios que se encuentren en venta:



Además como se comentó en la entrada Él éxito del phishing estas técnicas se emplean para engañar a los usuarios cuando se desarrolla un ataque de phishing.

- Ransomware: Los ransomwares son cada vez más las "armas" empleadas por los ciberdelincuentes para secuestrar los PC's de las víctimas y chantajearles para su recuperación.

Hace ya un tiempo apareció el llamado "Virus de la Policía" desarrollado por una banda de Europa del Este que se basaba en el secuestro del PC suplantando a la Policía. Desde entonces se han desarrollado nuevas versiones que directamente se basa en el cifrado de los archivos del PC víctima y además en las últimas semanas han surgido variaciones que no sólo las dejan cifradas sino que las destruyen.



En un principio las víctimas potenciales eran los usuarios individuales que sino tenían copias de seguridad, muchos de ellos no tenían más remedios que pagar (jugándose a que realmente le facilitan al contraseña tras su pago).

Posteriormente, sus objetivos cambiaron y se enfocaron contra las empresas de tal manera que logran cifrar PC's de trabajadores y con suerte de servidores de tal manera que se podía no solo paralizar el trabajo de un empleado sino de toda la empresa o departamento de la misma.

Actualmente, en las últimas semanas sus objetivos son los hospitales y los campus universitarios. Siendo en el caso de los hospitales realmente crítico.

Estas bandas de cibercriminales intentan desarrollar diferentes apt's, en ocasiones, basadas en ingeniería social, por ejemplo las últimas campañas de Correos España con el fin de que algún empleado caiga en la trampa, de tal manera que infecten su equipo y las carpetas compartidas de las unidades que tenga y así se extienda a toda la empresa.

Hay que destacar que están apareciendo ransomware para los teléfonos móviles. Además de todos los trojanos o RAT (Remote Administration Tool) que ya existen para atacarlo, se incorpora el ransomware.



En el caso de los móviles, no hay que olvidar que tenemos más información en nuestros smartphones que en nuestros PC's, de tal manera que los ciberdelincuentes podrían acceder a información personal sobre nosotros, y por consiguiente intentarían extorsionarnos.
Análogamente en los teléfonos móviles suelen tener bastante éxito debido a que normalmente no se realizan copias de seguridad (muchos de ellos si dan la opción de realizarlas periódicamente y almacenarlas en la nube).

Finalmente, se quiere destacar la numerosa actividad maliciosa que se comete en la Deep Web. Ahora bien hay que destacar que la finalidad de la Deep Web es anonimizar la identidad de las personas para evitar se rastreada, por ejemplo, individuos de países en los se limita la libertad de expresión. Sin embargo, como ocurre con todas la cosas, en función de uso pueden realizar cosas buenas o malas.



De esta manera navegando por la misma, se pueden descubrir numerosos sitios web que se basan desde la venta de armas, drogas, hasta la clonación de tarjetas de crédito o contratación de un sicario.





Análogamente, se pueden encontrar incluso alquiler de botnes (red de ordenadores zombies) para realizar por ejemplo ataques DDOS (Distribution Denegation Of Service). Una botnet toma el control de un PC previamente infectado que es llamado como ordenador zombie para llegado el momento controlarlo remotamente y realizar acciones maliciosas. En el post Seguridad Informática (II) - Malware se mostraron los principales malwares existentes para infectar un PC.


La finalidad de esta entrada tiene como finalidad ser educativa y para concienciar sobre el fraude online actual.

La mejor defensa es un buen ataque.

Saludos.

NaxHack5

martes, 26 de abril de 2016

DeceptionPI - Estudiando a los atacantes mediante sistemas señuelo





Buenos días hackers!!

En el anterior post sobre Introducción a los sistemas señuelo - Honeypots , vimos una pequeña introducción sobre el tema y os prometimos esta entrada, una prueba de concepto en la que aprenderemos un poquito más sobre el apasionante mundo de los sistemas señuelos (Honeypots).

Antes de empezar con la prueba de concepto, queremos explicar en que partes de la red podemos montar estos sistemas, así como las ventajas e inconvenientes que conlleva cada una.



Ubicación de los Honeypots

La ubicación de los Honeypots, es una parte fundamental y que deberemos tener en cuenta, con el fin de maximizar la efectividad y el número de ataques que recibimos. Una mala implementación, hará que los atacantes abandonen el sistema tras conseguir el acceso, o simplemente no atacarán.


Antes del Firewall (Front of Firewall): 
Al implementar nuestro Honeypot antes del firewall, evitaremos que nuestra red local (LAN) sea vulnerada, ya que el Honeypot se encontrará fuera de la zona protegida por el firewall.
Es la ubicación donde menos riesgo se suministra a la red.
Esta es la principal ventaja que nos ofrece esta ubicación, pero también tiene algunas desventajas como por ejemplo: evitamos la detección de atacantes internos (en caso de haberlos), generamos grandes volúmenes de tráfico, por la facilidad que ofrecemos para ser comprometidos.


Después del Firewall (Behind the Firewall): 
En esta ubicación, el Honeypot se ve afectado por las reglas de filtrado del firewall, lo que conlleva una configuración previa para permitir el tráfico entrante.
Esto permite la identificación de atacantes tanto externa como interna, sin embargo, ponemos en riesgo todo nuestro sistema, ya que el atacante tendrá vía libre a toda nuestra red, si logra comprometer el Honeypot.
Para minimizar este riesgo, podremos incluir un firewall extra en el Honeypot, que limite el tráfico de salida (reverse firewall).



En la DMZ (Zona Desmilitarizada): 
Personalmente, este es la ubicación que más me convence, ya que permite situar en el mismo segmento de red a nuestro Honeypot con nuestros servidores de producción, controlando el peligro ya que existe un firewall que lo aisla del resto de nuestra red.
Es la arquitectura ideal para organizaciones o empresas y permite detectar ataques tanto externos como internos, con una simple reconfiguración del firewall, ya que el Honeypot se encuentra en una zona de acceso público.


Con los conceptos claros, ahora pasamos a mostraros la prueba de concepto. Este proyecto ha sido creado por Juan Velasco y Diego Jurado, y presentado al reto de jovenes profesionales de ISACA, el cual se celebrará el día 27 en el evento de MundoHackerDay (Madrid).



DeceptionPI




Vamos a realizar un breve resumen sobre el proyecto realizado. Quien quiera, puede descargar nuestro trabajo en formato PDF en el siguiente enlace: https://lnkd.in/ddKGe5y

DeceptionPI se centra en el análisis de las tendencias de ataques y malware en sistemas señuelos para informática forense. Nace de la necesidad de obtener y analizar los diferentes tipos de amenazas informáticas mediante la emulación de vulnerabilidades, concretamente ataques Secure Shell (SSH).

Implementamos y configuramos una pequeña red de sensores, integrados en plataformas de pequeñas dimensiones (Raspberrys) y situados tanto en Madrid como Granada y mediante los cuales recogeremos y clasificaremos datos, malware y otra información de interés.



Este es el esquema de red que implementamos:



Para la configuración de nuestros sistemas en las raspberrys, utilizamos el sistema operativo "Raspbian", junto con la integración de Honeypots Cowrie, basados en la detección de ataques SSH.
Durante este proceso, tuvimos que configurar a conciencia nuestros sistemas, emulando una apariencia completamente real, para que los atacantes no detectaran que se encontraban en un Honeypot, y abandonasen sus ataques.

Una vez configurados los sistemas, estuvimos recogiendo ataques de todas partes del mundo durante una semana y decidimos crear una página web en la cual pudiésemos mostrar los resultados de forma visual.
Esta es la web: http://deceptionpi2016.tk/

Entre los ataques recibidos, podemos mostrar (entre otros) cuales son los diez países más atacantes, las combinaciones de usuarios y contraseñas más utilizadas, o incluso la geolocalización ip de los atacantes.







Pero sin duda, una de las partes más interesantes del proyecto fue el análisis de los resultados.
Pudimos recoger muestras de malware de todo tipo, las cuales fueron estudiadas para determinar el impacto y el tipo de malware recibido. 

Utilizamos listas de reputación conocidas como virustotal para saber si los hashes ya habían sido detectados anteriormente o por el contrario, se trataba de nuevas tendencias de malware.



También podemos determinar si la IP atacante pertenece a una botnet, consultando en listas de reputación de bots. 
Para esto, hemos utilizado un script implementado por @rbelane el cual nos permite determinar de una lista de IP's, cuales de ellas forman parte de una botnet.






Recomendaciones

Hemos detectado hasta 3200 ataques por día en nuestros sensores, lo cual nos muestra que todos nos encontramos expuestos, y que todos somos vulnerables si no configuramos nuestros servicios de manera correcta.
Hemos sido capaces de detectar nuevas tendencias de ataque, nuevos patrones, detecciones de malware y por eso os recomendamos:
  1. Cambiar el puerto SSH por defecto.
  2. No permitir la autenticación por defecto (root o 1234)
  3. Implementar medidas contra ataques por fuerza bruta.
  4. Uso de contraseñas más fuertes.
  5. Hacer uso de las opciones host.allow y host.deny , o configuración de reglas mediante iptables para especificar desde que dirección se va a permitir el acceso y desde cuáles no.



Espero que les haya gustado esta entrada. Esto es tan solo una mínima parte de nuestro proyecto, pero como ya he dicho anteriormente, podéis descargar nuestro trabajo, con el fin de conocer todos estos datos de manera más detallada.
Nuestro proyecto fue seleccionado, y expondremos mañana en mundohackerday
Os esperamos.


"To make a good defense, you have to know how they attack."

jueves, 7 de abril de 2016

Seguridad Informatica (I) - Introducción

Concepto

La seguridad informática representa la seguridad de los sistemas de una organización, el como garantizar de un modo u otro el control del acceso físico y lógico, de su integridad, y que no corra el peligro de las fugas de información por parte de atacantes desde dentro de la organización como ataques desde el exterior.



La seguridad absoluta de los sistemas de información, es complicado. ¿Por qué es tan difícil mantener la integridad de los datos, confidencialidad y disponibilidad? Bueno muchos de ustedes sabéis que la información puede ser alterada cuando circula por la red y dicha comunicación debería ser cifrada siempre (aunque el protocolo HTTP parece que no le importe) entre el cliente y servidor, y garantizar que el servicio ofrecido este siempre disponible.
Por otra parte, si un sistema es muy seguro de nada sirve si los miembros de la organización no tienen conocimientos básicos sobre seguridad para evitar ataques de ingeniería social.

La visión general de la seguridad informática, esta comprendida en la seguridad pasiva, la seguridad lógica, y las aplicaciones usadas y protocolos (SSH, VPN...). Es decir, hay que tener en cuenta la importancia tanto de la seguridad perimetral (física) de la organización; como el control de acceso a los datos, una correcta administración de los sistemas implementando contraseñas seguras, bases de datos de las firmas de los antivirus siempre actualizada y las comunicaciones siempre cifradas.


Los famosos sombreros

Existen diferentes definiciones de hacker. Por regla general, un hacker es una persona entusiasta con afán de ganar conocimiento y aplicarlo, ya sea por ejemplo buscando vulnerabilidades de software y explotarla para alcanzar una shell remota, y la posterior escalada de privilegios.
Dependiendo de la categoría asociada al hacker existen:
  • Black Hat: Se asocia a aquel hacker que penetra los sistemas informáticos con el propósito de cometer actos maliciosos o retos personales. El término black hat no significa sin ética ni moralidad. Emplean las mismas técnicas que por ejemplo un pentester o auditor de seguridad informática pero con propósitos diferentes.
  • White Hat: Las técnicas usadas son las mismas que los Black Hat con la diferencia que su objetivo es ayudar o mejorar los sistemas auditados en una organización, explotando vulnerabilidades ya existentes o los famosos 0days. Estos hackers publican sus investigaciones en la red, divulgando su código como por ejemplo pueden ser los exploits, para añadirlos en los módulos de Metasploit Framework. 
  • Grey Hat: Sus intenciones no son del todo malas, pero dependiendo de la legislación del país entrar en un sistema de la organización "X" es ilegal, incluso avisando al propietario. Por tanto es una especie de híbrido entre los dos anteriores, ya que aunque no produzca daños a la organización, puede estar cometiendo un delito. 

Amenazas existentes

Con esta sencilla imagen se puede resumir de forma concisa una buena clasificación del malware existente:



Actualmente es muy habitual las redes zombis o botnet. Los usuarios no notan que su maquina esta infectada con el fin de realizar ataques con cada uno de las maquinas infectadas de la red zombie para hacer DDoS a un servidor en concreto.
La forma más habitual para distribuir este tipo de malware es el uso de cracks y archivos distribuidos por algún cliente p2p, como Emule o BitTorrent. Este software infectado con malware, al ejecutarse en la maquina queda totalmente comprometida e implementada en la botnet, así el atacante o el que la controla puede dirigirlo de forma remota
El uso más habitual de este tipo de redes son ataques DDoS, envio de Spam y minería de Bitcoins.



Es interesante la noticia reciente en Incibe, Malware y Filemón. A medida que avanza la historia hay distintas técnicas para atacar al usuario y así también van surgiendo nuevos métodos para poder protegerse.
La paradoja con Mortadelo y Filemon, es igual a malware disfrazado como un programa legitimo y el antivirus (AV's). Las distintas técnicas que usan los antivirus para poder desenmascarar el malware (casi) indetectable son varias como la firma digital, heurística, por comportamiento, uso de maquinas virtuales, minería de datos entre otros.
El disfraz que usa el malware (Mortadelo), para poder evadirse de los AV's (Filemon) es igual a unas determinadas técnicas de evasión:
  • Desactivación del AV's
  • Ocultación en procesos permitidos por el AV's
  • Evadir las firmas de los antivirus
  • Destrucción del registro de arranque principal 
  • Mediante claves de cifrado del código malicioso
  • Ofuscación de código ya sea desde el source o binario.

Los ladrones de información, les encanta la información sensible como cuentas bancarias. Si al usuario le cogen las fotos de vacaciones lo pueden subir algún servidor de internet sin su consentimiento, como las fotos recientes de las famosas.
Los ciberdelicuentes realizan estafas a los usuarios infectando la maquina mediante distintos procedimientos de ingeniería social haciendo exactamente lo que le dice el atacante. Un ejemplo sería que para descifrar el ordenador tienes que seguir estos pasos a cambio de dinero. La técnica principal es el phishing.  
(Wikipedia) "Phishing o suplantación de identidad es un término informático que denomina un modelo de abuso informático y que se comete mediante el uso de un tipo de ingeniería social, caracterizado por intentar adquirir información confidencial de forma fraudulenta (como puede ser una contraseña o información detallada sobre tarjetas de crédito otra información bancaria). El cibercriminal, conocido como phisher, se hace pasar por una persona o empresa de confianza en una aparente comunicación oficial electrónica, por lo común un correo electrónico, o algún sistema de mensajería instantánea o incluso utilizando también llamadas telefónicas."

Un ejemplo es el phising de ING. Se puede apreciar en la imagen que el parrafo segundo no tiene mucho sentido sintacticamente, por tanto si un usuario lee perfectamente este correo no "deberia" pinchar AQUI....


Al pinchar AQUI sale esta imagen:


Te pide 24 claves de 50...por tanto es muy sospechoso ya que los bancos solo te piden una de las 50 de la tabla de coordenadas para realizar las operaciones. Teniendo 24 claves es muy probable a que sea una de ellas de la tabla.
Otro ejemplo de bankia:
El texto esta bastante bien redactado en un español correcto (a falta del logo del banco...), realizando igual que en el ejemplo anterior una estafa al usuario pidiéndole sus datos personales mediante un enlace malicioso perfectamente camuflado "aparentemente".

Al pinchar en el enlace, se accede al servidor donde esta alojado la pagina falseada de bankia, donde el usuario introduce los datos personales almacenándose en una base de datos a disposición del atacante.


De esta forma tan sutil, el atacante almacena en la base de datos del servidor, información sensible sobre los usuarios que pican con el phishing.


Auditorías 

Una auditoría informática es aquella en la que un cliente nos contrata unos servicios para valorar la gestión de los sistemas informáticos, encontrar vulnerabilidades y explotarlas siempre con el permiso previo del cliente. Para ello se realizan test de intrusión redactando en un informe detallado, las vulnerabilidades obtenidas y las medidas o soluciones a adoptar por el administrador de sistemas para su futura corrección. Los test de intrusión que nos podemos encontrar son:
  • Test black box: Es el mejor método, simulando un ataque real. El auditor no tiene nada de información de las estaciones de trabajo, redes o servidores. Son test más rápidos pero no se obtiene toda la información que se puede obtener en un test de intrusión donde se disponga de más información previa. Se pueden realizar desde el exterior o internamente. Una organización que no tiene salida al exterior por ejemplo usando una Intranet, un atacante malintencionado haciendose pasar por un empleado mediante ingenieria social, puede atacar la organización y dejar fuera de servicio a la misma sufriendo pérdidas tanto de la información como economicas. 
  • Test white box: El auditor tiene total información acerca de la infraestructura de la corporación, tales como datos técnicos de la tecnologia usada, usuarios, contraseñas etc.. lo cual es sencillo hacer las pruebas de penetración y también le da más posibilidades para sacar más vulnerabilidades en el analisis, que en el test anterior.

Un saludo, naivenom.





sábado, 2 de abril de 2016

Introducción a los sistemas señuelo - Honeypots


Autor: Diego Jurado


Buenos días hackers!

En el día de hoy os traemos un tema muy interesante y que está muy de moda y no es otro que el de los sistemas señuelos, conocidos comúnmente como honeypots. Trataremos de dar una introducción clara y concisa para más adelante poder exponer un análisis más exhaustivo.


¿Que es un Honeypot?

Un honeypot (en inglés "tarro de miel") es un sistema muy flexible dentro de la seguridad informática, que se encarga de atraer y analizar el comportamiento de los atacantes en internet, y que provee al informático forense de una información extremadamente valiosa.

Y os preguntareis, ¿para que puede querer una persona atraer atacantes a sus propio sistema? , esto puede resultar muy contradictorio, pero lo que se busca con esta implementación es capturar todo el tráfico de red entrante y conocer todos los detalles acerca de las tendencias y metodologías de ataque de los atacantes así como los fallos de seguridad en nuestra red con el fin de subsanarlos.

Los honeypots pueden ejecutarse bajo cualquier sistema operativo y bajo cualquier servicio. Los servicios configurados determinan los vectores de ataque disponibles para que el intruso comprometa y ponga a prueba el sistema.



Finalidad de los Honeypots

Estas son algunas de las posibilidades que nos ofrecen los honeypots:

  • Desviar y distraer la atención del atacante.
  • Detectar y aprender nuevas vulnerabilidades.
  • Obtener información sobre el atacante (geolocalización, ip,puertos,etc).
  • Obtener tendencias de ataque y paises más atacados.
  • Detectar nuevas muestras de malware que aún no se conozcan.
  • Recopilar y estudiar tendencias de ataque



Clasificación de Honeypots

Los honeypots se clasifican según su implementación (virtuales o físicas) y su nivel de interacción (baja, media, alta).


SEGÚN SU IMPLEMENTACIÓN: 

  • Para producción: Al implementar un honeypot en una red de producción, el objetivo principal es la obtención de información sobre técnicas empleadas para tratar de vulnerar los sistemas que componen dicha infraestructura.
  • Para investigación: Por otro lado, en este caso los honeypots constituyen recursos educativos de naturaleza demostrativa cuyo fin es recopilar la mayor cantidad de información que permita al investigador poder analizar las nuevas tendencias y métodos de ataque así como los distintos objetivos atacados y orígenes de los ataques.

SEGÚN SU INTERACCIÓN: 
  • Alta interacción: Este tipo de honeypots se trata de un sistema convencional,construidos con máquinas reales como el que podría utilizar cualquier usuario. Se sitúan generalmente en la red interna en producción y no tiene más utilidad que la de ser atacados, lo cual significaría que el sistema está mal configurado.

    Cada interacción con este honeypot se considera sospechosa por definición, y  todo el tráfico debe ser monitorizado y almacenado en una zona segura de la red a la que un potencial atacante no tenga acceso.
  • Baja interacción: Este tipo suele ser creado y gestionado por organizaciones dedicadas a la investigación de acciones fraudulentas en la red, con la cual se investiga acerca de nuevas amenazas en la red. Son más fáciles de utilizar y mantener, con un riesgo prácticamente nulo.

    Esta implementación se basa por lo general en una instalación de software de emulación de sistema operativo, utilizando herramientas conocidas como VMware o Virtual Box.




Tipos de Honeypots

Estos son algunos de los honeypots más conocidos: 
  • Kippo: Baja interacción, emula servicios de Secure Shell (SSH).
  • Glastopf: Baja interacción para aplicaciones web.
  • Dionaea; Baja interacción, sucesor de "Nepenthes" para la recogida de malware.
  • Honeyd: Baja interacción , demonio que crea host virtuales en la red para servicios arbitrarios.
  • Sebek: Alta interacción , funciona como HIDS (Host-Based Intrusion Detection System).
  • Otros: KFSensor, Specter, HoneyBOT, HiHat



Espero que les haya gustado esta breve introducción, en la próxima entrega mostraremos en que partes de la red podemos montar estos sistemas señuelos y realizaremos una prueba de concepto (PoC) montando un honeypot de baja interacción en un sistema windows, linux o en una simple raspberry.


Para aprender más sobre el tema, os recomendamos la charla de Francisco Rodríguez (@0fjrm0), experto en ciberseguridad en INCIBE y creador de HoneyStation.



“conociendo como te atacan puedes defenderte mejor”   

domingo, 20 de marzo de 2016

Conectar troyanos a través de Tor


Buenas hackers!!
En la entrada de hoy explicaré la PoC realizada por Belane. El fin principal es la conexión inversa de un backdoor de forma anonima a traves de Tor, en otras palabras, una shell reversa anonimizada. 
La PoC esta realizada en un entorno virtualizado compuesto de maquinas virtuales con el fin educativo de un proceso real.

Parte 1: 
La primera parte del video se muestra como se realiza la conexión ssh al servidor remoto donde esta alojado las imagenes de docker usando nc.

 
"Docker (Wikipedia): Docker es un proyecto de código abierto que automatiza el despliegue de aplicaciones dentro de contenedores de software, proporcionando una capa adicional de abstracción y automatización de Virtualización a nivel de sistema operativo en Linux. Docker utiliza características de aislamiento de recursos del kernel de Linux, tales como cgroups y espacios de nombres (namespaces) para permitir que "contenedores" independientes se ejecuten dentro de una sola instancia de Linux, evitando la sobrecarga de iniciar y mantener máquinas virtuales."

Estas imagenes son como maquinas virtuales que se despliegan como contenedores. Primero se usa tor-base, que es una imagen con el servicio tor instalado. Y después donkeykong que es una imagen preparada para metasploit.
Se aprecia como lista las imagenes de docker y luego lanza la imagen con:
 docker run -it --name tor-service tor-base /bin/bash
Al ejecutarse se muestra una nueva shell de la maquina y se configura Tor.
Se ejecuta desde el shell, tor & en background para poder seguir usando esa shell. Visualiza el nombre de dominio proporcionado por Tor (hostname) y ejecuta el nc para estar a la escucha de las posibles conexiones inversas. 

Desde la maquina virtual de la victima (Windows 7) se instala Tor, socat y nc. 
Inicia Tor en background con start /b tor y ejecuta socat.exe. Socat es como una navaja suiza de conexiones, permite redirigir de un punto a otro, hacer tuberias. En este caso se usa para crear un proxy y resolver el dominio .onion. Crea una tuberia desde el puerto 5555 en localhost al 3333 en el dominio que nos da tor .onion, usando el proxy en 9050 (tor).
Y finalmente la victima ejecuta el nc para establecer la conexión con el atacante, devolviendonos una shell.


Parte2: 

 
En esta parte se utilizara un HID attack para infectar un ordenador con el backdoor conectandose a Tor, de esta forma el panel de control del atacante no esta expuesto, en este caso Metasploit.
De igual modo se usa docker para listar la imagenes disponibles en el servidor remoto, llamada donkeykong y se lanza la imagen:
docker run -it donkeykong /bin/bash
Al ejecutarse se muestra una shell y se configura Tor.
Se ejecuta desde el shell, tor & en background para poder seguir usando esa shell. Una vez realizado este procedimiento abrimos la consola de Metasploit con msfconsole y usamos el exploit/multi/handler con el payload windows/meterpreter/reverse_tcp a la escucha de conexiones.
Se abre otra terminal para generar el backdoor malicioso con msfvenom
En el escritorio de la maquina Kali Linux, tenemos el backdoor y el archivo loader.ps1 que será el usado en el HID attack.
En este caso el atacante usa la maquina Kali Linux como servidor propio donde aloja el backdoor y el loader.ps1 mediante la creación de un webserver en el directorio actual.
Ahora conectando nuestro telefono movil NetHunter a la maquina (Windows 8.1) realiza el HID attack simulando que es un teclado y ejecutando una serie de ordenes, abriendo un powershell y descargando el fichero loader.ps1 infectando a la maquina.
De este modo obtendremos una sesión meterpreter.

Una vez explicado el procedimiento de la PoC, os muestro el video demostrativo:


P.D El autor y desarrollador de esta PoC, no se hace responsable del mal uso de este tutorial. Hacerlo siempre en un entorno virtualizado con VMware, simulando este proceso real.

Un saludo, naivenom




jueves, 17 de marzo de 2016

Troyano Hacoder y el source code

Buenos dias!
En el dia de hoy os mostrare una herramienta realizada por LukaSiki/HaCoder.py. Podeis localizar el repositorio en GitHub.



Parte 1:
Primero analizaremos el código fuente para aquellos entusiastas en la programación con Python. La herramienta de administración remota (troyano), tiene un encriptado AES eligiendo valores aleatorios (random), haciendo su backdoor FUD eludiendo a los antivirus.


El archivo principal (Hacoder.py), es un script de igual modo que el anterior, conteniendo a su vez dentro de una función otro script que será la generación del backdoor. Se importan los modulos, clases de colores, el logo del programa y la encriptación AES.



Más adelante, cuando se finaliza de escribir las lineas de código correspondientes al script del backdoor, se define una función que corresponde a la generación del handler, es decir, las instrucciones correspodientes a la interacción con el cliente.



 Dentro de ella se definen funciones e interaciones como:
  • Enviar y recibir datos.
  • Subida y bajada de archivos.
  • Actualización de los clientes que se nos conecta a nuestro host, dada una dirección IP y puerto.
  • Uso de la instrucción "while" para repetir una serie de instrucciones mientras la condición sea verdadera (True)
Por último se crea el menu y una serie de condiciones con "if" dependiendo de la elección del usuario, realizando las correspodientes llamadas a las funciones creadas anteriormente.



Parte 2:
Ahora en esta parte, vamos a probar la herramienta en un entorno virtualizado en VMware. Para instalar la herramienta podemos clonar el repositorio ejecutando lo siguiente:
git clone  https://github.com/LukaSikic/HaCoder.py.git
Entramos en la carpeta generada, y damos permisos de ejecución con chmod
Es importante tener instalado Python para poder ejecutar el script, ya que es un lenguaje interpretado y necesita de una maquina virtual. El bytecode se utiliza y produce el resultado. 
Ejecutamos el script y generamos el backdoor, copiando la clave AES aleatoria e indicando nuestra IP y puerto a la escucha: 


Una vez creado el backdoor, generara un archivo .py, y como dijimos antes Python es un lenguaje interpretado, por tanto si queremos enviar este archivo a un cliente, tiene que tener Python instalado. Una opción interesante es compilar el archivo a un .exe. Entonces necesitaremos usar Pyinstaller:  https://github.com/pyinstaller/pyinstaller
Usamos la herramienta y ya tendriamos nuestro backdoor en .exe. Existen buenos tutoriales del uso de esta herramienta. 
Al elegir la opción 3 del menu del programa, automaticamente pasará al handler a la espera de conexiones, como se puede apreciar el cliente ejecuto el .exe y se nos conecto:





Hacemos Control + C para interactuar con el cliente, y obtenemos una shell del cliente: 


Una vez obtenido la shell, podemos según las funciones declaradas en el código fuente subir y descargar archivos, escalada de privilegios, keylogger y hacerlo persistente. 
Un saludo, naivenom

P.D No me hago responsable del mal uso de esta herramienta y probarlo siempre en un entorno virtualizado usando dos maquinas virtuales, una el cliente y otra de servidor a la escucha de conexiones. 







 









martes, 8 de marzo de 2016

KeRanger: Descubierto ransomware para MAC (OS X)



Autor: Diego Jurado


Buenas a todos hackers!!
Hoy vamos a hablaros sobre un tema que nos acontece, es la noticia del momento y es que era solo cuestión de tiempo pero finalmente podemos decir: OS X ha sido vulnerado.
Hasta ahora, los usuarios de Apple podían presumir de ser uno de los únicos sistemas operativos que no había sufrido de las amenazas de Internet, pero esto ya es historia.

El 4 de marzo de este mismo mes, se registró el primer ataque de ransomware, bautizado como KeRanger dirigido a usuarios de Apple y esto es un problema, especialmente para los amantes de las descargas, ya que este ´malware´ ha sido difundido a través de software torrent y puede afectar a cualquier tipo de Mac, siempre que el usuario se encargue de ejecutar la aplicación asociada.

El único ransomware conocido para OS X hasta ahora fue descubierto por Kasperky Lab en 2014, fue denominado como FileCoder y estaba incompleto, mientras que KeRanger , según los investigadores de Palo Alto, se trata de "el primer ransomware completamente funcional que se ha visto en la plataforma OS X".



¿Qué es un Ransomware?

Un ransomware (del inglés ransom = rescate / ware = software) se trata de un tipo de programa informático malicioso, que encripta y restringe el acceso generalmente a archivos o partes del sistema que ha sido vulnerado.
Una vez se tienen los datos encriptados, la única forma de recuperar estos archivos es mediante el pago de un rescate que se le pide al usuario. 

Esto supone un daño crítico, especialmente a empresas u organizaciones que dependen de sus archivos y que se han visto en más de una ocasión a pagar dicho rescate, como por ejemplo hace un mes, un hospital en los Angeles se vio obligado a pagar 40 bitcoins (equivalente a $16700) para recuperar parte de sus sistema que fue afectado por un ramsomware.






KeRanger Ransomware

Para la propagación de este ransomware, los atacantes se aprovecharon de una actualización de Transmission, un cliente de BitTorrent para OS X que llevaba dos años sin actualizarse.
Los creadores inyectaron KeRanger en dos instaladores de la versión 2.90, aprovechando que esta es una aplicación de código abierto (open source).




La aplicación infectada con KeRanger estaba firmada con un certificado de desarrollador de Apple, que lograba evitar que Gatekeeper (mecanismo de seguridad integrado en OS X) detectase la aplicación como peligrosa y rechazase su instalación.

Cuando un usuario instala la aplicación, un ejecutable embebido en la misma, pasa a formar parte del sistema. Es entonces cuando KeRanger (a los 3 días aproximadamente) se conecta con sus servidores de control y comando en la conocida red Tor y comienza a cifrar ciertos tipos de documentos y archivos de datos del sistema.


Estos son algunos de los tipos de documentos que se cifran: 




Tras finalizar este proceso, se solicita automáticamente al usuario afectado que pague un BitCoin ($400 aproximadamente) a una dirección especifica para poder recuperar sus documentos. 

Se dice que KeRanger sigue en proceso de desarrollo, y este malware intenta cifrar tambien el contenido de las copias de seguridad de Time Machine para prevenir recuperar información desde sus copias de seguridad. 




¿Como detectarlo y como protegerse?

Como era de esperar, la reacción ha sido rápida, y desde Transmission ya se han dado cuenta, y han lanzado una nueva version 2.92, donde se ha eliminado el ransomware. Esta actualización ha pasado a ser obligatoria para todos los usuarios  de la aplicación.

Pero,  ¿como podemos saber si estamos infectados?, ¿como nos protegemos?

Si vamos a Transmission y hacemos clic en Mostrar contenido del paquete con el segundo botón del ratón, podremos observar que hay un archivo extra denominado General.rtf en la ruta:
Transmission.app/Content/MacOS/Transmission. 

Este archivo de texto no es más que un ejecutable empaquetado con UPX 3.91.

Cuando el usuario infectado ejecuta la aplicación, dicho archivo se copia en la ubicación: 
Library/kernel_service y se ejecuta el servicio antes de que ninguna interfaz aparezca para recolectar información del modelo de Mac y su identificador UUID.

Estos datos se envían a un servidor externo, y este devuelve una respuesta informando sobre el rescate.



Si queremos saber si hemos sido infectados, debemos seguir los siguientes pasos: 
  • Abrir Terminal o Finder y verificar si tenemos el archivo General.rtf en nuestro equipo. Para ello basta con mirar las rutas: 

          /Applications/Transmission.app/Contents/Resources/General.rtf           /Volumes/Transmission/Transmission.app/Contents/Resources/

  • Mediante el Monitor de actividad, deberemos verificar los procesos que están activos. Si encontramos uno llamado "kernel_service" ejecutandose, deberemos hacer doble click sobre él, ir a la opción de Archivos y puertos abiertos (Open Files and Ports) y ver si hay un archivo con el nombre: /Users/<username>/Library/kernel_service , en este caso, forzaremos el cierre.

  • Por último, comprobaremos si los archivos: kernel_pid, kernel_time, kernel_complete o kernel_service existen en la carpeta Library directory, en este caso los eliminaremos.



Recomendaciones

Desde aqui, recomendamos siempre tener una copia de seguridad disponible, por si alguna vez sufrimos este tipo de ataques, con ella estaremos mucho más seguros.

Es importante concienciarse de que todos nuestros datos están expuestos, y de que todos somos vulnerables. 

Este es el primer caso de ransomware que hace que el Mac (OS X) ya no pueda mantener su reputación como bastión de seguridad por encima de Windows.



"Pienso que los virus informáticos muestran la naturaleza humana: la única forma de vida que hemos creado hasta el momento es puramente destructiva"  - Stephen Hawking -



sábado, 5 de marzo de 2016

Crea tu backdoor automatizado con BackdoorMe


Hola hackers, en esta ocasión vamos a ver como utilizar BackdoorMe.

BackdoorMe se trata de una utilidad de post-explotación capaz de crear un backdoor o puerta trasera en equipos Unix. Dispone de una interfaz similar a la de Metasploit.

Para transferir la puerta trasera al equipo objetivo, necesitamos que tenga el servicio SSH corriendo (o abrirlo en su defecto) y las credenciales del mismo.

BackdoorMe viene con una serie de puertas traseras, módulos (se pueden usar con cualquier puerta trasera para hacerlas mas potentes) y auxiliares (para ayudar a la persistencia). A continuación una lista de todo lo que nos ofrece.


MODULOS
  • Adduser: agrega un nuevo usuario en el equipo.
  • Cron: añade una puerta trasera existente al archivo crontab del usuario root para que se ejecute con cierta frecuencia.
  • Poison: envenena el archivo ejecutable de un comando del equipo objetivo, de esta forma, cada vez que el usuario utilice dicho comando, se ejecutará la acción correspondiente al comando y el backdoor.
  • Startup: permite que el backdoor se ejecute al encender el sistema, o meterlo en el archivo .bashrc para que se ejecute cada vez que se abre una consola o terminal.
  • Web: se instala un servidor web y coloca una web que desencadena la puerta trasera. Solo hay que visitar ésta y la puerta trasera se iniciará.
  • Whitelist: lista de las IPs que pueden conectarse al backdoor.
PUERTAS TRASERAS 
  • ssh_port: cambia el puerto para el servicio SSH
  • remove_ssh: desactiva el servicio SSH. Se usa cuando terminamos la sesión.
  • ssh_key: crea una clave RSA.
ESCALATION
  •  Shell: se trata de una puerta trasera para escalada de privilegios, similar a SetUID. Una vez ejecutada, podemos entrar como un usuario normal y ejecutar el comando .bash -p para obtener una shell con privilegios root.
  • SetUID: nos permite infectar el archivo bin de un comando (por ejemplo nano) y, entrando con un usuario sin privilegios, poder ejecutar el comando como si del usuario root se tratase.
WINDOWS
  • Windows: usa msfvenom para crear un backdoor para windows. 
SHELL
  • Netcat: usa netcat para obtener una shell interactiva.
  • Web: instala apache en el equipo objetivo y envía un payload, luego basta con entrar en el servidor y ejecutar el payload para, con multi/handler escuchando, obtener una shell.
  • PHP: ejecuta un backdoor php que redirige el resultado a bash.
  • Bash: un simple script bash para conectarse a una IP y puerto especifico.
  • Metasploit: usa msfvenom para crear un payload reverse_tcp y lo ejecuta para obtener una shell meterpreter.
  • Perl: script escrito en perl y redirige el resultado a bash.
  • Pupy: esta shell utiliza el backdoor creado por n1nj4sec (enlace).
  • Python: script escrito en python para ejecutar comandos y recibir los resultados en bash.
AUXILIARES
  • Web: instala el servidor web Apache en el objetivo.
  • User: crea un nuevo usuario en el objetivo.
  • Append: añade o quita el atributo append (nos permite añadir información) a cualquier archivo del sistema.
  • SimpleHttp: instala el servidor python SimpleHttp en el objetivo.
  • Keylogger: instala un keylogger en el objetivo con opción de recibir el log en un mail dado.
  • Immutable: añade o quita el atributo immutable a cualquier archivo del sistema. 

Como podeis ver tenemos infinidad de opciones para colocar nuestro backdoor o puerta trasera.

Lo primero que haremos será descargar BackdoorMe y prepararlo para su uso.


Ya está listo para usarlo, ahora lo ejecutamos con python master.py.


Para ver los comandos que tenemos disponibles escribiremos help.


En esta PoC usaremos como equipo objetivo una máquina virtual con Metasploitable 2 (192.168.0.195).

Lo primero que haremos será cambiar la ip local, que es donde se conectará el backdoor, tenemos que poner la ip de nuestra máquina atacante. Para esto usamos el comando change_ip, pulsamos enter, y escribimos la IP.

A continuación añadiremos nuestro objetivo.

  • Target Hostname: IP del objetivo
  • Username: nombre de usuario del servicio SSH.
  • Password: contraseña del servicio SSH.

Decir que BackdoorMe soporta varios targets (objetivos) a la vez, los diferencia asignandoles números (1, 2, 3...). Para usar el backdoor en uno u otro target, la sintaxis es la siguiente:

 use <backdoor> <numero target>
Ejemplo: use shell/metasploit 2 


Establecemos la conexión por SSH con el comando open.


 Ya estamos conectados al objetivo.

Con el comando list vemos los diferentes backdoors disponibles. Vamos a ver el funcionamiento de algunos de ellos.


METASPLOIT

Este backdoor nos devolverá una shell meterpreter.


Para cambiar cualquiera de las opciones del backdoor usaremos la siguiente sintaxis:

set <nombre opción> <nuevo valor>
Ejemplo: set name apache

Una vez cambiadas las opciones a nuestro gusto, ejecutamos el backdoor con exploit.


En la captura podemos ver los pasos que sigue, también nos dice que ejecutemos Metasploit y pongamos a la escucha el exploit multi/handler.




Con todo listo, pulsamos enter (en la consola de BackdoorMe) y obtendremos la shell.



NETCAT

En este ejemplo, utilizaremos el backdoor netcat junto con el módulo poison.

Igual que hicimos antes, seleccionamos el backdoor y lo configuramos.


Ahora añadimos el módulo al backdoor.


Como vemos en la captura para cambiar las opciones del módulo se usa la siguiente sintaxis:

set <nombre modulo>.<opción> <valor> 
(fijaros que entre el módulo y la opción, hay un punto)

Ejemplo: set poison.name ls

Yo voy a dejar las opciones tal cual puesto que el comando ls se utiliza bastante y es lo que nos interesa. Usamos el comando exploit para ejecutarlo.


Al igual que paso con el backdoor de Metasploit, en este también nos indica lo que debemos hacer para obtener la shell. Abrimos una nueva terminal/consola y ponemos el netcat a la escucha como nos indica: nc -v -n -l -p 4444.

Pulsamos enter en la consola de BackdoorMe y obtendremos la shell.



Gracias al módulo poison, ahora cada vez que se use el comando ls en el equipo objetivo, ejecutará el backdoor y, teniendo el netcat a la escucha, obtendremos una shell.


ESCALATION/SHELL

Con este backdoor, aunque entremos con un usuario sin privilegios, obtendremos una shell con privilegios ejecutando el comando .bash -p.


Esta vez no nos va devolver una shell directamente como en los vistos anteriormente. Para ver que ha funcionado, nos conectaremos por SSH al equipo objetivo con un usuario sin privilegios.


Ahora ejecutamos el comando antes mencionado y obtendremos la shell con privilegios.


BackdoorMe además dispone de un backdoor (access/remove_ssh) que nos permite cerrar el servicio SSH  en el objetivo al finalizar.


Si hacemos un nmap al objetivo apuntando al puerto 22 SSH, vemos que esta cerrado.




Hasta aquí la PoC de hoy, espero os haya gustado y recordar que está realizado con fines educativos, no nos hacemos responsables del mal uso que se le pudiera dar.

Google Analytics