XZ orqa eshik hujumi

XZ Backdoor: “Bu juda qiyin bo‘ldi”

SSH orqa eshiklarini ochish

Yomon yoki buzilgan boshqaruvchi nomli kutubxonaga zararli xatti-harakatlarni kiritdi liblzma, xz siqish vositalari va kutubxonalarining bir qismi bo'lib, SSHda orqa eshikka olib keladi. Bu rivojlangan dasturiy ta'minot ta'minot zanjiri hujumi, chunki kutubxona orqa eshik uchun ataylab o'zgartirilgan, hujum yukini sharhlovchilardan yashirish uchun chalkashtirish va maxfiy texnikalar bilan.

U yaqinda (29-mart kuni) topildi va oshkor qilindi va hujumlarni boshqarish davom etmoqda. Biroq, u tezda to'xtatildi, chunki u faqat cheklangan muhitlar to'plamining (x86_64 arxitekturasi uchun DEB va RPM paketlari va GCC bilan yaratilgan) faqat relizdan oldingi versiyalariga ta'sir qiladiganga o'xshaydi. Qanday bo'lmasin, CVE berilgan edi CVSS bazaviy ballari 10 tadan, bu eng muhim kiberxavfsizlik zaifliklari uchun ajratilgan. Agar u barqaror tarqatishlarga kirsa, ta'siri juda katta bo'ladi. 

Hujumning texnik tahlili, shu jumladan xz orqa eshik batafsil tushuntirildi, boshqa joyda tahlil qilingan. Ushbu post hujumning xronologiyasi, uni qanday aniqlash mumkinligi, hodisa hozirgi kunga qadar qanday hal qilinganligi va hujumdan qanday saboqlar olinishi mumkinligiga qaratiladi.

Orqa eshikning uzun dumi dastlabki yamoqdan ancha o'tib ketdi. 2025-yil avgust oyida, CVE-2024-3094 oshkor qilinganidan bir yildan ko'proq vaqt o'tgach, Binarly xavfsizlik tadqiqotchilari Docker Hub-da chop etilgan o'nlab Debian Docker tasvirlarida orqa eshik hali ham mavjudligini aniqladilar, Debian jamoasi ularni faol xavf emas, balki tarixiy rivojlanish artefaktlari sifatida ko'rib, olib tashlashdan bosh tortdi. Alohida, OpenSSF va OpenJS XZ hodisasidan ko'p o'tmay, shunga o'xshash ijtimoiy muhandislik egallab olish urinishlari allaqachon JavaScript loyihalariga qaratilganligi haqida qo'shma ogohlantirish berdi, bu esa bu yerda ishlatilgan maintainer-trust hujumi naqshining boshqa joyda qayta ishlatilayotganidan dalolat beradi.

XZ orqa eshigi qanday kiritilgan

Eslatma: git ombori joylashgan git.tukaani.org. Shu bilan birga, u yerda ham bor edi GitHub tomonidan joylashtirilgan omborxona (hozirda bloklangan) bu yerda GitHub hisobi keyinchalik Git omboriga integratsiya qilingan o'zgarishlarni joylashtirayotgan edi.

Orqa eshikning bir qismi faqat 5.6.0 va 5.6.1 versiyalari uchun taqsimlangan tarballlarda joylashgan ko'rinadi, git omborlarida emas va a ga tayanadi build-to-host.m4 faylida bitta qator autoconf tomonidan ishlatiladigan makro fayl. Boshqa qismi ikkita taxminiy testfaylida edi yomon-3-buzuq_lzma2.xz va yaxshi-katta_siqilgan.lzma

