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

domingo, agosto 18, 2024

Evil Signature Injection: Borrado remoto de bases de datos, buzones de correos y ficheros de log con Evil Signatures y tu EDR

Después del incidente con Crowdstrike, uno de los EDR más famosos del mundo, los ojos de los investigadores de seguridad se han puesto en ellos. Tener en el sistema objetivo de un ataque un software que se ejecuta con tantos privilegios se ha convertido en oportunidad de usarlo como herramienta del atacante en lugar de temerlo como una herramienta defensiva.
Ayer sábado, tranquilo por la tarde, comencé a repasar las charlas de BlackHat y DefCON, y me topé con el trabajo de EDR Reloaded: Erase Data Remotely de los investigadores Tomer Bar y Shmuel Cohen. Desde el principio me encantó la idea por lo simple y hacker que es, y sobre todo, porque es algo que hacíamos nosotros hace muchos años.

Back in 2012 with Eicar

En el año 2012, durante un tiempo, estuve jugando mucho con los Terminal Services y la Apps en Citrix. Escribí muchos posts sobre ellos, y acabé dando una charla junto al gran Juan Garrido en DefCON sobre Terminal Hackpplications llamada "Bosses love Excel, hackers Too", donde llevábamos, además de muchos de estos trucos que quedaron en el blog, una idea del gran Silverhack de meter la shell en EXCEL y desde una sesión de Terminal Services o Citrix controlar la máquina. 


Figura 2: Bosses love Excel, hackers too

Entre los trucos, estaba el de forzar que cantara el antivirus del servidor incluyendo la firma de EICAR para testar si estaba siendo investigada por un Antimalware (aún no se utilizaba el concepto de EDR), y cuál era en concreto. Lo dejé en el artículo: "Eicar para hacer jailbreak en Terminal Services o Citrix".
La gracia era qué, si saltaba la consola del antivirus, o una alerta, podríamos llamar a la ayuda, sacar un explorador de ficheros y abrir el sistema completo. Es decir, hacer Jailbreak a una sesión de Terminal Services o Citrix mediante un firma de una muestra de malware "ficticia", como era EICAR.

Erase Data Remotely with Evil Signatures

Ese concepto de "Firma Maliciosa" o "Evil Signature" es lo que han utilizado los investigadores para hacer que se borren ficheros, aprovechándose de Windows Defender en los sistemas Microsoft, y de otros EDR en sistemas GNU/Linux, generando una Evil Signature que ingresan en el sistema de diferentes maneras, ya sea incluyéndola en un fichero binario, en un doc, en una llamada HTTP, en una consulta SQL, o en un alta de un usuario de una plataforma SaaS.
La idea es tan sencilla como, buscar las firmas que usa Windows Defender, y probar para tener tener el mínimo de caracteres necesarios para que el EDR de Microsoft lo detecte como si fuera un malware de severidad HIGH, para lograr que la acción que se lance sea la más drástica, es decir, eliminar el fichero. 
El resto es conseguir que el fichero ese sea el que quiere borrar el atacante. Así que, a partir de ese momento, es objetivo es ver cómo meter la firma más pequeña en el sitio adecuado para saber qué fichero quieres que borre el EDR que está protegiendo esta máquina.
En el ejemplo anterior, la Evil Signature se introduce simplemente en un parámetro por POST desde una llamada HTTP, para conseguir que Windows Defender elimine los logs del servidor de Web de la máquina.
Lo mismo se puede hacer con una sesión Windows FTP, en este caso inyectando la Evil Signature como si fuera el nombre del usuario, pero al inscribirse este username en el fichero de log, salta el EDR y se carga el archivo completamente porque es severidad High.
Esto, en determinados sistemas puede ser más crítico. En este caso, se carga el mailbox de un Mozilla  ThunderBird, que no le hará ninguna gracia al usuario que, sin hacer ninguna acción se acaba de quedar sin ninguno de sus correos almacenados.
También, se puede lograr que Windows Defender elimine su propio log, lo que es una maravilla para borrar los rastros que un atacante deja en un sistema.
Además, se puede lograr que la víctima expanda el ataque, ya que si el fichero de log pasa al servidor de logs, se llevará la Evil Signature consigo, así que si tenemos un Splunk, éste acabará siendo afectado también.

