The Adventures of the Elusive Malware, Part I

The Adventures of the Elusive Malware, Part I

Sa artikulong ito sinisimulan namin ang isang serye ng mga publikasyon tungkol sa mailap na malware. Ang mga fileless hacking program, na kilala rin bilang fileless hacking program, ay karaniwang gumagamit ng PowerShell sa Windows system para tahimik na magpatakbo ng mga command para maghanap at kumuha ng mahalagang content. Ang pag-detect ng aktibidad ng hacker nang walang mga nakakahamak na file ay isang mahirap na gawain, dahil... ang mga antivirus at marami pang ibang sistema ng pagtuklas ay gumagana batay sa pagsusuri ng lagda. Ngunit ang mabuting balita ay ang naturang software ay umiiral. Halimbawa, Mga sistema ng UBA, na may kakayahang makakita ng malisyosong aktibidad sa mga file system.

Noong una kong sinimulan ang pagsasaliksik sa paksa ng mga badass na hacker, hindi gumagamit ng mga tradisyunal na paraan ng impeksyon, ngunit ang mga tool at software lamang na magagamit sa computer ng biktima, wala akong ideya na malapit na itong maging isang popular na paraan ng pag-atake. Mga Propesyonal sa Seguridad sabi nilana ito ay nagiging uso, at nakakatakot na mga headline ng artikulo - kumpirmasyon nito. Samakatuwid, nagpasya akong gumawa ng isang serye ng mga publikasyon sa paksang ito.

Ang Dakila at Makapangyarihang PowerShell

Naisulat ko na ang ilan sa mga ideyang ito bago pumasok PowerShell obfuscation series, ngunit higit na nakabatay sa isang teoretikal na konsepto. Maya maya ay naabutan ko website para sa hybrid analysis, kung saan makakahanap ka ng mga sample ng malware na "nahuli" sa ligaw. Nagpasya akong subukang gamitin ang site na ito para maghanap ng mga sample ng fileless malware. At nagtagumpay ako. Siyanga pala, kung gusto mong sumama sa iyong sariling malware hunting expedition, kailangan mong ma-verify ng site na ito para malaman nilang ginagawa mo ang trabaho bilang isang white hat specialist. Bilang isang security blogger, naipasa ko ito nang walang tanong. I'm sure kaya mo rin.

Bilang karagdagan sa mga sample mismo, makikita mo sa site kung ano ang ginagawa ng mga programang ito. Ang Hybrid analysis ay nagpapatakbo ng malware sa sarili nitong sandbox at sinusubaybayan ang mga tawag sa system, tumatakbong mga proseso at aktibidad sa network, at kumukuha ng mga kahina-hinalang text string. Para sa mga binary at iba pang mga executable na file, i.e. kung saan hindi mo man lang matingnan ang aktwal na high-level na code, ang hybrid analysis ay nagpapasya kung ang software ay nakakahamak o kahina-hinala lamang batay sa aktibidad ng runtime nito. At pagkatapos nito ay nasuri na ang sample.

Sa kaso ng PowerShell at iba pang sample na script (Visual Basic, JavaScript, atbp.), nakita ko ang mismong code. Halimbawa, nakita ko itong PowerShell instance:

The Adventures of the Elusive Malware, Part I

Maaari mo ring patakbuhin ang PowerShell sa base64 encoding upang maiwasan ang pagtuklas. Tandaan ang paggamit ng Noninteractive at Hidden parameters.

Kung nabasa mo ang aking mga post sa obfuscation, alam mo na ang -e na opsyon ay tumutukoy na ang nilalaman ay base64 na naka-encode. Sa pamamagitan ng paraan, ang hybrid analysis ay nakakatulong din dito sa pamamagitan ng pag-decode ng lahat pabalik. Kung gusto mong subukan ang pag-decode ng base64 PowerShell (pagkatapos dito ay tinutukoy bilang PS), kailangan mong patakbuhin ang command na ito:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

Palalimin mo

Na-decode ko ang aming PS script gamit ang pamamaraang ito, sa ibaba ay ang teksto ng programa, kahit na bahagyang binago ko:

The Adventures of the Elusive Malware, Part I

Tandaan na ang script ay itinali sa petsa ng Setyembre 4, 2017 at ipinadala ang cookies ng session.

