Tag Archive malware

BySin Rostro

Reversing en Malware 3 – Análisis estático

Bueno, bueno, ya por fin comenzaremos con la practica, no es que no quiera pasar de lleno a ella, si no que quiero que queden claros algunos recursos que usaremos. Además podemos aprender más cosas así 🤓.

Sin han llegado hasta aquí sin haber leído mis 2 anteriores post les recomiendo ir rápidamente allá y leerlas porque están geniales aquí tienes el Primer Post y acá tienes el Segundo Post.

Análisis Estático

Ok, lo primero que haré será dejar una serie de cosas que debemos (aunque sea una hipótesis) obtener con este análisis. Están en el orden en que yo las haría. Así que si encuentras la ultima o la 3ra no importa pero si deberíamos tener la mayoría si no es que todas 😉.

1.- Información del archivo (tipo de archivo, cabeceras, tamaño, etc)
2.- Hashing y análisis con VirusTotal
3.- PE Información (DLLs, Librerías, etc)
4.- Recolección de Strings
5.- Ejecución del archivo
6.- Captura Trafico de Red
7.- ¿¿Como ha llegado ahí??

Ya había pasado el link del primer archivo con el que trabajaremos pero por si acaso no lo has descargado aquí esta de nuevo recuerden que la contraseña es “hpsi”.

1.- Información del archivo

Ya lo he descargado y comenzare abriendo el archivo desconocido (aún) con un editor hexadecimal estoy usando HxD – Hexeditor. Y esto es lo que veo cuando le cargo el archivo desconocido.

Como se pueden dar cuenta la cabecera del archivo me dice MZ, si eres de los que alguna vez a realizado wargames de esteganografía sabrán casi inmediatamente de que tipo de archivo se trata si no, les dejo una lista del inicio las cabeceras de algunos archivos.

.PNG                     PNG   |END
.GIF                       GIF   |END
.JPG/JPEG         ÿØÿà   ÿÙ
.BMP                    BM
.EXE                     Mz
.MP3                    ID3
.RAR                    Rar
.ZIP                      Pk
.PDF                    %PDF

Bueno con esto podemos decir que el tipo de archivo es un .EXE, un ejecutable del OS win2, así que podemos agregarle la extensión a ese archivo el cual se vera así.

2.- Hashing y análisis en VT

Bien ahora quisiera pasarlo al script de python que creamos en el post anterior y ver que resultados nos arroja.

Baya si que es un chico peligroso, como pueden ver de los 63 tests, 59 fueron True osea que fue amenaza positiva y la mayoría me dice que es un troyano/backdoor así que ya podemos ir imaginando que es lo que este chico hace.

3.- PE información

Ok, veamos que nos devuelve la información del PE en este caso usare dos herramientas para que vean que esta cosa del análisis es muy versátil 😂😂.

La primera es PEview veamos que es lo que esta importando.

Ok en este programa esta haciendo 5 importaciones veamos en el segundo que nos devuelve.

EL programa se llama CFF explorer.

Bueno al parecer no hay problema en eso ya que nos devuelve los mismos resultados ustedes eligen 😁😁

Ok, Ok, ¿¿Bueno pero para que me sirve saber esto de las importaciones?? se estarán preguntando. La respuesta es sencilla, para saber que es lo que planea hacer el archivo.exe.

Por ejemplo la DLL 5 osea la WS2_32.dll le permite al .exe configurar conexiones de red ya que esta DLL configura sockets como lo podemos leer aquí.

4.- Strings

Muy bien hagamos una recopilación de información que tenemos hasta ahora:

El archivo desconocido ya no lo es más, ya que identificamos que era un .EXE,

sabemos que la mayoría de los antivirus lo reconocen como troyano/backdoor,

que importa 5 DLLs y que una de ellas es usada para crear o configurar conexiones de red,

vaya, si que parece un troyano 😈😈.

Ahora deberíamos tratar de averiguar a donde es que hace esa conexión, si es que la hace.