Pero lo peor de este ataque es que si lo consigues meter en el Datafile de una base de datos y que el EDR lo tome como un malware de severidad High, entonces podrías conseguir eliminar la base de datos de un objetivo, lo que no debe ser gracioso para nadie.
En este caso, los investigadores han sido capaces de que el EDR se cargue bases de datos de MariaDB ( MySQL), PostgreSQL, MomgoDB (adiós a tu BigData) y SQLLite, lo que podría dejar sin funcionar la gran mayoría de servicios y aplicaciones que corren sobre ellos.
Y por supuesto, también se pueden hacer los ataques desde servidor a cliente. En este caso sería un Client-Side Attack que se puede hacer por culpa de visitar un servidor vulnerado, o por un ataque a través de él.
Y el cliente ve cómo se le borran los ficheros del sistema a través del EDR que tenga configurado para "protegerlo" de los atacantes. Paradojas de la vida.
La gracia es que podría hacerse un CSRF, un XSS, un SSRF, o cualquier otro Client-Side Attack para que un atacante haga un Evil Signature Injection en tu equipo y tengas un problema de seguridad serio. Por suerte, los reportes han sido tomados en serio y - tras varias iteraciones - se han corregido, pero esta técnica hay que tenerla en cuenta porque cualquier software privilegiado que corra en tu máquina podría ser víctima de Evil Signature Injection y tener un problema serio en tu plataforma.

¡Saludos Malignos!

Autor: Chema Alonso (Contactar con Chema Alonso)  


viernes, mayo 21, 2021

Ransomware: Unos consejos y cuidados personales para lidiar con la industria de la extorsiones

El Ransomware es un tipo de software malicioso que pretende secuestrar los datos de un sistema o de un conjunto de sistemas a cambio de un rescate. Este secuestro puede ser de datos (cifrándolos) o del sistema (inutilizándolo). Los cibercriminales detrás de las campañas de ransomware suelen pedir el rescate en un determinado plazo de tiempo y si este se cumple, y la víctima no ha pagado, se verá incrementada la cuantía del rescate, para meter urgencia en la toma de la decisión de las víctimas.

Figura 1: Ransomware: Unos consejos y cuidados personales
para lidiar con la industria de la extorsiones

En los rescates, la forma predeterminada para pagarlos, han sido las criptomonedas, y especialmente BitCoin, lo que hizo que los investigadores de ciberseguridad, como fue el caso de Yaiza Rubio y Felix Brezo, pusieran sus esfuerzos de investigación en todo el ecosistema BitCoin, BlockChain y el lista de criptomonedas creadas sobre esta tecnología.

Figura 2: BitCoin: La tecnología Blockchain y su investigación
de Felix Brezo y Yaiza Rubio

Por supuesto, los cibercriminales nunca se quedan quietos y siempre están buscando sacar tajada de lo que sea, por lo que desarrollan planes de negocio con actos delictivos como es la venta de servicio de ransomware o bien programas de ransomware que no necesitan de un entendimiento profundo del ámbito para poder utilizarlos, esto es llamado Ransomware as a Service.

Un repaso rápido a la historia del ransomware

Este tipo de ataques existe desde la década de los 80 cuando el biólogo Joseph Popp introdujo un ransomware a través de un troyano (AIDS Info Disk) que fue enviado por correo no digital. Este correo contenía un floppy disk con información sobre el SIDA. También conocido como PC Cyborg Trojan, reemplazaba el fichero AUTOEXEC.BAT y contaba las veces que se arranca el equipo, una vez llegaba a 90 inutilizaba el sistema cifrando los nombres de los ficheros de la unidad utilizando criptografía simétrica.

Figura 3: AIDS Info Disk