bularning barchasi commitTed GitHub akkaunti “Jia Tan” tomonidan (JiaT75) xz ombori 23-fevral kuni testfayllarini (taxminan .lzma va .xz siqilgan bloklari) qo'shishda zararsiz o'zgarish bo'ldi. Qizig'i shundaki, test fayllari testlar tomonidan ishlatilmadi! .m4 faylidagi satr, agar ba'zi shartlar mos kelsa, konfiguratsiya oxirida bajarilishi kerak bo'lgan chalkash skriptni (tarballga kiritilgan) kiritadi. U Makefile faylini o'zgartiradi. liblzma deobfuscation tugagandan so'ng tugaydigan .xz faylidan ma'lumotlarni ajratib oluvchi kodni o'z ichiga olgan kutubxona ushbu skriptda, konfiguratsiya oxirida chaqiriladi. U kodni kiritish uchun yaratish jarayonini o'zgartirish yoki o'zgartirmaslikni hal qiladi: faqat GCC va GCC bog'lovchisi ostida, Debian yoki rpm ostida va faqat x86_64 Linux uchun. Mos kelganda, kiritilgan kod ikkitasini almashtirish orqali bajarilishni to'xtatadi ifunc rezolverlar, shuning uchun ba'zi chaqiruvlar almashtiriladi. Bu belgi jadvallarini xotirada tahlil qilishga olib keladi (bu vaqt talab etadi, bu esa keyinchalik tushuntirilganidek, aniqlashga olib keldi).

Keyin hamma narsa qiziqarli bo'ladi: Orqa eshik dinamik bog'lovchiga audit kancasini o'rnatadi va RSA_public_decrypt funksiyasi belgisi kelishini kutadi, bu belgi orqa eshik kodidagi nuqtaga yo'naltiriladi va u o'z navbatida orqaga qaytadi. libcrypto, ehtimol oddiy autentifikatsiyani amalga oshirish uchun. Va agar ishlayotgan dasturda jarayon nomi bo'lsa, foydali yuk faollashadi. /usr/sbin/sshdSSH serverlari nishonga olingani aniq edi. An'anaga ko'ra, ssh OpenSSH kabi serverlar bog'lanmagan edi liblzma, lekin sshd tez-tez yamalgan sshd ishlayotganida boshqa xizmatlar ishga tushishi uchun systemd-notify ni qo'llab-quvvatlash. Va keyin liblzma bilvosita yuklanadi tizimd, aylanani yopmoqda.

Orqa eshik hali to'liq tahlil qilinmagan, ammo u shunday ko'rinadi masofadan turib buyruqlarni bajarishga ruxsat berish (RCE) sshd demonining imtiyozlari bilan, oldindan autentifikatsiya kontekstida ishlaydi. Masofaviy sertifikatdan olingan ma'lumot, orqa eshik tomonidan moslashtirilganda, ChaCha20 yordamida shifrlanadi va u muvaffaqiyatli shifrlanganda u uzatiladi tizim()Demak, bu asosan darvozali RCE bo'lib, oddiy ochiq kalitni chetlab o'tishdan ancha yomonroq. 

Keyinchalik 5.6.1 versiyasida izlarni yashirish uchun qo'shimcha harakatlar ko'rsatildi, belgi nomlari uchun qo'shimcha chalkashliklar qo'shildi va ko'rilgan xatolarni tuzatishga urinishlar qilindi. kengaytirish mexanizmi orqa eshikka qo'shish uchun ma'lum imzolar uchun qo'shimcha sinov fayllari qidirilgan joy ham joylashtirildi.

Bu ancha murakkab hujum barqaror Linux distributivlariga erishilmaguncha sezilmay qolishi mumkin. Yaxshiyamki, ba'zi odamlar nima uchun g'ayritabiiy narsalar sodir bo'lishini tekshirishni yoqtirishadi.  

XZ orqa eshik hujumining kashf etilishi

