Time-locked SHA-1 XOR JavaScript loader

PDF_JS_TIME_LOCKED_SHA1_LOADER

← All detection heuristics · PDF

critical CVE related PDF_JS_TIME_LOCKED_SHA1_LOADER

What it means

PDF JS embeds a SHA-1 routine keyed on the victim's wall-clock minute to XOR-decrypt and eval a payload.

Why it fires

The PDF JavaScript embeds a full inline SHA-1 implementation and derives an XOR key from the victim's wall-clock minute (getHours()+''+getMinutes()); the digest decrypts a small ciphertext array that is then eval'd, with a catch{} block retrying the previous minute for clock-rollover tolerance. The wall-clock keying is a deliberate anti-static / anti-sandbox measure — the decryption key only exists at the victim's open time, so the encrypted stage cannot be recovered by static analysis (~1440 possible minute keys, no validation oracle). The loader construction is nonetheless conclusive: no legitimate PDF hashes the clock to eval code. This is a known pre-2011 PDF exploit-kit loader whose encrypted second stage is an Adobe Reader JavaScript exploit; attributed at related confidence as an exploit-kit family because the exact CVE trigger is time-locked out of view.

Other PDF heuristics

PDF_LAUNCH_JS_PROTOCOL PDF_LAUNCH_COMMAND PDF_LAUNCH_MSHTA PDF_ADOBE_QR_UNLOCK_LURE PDF_JS_URL_KEYED_READER_EXPLOIT_KIT CVE_2009_2990_U3D_AUTOACTIVATE PDF_ANNOT_AUTHOR_EVAL_STAGER PDF_ANNOT_SUBJECT_HEX_EVAL_STAGER PDF_ANNOT_SUBJECT_MARKER_EVAL_STAGER PDF_JS_BASE_N_TOKEN_DOWNLOADER PDF_BASE64_PE_PAYLOAD PDF_BRAND_INVOICE_LURE_OFFDOMAIN PDF_BRAND_INVOICE_CLOUD_EMAIL_LURE PDF_CORPORATE_PRESENTATION_CLOUD_REDIRECT_LURE PDF_CORRUPTED_FILE_UPDATE_LURE PDF_CRACKED_SOFTWARE_SHORTLINK_LURE PDF_GAME_HACK_SEO_LINK_FARM PDF_DISTRIBUTED_PIRACY_LINK_FARM PDF_DOCUSIGN_DOWNLOAD_LURE PDF_DOCUMENT_ACTION_HOST_MISMATCH_LURE PDF_DYNAMIC_DNS_DOCUMENT_LINK_FARM PDF_SWF_NATIVE_MEMORY_CORRUPTION_PAYLOAD PDF_EMBEDDED_PE_PAYLOAD CVE_2010_1240_EMBEDDED_EXPORT_LAUNCH