En 2005 apareció el primer ransomware en Internet, GPCODER. Con objetivo de sistemas Windows tuvo variantes como el GPCODE.AK que utilizaba cifrado simétrico (RC4) y asimétrico (RSA) para crifrar los ficheros. El texto que recibía el propietario del sistema le invitaba a realizar dos pagos de 100$, cada uno, a una cuenta de Liberty Reserve y el segundo a una cuenta de e-Gold.

Figura 4: Alert GPCODER.AK

Más tarde, en 2010, Krotten utilizaba un supuesto programa orientado a Windows que generaba códigos “gratuitos”, de recarga, para móviles. Pero en realidad era un ransomware que bloqueaba el sistema operativo y era casi imposible de desinstalar.


En 2012, Reventon bloqueaba los sistemas haciendo creer al usuario que quién había realizado dicho bloqueo de navegadores y webs era la Policía, y que tuvo variantes de la NSA, el FBI y de PRISM, etcétera. Después apareció Cryptolocker en 2013 que utilizaba claves RSA de 2048-bits, seguida de su variante CryptoWall en 2014

En 2015 TeslaCrypt vino para afectar a los usuarios de videojuegos como Minecraft, World of Tanks y Call of Duty, entre otros, utilizando AES encryption. Petya comenzó en 2016 se replicaba a través Dropbox e impedía el arranque del sistema y su variante NotPetya en 2017, teniendo ambos un alcance global. También en 2017, Wannacry aprovechó el exploit EternalBlue para replicarse y tuvo un impacto a nivel mundial afectando a más de 150 países y replicándose en más de 200.000 sistemas.

El año siguiente, en 2018, Ryuk cambió el objetivo hacia las administraciones públicas. Más tarde en 2019 este ransomware comenzó a ser un ataque dirigido contra empresas, organizaciones, buscando maximizar el daño y el retorno económico para los cibercriminales. Ese mismo año también destacó el ransomware Crysis.

Figura 6: WannaCry

En 2020, llegó el gran paso al teletrabajo y con ello los ciberdelincuentes se frotaron las manos ya que el vector de ataque se hizo más grande. Algunos de los destacados fueron Maze, el cual provocó pérdidas de 70 millones en compañías estadounidenses, REvil que extrajo una cantidad altísima de datos privados y variantes de Ryuk. Ahora, en 2021, no paramos de ver, en las noticias, ciberataques hacia empresas, entidades públicas e incluso particulares.

Recientemente, hemos visto como algunos servicios públicos de España están caídos por un ransomware dirigido a su proveedor cloud, ASAC. También, como la red de oleoductos de Colonial se ha visto paralizada por otro ransomware y ha pagado un rescate de más de 4 millones de Euros. Por otro lado, tenemos a Qlocker que está cifrando archivos de los NAS de los usuarios de QNAP, REvil amenazando a Apple con sacar a la luz Blueprints de sus productos o alguna universidad española que han sufrido otros ataque que han entorpecido el curso académico.


Y ojo porque estamos seguros de que el Ransomware va a llegar a los servicios Cloud en plataformas SaaS, como ya explicaron nuestros compañeros Pablo González, Ioseba Palop y Chema Alonso con RansomCloud O365, un ataque ransomware para cifrar los contenidos de Office 365 directamente en la nube,

¿Cómo evitar o mitigar el ransomware?

Está claro que los ataques de ransomware son uno de los problemas más graves que afectan a particulares y organizaciones, y lo peor de todo es que nos estamos acostumbrando a escuchar y leer este tipo de noticias. Y por supuesto, algún día nos puede llegar de forma directa o indirecta uno de estos ataques por lo que voy a explicar unos consejos con los que podrás ponérselo más difícil a estos cibercriminales, pero que pasan todos por tener fortificado tu equipo al máximo.

Figura 8: Máxima Seguridad en Windows Gold Edition
de Sergio de los Santos en 0xWord