Ko'p hollarda zararli xatti-harakatlar tasodifan yoki tasodifiy ravishda aniqlanadi. Yaxshi misol a edi eskirish haqida ogohlantirish ("Ogohlantirishlar kimga kerak?") bu kashfiyotga olib keldi hodisa oqimi hujumi 2018-yil oktyabr oyida. Yana biri ogohlantirgan foydalanuvchi. Codecov 2021-yil aprel oyida ularning bash yuklovchi skripti checksumdan o'tmaganligi haqida xabar berilgan ("Artefaktlarning yaxlitligini checksum bilan kim tekshiradi?") SSH bilan anomaliyalar va g'alati alomatlar logins (loginjuda ko'p protsessor sarfi va o'tgan vaqtni ko'paytirish, valgrind xatolari) qiziqishni uyg'otdi Andres Freund, hushyor PostgreSQL dasturchisi, ammo xavfsizlik bo'yicha tahlilchi emas (u aytganidek)). Debian Sid ustida OpenSSH bilan bir oz tadqiqot o'tkazgandan so'ng, u javob berish vaqti muammosi kutubxonaga bog'liq degan xulosaga keldi, liblzma, Bir qismi xz-utillari siqish kutubxonasi. Sababi: “Yuqoridagi xz ombori va xz tarballs orqa eshikka yopildi"Bu diagnostika juda aniq edi!   2024-yil 29-martda Andres Openwall’da birinchi tahlilni joylashtirdi: “Yuqori oqimdagi xz/liblzma da orqa eshik ssh serverining buzilishiga olib keladi". Haqiqat: XZ Utils 5.6.0 va 5.6.1 tarballlarida orqa eshik mavjud. Ushbu tarballlar yuqorida aytib o'tilgan Jia Tan akkaunti tomonidan yaratilgan va imzolangan.  He Mastodon bo'limida joylashtirilgan o'sha kuni kechqurun, kashfiyot tasodifiy bo'lganini va ko'plab tasodiflarni talab qilganini anglab yetdi. Boshqa foydalanuvchilarning izohlarini o'qishga arziydi. GitHub foydalanuvchisi thesamesam (aka Sam James) yaxshi Gist nashr etdi xz-utils orqa eshigi haqida tez-tez so'raladigan savollar hujum umumlashtirilgan joyda, ko'proq narsalarga bog'liq holda chuqur tahlillar hujum yuklamasining. Ushbu tahlillar texnik jihatdan qiziqarli bo'ldi va bizga juda batafsil ishlab chiqilgan in'ektsiyani yaxshiroq tushunishga yordam berdi: Bu yoqimli Tomas Roksiyaning posteri  JiaT75 ning GitHub omboridagi faoliyatining bir qismini va in'ektsiya skripti ikkilik orqa eshikni qanday qo'shishini ko'rsatadi, bu esa qo'shimcha ravishda quyidagilarni ko'rsatadi xz orqa eshik tushuntirdi.

Hodisa qanday hal qilindi

Andreas Freundning oshkor qilishi ehtiyotkorona edi, chunki o'z so'zlari bilan aytganda:

“Yuqori oqimdagi aniq ishtirokni hisobga olgan holda, men yuqori oqimdagi xato haqida xabar bermadim. Dastlab bu Debianga xos muammo deb o'ylaganim uchun, dastlabki hisobotni security@...ian.org manziliga yubordim. Keyinchalik, muammo haqida distros@ ga xabar berdim. CISA tarqatish kompaniyasi tomonidan xabardor qilindi.

