У каталогу PyPI (Python Package Index) выяўлена 26 шкоднасных пакетаў, утрымоўвальных у скрыпце setup.py абфуцаваны код, вызначальны наяўнасць ідэнтыфікатараў криптокошельков у буферы абмену і які змяняе іх на кашалёк зламысніка (мяркуецца, што пры здзяйсненні аплаты ахвяр абмену нумар кашалька адрозніваецца).
Падмену выконвае сцэнар JavaScript, які пасля ўсталёўкі шкоднаснага пакета ўбудоўваецца ў браўзэр у форме браузернага дадатку, які выконваецца ў кантэксце кожнай прагляданай web-старонкі. Працэс усталёўкі дадатку прывязаны да платформы Windows і рэалізаваны для браўзэраў Chrome, Edge і Brave. Падтрымліваецца падмена кашалькоў для криптовалют ETH, BTC, BNB, LTC і TRX.
Шкоднасныя пакеты маскіруюцца ў каталогу PyPI пад некаторыя папулярныя бібліятэкі пры дапамозе тайпсквотынга (прызначэнне падобных імёнаў, якія адрозніваюцца асобнымі сімваламі, напрыклад, exampl замест example, djangoo замест django, pyhton замест python і да т.п.). Бо ствараныя клоны цалкам паўтараюць легітымныя бібліятэкі, адрозніваючыся толькі шкоднаснай устаўкай, зламыснікі разлічваюць на няўважлівых карыстачоў, якія здзейснілі памылку друку і не заўважылі адрозненняў у назове пры пошуку. З улікам папулярнасці зыходных легітымных бібліятэк (лік загрузак перавышае 21 млн дзід у дзень), пад якія маскіруюцца шкоднасныя клоны, верагоднасць злавіць ахвяру досыць вялікая, напрыклад, праз гадзіну пасля публікацыі першага шкоднаснага пакета яго паспелі загрузіць больш за 100 разоў.
Характэрна, што тыдзень таму тая ж група даследчыкаў выявіла ў PyPI 30 іншых шкоднасных пакетаў, некаторыя з якіх таксама маскіраваліся пад папулярныя бібліятэкі. За час атакі, якая працягвалася каля двух тыдняў, шкоднасныя пакеты былі загружаны 5700 разоў. Замест скрыпту для замены криптокошельков у паказаных пакетах выкарыстоўваўся тыпавы кампанент W4SP-Stealer, які забяспечвае пошук на лакальнай сістэме захаваных пароляў, ключоў доступу, криптокошельков, токенаў, сесійных Cookie і іншай канфідэнцыйнай інфармацыі, і адпраўку знойдзеных файлаў праз Discord.
Выклік W4SP-Stealer ажыццяўляўся праз падстаноўку выраза "__import__" у файлы setup.py або __init__.py, якое было аддзелена вялікім лікам прабелаў, каб вывесці выклік __import__ за межы бачнай вобласці ў тэкставым рэдактары. У блоку "__import__" выконвалася дэкадаванне блока ў фармаце Base64 і яго запіс у часовы файл. Блок утрымоўваў скрыпт для загрузкі і ўсталёўкі ў сістэме W4SP Stealer. Замест выраза "__import__" падлучэнне шкоднаснага блока ў некаторых пакетах ажыццяўлялася праз усталёўку дадатковага пакета пры дапамозе выкліку "pip install" з скрыпту setup.py.
Выяўленыя шкоднасныя пакеты, якія падмяняюць нумары криптокошельков:
- baeutifulsoup4
- beautifulsup4
- cloorama
- cryptograpyh
- crpytography
- djangoo
- hello-world-exampl
- hello-world-example
- ipyhton
- mail-validator
- mysql-connector-pyhton
- notebok
- pyautogiu
- pygaem
- pytorhc
- python-dateuti
- python-flask
- python3-flask
- pyyalm
- rqeuests
- slenium
- sqlachemy
- sqlalcemy
- tkniter
- urlllib
Выяўленыя шкоднасныя пакеты, якія адпраўляюць канфідэнцыйныя дадзеныя з сістэмы:
- typesutil
- typestring
- sutiltype
- duonet
- fatnoob
- strinfer
- pydprotect
- incrivelsim
- twyne
- pyptext
- installpy
- часта задаюць пытанні
- colorwin
- requests-httpx
- colorsama
- shaasigma
- stringe
- felpesviadinho
- кіпарыс
- pystyte
- pyslyte
- pystyle
- pyurllib
- алгарытмічны
- ох
- добра
- curlapi
- type-color
- pyhints
Крыніца: opennet.ru