Con la obtención de strings podríamos averiguar eso y otras cosas más.

Un ejemplo, si el archivo manda un mensaje al ser ejecutado…, podríamos saber que es lo que este dice o si crea una carpeta o ingresa a una ruta cual es el nombre de estas, etc, etc. El problema aquí como en cualquier caso de Ingeniería Reversa claro, será la cantidad de strings que se puedan obtener ya que esta puede ser extremadamente grande y en ocasiones nos puede confundir en lugar de ayudarnos.

Vamos pues a ello, utilizare esta vez la herramienta llamada Bin Text pero de nuevo ustedes pueden usar la que crean conveniente. Esto es lo que me arroja.

Esas 4 llaman mi atención (Bueno hay mas pero por ahora no lo mencionare 😉).

  1. http://www.ueopen.com/test.html
  2. cmd.exe
  3. /c del
  4. 60.248.52.95:443

Algunas de las otras me dan una idea de como es que trabaja pero estas 4 son muy llamativas al ojo, ¿No creen?

Bueno ya con estas cadenas de texto podríamos suponer que hace 2 conexiones una a la URL y otra a la dirección IP y que probablemente borre nuestro disco duro 😱😱😱😱 jajaja no, no, bromeo cmd /c indica un comando en este caso del., el cual sí quiere decir borrar (delete) pero aun no se que exactamente, ¿¿tal vez la siguiente linea que esta abajo de ese string??

Bueno mientras son peras o son manzanas pasemos al siguiente punto.

5.- Ejecución del archivo

Nota importante:.

Estoy trabajando en Virtual Environment (Entorno virtual) osea que si se me jode el sistema, tengo la posibilidad de recuperarlo, siempre y cuando tenga configurado un snapshot.

Espero no me juzguen por mi paradoja de lo virtual que intento explicar con la imagen 😅😂😥.

Bien explicando un poco mejor, estoy virtualizando un sistema Win2, dentro de ese sistema operativo win2 he creado un punto en donde he preservado el estado actual de la máquina, sus dispositivos, documentos, configuraciones, etc. Por supuesto, puedes crear snapshots dentro de los snapshots, por eso decía eso de las paradojas, por que es como si crearas 2 o 3 o mas realidades que afectan a ese sistema operativo win2. Una imagen vale más que 1000 palabras.

Puedes regresar a cualquier estado al cual le tengas hecho un snapshot, claro siempre y cuando no esté dañado 😂.

Bueno continuando con lo que nos interesa es momento de correr nuestro debian 64 bits y corroborar que existe conexión entre las dos máquinas.

Muy bien tengo conexión de win2 a Debian, ahora haré un snapshot de este punto antes de ejecutar el archivo.

Mientras tanto en Debian tengo corriendo wireshark y veo que a capturado el ping que he realizado, confirmándome que efectivamente hay conexión entre las máquinas.

Muy bien corro el archivo y esto es lo que sucede.

Obtenemos las capturas de estos paquetes, he señalado 3 cosas., de izquierda a derecha,

tenemos la dirección IP del Win2,

la dirección IP a la que el malware intenta hacer la conexión,

el Puerto Local que ha usado el malware en Win2

y por ultimo el puerto Remoto de la dirección IP posible del C&C.

He realizado la misma captura pero desde el mismo Win2 y obviamente son los mismo resultados.

Noten que el archivo mientras era ejecutado y hacia las debidas conexiones sigue estando en el escritorio pero una vez terminada esas tareas ha desaparecido, bueno en realidad ha sido eliminado por el mismo.

Resumiendo,

podemos decir que con la ayuda PEview obtuvimos la muy posible fecha de compilación del archivo, no podemos afirmar con toda certeza pero al menos tenemos una fecha estimada.

Ok veamos.

