Care sunt rootkit-uri, și cum să lupte împotriva lor

Care sunt rootkit-uri, și cum să lupte împotriva lor

Un server nou instalat Linux problemă trecut, a eliminat toate serviciile care nu sunt necesare, firewall-ul este configurat astfel încât prietenii gelos. Acum puteți sta ficțiune pochityvat și cafea sorbind. Și aici și acolo. Deci, ar putea crede administratorul, care nu a incercat mana la hacking în sistemele lor.

Din păcate, fiind pe curs, am observat un model ciudat. Unii dintre cei prezenți încredere orbește firewall, bazează de obicei pe o premisă foarte simplu că, dacă ține departe o parte din traficul nedorit, atacatorul pur și simplu nici o modalitate de a pătrunde în computer. Da, într-adevăr, firewall, care acționează pe sistemul clasic de „prieten sau dușman“, taie pachetele nedorite de administrator. Dar dacă, de exemplu, port deschis 80 pentru a accesa serverul web și pachetele destinate unui port, trece liber prin ea și, desigur, ca urmare legile lui Murphy, trebuie să existe o vulnerabilitate într-un serviciu de „legal“, să nu mai vorbim, că firewall-ul în sine poate fi supus atacului. Apoi, cum se spune, totul este o chestiune de timp.

Pentru a putea merge înainte și înapoi în sistemul vzlomanykh, astfel, la administratorul de sistem nu le-ar putea vedea, iar acțiunile lor nu a înregistrat sistemul, atacatorul stabilește o versiune modernă a unui cal troian, un set de instrumente - rootkiturilor. De obicei, acest set include un sniffer, cu care ascultă rețeaua pentru o posibilă interceptarea de informații valoroase (parolă, de exemplu), un set modificat de software-ul sistemului de bază (PS, ls, care, găsesc, netstat, ifconfig.), Script-uri pentru jurnalele de curățare. Pentru un control de la distanță rulează un daemon de acces la distanță ilegale care se deschide un port de rețea, care „nu observă“ utilitate modificat. În același timp, pentru a menține apropierea maximă la fișierul original, troyanennye utilități simula aceeași dată și dimensiunea fișierului de creare.

O mica istorie a rootkit-urilor

silvio. în cazul în care, până de curând pune fișier de execuție-kernel-KMEM-patching.txt, dar acum pentru un motiv oarecare, pierdut sau, de exemplu, cât mai multe trei articole din camera 58 (fișiere r58-0h06, r58-0h07, r58-0h08) revista Phrack «Sub proc_root Quando sumus (Advances in kernel Hacking) »,«Linux on-the-fly nucleu colare fără LKM»și«IA32 AVANSATE FUNCȚIE HOOKING», și nu există informații în următoarele aspecte ale revistei.

Cum de a proteja împotriva rootkit-urilor?

# Nmap -v -P0 -sU -st -p 1-65535 IP_ADDRESS

Astfel, vom verifica toate TCP - și UDP-porturi, deși va dura ceva timp.

puteți obține o idee modificate fișierele. Dacă fișierul este gol, atunci nu există nici o schimbare, dar este adevărat, nu confirmă faptul că sistemul este curat. Dar dacă va exista o astfel de linie:

S.5. T c /etc/hotplug/usb.usermap
S.5. T c / etc / sysconfig / pcmcia

fișierele modificate trebuie să verificați:

  • M - stare diferită (inclusiv permisiunile și tipul de fișier).
  • S - dimensiunea fișierului este diferită.
  • 5 - MD5 diferă.
  • D - nu se potrivește cu numărul de dispozitive majore / minore.
  • L - nu se potrivește cu calea readlink (2).
  • U - alt user-proprietar.
  • G - proprietar de grup diferit.
  • T - diferite Moră.