Muchos de los ataques de  ransomware empiezan con distribución a través de un ataque de Phishing o Spear Phshing vía e-mail, por lo que conviene conocer los métodos que los atacantes utilizan para no caer en ellos. Como comentamos en anteriores artículos, hay que ser coherente a la hora de revisar los mensajes que nos llegan por e-mail, y con plataformas como MyPublicInbox mucha gente está reduciendo la difusión de su dirección de e-mail, para mitigar la caída en listas de direcciones de difusión de SPAM que hagan que lleguen ataques de SPAM Phishing.

Figura 9: Protección de carpeta contra Ransomware en Windows dEfe

Por supuesto, si no has participado en un sorteo y de repente te ha tocado puedes sospechar, o bien, si no has pedido ningún paquete y te envían un mensaje diciéndote que accedas a una URL para ver el estado de tu envío, lo más probable es que el enlace sea malicioso. Esto también ocurre con las memorias USB´s o CD´s encontradas en la calle. Si no conoces de donde procede no lo insertes en tu dispositivo. Algunas buenas opciones son segmentar las redes y fortificar tu sistema, por ejemplo, restringiendo el acceso a carpetas en Windows


Figura 10: Funcionamiento de Latch ARW

Además, si quieres tener el control en tu mano de quién puede y quién no puede acceder a una carpeta, añade una capa más de protección sobre las carpetas con Latch ARW. Por supuesto, evita malas prácticas como dar permisos de Administrador a aplicaciones en las que no confías y mantén tu dispositivo, sistema operativo y todas las aplicaciones actualizadas.

Figura 11: Comprobación de actualizaciones de Windows

Finalmente, lo más importante, un consejo de los años 70: Haz Copias de Seguridad. Una copia de seguridad siempre puede salvarte de una situación difícil por lo que es una opción para tener en cuenta en cualquier plan de contingencia.

¡Un saludo hackers! Autor: Luis E. Álvarezdesarrollador y miembro del equipo Ideas Locas CDCO de Telefónica.

Contactar con Luis Eduardo Álvarez en MyPublicInbox

viernes, noviembre 09, 2018

"Cómo protegerse de los peligros de Internet". Nuevo libro de @0xWord

Ayer se puso a disposición de todo el mundo el nuevo libro "Cómo protegerse de los peligros en Internet" en el que hemos estado trabajando en 0xWord. Se trata de un libro que nos habían pedido hace tiempo para que los niños que empiezan, las personas que no tienen grandes conocimientos técnicos, y aquellos que desean sacarle partido a los servicios de Internet con un poco de seguridad conociendo mejor al enemigo.

Figura 1: Cómo protegerse de los peligros en Internet

También le ha dedicado una parte importante a la privacidad, y a tratar temas tan de actualidad como el acoso en las redes sociales o el CyberBullying en Internet, cómo detectarlo y tratarlo en el mundo de hoy en día con los menores. El libro lo ha escrito José Carlos Gallego Cano y ésta es su reseña:
"En un mundo en continua digitalización, en el que Internet y los dispositivos forman una parte cada vez más relevante en nuestras vidas, es muy importante estar al día de los problemas y los riesgos a los que nos enfrentamos cuando nos comunicamos o, simplemente, cuando accedemos a la red para consultar información.

Este libro pretende dar un repaso por los principales riesgos a los que nos exponemos todos los usuarios cuando nos conectamos a Internet así como cuando hacemos uso de todas las tecnologías a nuestra disposición: ordenadores, dispositivos móviles, relojes inteligentes,…
Figura 2: Libro de "Cómo protegerse de los peligros en Internet"
de José Carlos Gallego en  0xWord
Lo hacemos dando un enfoque muy práctico, con un lenguaje asequible para todos, dirigido a jóvenes, mayores, padres e hijos, profesores, jubilados,…y, en general, todo aquel que esté interesado en adentrarse en el mundo de la ciberseguridad desde el nivel más básico.