Red Hat ushbu sonni CVE-2024-3094 raqamiga tayinladi. Keyin bu xabar yong'in kabi tarqaldi. XZ uchun boshqa texnik xizmat ko'rsatuvchi Lasse Collin qo'shimcha qildi yangi commit Shanba, 30-mart kuni “CMake: Sabotaj qilingan Landlock sinov qutisi tekshiruvini tuzatish” nomli maqola chop etildi. Kutubxona sinov qutisidagi quruqlik qulfini tekshirish usullaridan biri, hech bo'lmaganda CMake bilan tuzishda, sabotaj qilingan. U muammoni darhol oshkor qildi. XZ Utils orqa eshik. Red Hat bu muammoni tayinladi CVE-2024-3094 (shuningdek qarang CVE, NDV, Ubuntu). Unga juda katta tayinlangan edi CVSS bazaviy balli 10Bunday natijalar har doim internetni bo'ronga aylantiradi. CISA xuddi shu 29-mart kuni e'lon qildi hushyor, shoshilinchlik tufayli juda sodda bo'lishi mumkin, foydalanuvchilarga 5.4.6 barqaror versiyasiga o'tishni tavsiya qiladi. Tukaani tashkiloti qoshidagi GitHub omborlari o'chirib qo'yilgan edi (bu yaxshimi yoki yomonmi? Menimcha, yaxshi: Ko'pgina distrolar va tashkilotlar hali ham GitHub versiyalariga bog'lanib, zararlangan tarballlarni yaratish uchun foydalanmoqdalar. Repozitoriyani o'chirib qo'yish bunga yo'l qo'ymaydi. Baribir nusxasi yoki omborlari mavjud. git.tukaani.org). JiaTan75 va Lasse Collins' (Larhzu) ning GitHub akkauntlari ham to'xtatib qo'yildi. Bu bir qismidir saqlash, hatto bu begunoh odamlarga ta'sir qilishi mumkin bo'lsa ham. JiaT75 nogiron bo'lmagan omborlardagi faoliyat hali ko'rish mumkin emas. Sanoat tezda reaksiya ko'rsatdi. Ko'pgina sotuvchilar zaif tizimlarni aniqlash qoidalarini e'lon qilishdi, masalan Yara qoidalariyoki tijorat vositalarida qo'llab-quvvatlash Sysdig, PANva boshqalar. Xavfsizlik bo'yicha mutaxassislar, masalan Jeyms Bertoti ochiq kodli dasturiy ta'minotga qanday yondashishimizni ko'rib chiqish haqida post qildi.  Biz hozir hodisani bartaraf etish va tiklash bosqichidamiz. JiaTan75 tomonidan qo'llab-quvvatlanadigan boshqa loyihalar, xususan, diqqat bilan ko'rib chiqilmoqda libarchive/libarchive (JiaTan75 doimiy muallif bo'lgan) va fuzzer oss-fuzz (bu qayerda commit JiaTan75 tomonidan yaratilgan, aslida bu oss-fuzzdan qochishga harakat qildi orqa eshikni aniqlay olmadi). Bu yashirish urinishlari qo'shimcha dalillarni qo'shadi. 

Hujum ostida kim bor?

Yoki GitHub JiaT75 akkaunti buzilgan (yaqinda GitHub 2FA ni majburiy qilganini eslang) yoki akkauntga ega bo'lgan jismoniy foydalanuvchi qorong'u tomonga o'tib ketgan. Ammo hujumning texnik murakkabligi tufayli, ehtimol, davlat tomonidan qo'llab-quvvatlanadigan rivojlangan doimiy tahdid (APT) haqida o'ylash uchun jiddiy sabablar mavjud. Kiberxavfsizlik agentliklari va huquqni muhofaza qilish organlari tomonidan olib boriladigan qo'shimcha tekshiruvlar shuni ko'rsatadiki... Ushbu kirish YCombinator xakerlik yangiliklarida Jia Tan haqida "kim" va uning faoliyatiga bir oz oydinlik kiritadi. Tavsiya etiladi! Unda yomon odamlar ijtimoiy muhandislik yordamida boshqa foydalanuvchilarni qanday aldashga urinishlari haqida ko'p ma'lumotlar berilgan.

“Juda zerikarli - orqa eshikning muallifi bir necha hafta davomida men (rwmj) bilan Fedora 40 va 41 ga “ajoyib yangi funksiyalar” tufayli xz 5.6.x ni qoʻshishga harakat qilib, aloqada boʻlgan. Biz hatto u bilan valgrind muammosini hal qilish uchun ham ishladik (hozir maʼlum boʻlishicha, bu uning qoʻshgan orqa eshik tufayli yuzaga kelgan). Kecha kechqurun embargoning tasodifan buzilishidan keyin muammoni hal qilish uchun yugurishimiz kerak boʻldi. U 2 yildan beri xz loyihasining bir qismi boʻlib, har xil ikkilik sinov fayllarini qoʻshmoqda va rostini aytsam, bu darajadagi murakkablik bilan men xz ning eski versiyalariga ham shubha bilan qarayman, aks holda bu isbotlanmaguncha.”

Jia Tan kuzatilishining oldini olish uchun choralar ko'rdi: ulanish uchun VPN (vpn.singapore.witopia.net) dan foydalangan ko'rinadi - bu o'z-o'zidan yaxshi. Va ko'plab o'zgarishlar vaqtinchalik, bir martalik elektron pochta xabarlari (bu holda ProtonMail dan) bilan qo'llab-quvvatlanadiganga o'xshaydi, ular o'zgarishlarni birlashtirishga chaqiradi.

Aktyor Linux yadrosiga qadar yanada chuqurroq kirishni niyat qilishi mumkin, bu esa o'z hissasini qo'shuvchi sifatida xy-o'rnatilgan loyiha. Bugungi kunga kelib, dastlabki tahlilda homiladorlikning biron bir alomati topilmadi.

Izoh: boshqa XZ’ning kamtarona muallifi “Hans Jansen” (GitHub foydalanuvchisi “hansjans162”) nazorat ostidaUning debiandagi akkaunti endi bloklanganU debian/xz-utils da xohlaganini yashirish uchun Debian Gamesga ko'plab yangilanishlar kiritdi, orqa eshikni tarqatishni tezlashtirish uchun yuqori oqimdagi 5.6.1 ga yangilanish kiritdi. debian/beqaror

Hozircha aytishimiz mumkin bo'lgan narsa shuki, bu (hali noma'lum) turli akkauntlardan foydalanadigan, ushbu kampaniyada kamida ikki yil ishlagan va SSHga RCE o'rnatish uchun sabr bilan ishlayotgan APT.