Sumulat ako tungkol sa istilong ito ng pag-atake PS obfuscation series, kung saan naglo-load ang base64 na naka-encode na script nawawala malware mula sa isa pang site, gamit ang WebClient object ng .Net Framework library upang gawin ang mabigat na pag-angat.

Ano ang ginagawa nito?

Para sa software ng seguridad na nag-scan ng mga log ng kaganapan o firewall ng Windows, pinipigilan ng base64 encoding ang string na "WebClient" na matukoy ng isang plain text pattern upang maprotektahan laban sa paggawa ng ganoong kahilingan sa web. At dahil ang lahat ng "kasamaan" ng malware ay na-download at naipapasa sa aming PowerShell, ang diskarte na ito ay nagbibigay-daan sa amin upang ganap na maiwasan ang pagtuklas. Or rather, yun ang naisip ko nung una.

Lumalabas na kapag pinagana ang Windows PowerShell Advanced Logging (tingnan ang aking artikulo), makikita mo ang na-load na linya sa log ng kaganapan. parang ako at iba pa ) Sa tingin ko, dapat paganahin ng Microsoft ang antas na ito ng pag-log bilang default. Samakatuwid, kapag pinagana ang pinalawak na pag-log, makikita natin sa log ng kaganapan sa Windows ang isang nakumpletong kahilingan sa pag-download mula sa isang PS script ayon sa halimbawang tinalakay natin sa itaas. Samakatuwid, makatuwirang i-activate ito, hindi ka ba sumasang-ayon?

Magdagdag tayo ng mga karagdagang senaryo

Matalinong itinatago ng mga hacker ang mga pag-atake ng PowerShell sa mga macro ng Microsoft Office na nakasulat sa Visual Basic at iba pang mga wika ng script. Ang ideya ay ang biktima ay nakatanggap ng isang mensahe, halimbawa mula sa isang serbisyo sa paghahatid, na may kalakip na ulat sa .doc na format. Binuksan mo ang dokumentong ito na naglalaman ng macro, at magtatapos ito sa paglulunsad ng malisyosong PowerShell mismo.

Kadalasan ang Visual Basic script mismo ay na-obfuscate upang malaya itong makaiwas sa antivirus at iba pang malware scanner. Sa diwa ng nasa itaas, nagpasya akong i-code ang PowerShell sa itaas sa JavaScript bilang isang ehersisyo. Nasa ibaba ang mga resulta ng aking trabaho:

The Adventures of the Elusive Malware, Part I

Na-obfuscate na JavaScript ang pagtatago ng aming PowerShell. Ginagawa ito ng mga tunay na hacker isang beses o dalawang beses.

Ito ay isa pang pamamaraan na nakita kong lumulutang sa buong web: gamit ang Wscript.Shell upang patakbuhin ang naka-code na PowerShell. Sa pamamagitan ng paraan, ang JavaScript mismo ay nangangahulugang paghahatid ng malware. Maraming bersyon ng Windows ang may built-in Host ng Windows Script, na maaaring magpatakbo mismo ng JS.
Sa aming kaso, ang nakakahamak na JS script ay naka-embed bilang isang file na may extension na .doc.js. Karaniwang ipapakita lamang ng Windows ang unang suffix, kaya lalabas ito sa biktima bilang isang dokumento ng Word.

The Adventures of the Elusive Malware, Part I

Ang JS icon ay lilitaw lamang sa scroll icon. Hindi nakakagulat na maraming tao ang magbubukas ng attachment na ito sa pag-aakalang ito ay isang Word document.

Sa aking halimbawa, binago ko ang PowerShell sa itaas upang i-download ang script mula sa aking website. Ang remote PS script ay nagpi-print lang ng "Evil Malware". Sa nakikita mo, hindi naman siya masama. Siyempre, ang mga tunay na hacker ay interesado sa pagkakaroon ng access sa isang laptop o server, halimbawa, sa pamamagitan ng command shell. Sa susunod na artikulo, ipapakita ko sa iyo kung paano ito gawin gamit ang PowerShell Empire.

Inaasahan ko na para sa unang panimulang artikulo ay hindi tayo sumibak nang malalim sa paksa. Ngayon ay hahayaan kitang huminga, at sa susunod na magsisimula tayong tumingin sa mga tunay na halimbawa ng mga pag-atake gamit ang fileless malware nang walang anumang hindi kinakailangang panimulang salita o paghahanda.

Pinagmulan: www.habr.com

Magdagdag ng komento