Nogle gange har man lyst til at kigge en virusmager i Ăžjnene og spĂžrge: hvorfor? Vi kan selv finde svaret pĂ„ spĂžrgsmĂ„let âhvordanâ, men det ville vĂŠre spĂŠndende at vide, hvad denne eller hin skaber af malware tĂŠnkte. IsĂŠr nĂ„r vi stĂžder pĂ„ sĂ„danne âperlerâ.
Helten i dagens artikel er et interessant eksempel pĂ„ en ransomware. Det ser ud til, at det blev tĂŠnkt som en anden âlĂžsepengeâ trojaner, men den tekniske implementering minder mere om en ond joke. Det er denne implementering, vi skal tale om i dag.
DesvĂŠrre er det praktisk talt umuligt at spore livscyklussen for denne encoder â der er simpelthen for lidt statistik om det, da det heldigvis ikke har spredt sig. Derfor vil vi lade oprindelse, infektion metoder og andre omtaler ligge. Vi vil kun fortĂŠlle om vores tilfĂŠlde af mĂždet med Wulfric Ransomware og om hvordan vi hjalp brugeren med at redde sine filer.
I. Hvordan det hele begyndte
Vores antiviruslaboratorium modtager ofte henvendelser fra mennesker, der er blevet ramt af ransomware. Vi yder hjĂŠlp uanset hvilke antivirusprodukter de har installeret. Denne gang henvendte en person sig til os, hvis filer var blevet ramt af en ukendt encoder.
God dag! Filer pÄ fildelingslagret (samba4) blev krypteret med adgang uden kodeord. Jeg har mistanke om, at infektionen kom fra min datters computer (Windows 10 med standardbeskyttelse fra Windows Defender). Datterens computer er ikke blevet tÊndt siden. Filerne er hovedsageligt krypteret som .jpg og .cr2. Filernes udvidelse efter kryptering: .aef.
Vi modtog fra brugeren prĂžver af de krypterede filer, en lĂžseseddel og en fil, som sandsynligvis er nĂžglen, der er nĂždvendig for ransomware-forfatteren til at dekryptere filerne.
Her er vores eneste spor:
- 01c.aef (4481K)
- hacked.jpg (254K)
- hacked.txt (0K)
- 04c.aef (6540K)
- pass.key (0K)
Lad os tage et kig pÄ lÞsesedlen. Hvor mange bitcoins er det denne gang?
OversĂŠttelse:
Advarsel, dine filer er krypteret!
adgangskoden er unik for din PC.Betal 0.05 BTC til bitcoin-adressen: 1ERtRjWAKyG2Edm9nKLLCzd8p1CjjdTiF
Efter betalingen skal du sende mig en e-mail med filen pass.key vedhÊftet til Wulfric@gmx.com med meddelelse om betalingen.NÄr jeg har bekrÊftet, sender jeg dig dekrypteringsvÊrktÞjet til filerne.
Du kan betale bitcoins online pÄ forskellige mÄder:
- betaling med kreditkort
Om bitcoins:
Hvis du har spÞrgsmÄl, kan du skrive til mig pÄ Wulfric@gmx.com
Som en bonus vil jeg fortĂŠlle, hvordan din computer blev hacket, og hvordan du kan beskytte den i fremtiden.
En dramatisk ulv, der er kaldt til at vise offeret situationens alvor. Det kunne dog vĂŠre vĂŠrre.

Fig. 1 - Som en bonus, vil jeg fortĂŠlle, hvordan du kan beskytte din computer i fremtiden. â Ser legitimt ud.
II. Lad os komme i gang
FÞrst sÄ vi pÄ strukturen af den indsendte prÞve. Underligt nok sÄ den ikke ud som en fil, der var blevet ramt af en ransomware. Vi Äbner en hexadecimal editor og kigger. I de fÞrste 4 bytes er filens originale stÞrrelse, de nÊste 60 bytes er fyldt med nuller. Men det mest interessante er i slutningen:

Fig. 2 Analyserer den beskadigede fil. Hvad springer straks i Ăžjnene?
Det viste sig at vĂŠre pinligt enkelt: 0x40 bytes fra headeren blev flyttet til slutningen af filen. For at gendanne data er det nok bare at returnere dem til starten. Adgang til filen er genoprettet, men navnet forbliver krypteret, og det er mere kompliceret.

Fig. 3. Det krypterede navn i Base64 ser ud som en usammenhĂŠngende rĂŠkke af tegn.
Lad os prĂžve at analysere pass.key, sendt af brugeren. Vi ser en 162-byte lang sekvens af tegn i ASCII.

Fig. 4. 162 tegn efterladt pÄ offerets PC.
Hvis man ser nÊrmere efter, kan man bemÊrke, at tegnene gentager sig med en vis periodicitet. Dette kan indikere brug af XOR, hvor gentagelserne afhÊnger af lÊngden af nÞglen. Ved at opdele strengen i 6 tegn og XOR'e med nogle varianter af XOR-sekvenser, opnÄede vi ikke noget meningsfuldt resultat.

