Ethical Hacking Academy · leksjon

Utpakking

Omgå obfuskering

Leksjon 4 av 413 trinn

Utpakking er en gratis leksjon i Ethical Hacking Academy på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Ethical Hacking Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Ethical Hacking Academy inneholder totalt 4 leksjoner.

Hva er pakking?

Pakking komprimerer eller krypterer et programs faktiske kode og pakker den inn i en liten stub. Under kjøring pakker stub-en ut den opprinnelige koden i minnet og kjører den.

Skadevareforfattere bruker pakking for å unngå signaturgjenkjenning og vanskeliggjøre statisk analyse.

Hvorfor pakke ut?

En pakket binærfil inneholder få strenger, få importer og har høy entropi. Den meningsfulle koden er skjult til stub-en kjører.

Utpakking gjenoppretter den opprinnelige koden, slik at De kan analysere den statisk og hente ut reelle IOC-er.

Oppdage en pakker

Verktøy som Detect It Easy (DIE) og PEiD identifiserer kjente pakkere ved hjelp av signaturer. Høy entropi og en svært liten importtabell er også tydelige tegn.

Vanlige pakkere omfatter UPX, ASPack og Themida.

die sample.exe
# Packer: UPX(3.96)

Pakke ut UPX

UPX er en vanlig, ikke-skadelig pakker som kan reverseres med sitt eget verktøy. Flagget -d dekomprimerer binærfilen tilbake til originalformatet.

Mange prøver fra virkeligheten bruker UPX eller en lett modifisert UPX, så dette er ofte det første forsøket.

upx -d sample.exe

Manuell utpakking: Ideen

Tilpassede pakkere kan ikke fjernes med et verktøy. I stedet lar De stub-en pakke ut seg selv i minnet og fanger deretter opp resultatet.

Planen er å kjøre prøven under en debugger, stoppe rett etter at utpakkingen er fullført og dumpe den nå synlige koden.

Finne OEP

Original Entry Point (OEP) er stedet som kjøringen hopper til når utpakkingen er fullført. Når De når OEP, ligger den faktiske koden i minnet.

Teknikker for å finne det omfatter å se etter et langt hopp ut av stub-en eller å sette et bruddpunkt på minneområdet som stub-en skriver til og deretter kjører.

Bruddpunkter for utpakking

Et vanlig triks er å sette et maskinvarebruddpunkt på stakken (stub-en gjenoppretter ofte registre rett før den hopper til OEP) eller et bruddpunkt på vanlige API-kall som den utpakkede koden bruker.

Når bruddpunktet utløses ved OEP, er den opprinnelige koden fullstendig dekryptert.

Dumpe prosessen

Ved OEP dumper De prosessminnet til en ny fil. Verktøy som Scylla (innebygd i x64dbg) eller PE-sieve fanger opp det utpakkede bildet.

Dumpen inneholder nå de faktiske instruksjonene, men kan ennå ikke nødvendigvis kjøres på egen hånd.

Gjenoppbygge importer

Etter dumping er Import Address Table ofte ødelagt fordi pakkeren løste importer under kjøring. Scylla kan gjenoppbygge IAT, slik at den dumpede filen kan analyseres.

Når importene er korrigert, kan De laste den rene dumpen inn i Ghidra eller IDA.

Annen obfuskering

I tillegg til pakking bruker skadevare annen obfuskering: krypterte strenger som dekrypteres under kjøring, meningsløse instruksjoner, utflating av kontrollflyten og anti-debugging-kontroller.

Disse håndteres fra tilfelle til tilfelle, ofte ved å kombinere dynamisk sporing med tålmodig statisk gjennomgang.

Bekrefte den utpakkede prøven

Etter dumping og gjenoppbygging av importer bekrefter De at det lyktes ved å kjøre statisk analyse på nytt: De bør nå se langt flere strenger og en utfylt importtabell.

Hvis entropien er tilbake på normalt nivå og API-er er synlige, var utpakkingen vellykket, og den faktiske koden er klar for analyse.

Kort kontroll

Husk hva OEP betyr under manuell utpakking.

Oppsummering

De forstår nå utpakking:

  • Pakking skjuler den faktiske koden. Oppdag den med DIE/PEiD, høy entropi og få importer.
  • Kjente pakkere som UPX pakkes ut med et verktøy (upx -d).
  • For tilpassede pakkere kjører De prøven under en debugger, finner OEP, dumper med Scylla og gjenoppbygger importene.
  • Annen obfuskering (krypterte strenger, anti-debugging) håndteres fra tilfelle til tilfelle.

De har fullført kurset i reversering av skadevare.

Gratis å komme i gang

Lær deg Ethical Hacking Academy med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
31
Leksjoner
111

Ofte stilte spørsmål

Er leksjonen «Utpakking» gratis?

Ja – hele teksten i «Utpakking» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Ethical Hacking Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Ethical Hacking Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Utpakking»?

Omgå obfuskering Du øver på Ethical Hacking Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Ethical Hacking Academy?

Ingen tidligere erfaring er nødvendig. Ethical Hacking Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.

Hvor lang tid tar leksjonen «Utpakking»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Ethical Hacking Academy-leksjonen?

Ja. Alle Ethical Hacking Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Statisk analyse
  2. Dynamisk analyse
  3. Grunnleggende disassemblering
  4. Utpakking
← Tilbake til Ethical Hacking Academy