Ushbu yozuv yozilgan paytdan boshlab, "Jia Tan" ortidagi shaxs tasdiqlanmagan. Muayyan shaxs, tashkilot yoki davlat aktyoriga tegishli ekanligi haqida ishonchli ma'lumotlar omma oldida tasdiqlanmagan, bu esa shaxsning operatsion intizomi qanchalik samarali bo'lganini tasdiqlaydi.

XZ orqa eshikdan hujumning oldini olish mumkinmidi?

Juda qiyin. 

Birinchidan, kiritilgan orqa eshikning bir qismi sinovlar tomonidan ishlatilmagan siqilgan sinov fayllariga kirdi. Retrospektiv jihatdan, bu ba'zi (shovqinli) signallarni keltirib chiqarishi mumkin, ammo barcha sinov fayllari haqiqiy dunyodagi haqiqiy sinovlar tomonidan ishlatilishini tekshirish kimga qiziq? Ikkinchidan, kiritilgan orqa eshikning bir qismi makro fayllarda chiqarilgan tarballlarga kirdi va kutilgan tarballlar bilan farqlarni qo'lda tekshirish qiyin. Avtomatlashtirish ham murakkab, chunki yig'ilishning o'zidan kutilgan natijani (automake/autoconf qanday ishlashini biladigan har bir kishi uchun) haqiqiy tarball kutilgan natijalarga mos kelishini tahlil qilish uchun modellashtirish qiyin. Ba'zilar buni qo'yishdi as “Git daraxtidan mos kelmaydigan tarballlar bu xususiyat, xato emas”Ikkilik tarballlarning manba kodidan kelib chiqishi hali hal qilinmagan muammodir.

Foydalanuvchi obro'si? Xo'sh, JiaTan75 GitHub akkaunti o'tmishda noto'g'ri ishlar qilmagan. commits. Faqat dalillar to'plangandan keyingina to'xtatildi, ammo 29 martgacha oddiy foydalanuvchi odatiy ish bilan shug'ullanardi. Xo'sh, unchalik oddiy emas. Keyinroq commits (bu, bu, buva bu ekspluatatsiya kodini sozlagan) orqa eshik tomonidan kutilgan stek tartibidagi farqlar tufayli ba'zi konfiguratsiyalardagi valgrind xatolari va ishdan chiqishlarini tuzatishga harakat qildi. Commit Sharhlar buni aniqlay oladi, ammo ikkilik test faylidagi o'zgarishlarni yoki C manba kodidagi GCC atributlaridagi o'zgarishning haqiqiy sababini tahlil qilishga kimning sabr-toqati bor?

SSH paytida signallarni yoqish kerakmi? login 300 ms o'rniga 800 ms oladimi? Ehtimol, faqat o'ta ehtiyotkor odamlar bunga e'tibor berishadi. Sitseron aytgan edi, "Shushqoqlik yoshlikka, ehtiyotkorlik esa qarilikka xosdir."  

Ifunc infratuzilmasi 2023-yil iyun oyida “Hans Jansen” va “Jia Tan” tomonidan qo'shilgan. Bu birinchisi commit crc64_fast.c fayliga ifunc qo'llab-quvvatlashini qo'shish (keyinchalik orqa eshikni kiritish uchun ishlatilgan). Sinov fayllariga orqa eshik ikkiliklarini kiritishdan bir necha oy oldin!

Izoh: Muallif va commitBu yerda farq bor, lekin bu normal holat: Lasse Collin loyihani qo'llab-quvvatlovchi va u o'zgarishlarni birlashtirgan. U hatto "Hans Jansen"ga ham minnatdorchilik bildiradi...

Andres Freundning posti va RedHat tomonidan yaratilgan CVE dan oldin hech kim xavotir bildirmagan. Agar buni aniqlaydigan vositalar kaskadini ko'rsangiz, ular ta'sirlangan komponentni hozir aniqlaydilar, sobiq post-fakto