Fig. 5. Ser du de gentagne konstanter i midten?
Vi besluttede at google konstanterne, fordi ja, det kan man ogsĂ„! Og de fĂžrte alle til en enkelt algoritme - Batch Encryption. Efter at have studeret skriptet blev det klart, at vores streng ikke er andet end resultatet af dens arbejde. Det skal nĂŠvnes, at dette ikke er en ransomware, men blot en kodifikator, der erstatter tegn med 6-byte sekvenser. Ingen nĂžgler eller andre hemmeligheder đ

Fig. 6. Et stykke af den originale algoritme af ukendt oprindelse.
Algoritmen ville ikke fungere som den skal, hvis ikke det var for én detalje:

Fig. 7. Morpheus approved.
Ved hjĂŠlp af invers substitution omdanner vi strengen fra pass.key i teksten pĂ„ 27 tegn. SĂŠrlig opmĂŠrksomhed fortjener den menneskelige (formentlig) tekst âasmodatâ.

Fig. 8. USGFDG=7.
Google hjĂŠlper os igen. Efter en lille sĂžgning finder vi et interessant projekt pĂ„ GitHub â Folder Locker, skrevet i .Net og bruger biblioteket âasmodatâ fra en anden konto pĂ„ «Git».

Fig. 9. Interface for Folder Locker. Vi har sĂžrget for at tjekke for malware.
VÊrktÞjet er en krypter til Windows 7 og nyere, som distribueres med Äbent kildekode. NÄr der krypteres, bruges et kodeord, der er nÞdvendigt for den efterfÞlgende dekryptering. Det giver mulighed for at arbejde med bÄde individuelle filer og hele mapper.
Dets bibliotek bruger den symmetriske krypteringsalgoritme Rijndael i CBC-tilstand. Det er vĂŠrd at bemĂŠrke, at blokstĂžrrelsen er blevet valgt til 256 bits - i modsĂŠtning til den i AES-standard, hvor stĂžrrelsen er begrĂŠnset til 128 bits.
Vores nĂžgle dannes efter standarden PBKDF2. Her fungerer kodeordet som SHA-256 af den indtastede streng i vĂŠrktĂžjet. Det er kun tilbage at finde denne streng for at danne dekrypteringsnĂžglen.
NĂ„, lad os vende tilbage til vores allerede dekodede pass.key. Kan du huske den sĂŠtning med tal og teksten âasmodatâ? Lad os prĂžve at bruge de fĂžrste 20 bytes af strengen som kodeord til Folder Locker.
Se, det virker! Kodeordet passer, og alt blev dekrypteret perfekt. I henhold til symbolerne i kodeordet - det er HEX-reprĂŠsentationen af et bestemt ord i ASCII. Lad os forsĂžge at vise kodeordet i tekstform. Vi fĂ„r âshadowwolfâ. Begynder du allerede at fĂžle symptomer pĂ„ lycanthropi?
Lad os tage endnu et kig pÄ strukturen af den inficerede fil, nu hvor vi kender mekanismen i lockerens funktion:
- 02 00 00 00 â krypteringsmetode for navne;
- 58 00 00 00 â lĂŠngde af det krypterede og base64-kodede filnavn;
- 40 00 00 00 â stĂžrrelse af den overfĂžrte header.
De rĂžde og gule markerer henholdsvis det krypterede navn og den overfĂžrte header.

Fig. 10. RĂždt markeret er det krypterede navn, gult â den overfĂžrte header.
Lad os nu sammenligne de krypterede og dekrypterede navne i hex-reprĂŠsentation.
Strukturen af de dekrypterede data:
- 78 B9 B8 2E â affald genereret af vĂŠrktĂžjet (4 bytes);
- 0C 00 00 00 â lĂŠngden af det dekrypterede navn (12 bytes);
- derefter fĂžlger selve filnavnet og udfyldning med nuller til den Ăžnskede blokstĂžrrelse (padding).

Fig. 11. IMG_4114 ser meget bedre ud.
III. Konklusion og afslutning
NÄr vi vender tilbage til begyndelsen. Vi ved ikke, hvad forfatteren Wulfric har haft som motiv, eller hvilket mÄl han har haft. Uden tvivl vil resultatet af en sÄdan ransomware virke som en stor katastrofe for den almindelige bruger. Filene kan ikke Äbnes. Alle navne er forsvundet. I stedet for det velkendte billede ses en ulv pÄ skÊrmen. Det tvinger folk til at lÊse om bitcoins.
Sandheden er, at der denne gang bag facade af den "frygtelige encoder" gemte sig en komisk og stille forsÞg pÄ afpresning, hvor gerningsmanden bruger fÊrdige programmer og efterlader nÞglerne lige pÄ gerningsstedet.
For Ăžvrigt, om nĂžglerne. Vi havde ikke et skadelig script eller trojaner, som kunne hjĂŠlpe os med at forstĂ„, hvordan dette pass.key â mekanismen til, hvordan filen kom ind pĂ„ den inficerede PC, forbliver ukendt. Men jeg husker, at forfatteren nĂŠvnte i sin note noget om unikheden af adgangskoden. SĂ„ koden til dekrypteringen er lige sĂ„ unik, som brugernavnet shadow wolf đ
Og alligevel, skyggeulv, hvorfor og hvordan?
Kilde: habr.com