Pentru a nu te pui cu întregul sistem și un pic simplifica sarcina, trebuie mai întâi să verifice pachetul net-tools, fileutils, UTIL-linux, procps, psmisc și findutils (rpm -V comanda nume_pachet). Cu toate acestea, în acest exemplu, este de toate fișierele de configurare, care, desigur, au existat schimbări în comparație cu originalul, dar dacă va cădea din fișierele catalog care conțin fișiere executabile, este necesar să paza. Cu comanda rpm -qf / calea / spre / fișier, puteți verifica dacă un anumit fișier este parte a pachetului. Discrepanța observată poate, desigur, prin salvarea fișierelor modificate pentru continuarea studiilor, apoi restabiliți.

# Rpm -Uvh -Force <имя_файла.rpm>

rammer / aide.html) permit automatizarea procesului de calculare a checksum și rezultatului comparației la ieșire. Dar atunci când utilizarea lor este de dorit să se mențină baza de date pe un mediu separat, astfel și o protejează de modificare. De asemenea, o posibilă contaminare poate sugera instrument favorit comportament neobișnuit, deoarece protroyanenny opțiunea sa poate fi ușor diferite opțiuni de pornire.

ROOTDIR este `/“
Verificarea `amd“. Nu a fost găsit
Verificarea `basename“. Nu a fost infectat
Verificarea `Biff.“ Nu a fost găsit
Verificarea `chfn“. Nu a fost infectat

Utilitatea are trei, în opinia mea, demn de cheia de lucru. Dacă doriți să testați sistemul prin pornirea de pe un alt calculator sau prin utilizarea LiveCD, apoi folosind comutatorul -r, puteți specifica directorul pentru a fi utilizat ca rădăcina de căutare.

# ./chkrootkit -r / mnt / încercare

Deoarece chkrootkit utilizează pentru funcționare unele tipic UNIX-utilitate (awk, tăiate, egrep, găsiți, cap, id, ls, netstat, ps, siruri de caractere, sed, uname), care poate fi compromisă, în scopul de a evita greșelile atunci când caută necesar utilizați versiuni ale acestor compilate static utilități (în afară de a le salva undeva departe), iar directorul unde sunt amplasate, indicați prin utilizarea -p:

# ./chkrootkit -p / mnt / safebin

Pentru a investiga siruri de caractere suspecte în fișiere binare, se poate rula în modul de testare, utilizați -x cheie:

# ./chkrootkit -x | mai mult

vă ifpromisc utilitar permite de a determina dacă interfața de rețea se află în PROMISCIOUS-mode.

eth0 nu este promisc

Pentru detectarea Troienii din modulul kernel este responsabil chkproc utilitate și chkdirs. Utilități chklastlog check_wtmpx, chkwtmp verificate și șterge datele din fișierele jurnal, siruri de caractere oferă un șir de lucru. Și instrument online are un număr mare de link-uri către materiale pe subiectul articolului.

Comanda find (în cazul în care poate fi de încredere) este capabil de a detecta fișiere și directoare ale căror nume începe cu un punct (sau lacune), care sunt utilizate în mod obișnuit pentru stocarea datelor lor de biscuiti.

SysCall Adresa
sys_exit 0xc0117ce4
sys_fork 0xc0108ebc
0xc012604c sys_read

Și acum, comparând periodic valorile obținute se pot verifica acest tip de rootkit pe sistem. Iar dacă la final vom obține ceva similar cu:

sys_kill 0xc28465d4 ATENȚIE! Ar trebui să fie la 0xc01106b4

costa un pic să se gândească la ceea ce se întâmplă în sistem.

# Gcc o- rkscan rkscan1.0.c

Și rula ca un utilizator normal, pentru că rădăcina jură program și nu vrea să lucreze.

*** Nu „t rula acest scaner ca root. ***

-= - Rootkit Scanner - = -
-= - by [email protected] - = -

Scanarea pentru ADORE versiunea 0,14, 0,24 și 2.0b.
ADORE rootkit nu a fost detectat pe acest sistem.

Scanarea pentru KNARK versiunea 0.59.
KNARK rootkit nu a fost detectat pe acest sistem.

Asta e, practic tot ce am vrut să-ți spun azi. Doar o singură concluzie - admin trebuie să fie un pic paranoic, deoarece atacantul este întotdeauna cu un pas înainte. Mult noroc.

articole similare