Todos los Linuxeros hemos contando indiscutiblemente con la rapidez, agilidad y seguridad que nos trae las bondades de usar una Distribución Linux, pero tal como dice jctalfa "no es oro todo lo que reluce"
Y este es el tema del que les quiero hablar hoy, he leído un articulo que como a todos, nos deja los pelos de punta en solo pensar que nuestro consentido sistema Linux haya quedado comprometido bajo las actividades de un troyano, les dejo con la publicación realizada por jctalfa, donde haciendo pruebas con Kali Linux e instalando un paquete del conocido VMware, comprueba que esta alojado un troyano que al parecer enviaba información a un canal de IRC. Vale la pena acotar que no solo podemos informarnos de la actividad de este malware, sino también del nivel empleado en el análisis forense realizado.
Agradecido por el aporte @bitacoraderedes
UN CASO REAL UN LINUX TROYANIZADO analisis y limpieza.
Hola a todos, hoy os voy a contar unos hechos acaecidos en un ordenador muy cercano a mí, tanto como el usuario que lo utiliza, el caso es que este usuario se está iniciando en el uso de Linux como S.O. ya que le he estado comiendo la cabeza para que se mudara a linux vendiéndole sus virtudes (que son muchas) y obviando los riesgos de este maravilloso S.O. que también los tiene , por tanto ahí se encontraba él con su distribución Kali linux digamos de uso común y como es un apasionado de las pruebas de concepto en ello estaba disfrutando de su máquina, cuando se le ocurrió poder instalar unas maquina virtuales para poder probar otras cosas de manera local, como el 99% de la gente, tira de vez en cuando de las descargas Peer to peer ya sea por falta de recursos, el precio del software, u otras 60000 causas distintas que no vamos a analizar aquí, el caso que hizo uso de los famosos torrent, de la página web no menos famosa the pirate bay.sx…
Hasta aquí todo correcto verdad?, bien como mi amigo es un orgulloso exusuario Windows, y profundo conocedor de las redes peer to peer, en lugar de decidirse por Oracle Virtualbox o VMware player opciones muy válidas y gratuitas ambas, se dirigió a la nombrada página y realizo una búsqueda sobre los términos Vmware y obtuvo estos resultados los siguientes para la versión 10.0.1 muy moderna y apetecible…
Fijaos las dos opciones “Vmware Workstation v10.0.1 Linux Incl Keymaker -Embrace” tanto en su versión normal como en la version x64…
Como eran la opciones más apetecibles por su actualidad, mi amigo las descargo y procedio a instalarlas, y comprobó como aparte de estar registradas (Guay!!!) funcionar perfectamente (Mas Guuuaay!!!!) y ser gratis (ReGuuuuayyy!!!!!) en unas de sus comprobaciones con netstat (la paranoia está muy difundida entre algunos de nosotros
) se realizaba una conexión tcp de su dirección ip desde el puerto 59757 a una dirección ip desconocida a un puerto poco común…
En su mosqueo, formateo su pc, y hablando con el me reprocho que Linux no era seguro y que le había tangado, y en consecuencia me comprometí con el explicarle que había pasado en su sistema y la solución…
Bien como lo prometido es deuda procedí a descargarme los últimos programas que había descargado, y como yo no deseo tener visitas no deseadas procedí a crear una máquina virtual con la misma distribución que usa el Kali-linux en la que realizaría todo el estudio de la intrusión en vivo…
Para ello procedí a instalar Vmware Workstation v10.0.1 linux incl Keymaker -Embrace…
Vemos como el script de instalación comprueba la integridad del bundle…
Y carga el GUI del instalador de Vmware, mientras se descomprime el bundle…
Instalando a continuación sin problemas el programa…
Bien una vez aquí, comprobé mediante el uso de NETSTAT -anp las conexiones de red de mi máquina virtual, junto con el programa que las había provocado, y encontré lo que estaba buscando…
Fijaos la conexión TCP establecida en nuestra ip 192.168.0.197 desde el puerto 59757 a la ip 95.211.60.8 al puerto 8070 y observad que esta conexión es realizada por el proceso con PID 2618 siendo el programa mingetty tty4, acto seguido me fui al monitor de sistema y en el apartado de procesos busque el PID del programa encontrando lo siguiente…
Como veis si vemos las propiedades del proceso y los archivos abiertos del mismo, nos da una nada desdeñable información, aquí tenemos que hacer un pequeño inciso y recordar que Linux trata todo el hardware como si fuera un archivo, por lo que si observamos los archivos abiertos vemos que pertenecen al directorio dev, en el cual se encuentran todos los devices o dispositivos del sistema por lo tanto observamos cómo está abierta una consola, un puerto 0, el archivo usr/sbin/vmware-ifconfig y una conexión de red del protocolo ipv4 a la ip 95.211.60.8 al puerto 8070.
Si comprobamos los mapas de memoria de dicho proceso podremos observar todos las librerías, archivos temporales, y archivos que utiliza dicho proceso, y podemos comenzar a inferir ligeramente que es lo que hace.
Vemos que las librerías que utiliza son libc-2.13.so, libcrypt-2.13.so, libdl-2.13.so, libm-2.13.so, libnsl-2.13.so, libnss_compat-2.13.so,libnss-files-2.13.so,libnss-nis-2.1.3.so, lipthreat-2.13.so, lbutil-2.13.so,ld-2.13.so que se trataran de librerías de programación de c en el caso de libc, de enlace dinámico de librerías dll, libdl, la librería matemática libm, en el caso de libcrypt se trata de la librería de C dedicada a la criptología, en el caso de libnss se trata de una librería que para simplificar provee de resolución de nombres de host vía multicast DNS, siendo estas las librerías más llamativas en mi opinión, continuamos viendo los mapas de memoria…
Vemos como se han creado varios directorios temporales en los cuales se encuentran diversos archivos como Zlib.so, glob.so, etc … todos por duplicado y realizando función de entrada y salida, fijaos en los permisos una de las copias tiene permiso de ejecución y la otra tiene permisos de lectura y escritura…
Continuamos observando y al final de la misma vemos a nuestro archivo vmware-ifconfig, por triplicado con su localización…
Bien hasta aquí, recapitulemos tenemos una conexión saliente a una dirección ip, por un puerto que no hemos abierto nosotros causada por un archivo que venía en un programa aparentemente intacto, ¿curioso verdad?, podemos seguir indagando con el monitor de sistema y seguro clarificaremos algo más de cómo ha llegado hasta aquí nuestro amigo, recordemos que acabamos de instalar el programa “infectado” y que alguno de los procesos podría seguir apareciendo en el monitor del sistema, veamos…
Este me llamo la atención porque startpar es un ejecutable legítimo que se utiliza para iniciar scripts en paralelo, si hacéis una búsqueda en google veréis como el modificador –f no se encuentra recogido en la man page, pero en este caso puedo inferir que cuando se ejecuta llama al archivo vmware-network para su ejecución en paralelo.
Vemos que utiliza varias de las librerías antes nombradas nada fuera de lo común y tiene algunos archivos abiertos, veamos qué es lo que contiene vmware-network ¿os parece?
Pues parece ser que este script lo único que provee es el inicio del archivo vmware-ifconfig vemos que es un sencillo script de bash de apariencia legitima pero que hace una llamada a un ejecutable que no debería estar vmware-ifconfig.
Bien pues se iba clarificando como se había producido la troyanización, recordemos que mingetty está diseñado para “to be a minimal getty for the virtual terminals on the the workstation’s monitor and keyboard. It has no support for serial lines.”
Luego es una terminal ¿qué usos se estará hacienda de ella?
En este punto reinicie el sistema, y puse a jugar a Wireshark que es el que me podría contestar muchas de las preguntas que me estaba haciendo sobre esta terminal, para acortar y resumir pondré solo las capturas más interesantes de wireshark, resumiendo se produce desde nuestro equipo la petición de conexión al equipo remoto se procede al three way handshake y se empieza la comunicación y vemos esto en las capturas…
Irc? c4r4v4n3? VMW ES? Nickname is already in use…?? What The Fuck!!!! Es un canal de IRC!!!!
Número de usuarios, usuarios invisibles, Canales, etc…
Y más, uno no se puede sentir peor, cuando le han robado la cartera…por un momento comprendí como se sintió mi amigo…como lo prometido es deuda tire un poco más del hilo a ver si con un poco de suerte la página estaba en España y poner en conocimiento
del GDT esta intrusión para ello busque en whois…
del GDT esta intrusión para ello busque en whois…
Y comprobé que era una empresa de hosting situada en Los Países Bajos…
Bueno ya tenía claro que se trataba de un ircbot, como había sido instalado, y solo quedaba limpiarlo para ello me fui a su directorio dispuesto a acabar con el…
Pero no me dejaba, sorprendente aunque por otra parte esperado el que realizo esta llamémosla infección se tomó demasiadas molestias como para dejar eliminar su obra así como así, pero tampoco se complicó mucho la vida, ahora veremos que blindo el archivo con el comando chattr –i el cual de el atributo de inmutabilidad a los archivos que se le otorgue por tanto abrimos una terminal bash
Nos situamos en su directorio en este caso /usr/bin
Y le damos de nuevo su propia medicina…
Y estará en la basura.
Desde luego que hay partes del proceso que no documento del todo, se miraron los log del sistema a ver que interacciones se habían producido…
Cuando ya había identificado el archivo sospechoso me interés por su familia…
Como ya sabía de donde venía quise ver un poco más dentro de el…
E incluso busque cadenas que me permitieran saber mas…
Solo me falta pasarlo por IDA a ver si saco algo más en claro pero por el momento me lo reservo para mi 
Ahora viene la parte donde se dice lo que no se quiere oír Linux es un Sistema Operativo maravilloso, agil, eficiente, gratuito, de código abierto y esta es la parte más maravillosa y a la vez más peligrosa que tiene , todas y cada una de sus aplicaciones, sean lo antiguas que sean están a disposición de la gente, esta documentadas de sobra y todos sabemos que no todo el mundo es bueno, hoy he querido ponerme en paz con mi amigo cumpliendo mi palabra y a la vez gritar que no es oro todo lo que reluce, que lo que aparentemente es gratis y funciona trae consecuencias.
También he de decir que este problema en Ubuntu 13 no hubiera pasado por que no permite la escritura del instalador en el directorio usr/ , digo esto no habiéndolo probado al 100% y no haciéndome responsable de lo que hagáis, por ultimo una recomendación si usáis una distribución como kali recordad que en todo momento sois root que cualquier acción que se realice en el sistema tiene consecuencias inmediatas, ¿a qué eso te lo repetí una cuantas veces amigo?…
Un Saludo a todos y espero que disfrutarais leyendo tanto como yo disfrute haciéndolo!!
Hasta pronto.
Para Juanjo mi Padre con todo mi amor.

No hay comentarios:
Publicar un comentario