Está en la página 1de 2

Hoy vamos a ver una técnica llamada VBA stomping para generar documentos maliciosos

(maldoc) original de Vesselin Bontchev. Básicamente consiste en quitar o modificar


el código fuente de un documento de Microsoft Office dejando sólo una versión
compilada de las macros llamada p-code. De esta manera, un atacante podrá bypassear
la detección de maldocs basada en el análisis del código fuente.

Primero, demostraremos la técnica con una macro simple y no maliciosa. Por ejemplo,
con una simple macro que mostrará el texto "ABC" cuando se abre el documento:

A continuación lo que intentaremos es modificar ese código fuente sin cambiar el p-


code. En Office 2007 o superior el código fuente de VBA y el p-code generalmente se
encuentran en un archivo llamado vbaProject.bin. Para modificar este archivo
manualmente, primero debemos descomprimir el archivo comprimido .docm/.xlsm y luego
abrir el archivo vbaProject.bin en un editor hexadecimal. En este ejemplo,
cambiaremos "ABC" por "XYZ", pero solo dentro de la ubicación donde está el código
fuente VBA, no en la sección del p-code.

Ahora que hemos editado manualmente el código fuente VBA para cambiar "ABC" por
"XYZ", abriremos el documento e inspeccionaremos el código fuente VBA ANTES de
hacer clic en el botón "Habilitar contenido".

El documento se ha abierto pero las macros no están habilitadas. En el editor de


código veremos que se debería mostrar un cuadro de mensaje con el texto "XYZ"...
pero este no será el caso. De hecho, tan pronto como se habilite el contenido se
mostrará un cuadro de mensaje con "ABC" y el código fuente en el editor de código
se actualizará para que coincida.

Bastante engañoso, verdad?


Leer más...
Enlaces a esta entrada Tweetea esto! ¡Comparte en Facebook!

Bypass de sudoers con user ID -1 o 4294967295


Publicado por Vicente Motos on martes, 15 de octubre de 2019 Etiquetas: linux ,
vulnerabilidades Comentarios: ( 0 )
Joe Vennix de Apple Information Security ha publicado la vulnerabilidad CVE-2019-
14287 que afecta a todas las versiones de sudo anteriores a la 1.8.28 y que permite
a un usuario ejecutar comandos como root, simplemente especificando el usuario -1 o
4294967295...

Así leído al principio aco.. impresiona, pero sin embargo la configuración por
defecto de sudoers NO ES VULNERABLE, es más, solo lo es si se ha configurado Sudo
de una manera bastante imaginativa, permitiendo a los usuarios ejecutar comandos
como cualquier usuario excepto root.

La mejor manera de describir el escenario es usar un ejemplo. Supongamos que se ha


configurado en el sudoer que el usuario 'pepito' pueda ejecutar el editor de texto
Vi como cualquier usuario, excepto root. Es raro ya lo sé, pero imagina que
queremos que 'pepito' supervise los archivos y actividades de otros usuarios, pero
sin darle acceso de superusuario:

servidor pepito = (ALL, !root) /usr/bin/vi

Eso debería permitir que 'pepito' ejecute Vi como cualquiera que no sea root. Sin
embargo, si 'pepito' ejecuta este comando:

sudo -u#-1 vi

o este otro:

sudo -u#4294967295 vi

pepito podrá cambiar cualquier archivo del sistema como root...ups!

Esto ocurre porque la función que convierte el id al username trata el -1 de manera


incorrecta, como 0, es decir el id de root. Además, y para más diversión, el ID de
usuario 4294967295 omitirá las restricciones también porque, como un entero de 32
bits con signo, es igual a -1.

¿Solución? Actualizar Sudo a la versión 1.8.28 o posterior :-P

#AZULONES: regla Sigma para detectar intentos de explotar esta vulnerabilidad:

https://github.com/Neo23x0/sigma/blob/master/rules/linux/lnx_sudo_cve_2019_14287.ym
l

Fuente: https://www.sudo.ws/alerts/minus_1_uid.html
Enlaces a esta entrada Tweetea esto! ¡Comparte en Facebook!

C2 implementado sobre... blockchain!


Publicado por Vicente Motos on lunes, 14 de octubre de 2019 Etiquetas: blockchain ,
c2 , malware , python , videos Comentarios: ( 0 )
Hoy vamos a hablar de blockchain, esa palabra tan de moda y que esta vez veremos
aplicada a... nada más y nada menos... una infraestructura de command and control o
C2.
Y es que Sarthak Saini aka geek-repo ha hecho un serie muy interesante en la que
explica como ha implementado esa infraestructura C2 sobre Ethereum Smart Contracts
basado en Ropsten TestNet Server.

Muy, muy resumido, para los que les suene "muy a chino": los smart contracts o
contratos inteligentes en Ethereum son básicamente como un protocolo que maneja las
transacciones o transferencias y Ropsten es un servidor de prueba público para la
plataforma Ethereum donde los desarrolladores construyen sus Dapps y los prueban, y
también los usuarios pueden generar una cartera ETH y obtener 1 ETH en ese sitio.

Sarthak ha publicado además la PoC con el código en python y los bytecodes


generados a partir de scripts en lenguaje Solidity que se ejecutarán en la evm
(máquina virtual Ethereum) de los nodos de la red blockchain. El resultado es un
virus (cliente) y un handler que se comunican a través de blockchain y, aunque algo
lento, se ejecutan comandos en una shell interactiva:

También podría gustarte