- fecha: 2009/05/14
- Lenguaje: Microsoft Visual C++ 6.0
- Strings encontradas(Ahora si añadiré una más):
   - 60.248.52.95:443 # Host y puerto al que conecta
   - http://www.ueopen.com/test.html # ?? Probablemente url de test para conexion ???
   - cmd.exe # Referencia hacia la consola de windows 
   - /c del  # Comando para su auto-eliminación (delete itself  "cmd.exe /c $PATH > null")
   - *(SY)#  # Usado posiblemente para generar una Shell remota
- Despues de correr el archivo:
   - conecta a 60.248.52.95
   - genera una Shell inversa
   - y se auto elimina
- Con la información que hemos recolectado no podríamos decir como ha llegado
  ese archivo a la computadora, quiero decir, si ha sido enviado por medio 
  de phishing, un downloader lo a descargado, venia empaquetado con otra app,
  o de plano nos lo hemos bajado nosotros tratando de encontrar el crack para
  plant Vs zombies o alguna otra herramienta de softonic... 
  

Y podemos decir que nuestras hipótesis acerca de lo que este archivo realizaba estaban bien fundadas, bueno eso y además que el análisis con virustotal también nos dijo eso 😂😂😂.

Bueno hasta aquí creo que es un buen inicio en análisis estático hay muchas cosas mas que afrontar en este tipo de análisis pero como dije es una introducción ya iremos adentrando más en ello.

Saludos Hackers y hasta la próxima.

BySin Rostro

Intro a Python 2

Bueno pues esta vez les traigo la segunda parte de la introducción a python, hablamos acerca de Scapy y lo poderoso que puede llegar a ser si se aprende a usar de forma correcta y de como es posible remplazar con este muchas de las herramientas de red que existen y por ultimo les muestro lo que se puede llegar a realizar con un script de python }:)

Moviéndonos con Scapy

ByDrok3r

Propagación de Malware | Parte 3 – PHARMIG

PHARMIG

Por lo que hemos visto en post anteriores y a continuación tenemos contemplado que el fin mas común que tiene un malware es robar información para tener una ganancia lucrativa, para el atacante o el creador de dicho malware.
Y de igual forma como se ha mencionado con anterioridad, el mejor canal de propagación de malware siempre sera por medio de Internet, en este caso tenemos el Pharming, que a grandes rasgos consiste en manipular los registros de servidores DNS con el objetivo de redireccionar las solicitudes de usuarios. hacia otros sitios, claro con contenido malicioso.
Es decir cuando el usuario acceda a un determinado sitio web, el servidor comprometido lo rediccionara hacia una IP maliciosa en donde el usuario puede comprometer su información si no se da cuenta a tiempo de lo que sucede.
Como ejemplo tenemos el siguiente diagrama…
Para explicar un poco mejor, cuando el usuario pide acceder a www.Facebook.com con la IP 175.240.3.35 el servidor DNS comprometido redireccionar a www.facebok-fake.com con la IP 231.342.232.2 siempre y cuando el usuario intente acceder a www.facebook.com en caso contrario, como www.youtube.com no es redireccionado este va directo.
Un poco mas simplificado seria:
www.Facebook.com IP 175.240.3.35 redirecciona a 231.342.232.2 www.facebok-fake.com
www.Youtube.com IP  216.58.218.142 no redirecciona 216.58.218.142 www.Youtube.com
Caso contrario si tambien afectara a www.Youtube.com
www.Facebook.com IP 175.240.3.35 redirecciona a 231.342.232.2 www.facebok-fake.com
www.Youtube.com IP  216.58.218.142 redirecciona a 216.58.218.129 www,muchosvirus.com
Sin embargo los sistemas operativos tienen un archivo llamado hosts, el cual es utilizado para asociar direcciones IP con los nombres de dominio el cual funciona a modo de servidor DNS. Cada vez que el usuario accede a un sitio web el sistema hace una búsqueda en este archivo, para saber si existe alguna referencia con la solicitud del usuario, antes de consultar el servidor DNS.
En el caso de Windows lo podemos encontrar en la Ruta:
C:/Windows/System32/drivers/etc
Actualmente este archivo puede ser manipulado, modificado o remplazado por malware el cual cambia las IP de los dominios legítimos por IP’s que redireccionan a sitios maliciosos.
Estos son ejemplos del contenido del archivo hosts modificado por malware.
Como podemos ver en los ejemplos anteriores el malware ha modificado las direcciones IP de cada nombre de dominio, esta técnica o método se le conoce por el nombre de Pharming Local. A grandes rasgos consiste en modificar el archivo hosts por medio de un malware.
Ping a sitio web
El los malware que realizan estas acciones están acompañadas con campañas de Spam y se suele ver en ataques de Phishing para robar información delicada, como números de tarjetas de credito, Hace algún tiempo, varios malware afectaraon a una gran caridad de usuarios en Mexico, por lo general a quienes eran clientes de lgunos bancos, quienes reportaban gastos normales.
Pero esto también puede ser utilizado para campañas de propagación de malware, incluso puede ser usada con Ransomware para redireccionar a los usuarios a paginas que descargan el malware de forma automática.
ByDrok3r