Hablaremos de todo el malware que nos rodea (los virus, los troyanos), las técnicas que utilizan los ciberdelincuentes para timarnos y robarnos información, las medidas que podemos tomar para protegernos y salvaguardar nuestra privacidad…y todo ello sin olvidarnos de temas tan importantes para los más jóvenes como el ciberacoso y la protección de sus datos y, por supuesto, de los padres, para que estén al corriente de por dónde navegan sus hijos y cómo pueden protegerlos. Un libro para aprender y, sobre todo, para concienciar que la seguridad en Internet es cosa de todos."
El libro tiene un total de 248 páginas para tratar todos tos temas de los hemos hablado está ya disponible en la web de 0xWord, y con el objeto de que podáis tener más detalle, os he subido el índice completo del libro a SlideShare.

Figura 3: Índice del Libro "Cómo protegerse de los peligros en Internet"

Como podréis ver en el libro, en los últimos capítulos se habla del Control Parental de los menores, de las Sextorsiones y el Sexting, o de cómo gestionar la identidad y la reputación en los servicios de Internet. Temas más que recomendables que conocer bien para cualquiera que haga un uso de redes sociales y servicios en Internet habitual.

¡Saludos Malignos!

miércoles, abril 20, 2016

ROPInjector: Evasión de motores antimalware usando ROP

En la pasada Black Hat USA de 2015 se presentó una charla denominada ROPInjector: Using Return-Oriented Programming for Polymorphism and AV Evasion en la que sus investigadores comentaban como utilizar ROP para mejorar los ratios de evasión en la detección de binarios maliciosos. ROP es utilizado, generalmente, para hacer un bypass de DEP, Data Execution Prevention. Es decir, cuando se detecta una vulnerabilidad en un software, el cual se ejecuta en un escenario con DEP como medida de protección, se puede utilizar ROP como vía para hacer el bypass a DEP. En la charla los investigadores proponían un uso diferente de ROP, proponiendo utilizarlo para lograr mejorar la evasión de antivirus y una vía alternativa al polimorfismo.

Figura 1: ROPInjector: Evasión de motores antimalware usando ROP

La idea principal es utilizar ROP para no levantar sospechas en la parte del antivirus. ROP puede ser utilizado para transformar cualquier shellcode proporcionada a un esquema ROP-based equivalente. En este vídeo puedes ver la conferencia.


Figura 2: ROPInjector: Using Return-Oriented Programming for Polymorphism and AV Evasion

En otras palabras, el objetivo de la investigación era conseguir un binario que reduzca la detección de los AV. Los investigadores enumeraron algunos desafíos para la creación de ROPInjector:
• El nuevo fichero PE debería ser eficiente en la evasión de AV. Es decir, bajar el ratio de detección frente a otras técnicas de evasión, como las que pueden ser utilizadas por Veil-Evasion, Shellter o Payday. 
• El fichero PE benigno dónde se realizará la inyección no debe estar corrupto. 
• La herramienta ROPInjector fue planteada como genérica. Es decir, otros podrán añadir shellcodes.
Figura 3: Esquema de funcionamiento
ROPInjector tiene una serie de etapas que deben ser validadas para generar el binario malicioso. Las etapas que utiliza la herramienta para su funcionamiento fueron enumeradas en la charla y son las siguientes:
• Análisis de la shellcode. Ésta debe ser para arquitecturas x86.
• Encontrar ROP gadgets en el fichero PE.
• Transformar la shellcode en un ROP chain equivalente.
• Inyectar en el fichero PE los ROP gadgets, si son requeridos.
• Ensamblar ROP chain en el fichero PE.

• Generar el fichero final (PE Patching).
En la siguiente imagen se muestra cómo queda la estructura, antes y después de la inyección de ROP y el parcheo del binario final.

Figura 4: Estructura del binario antes y después de la manipulación

Durante la presentación de la charla los investigadores mostraron una evaluación que hicieron de su herramienta a través de la manipulación de 9 binarios legítimos. Los binarios utilizados fueron Firefox.exe, java.exe, AcroRd32.exe, cmd.exe, notepad++.exe, etcétera. Como se ve binarios conocidos y utilizados en el día a día. El estudio y evaluación utilizaba varias técnicas y combinaciones:
• Sin parchear, es decir, fichero original.
• ROP’ed shellcode & run last.
• ROP’ed shellcode & delayed execution (20 segundos de delay).
• Shellcode sin alterar.
Utilizaron Virus Total para comprobar el ratio de detección y los resultados pueden ser vistos en la siguiente gráfica. La shellcode que utilizaron fue un Reverse TCP Shell:

Figura 5: Evasiones obtenidas con cada método en cada binario de muestra

Figura 6: Estadísticas generales de evasión por cada prueba

PoC: Probando ROPInjector

Decidí probar la herramienta, la cual se puede obtener desde Github y solo se necesita compilar. El objetivo era probar qué resultados obtendría y si conseguiríamos obtener un ratio de detección bajo o aceptable. Una vez compilada la herramienta se puede lanzar de manera sencilla a través de la siguiente instrucción:
ropinjector.exe [fichero PE benigno] [shellcode a inyectar]
        [fichero PE malicioso a generar] [opciones*]
Cuando bajamos ROPInjector vienen tres shellcodes dentro de la carpeta con mismo nombre. Añadir shellcodes es sencillo y para el tercer ejemplo que mostraré a continuación añadí una shellcode que se puede obtener de exploit-db.

Figura 7: Inyectando OpenCalc.bin

Caso 1: Shellcode opencalc.bin

Dentro de la carpeta shellcodes encontramos un fichero denominado opencalc.bin. Generamos un fichero PE malicioso con ROPInjector, el cual haya insertado dicha shellcode en el binario resultante.

Figura 8: Solo 4 de 56 motores detectaron la shellcode

Al subirlo a Virus Total se obtiene un resultado bastante interesante 4 de 56 motores antimalware han detectado el fichero como malicioso.

Caso 2: shell inversa TCP

Dentro de la carpeta shellcodes se encuentra el fichero revshell.txt, el cual contiene una shellcode que ejecutará una shell y se conectará de forma inversa a nosotros, cuando el binario sea ejecutado.

Figura 9: 17 de 56 motores detectaron reverse shell

Tras crear el binario con ROPInjector y subirlo a Virus Total observamos un resultado de 17 de 56 motores AV detectándolo. No es el mejor resultado, pero viendo el listado de AV que lo detectan se echa en falta algunos de los principales del mercado.

Caso 3: shellcode importada

Para el último caso, importamos en un fichero TXT una shellcode y la utilizamos para generar un fichero malicioso con ROPInjector. El resultado que hemos obtenido es de 2 de 56 motores AV, lo cual es un resultado muy prometedor, y prácticamente indetectable.

Figura 10: Solo 2 motores detectaron este último cambio

Interesante herramienta que ofrece un punto de vista distinto a la hora de generar binarios maliciosos. Los resultados, aunque no se haya alcanzado el 0 de 56, se pueden entender como satisfactorios, ya que en 2 de los 3 casos probados, el código malicioso era detectado por menos del 10% de los AV.

Autor: Pablo González Pérez (@pablogonzalezpe)
Escritor de los libros "Metasploit para Pentesters", "Ethical Hacking" y “Pentesting con Powershell

miércoles, abril 13, 2016

Veil-Evasion, The Shellter & PayDay para ofuscar binarios

El año pasado coincidí con Pedro Sánchez en Gsick Minds, congreso que se celebra en A Coruña hacia finales de año. Siempre es un placer para mí coincidir con este señor de la profesión que tanto nos apasiona. Siempre aprendo con Pedro, él tiene esa facilidad. Su charla me llamó la atención, hizo que algo que para muchos pueda ser complejo, resultara sencillo. Ahí está el gran mérito de Pedro en esa charla. Me gustó como utilizó herramientas que facilitaban mucho la vida a la hora de evadir, sobretodo, las firmas de los antivirus. La idea es la de conseguir que un binario, manteniendo su funcionalidad, deje de ser reconocido por los motores de antimalware. De esto ya habló Chema Alonso por aquí en el año 2007, haciendo modificaciones manualmente, en el artículo "El morphing de Superman".

Figura 1: Ofuscación de binarios

