Malcom Malware Communication Analyzer

En un análisis de malware, no solo importa si está empaquetado, si la muestra está activa, que cambios realiza a nivel de sistema operativo, cuál es el vector de ataque que emplea el atacante para su distribución etc, hay una parte muy importante y que muchas veces nos cuesta representar en un informe, se trata del análisis de tráfico, por ello hoy te dejo con este interesante post acerca de Malcom Malware Communication Analyzer.

Con el análisis de tráfico somos capaces de identificar nuevas ip's o dominios incluidos en el caso, también somos capaces de obtener nuevos binarios si se trata de un dropper, por ejemplo.

El proyecto de hoy por lo tanto, se trata sobre la parte de visualización de tráfico entre otras cosas.

También puede ser de tu interés - http://dragonjar.org/bypass-de-antivirus-con-veil-evasion.xhtml

Índice

Malcom Malware Communication Analyzer ¿Qué es Malcom?

Malcom es una herramienta que se utiliza para el análisis del tráfico y de comunicaciones de malware. También puede ser una gran fuente para reunir información de inteligencia, ya que fácilmente se puede consultar la relación entre los elementos que se representan visualmente.

Usaríamos Malcom para tres propósitos principales

Determinar rápidamente si un host, IP o URL es "un malo conocido" (es decir, si se ha marcado como malicioso por otros sitios web o fuentes).

Obtener  inteligencia sobre dos elementos diferentes. Por ejemplo, se puede ver que varios hosts diferentes apuntan a una misma dirección IP (o un AS), que se ha visto en ataques anteriores.

Finalmente, también se puede ver que esos mismos dominios o IP han sido registrados por tres direcciones de correo electrónico diferentes, que también se han visto en los kits de phishing.

Obtener una visión detallada de la clase de patrones de tráfico de una red de un host que se está mostrando. ¿Está haciendo ping a  determinadas direcciones IP? ¿Está enviando el tráfico SMTP? Es parte de una botnet? ¿Qué tipo de infraestructura de C & C se está utilizando?

Para saber como usarlo, consultad la documentación, está todo súper detallado.

Añadiendo feeds a Malcom

Una de las cosas que me han parecido mas interesantes es el hecho de poder añadir feeds a Malcom, con estos feeds que añadimos, poder aglutinar mas información que una vez tratada convertiremos en INTELIGENCIA.

Ejemplo de añadir ZeusTracker como fuente de información

class ZeusTrackerBinaries(Feed):

	def __init__(self, name):
		super(ZeusTrackerBinaries, self).__init__(name)</pre>

Iniciamos la clase en un constructor 😉

Para que se vaya actualizando...

def update(self):
	try:
		feed = urllib2.urlopen("https://zeustracker.abuse.ch/monitor.php?urlfeed=binaries")
		self.status = "OK"
	except Exception, e:
		self.status = "ERROR: " + str(e)
		return False

	children = ["title", "link", "description", "guid"]
	main_node = "item"

	tree = etree.parse(feed)
	for item in tree.findall("//%s"%main_node):
		dict = {}
		for field in children:
			dict[field] = item.findtext(field)

		self.analyze(dict)

	return True</pre>

Después de importar los datos podremos ver lo siguiente:

Malcom Malware Communication Analyzer

Un ejemplo de como se mostraría el tráfico en modo gráfico:

Malcom Malware Communication Analyzer

Un ejemplo súper bueno es mostrar el tráfico de un Zeus-P2p

Malcom Malware Communication Analyzer

El proyecto está preparado para ver el PAYLOAD de una petición en concreto.

Malcom Malware Communication Analyzer

Una de las ideas que lanzo es poder combinar Malcom con Cuckoo.

Enlaces de interés del proyecto Malcom Malware Communication Analyzer

[+]https://github.com/tomchop/malcom

[+]https://github.com/tomchop/malcom/wiki/Quickstart

[+]https://github.com/tomchop/malcom/wiki/Adding-feeds-to-Malcom

Subir