Propagacion de Malware | Parte 2 – Exploiting & Scripting

Exploiting & Scripting

Exploiting

El primer medio de infección por malware es y siempre sera el Internet, una plataforma de ataque la cual permite distribuir código malicioso, el cual por sus características aprovecha vulnerabilidades o las explota, con lo cual esto le permite tener acceso a la información o control sobre un sistema.

Para poder lograr o llevar acabo dicha tarea se hace uso de un exploit el cual es una secuencia de comandos o acciones las cuales nos permiten aprovecharnos de una vulnerabilidad en un sistema operativo o aplicación.
Los exploit nos permiten infectar un sistema, aprovechando una vulnerabilidad del mismo sistema operativo o de alguna aplicación que este contenga, una vez con el sistema operativo infectado un atacante puede tomar control total sobre el sistema y a su vez de la información que este contenga.
Algunos mas no todos los antivirus protegen frente a esta amenaza, pues durante pruebas algunos exploits pasaban mientras que en otros casos si eran detectados.
Algunos gusanos informáticos (worms) están programados para aprovechar distintas vulnerabilidades de un sistema operativo lo cual les permite propagarse en todo el sistema, y de igual manera infectar a todos los dispositivos que puedan estar conectados en la misma red.
Un ejemplo puede ser algun gusano el cual aproveche una mala configuración cuando se comparten archivos, carpetas o discos de almacenamiento en la red, pues seria un medio de propagación.
La implementar o usar exploits para diferentes fines, requiere de un conocimiento extensivo como:
  • Conocimiento sobre el sistema que se desea atacar
  • Conocimiento sobre la vulnerabilidad que se desea explotar, al igual que conocimiento para poder detectarla
  • Saber utilizar el software que “controle” el exploit
A día de hoy cualquier usuario puede usar un exploit para infectar y comprometer un sistema operativo (Windows) ya que gracias a Youtube y muchos profesionales, por medio de video tutoriales enseñan el uso de estos métodos de infección y explotación.
Una de las herramientas mas utilizadas para esta labor es Metasploit, un framework el cual contiene una gran cantidad de exploits para utilizar. Un poco de información de Metasploit en este vídeo tutorial creado por mi compañero USERVZK80

Scripting

Los atacantes buscan perfeccionar los métodos de infección y propagación de malware, como se ha mencionado anteriormente la primer fuente de infección es Internet, pues ahora buscan automatizar esta tarea por medio de software el cual solo requiere una breve configuracion y listo, este software que ayuda a la automatización de tareas se le llama Scritp.
 