Tras ver la charla de Pedro me dije que tenía que mirar más dichas herramientas y hacer mis propios “juguetes”, pero por desgracia en aquel momento el trabajo apretaba y el fin de año estaba cerca. Ahora ha pasado el tiempo y he podido ir probando diferentes herramientas, quizá las más famosas Veil-Framework, que tiene un módulo en Powershell para hacer Pentesting denominado PowerView, y Shellter, que es una de las más potentes a la hora de rebajar el ratio de detección de los antivirus. Como curiosidad hay que decir que Shellter tiene el código fuente cerrado, aunque como dice el autor en su sitio web puede ser comprado.

En el artículo de hoy veremos una serie de comparativa básica respecto a los resultados que podemos sacar con estas herramientas automáticas de generación de binarios con payloads. El objetivo es sencillo: cuanto menor ratio de detección, más sencillo será poder evadir mecanismos de protección. Las herramientas que trataremos serán:
• Veil-Evasion de Veil-Framework.
• Shellter.
• PayDay.
Quizá la menos conocida sea PayDay, que es una script en Python que nos facilita la interacción con Metasploit y con Veil-Framework para la generación de los binarios. Como se puede ver, siempre hay una nueva capa de abstracción que simplifica, aún más, el proceso.

Un pequeño test con Virus Total

En esta pequeña prueba Generaremos diferentes binarios y los subiremos a Virus Total, con el objetivo de poder comparar en qué casos tendríamos más éxitos. Está claro que si profundizásemos con Veil-Evasion y Shellter podríamos obtener unos binarios aún mejores, en lo que a evasión se refiere, aunque puede que el resultado fuera el mismo en algunos casos. Es decir, puede que generemos diferentes binarios y ambos nos dieran el mismo ratio de detección, aunque uno es, a posteriori, más fácilmente detectable.

Figura 2: Handler de Metasploit

Para estos pequeños ejemplos utilizaremos el handler de Metasploit para recibir las conexiones de los binarios maliciosos creados. Os dejo simplemente su configuración en Metasploit, ya que las ejecuciones como tal no las veremos.

Figura 3: Tips & Tricks en la web de Shellter

En el sitio web de Shellter podemos encontrar un listado de tricks y tips que os recomiendo que echéis un ojo. Es un listado que el autor de la herramienta ha ido recopilando de su experiencia y de los emails que ha ido recibiendo de los usuarios de la herramienta.

Veil-Evasion

La primera de las versiones que veremos será Veil-Evasion, una herramienta diseñada para generar payloads de Metasploit con los que bypassear soluciones antivirus comunes. Veil-Evaison proporciona diferentes payloads con diferente ranking, el cual indica la eficiencia o el éxito que se presupone con cada uno de estos payloads. Por supuesto, se pueden añadir características a Veil-Evasion, lo que ha conseguido que sea un framework que está creciendo bastante.

Figura 4: 50 payloads en esta versión de Veil-Evasion

Desde Github se puede descargar, aunque sus dependencias son muchas. El proceso de instalación puede ser largo, pero claramente merece la pena. Tal y como se puede ver en la imagen superior Veil-Evasion proporciona una serie de comandos. En la versión utilizada para el ejemplo se han cargado 50 payloads. Con el comando “list” podemos listarlos y obtener algo más de información. El listado se proporciona por categorías, podemos ver payloads generados para C, C#, Go, Powershell, Python, Ruby, etcétera.

Figura 5: Selección de meterpreter en Python en Veil-Evasion

Para esta prueba, como se ve en la imagen anterior, se elige un meterpreter en Python con conexión inversa sobre TCP. Una vez queremos generar el EXE utilizamos el comando generate, entonces nos preguntará por la ruta en la que se quiere guardar y con qué motor crear el ejecutable. En el caso de Python puede ser Pyinstaller, Pwnstaller o Py2Exe, donde Pwnstaller es Pyinstaller ofuscado.

Figura 6: Configuración final

El mensaje de no enviar ejemplos a los escáneres online nos lo dice todo. Yo haré como Pedro en su charla y solo para esta pequeña prueba lo haré ;). Los resultados son muy interesantes, no hemos utilizado funcionalidades o técnicas complejas. Todo ha sido “siguiente… siguiente… siguiente…”. El potencial de Veil radica en las diferentes plataformas para crear payloads y cómo Python, Ruby o Powershell ayudan a que los códigos pasen mucho más desapercibido.