Ehtimol, eng yaxshi oldini olish Linux distributivlarining tabiati va beqaror, eskirgan versiyalar faqat jadal jarayondan so'ng barqaror distributivlarga o'tishi bilan bog'liq edi.

XZ bBackdoor hujumidan olingan saboqlar

Biz buni aniqlash qanchalik qiyinligini ta'kidladik maqsadli Orqa eshiklar. Orqa eshiklar ichki tahdid deb hisoblanishi kerak, chunki ular ichki xodimlar tomonidan yoki buzilgan ichki hisoblar orqali o'rnatiladi. Va bu odamlarga asosan ishonishadi. Orqa eshik tarqatilgan artefaktga joylashtirilganda, uni aniqlash qiyinlashadi.

Kevin Beaumont kabi ba'zi mualliflar ishora qildi tizim, bu uchinchi tomon xizmatlarining katta hujum yuzasini orqa eshikka ochadi. Yomon aktyor bu yerda aynan shu narsani suiiste'mol qildi. Systemd juda ko'p ko'z qorachig'iga ega, ammo XZ zanjirning yuqori qismida noaniq kutubxona. "Yuqori oqim ifloslanganida, hamma quyi oqimdagi zaharlangan suvni ichadi".

Tizimda bog'liq bo'lmagan o'zgartirish so'rovi siqishni kutubxonalarini dinamik ravishda yuklash, orqa eshikni olib tashlaydigan, allaqachon tizimga birlashtirilgan, ammo hali yetkazib berilmagan. libsystemd tomonidan kiritilgan qo'shimcha bog'liqliklar zaifliklarning manbai bo'lishi mumkin., va kecha ushbu so'rov ochildi

A izoh "xz: Muammoni hal qilish uchun ifuncni o'chirib qo'ying" da commit agar biz bunday faoliyatning oldini olishni istasak (ta'kid meniki), diqqatni qayerga qaratish kerakligi haqida aniq tushuncha berdi:

"Jamiyat sifatida biz o'rganishimiz kerak bo'lgan saboq ko'proq xavfsizlikni ta'minlashdir" software supply chain security yaxlit tarzda, faqat manba kodidan tashqari, qurilish tizimlarini audit qilish. Masalan, SolarWinds buzg'unchiligi, bu yerda hujumchilar SolarWinds yopiq manbali monitoring dasturini taklif qilish uchun dasturiy ta'minot yangilanishlarini o'zgartirgan.

Dastlabki kashfiyot va tezkor reaksiya ta'sirni juda cheklab qo'ydi. Agar eslasangiz sahnaning tugashi Qora kiyimli erkaklar III: “Bu juda qiyin edi”. Yana bir bor, K maslahat qoldirishni unutmadi. Va Linux barqaror distributivlariga hech qanday boglodit kirmadi.
1. “Men xavfsizlik tadqiqotchisi ham, teskari muhandis ham emasman.” 2. Jia - xitoycha keng tarqalgan ism. Tan ham "ajoyib" degan ma'noni anglatuvchi keng tarqalgan oilaviy ism. Ko'pgina qarindosh bo'lmagan odamlar bu ismni baham ko'rishadi, iltimos, hech kimni bu nom bilan qoralamang!

FAQ

XZ orqa eshigi bugungi kunda ham xavf tug'diradimi?

Ko'pincha o'z ichiga olgan, ammo butunlay yo'q bo'lib ketmagan. 2025-yil avgust oyida tadqiqotchilar Debian tomonidan faol bo'lmagan tarixiy artefaktlar sifatida ko'rib chiqilgan bir nechta Debian Docker Hub tasvirlarida orqa eshik hali ham mavjudligini aniqladilar. Jamoalar 2024-yilgi yamoq eshikni to'liq yopgan deb taxmin qilish o'rniga, eskirgan, yamoqlanmagan asosiy tasvirlar asosida yaratmayotganliklarini tekshirishlari kerak.

sca-vositalari-dasturiy ta'minot-kompozitsiya-tahlil-vositalari
Dasturiy ta'minot xavflaringizni ustuvorlashtiring, bartaraf eting va himoya qiling
Bepul hisobingizni oling.
Kredit karta talab qilinmaydi.

Dasturiy ta'minotingizni ishlab chiqish va yetkazib berishni ta'minlang

Xygeni mahsulot to'plami bilan