En el escenario mas común tenemos un sitio web malicioso el cual corre un script cuando un usuario acceda a dicho sitio, el script comienza a correr sus lineas de código en donde, descarga o ejecuta malware automáticamente, a demás a esto le podemos agregar exploits.
Un dato interesante sobre el uso de scritps para la propagación de malware, es que pueden ser implementados en sitios web no maliciosos, aprovechando una vulnerabilidad la cual les permite inyecta código con bien seria HTML Injection o XSS ambas vulnerabilidades nos permiten inyectar código malicioso, como un script el cual descarga de forma automática.
Un ejemplo, es el uso de etiquetas iframe dentro de una pagina web, en donde se crea en frame interno, esto provocara que se habrá en segundo plano y atravez del iframe otra pagina web que ejecutara el script malicioso.
Por ejemplo se tiene una computar en donde la pagina muestra el error 500, lo interesante fue cuando se analizo el código de dicha pagina.
ByDrok3r

Propagación de Malware | 1 – Automatización

Automatización

Como se conoce y a su vez ya lo he mencionado  las tecnologías han avanzado de igual manera que las amenazas que los acompañan. Cunado se hace mención del método o técnica para propagar malware se pueden describir muchas, todas con un nivel de éxito o de fracaso casi igual, ya que muchas veces se depende de factores externos.

Este avance de amenazas y de propagación sugiere tener un conocimiento mas avanzado sobre las amenazas que pueden comprometer todo un entorno informático, desde una Pc hasta una red de servidores privada, esto implica tener mecanismos para poder defendernos de estas amenazas al igual que tener un plan que nos ayude en caso de ser victima de alguna de estas amenazas, y estos a su vez deben de estar a la altura de la amenaza.

Creación automatizada de malware

La cantidad de variantes crece de forma casi incontrolable al igual que su detección, pues los atacantes propagan estas amenazas atraves de Internet,  como ejemplo tenemos a los laboratorios de ESET quien en el 2010 recibieron 200 mil muestras de malware únicas por día, una suma asombrosa y que a su vez crece con el paso de los años

Gran parte del malware detectado, no demuestra una gran variedad por cantidad, es decir existe una gran cantidad de malware detectado pero no una gran variedad pues en la mayoría de los casos es casi es mismo código con una pequeña variación en su código, esto se debe a la utilización de software que automatiza la creación de malware.

Existe una gran cantidad de programas de que automatizan la creación de software, algo que hace que un simple usuario pueda crear amenazas o código sin saber programar o sin tener conocimiento alguno, solo con seleccionar algunas opciones, y dar clic esta creando amenazas que posteriormente puede propagar por campañas simples de spam.

Esta automatización se ve en todo tipo de malware desde un spyware hasta los RAT en donde solo debes de hacer una simple configuración dar enter listo, ya tenemos nuestro malware listo para simplemente infectar.

También existe la amenaza de que algunos usuarios inexpertos buscan este tipo de programas y ellos mismos terminan infectados pues para poder usar este tipo de programas se necesita desactivar el antivirus dándole paso a un malware que viene de sorpresa junto con el programa.

 Cuando se habla de la automatización no solo hablamos de la parte en donde se genera el código o los ejecutables listos, sino también en la automatización de tareas y la creación de metodologías para poder facilitar ciertas tareas.
Como por ejemplo los distintos software que existen para la clonacion de paginas web o la creación de las mismas, para el phishing, incluso software que recopila de forma autónoma correos electronicos para campañas de spam.

El desarrollo de estas herramientas, que automatizan la creación de código malicioso han tomado un poco de fama y sea a profesionalizado en cuanto a las funciones, como por ejemplo algunos agregan funciones que dificultan su análisis, ya que buscan entorpecer el estudio del malware, incluso algunos pueden identificar al AV del sistema y se auto configuran para poder evadir este AV algo que se ha visto novedoso en este tipo de software.

Es decir, el malware esta sometido a una gran cantidad de procesos los cuales hacen casi imposible su análisis, esto ayuda a que la familia del malware o la variante tenga un cilico de “vida” o actividad mas grande. Gran parte del software que se encarga, de automatizar estos procesos como lo es el de la creación de malware siempre puede tener, ventajas y desventajas.