Figura 7: Evaluación del binario por los motores AV de Virus Total

El resultado es que 12 motores de antivirus nos han detectado el binario, teniendo en cuenta que hemos utilizado un camino básico y un payload “clásico”. El resultado es 12 de 56, lo cual podría ser aceptable en muchas circunstancias.

Shellter

Como comenté anteriormente, la herramienta tiene muchas opciones y solo nos centraremos en una ejecución sencilla y básica. Lo primero que nos preguntará la herramienta al ser ejecutada es si queremos un modo de operación automático o manual. Lo hacemos lo más sencillo posible, que cualquiera con los mínimos conocimientos pudiera hacerlo, como dijo en la charla de Gsick Minds Pedro Sánchez.

Figura 8: Ejecución de Shellter con configuraciones por defecto

Shellter nos preguntará si queremos activar el modo sigiloso y le decimos que sí. En este instante deberemos elegir entre los payloads disponibles para que se inyecten en el binario. Si nos fijamos tenemos diferentes tipos de Meterpreter, la típica shell inversa TCP y la shell bindeada TCP. Además, un payload inline como es WinExec. Lo que nos preguntará Shellter es si queremos utilizar el listado que nos proporciona o queremos utilizar un listado personalizado, mediante importación de shellcodes. En este caso elegimos la opción básica y el payload de Meterpreter inverso TCP.

Figura 9: Configuración de payloads con Shellter

La primera etapa pesa unos pocos bytes como se puede ver en la lectura de Shellter. El payload es encodeado automáticamente, y posteriormente nos muestra más información sobre los métodos de la API a utilizar, sobre la ofuscación o el código polimórfico denominado basura. Justo después de esto, se configura la segunda etapa, y es que Meterpreter no es un payload de tipo inline. En la segunda etapa se pasan por fases similares. La salida por pantalla de Shellter es interminable, pero nos proporciona mucha información. Hay que recordar que esto es todo con valores por defecto.

Figura 10: Información del binario generado por Shellter

El binario que hemos utilizado, el cual se pide al principio es el de Putty. El famoso cliente para conexiones SSH, telnet, puerto serie, etcétera. Shellter hace un backup del binario e inyecta, en este caso, un Meterpreter dentro del fichero, tal y como vimos.

Figura 11: Ningún Antivirus detecta el nuevo binario

Los resultados con las opciones por defecto de Shellter cuando se lo pasamos a Virus Total son muy sorprendentes. Ningún motor antivirus ha detectado el binario como malicioso, obteniendo un 0 de 55.

PayDay

PayDay es un script escrito en Python cuyo objetivo es crear un binario con un Meterpreter inverso TCP inyectado. El script de PayDay se puede encontrar en Github. La sintaxis es sencilla y para generar un binario que utilice Metasploit (msfvenom) y Veil-Evasion simplemente hay que ejecutar: python payday.py –veil –msf –ip [dirección IP atacante].

Figura 12: Ejecución de PayDay

Los resultados obtenidos para el binario creado con PayDay pueden sorprender, ya que el uso del script es realmente sencillo. 39 motores AV han detectado el binario como malicioso de 56 que analizaron el fichero. Los resultados no fueron buenos.

Figura 13: 39 de 56 AV detectan la ofuscación del binario

Tras la comparativa se puede observar que hay herramientas que facilitan la evasión de AV y que con opciones básicas o por defecto se consiguen resultados muy potentes. Shellter es sin duda el que más sorpresas causa, por su sencillez y el poderío de los resultados que ha conseguido. ¿Cuál es tu favorito? ¿Qué otras herramientas utilizas para hacer estas tareas?

Autor: Pablo González Pérez (@pablogonzalezpe)
Escritor de los libros "Metasploit para Pentesters", "Ethical Hacking" y “Pentesting con Powershell

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares