Пајтон пакет текући од нити, откривен на PyPI, идентификован је као злонамеран, који садржи конвенционални малвер за крађу информација. Међутим, његова карактеристична карактеристика је коришћење напредних техника обфускације кода које прикривају његов корисни терет, што анализу чини посебно изазовном. Овај малвер итеративно користи три слоја обфускације у свом ланцу напада, стварајући значајне препреке за ручну деконструкцију.
Наш тим за рано упозоравање на злонамерни софтвер пријавио је пакет безбедносном тиму PyPI, који га је брзо уклонио. У овом чланку објашњавамо фазе текући од нитинапад и методе које користи да сакрије своју сврху, фокусирајући се на то како злонамерни софтвер за крађу информација и замагљивање кода раде заједно.
Читалица: Инфостејлер злонамерни софтвер и замагљивање кода
Шта је Инфостеалер злонамерни софтвер?
Злонамерни софтвер „Infostealer“ делује као лукав лопов у вашем дигиталном свету. Он тихо краде осетљиве информације, као што су ваше лозинке, бројеви кредитних картица или лични подаци, а да ви то не приметите. Ови програми снимају шта куцате (кејлоговање), отимају ваш прегледач или скенирају датотеке на вашем уређају како би прикупили вредне податке. Најстрашнији део? Они су одлични у томе да остану непримећени.
Шта је обфускација кода?
Замагљивање кода је у основи вештина скривања ствари на видном месту, коју хакери често користе како би отежали уочавање или разумевање свог злонамерног кода. Замислите да неко пише код на начин који је намерно збуњујући, шифрује његове делове или мења његов изглед како би збунио антивирусне алате или истраживаче. То је паметна, али фрустрирајућа тактика која помаже да злонамерни софтвер дуже остане активан и избегне откривање.
Слојеви замагљивања злонамерног софтвера ThreadFluent Infostealer
1. Троструко шифровање
Процес обфускације почиње са јако шифрованим корисним теретом уграђеним у fluent.py датотека. Почетни процес кодирања и дешифровања може се сумирати на следећи начин:
encoded_data = base64_module.b64decode("... BASE-6 with encrypted payload, IV and RSA-encrypted keys…”); # … Sequential decryption: ChaCha20, Blowfish and AES … encrypted_payload = AES_Cipher.new(aes_key, AES_Cipher.MODE_CBC, iv=aes_iv).decrypt(encrypted_payload[16:]) final_payload = unpad_function(encrypted_payload, AES_Cipher.block_size) exec( zlib_module.decompress(bz2_module.decompress(final_payload)) ) Овај процес замагљивања укључује:
- компресијаКоришћење gzip-а и bzip-а.
- Симетрично шифровањеЛанчано шифровање са ChaCha20, Blowfish и AES.
- Асиметрично шифровањеRSA се користи за шифровање симетричних кључева.
Резултат је кодиран у Base64 и убачен као кодирани_подациСвака итерација се надовезује на претходну, стварајући угнежђену структуру шифровања која изузетно отежава откривање стварног корисног терета без обрнутог инжењеринга.
2. Декомпресија Gzip-а
У многим међукорацима, злонамерни софтвер користи једноставан, али ефикасан метод обфускације: Gzip компресију комбиновану са Base64 кодирањем.
import base64, zlib; eval(zlib.decompress(base64.b64decode(<STR>).decode('utf-8')) Ова техника осигурава да замаскирани корисни терет остане скривен током свих фаза.
3. Спајање кода и динамичка компилација
Последњи слој укључује поделу обфусцираног корисног терета на више променљивих, које се динамички спајају и декодирају током извршавања:
import base64, zlib FEQXCBDOZKHVIhT = '...' # ....(111 other variables with base-64 encoded values) ... zZytWuvuEdBXSrO = eval(<FEQXCBDOZKHVIhT' encoded with '\x>) + eval(<next variable, encoded>) + eval( ' zlib.decompress(base64.b64decode(<VAR>)).decode('utf-8') ') + ... eval(compile(base64.b64decode(eval(zZytWuvuEdBXSrO)).decode('utf-8'), ‘<app>', 'exec')) Ова фаза је посебно компликована за ручно реверзно инжењерство, јер свака променљива мора бити декодирана и рекомбинована да би се открио следећи корисни терет.
Комбиновањем ових техника замагљивања, малвер инфостеалер in текући од нити избегава откривање, показујући кључну улогу Обфусцатион кода у модерним сајбер нападима.
Вишестепени ланац напада ThreadFluent-а
текући од нити малвер инфостеалер састоји се од четири различите фазе, од којих свака уводи додатне слојеве Обфусцатион кодаОве фазе служе не само да испоруче корисни терет већ и да га заштите од откривања и анализе.

Фаза 0: Почетно извршавање кода
Улазна тачка је __инит__.пи датотеку, која покреће извршавање обфусцираног корисног оптерећења у fluent.pyОва датотека користи вишеслојно замагљивање (као што је описано у корацима 1–3) да би направила дропер Фазе 1:
import os,threading def main(): if os.name == 'nt': from . import fluent fluent.main() thread = threading.Thread(target=main , daemon=True) thread.start() Фаза 1: Почетна капаљка
Први дропер, након деобфускације, преузима и уграђује додатни злонамерни код, puts.py, из GitHub репозиторијума Риђокосе-ноге-1337/одговори (упозорење: овде постоји потенцијално злонамерни код).
Уграђује се капаљка puts.py у локалну инсталацију популарног Захтеви библиотека, мењајући њен __инит__.пи датотеку за покретање деобфускације и извршавање следеће фазе. Ова деобфускација се састоји од обртања многих примена слојева обфускације 1…3.
Фаза 2: Друга капаљка
Други дропер, након деобфускације пратећи исти процес, преузима још један корисни терет, ssl.py из GitHub репозиторијума, преименује га у udp.py, и генерише датотеку за закључавање како би се осигурало да се злонамерни софтвер неће више пута поново инсталирати. Затим се покреће да би се деобфускирао, што резултира извршавањем коначног корисног оптерећења инфостејлера.
Фаза 3: Коначни крађа информација
Завршна фаза је потпуно функционалан крађа информација који користи напредне технике избегавања:
- Карактеристике против анализе:
- Детектова алате за заштиту од злонамерног софтвера и прекида рад ако се открију процеси са црне листе, ИП адресе, имена хостова или виртуелна окружења.
- Ексфилтрација података:
- Прикупља исцрпне информације. У распону од ИП адресе, Mac адресе, VPN података, колачића/историје прегледача, података о кредитној картици и акредитива за крипто новчаник, између осталог, укључујући и снимак екрана.
- Шаље украдене податке (шифроване) путем Телеграм канала, користећи шаблон приказан овде:

Стратегија деобфускације
Да би анализирали сличне пакете, истраживачи морају систематски да обрну његове слојеве замагљивања:
- Кораци емулације обфускације: Напишите скрипте за симулацију трансформација (нпр. дешифровања, декомпресије) без извршавања корисног терета.
- Слојеви обрнуте енкрипције: Издвојите и дешифрујте корисни терет користећи уграђене кључеве и алгоритме.
- Итеративна анализа: Обрадите сваку међуфазу итеративно да бисте реконструисали коначни корисни терет.
Аутоматизовани алати и изолована окружења су неопходни за поједностављивање ове анализе.
Желите да сазнате више о томе како да будете испред претњи у реалном времену?
Преузмите наш бели папир „Рано упозоравање: Детекција претњи у реалном времену и одређивање приоритета“ и откријте како да заштитите свој ланац снабдевања софтвером.
Глумац претње
Изгледа да је пакет објављен са два PyPI налога, АБИРХОСАИН10 аномилано785, тренутно уклоњено.
Постоји (тренутно активан) GitHub налог под називом АБИРХОСАИН10, што би могло бити повезано са кампањом. Риђокосе-ноге-1337 Корисник GitHub-а који је власник репозиторијума који се користи за преузимање корисних оптерећења фазе 2 и 3 такође је под анализом.
Иако је приписивање увек компликовано и чланство у црвеном тиму је могућност, врста и количина извучених информација указују на злонамерног актера.
Закључак: Улога замагљивања кода у еволуцији злонамерног софтвера
текући од нити Пакет представља пример модерног замагљивања злонамерног софтвера у својој вишестепеној испоруци. Заједно са коришћеним техникама избегавања, овај пакет показује јасан напор да се избегне откривање и одупре анализи.
Ова анализа наглашава важност заједничких напора и аутоматизованих алата у борби против таквих претњи. Анализирањем и разумевањем ових метода, стручњаци за безбедност могу развити бољу одбрану од сличног злонамерног софтвера у будућности.
Како је Xygeni-јев MEW систем спречио злонамерни пакет threadfluent да стигне до продукције
Ксигенијев Рано упозоравање на злонамерни софтвер (MEW) систем је био кључан у заустављању текући од нити Пајтон пакет, злонамерна зависност која садржи напредни замагљивање кода и вишестепени малвер инфостеалер, пре него што би то могло да угрози производна окружења. Ево како:
- Детекција путем статичке анализе
MEW је примећен текући од нитискривени код, проналазећи сумњиве знакове попут слојевите енкрипције и неуобичајене активности зависности. - Процена доступности током извршавања
Систем је открио да код пакета може да се покреће током употребе, означавајући га као озбиљну претњу без његовог стварног покретања. - CI/CD Pipeline заштита
MEW блокиран текући од нити у реалном времену, спречио је његово укључивање у верзије и спречио његово доспевање у производну верзију. Слао је програмерима упозорења на која се може упозорити, штедећи драгоцено време. - Дељење обавештајних података о претњи
Xygeni је брзо пријавио пакет PyPI-ју и поделио своје налазе са својом глобалном безбедносном мрежом, спречавајући његово даље ширење.
Хватањем текући од нити Раније је Xygeni-јев MEW систем осигурао да злонамерни код не нанесе штету ланцима снабдевања софтвером или CI/CD токови рада.
Заштитите своје CI/CD Pipelineс бесплатно
Спречите претње попут текући од нити са Xygeni-јевим системом за рано упозоравање на злонамерни софтвер. Покрените свој бесплатна реклама данас и осигурајте свој ланац снабдевања софтвером.
Luis Rodriguez
Луис Родригез је физичарcisт + математичар и CISСП. Тренутно је суоснивач и технички директор у Xygeni Security. Има преко 20 година искуства у области безбедности софтвера и учествовао је у пројектима као што су SAST SCAТренутно се фокусира на software supply chain security.
Даниел Мартин
Данијел Мартин је стручњак за сајбер безбедност и члан истраживачког тима за безбедност компаније Xygeni, специјализован за SDLC безбедност и ублажавање рањивости апликација.






