Cosa sono i rootkit e come rilevarli

Cosa sono i rootkit e come rilevarli
I rootkit sono una delle cose peggiori che possono accadere a un sistema e sono uno degli attacchi più pericolosi, più pericolosi del solito malware e virus, sia nel danno che causano al sistema e difficoltà a trovarli e rilevarli. I rootkit possono rimanere sul tuo sistema per molto tempo senza che l'utente se ne accorga e può causare gravi danni al sistema.

La parola "rootkit" proviene originariamente dal mondo dei sistemi "unix", in cui il root è l'utente con i più privilegi di accesso al sistema ". Mentre il kit Word definisce il kit contenente una serie di strumenti dannosi come keylogger, crediti di credenziali bancari, furti di password, disabili antivirus o robot per l'attacco DDoS, ecc. Mettendo entrambi insieme, ottieni rootkit.

Sono progettati in modo tale da rimanere nascosti e fare cose malintenzionate come l'intercettazione del traffico Internet, il furto di carte di credito e le informazioni bancarie online. I rootkit danno ai criminali informatici la possibilità di controllare il tuo sistema informatico con accesso amministrativo completo, aiuta anche l'attaccante a monitorare i tuoi raggi chiave e disabilitare il software antivirus che rende ancora più semplice rubare le tue informazioni segrete.

Come arrivano i rootkit nel sistema?

I rootkit sono, secondo il loro tipo, incapaci di diffondersi da soli. Pertanto, sono diffusi dall'attaccante da tattiche che l'utente non è in grado di notare che qualcosa non va nel sistema. Di solito nascondendoli in software subdolo che sembra legittimo e potrebbe essere funzionale. Comunque sia, quando premi il consenso del software per essere introdotto nel tuo framework, il rootkit si intrufola discretamente all'interno di dove potrebbe essere basso fino a quando l'attaccante/hacker non lo attua. I rootkit sono molto difficili da identificare perché possono nascondersi da utenti, amministratori e la maggior parte dei prodotti antivirus. Fondamentalmente, in caso di compromesso di un sistema da parte di rootkit, l'ambito del movimento maligno è molto elevato.

Ingegneria sociale:

L'hacker cerca di ottenere l'accesso radicale/amministratore sfruttando le vulnerabilità note o utilizzando l'ingegneria sociale. I criminali informatici impiegano ingegneria sociale per svolgere il lavoro. Provano a installare rootkit sul sistema dell'utente inviandoli in un link di phishing, truffe e -mail, reindirizzarti a siti Web dannosi, patchat i rootkit in software legittimo che sembra normale a occhio nudo. È importante sapere che i rootkit non vogliono sempre che l'utente esegui un eseguibile dannoso per intrufolarsi. A volte tutto ciò che desidera è un utente per aprire un documento PDF o Word per intrufolarsi.

Tipi di rootkit:

Per comprendere correttamente i tipi di rootkit, dobbiamo immaginare il sistema come un cerchio di anelli concentrici.

  • Al centro, c'è un kernel noto come Ring Zero. Il kernel ha il massimo livello di privilegi su un sistema informatico. Ha accesso a tutte le informazioni e può operare sul sistema come vuole.
  • L'anello 1 e l'anello 2 sono riservati per processi meno privilegiati. Se questo anello fallisce, gli unici processi che verranno interessati sono quelli su cui il ring 3 dipende.
  • Ring 3 è dove risiede l'utente. È la modalità utente con una gerarchia di rigoroso accesso al privilegio.

Criticamente, una procedura in esecuzione in un anello privilegiato più elevato può abbattere i suoi benefici e correre su un anello esterno, ma ciò non può funzionare inversa senza il consenso inequivocabile degli strumenti di sicurezza del framework di lavoro. In situazioni in cui tali componenti di sicurezza possono stare lontani, si dice che esista una vulnerabilità di escalation dei privilegi. Ora ci sono 2 tipi più importanti di rootkit:

Modalità utente rootkit:

I rootkit di questa categoria operano a livello di basso privilegio o utente nel sistema operativo. Come espresso prima che i rootkit fanno sì che gli hacker mantengano la propria autorità sul sistema dando un canale di passaggio secondario, la modalità utente rootkit cambierà in generale le applicazioni significative a livello dell'utente in questo modo nascondendosi proprio come dare accesso al backdoor. Esistono diversi rootkit di questo tipo sia per Windows che per Linux.

Rootkit modi utente Linux:

Ad esempio, molti rootkit in modalità utente Linux sono disponibili: ad esempio:

  • Per ottenere l'accesso remoto alla macchina del target, i servizi di accesso come "Login", "SSHD" sono tutti modificati dal rootkit per includere una backdoor. Gli aggressori possono avere accesso alla macchina del bersaglio semplicemente arrivando a una backdoor. Ricorda che l'hacker ha già sfruttato la macchina, ha appena aggiunto una backdoor per tornare un'altra volta.
  • Per eseguire l'attacco di escalation dei privilegi. L'attaccante modifica i comandi come "SU", sudo in modo tale che quando usa questi comandi attraverso una backdoor otterrà l'accesso a livello di radice ai servizi.
  • Per nascondere la loro presenza durante un attacco di
  • Nascondotta del processo: vari comandi che mostrano i dati sulle procedure in esecuzione su "PS" simili a macchina, "pidof", "top" sono modificati con l'obiettivo che la procedura di aggressore non è registrata tra le altre procedure in esecuzione. Inoltre, il comando "Kill All" è in genere modificato con l'obiettivo che il processo dell'hacker non può essere ucciso e ordina "Crrontab" viene modificato in modo che i processi dannosi funzionino in un momento specifico senza cambiare nella configurazione di Crrontab.
  • File Nascond: nascondere la loro presenza da comandi come "LS", "Trova". Inoltre, nascondersi dal comando "du" che mostra l'utilizzo del disco di un processo gestito da un aggressore.
  • Nascondotta dell'evento: nascondersi dai registri di sistema modificando "syslog.D 'file in modo che non possano accedere a questi file.
  • Nascondotta di rete: nascondersi da comandi come "NetStat", "IFtop" che mostra connessioni attive. I comandi come "ifconfig" sono anche modificati per sradicare la loro presenza.

Rootkit root-in modalità kernel:

Prima di passare ai rootkit in modalità kernel, prima vedremo come funziona il kernel, come il kernel gestisce le richieste. Il kernel consente alle applicazioni di eseguire utilizzando le risorse hardware. Come abbiamo discusso del concetto di anelli, le applicazioni Ring 3 non possono accedere a un anello più sicuro o altamente privilegiato.E Ring 0, dipendono dalle chiamate di sistema che elaborano utilizzando librerie del sottosistema. Quindi, il flusso è qualcosa del genere:

Modalità utente >> Librerie di sistema >> Tabella delle chiamate di sistema >> Kernel

Ora cosa farà un utente malintenzionato è modificare la tabella delle chiamate di sistema usando insmod e quindi mappe le istruzioni dannose. Quindi inserirà il codice del kernel dannoso e il flusso sarà così:

Modalità utente >> Librerie di sistema >> TABELLA DI CALL DI SISTEMA MODIFICAZIONE >>
Codice del kernel dannoso

Quello che vedremo ora è come viene modificata questa tabella di chiamata di sistema e come può essere inserito il codice dannoso.

  • Moduli del kernel: il kernel Linux è progettato in questo modo per caricare un modulo del kernel esterno per supportarne la funzionalità e inserire un po 'di codice a livello di kernel. Questa opzione offre agli aggressori un grande lusso per iniettare direttamente codice dannoso nel kernel.
  • Modifica del file del kernel: quando il kernel Linux non è configurato per caricare i moduli esterni, è possibile eseguire l'alterazione del file del kernel in memoria o disco rigido.
  • Il file del kernel che tiene l'immagine di memoria sul disco rigido è /dev /kmem. Il codice in fase di corsa in diretta sul kernel esiste anche su quel file. Non richiede nemmeno un riavvio di un sistema.
  • Se la memoria non può essere modificata, il file del kernel sul disco rigido può essere. Il file che contiene il kernel sul disco rigido è vmlinuz. Questo file può essere letto e modificato solo per root. Ricorda che in questo caso è richiesto un nuovo codice, è richiesto un riavvio di sistema. La modifica del file del kernel non ha bisogno di andare dall'anello 3 a squillo 0. Ha solo bisogno di autorizzazioni di radice.

Un eccellente esempio di kernel rootkit è smartservice rootkit. Impedisce agli utenti di lanciare qualsiasi software antivirus e quindi funge da guardia del corpo per tutti gli altri malware e virus. Era un famoso rootkit devastante fino a metà 2017.

Chkrootkit:

Questi tipi di malware possono rimanere sul tuo sistema per molto tempo senza che l'utente non si accorga e può causare gravi danni poiché una volta rilevato il rootkit non c'è altro modo se non per reinstallare l'intero sistema e talvolta può persino causare un guasto hardware.

Fortunatamente, ci sono alcuni strumenti che aiutano a rilevare una varietà di rootkit noti su sistemi Linux come Lynis, Clam AV, LMD (Linux Malware Detect). Puoi controllare il tuo sistema per i rootkit noti utilizzando i comandi di seguito:

Prima di tutto, dobbiamo installare Chkrootkit usando il comando:

ubuntu@ubuntu: ~ $ sudo apt installa chkrootkit

Questo installerà lo strumento Chkrootkit e puoi usarlo per verificare i rootkit usando:

ubuntu@ubuntu: ~ $ sudo chkrootkit
Rootdir è '/'
Controllare "AMD" ... non trovato
Controllare "Chsh" ... non infetto
Controllare "Cron" ... non infetto
Controllare "Crrontab" ... non infetto
Controllando la "data" ... non infetto
Controllando "du" ... non infetto
Controllando "Dirname" ... non infetto
Controllando "su" ... non infetto
Controllando "ifconfig" ... non infetto
Controllare "Inetd" ... non infetto
Controllando "inetdconf" ... non trovato
Controllando "Idtd" ... non trovato
Controllando "init" ... non infetto
Controllando "killall" ... non infetto
Controllando 'login' ... non infetto
Controllare "LS" ... non infetto
Controllare "LSOF" ... non infetto
Controllando "passwd" ... non infetto
Controllando "pidof" ... non infetto
Controllando "PS" ... non infetto
Controllando "pstree" ... non infetto
Controllando "rpcinfo" ... non trovato
Controllando "rlogind" ... non trovato
Controllando "rshd" ... non trovato
Controllando "slogin" ... non infetto
Controllando "Sendmail" ... non trovato
Controllando "sshd" ... non trovato
Controllo "syslogd" ... non testato
Controllare "alieni" ... nessun file sospettato
Alla ricerca dei registri di Sniffer, potrebbe volerci un po '... niente
Alla ricerca dei file predefiniti di rootkit hidrootkit ... niente trovato
Alla ricerca dei file predefiniti di Rootkit T0RN ... niente trovato
Alla ricerca dei valori predefiniti V8 di T0RN ... niente trovato
Alla ricerca dei file predefiniti di Rootkit Lion ... niente trovato
Alla ricerca dei file predefiniti di Rootkit RSHA ... niente trovato
Alla ricerca dei file predefiniti di Rootkit Rh-Sharpe ... niente trovato
Alla ricerca dei file e dei dir default di Rootkit (ARK) di Ambient ... Niente trovato
Alla ricerca di file e dir sospetti, potrebbe volerci un po 'di tempo ..
Sono stati trovati i seguenti file e directory sospetti:
/usr/lib/debug/.build-id/lib/moduli/5.3.0-45-GENERIC/VDSO/.build-id/lib/moduli/
5.3.0-46-GENERIC/VDSO/.ID build
/usr/lib/debug/.build-id/lib/moduli/5.3.0-45-GENERIC/VDSO/.build-id/lib/moduli/
5.3.0-46-GENERIC/VDSO/.ID build
Alla ricerca di file e dir worm LPD ... niente trovato
Alla ricerca di file e dir worm ramen ... niente trovato
Alla ricerca di file maniaci e dir ... niente trovato
Alla ricerca di file e dir rk17 ... niente trovato
CHKPROC: ATTENZIONE: Possibile LKM Trojan installato
CHKDIRS: Niente rilevato
Controllando "rexedcs" ... non trovato
Controllo 'sniffer'… lo: non promisc e nessuna pacchetto sniffer prese
VMNET1: non promoc e nessuna confezione da pacchetto sniffer
VMNET2: non promoc e nessuna pacchetto sniffer prese
VMNET8: non Promisc e No Pacchetto Sniffer Prese
BNEP0: pacchetto sniffer (/sbin/dhclient [432])
Controllare "W55808" ... non infetto
Controllo 'Wted'… Chk WTMP: Niente eliminato
Controllare "Scalper" ... non infetto
Controllare "slapper" ... non infetto
Controllo 'Z2'… CHK Lastlog: Niente eliminato
Controllare "Chkutmp" ... il TTY del seguente processo utente non è stato trovato
IN/VAR/RUN/UTMP !
! RUID PID tty CMD
! 101 0 es = v8_context_snapshot_data: 100, v8101--msteams-Process-type = NotificationsManager
! ESS-Type = PluginHost 0 TA: 100, V8_Natives_Data: 101
! Radice 3936 PTS/0/bin/sh/usr/sbin/chkrootkit
! Root 4668 PTS/0 ./chkutmp
! root 4670 punti/0 ps axk tty, ruser, args -o tty, pid, utente, args
! ROOT 4669 PTS/0 SH -C PS axk "tty, ruser, args" -o "tty, pid, utente, args"
! Root 3934 PTS/0 sudo chkrootkit
! Usman 3891 PTS/0 Bash
CHKUTMP: Niente eliminato

Il programma Chkrootkit è uno script di shell che controlla i binari del sistema nel percorso del sistema per una modifica dannosa. Include anche alcuni programmi che controllano vari problemi di sicurezza. Nel caso sopra ha verificato un segno di rootkit sul sistema e non ha trovato, beh, è ​​un buon segno.

Rkhunter (rootkithunter):

Un altro strumento fantastico per la caccia a una varietà di rootkit e exploit locali in un sistema operativo è Rkhunter.

Prima di tutto, dobbiamo installare rkhunter usando il comando:

ubuntu@ubuntu: ~ $ sudo apt install rkhunter

Questo installerà lo strumento Rkhunter e puoi usarlo per verificare i rootkit usando:

ubuntu@ubuntu: ~ $ sudo rkhunter --check | rootkit
Controllando i rootkit ..
Eseguendo il controllo di file e directory noti rootkit
55808 Trojan - Variant A [non trovato]
Worm adm [non trovato]
Ajakit rootkit [non trovato]
Adoro rootkit [non trovato]
Kit APA [non trovato]
Apache worm [non trovato]
Ambient (Ark) Rootkit [non trovato]
Balaur rootkit [non trovato]
Beastkit rootkit [non trovato]
bex2 rootkit [non trovato]
Bobkit rootkit [non trovato]
CB rootkit [non trovato]
Cinik worm (schiaffo.Variante b) [non trovato]
Il kit di abuso di Danny-Boy [non trovato]
Devil Rootkit [non trovato]
Diamorfina LKM [non trovata]
Dica-kit rootkit [non trovato]
Sogni rootkit [non trovato]
Duarawkz rootkit [non trovato]
Ebury Backdoor [non trovato]
Enye lkm [non trovato]
Flea Linux Rootkit [non trovato]
Fu rootkit [non trovato]
Fuck'it rootkit [non trovato]
Gaskit Rootkit [non trovato]
Eroina lkm [non trovata]
Kit HJC [non trovato]
IGNOKIT ROOTKIT [non trovato]
Intoxonia-ng rootkit [non trovato]
Irix rootkit [non trovato]
Jynx rootkit [non trovato]
Jynx2 rootkit [non trovato]
Kbeast rootkit [non trovato]
Kitko rootkit [non trovato]
KNARK ROOTKIT [non trovato]
LD-Linuxv.Quindi rootkit [non trovato]
Li0n worm [non trovato]
Lockit / ljk2 rootkit [non trovato]
MOKES BACKDOOR [non trovato]
Mood-Nt Rootkit [non trovato]
MRK ROOTKIT [non trovato]
Ni0 rootkit [non trovato]
Ohhara rootkit [non trovato]
Kit ottico (smoking) worm [non trovato]
Oz rootkit [non trovato]
Phalanx rootkit [non trovato]
Phalanx2 rootkit [non trovato]
Phalanx rootkit (test estesi) [non trovato]
Portacelo rootkit [non trovato]
R3D Storm Toolkit [non trovato]
ROOTKIT di Rh-Sharpe [non trovato]
RSHA's ROOTKIT [non trovato]
Worm scalper [non trovato]
Sebek lkm [non trovato]
Shutdown Rootkit [non trovato]
Shv4 rootkit [non trovato]
Shv5 rootkit [non trovato]
Sin rootkit [non trovato]
Worm slapper [non trovato]
Sneakin rootkit [non trovato]
Rootkit "spagnolo" [non trovato]
Succhiare rootkit [non trovato]
Superkit Rootkit [non trovato]
TBD (Telnet Backdoor) [non trovato]
Telekit rootkit [non trovato]
T0rn rootkit [non trovato]
Trnkit rootkit [non trovato]
Kit trojanit [non trovato]
Tuxtendo Rootkit [non trovato]
Urk rootkit [non trovato]
Vampire Rootkit [non trovato]
VCKIT ROOTKIT [non trovato]
Volc rootkit [non trovato]
Xzibit rootkit [non trovato]
Zarwt.Kit rootkit [non trovato]
Zk rootkit [non trovato]

Questo verificherà un gran numero di rootkit noti nel tuo sistema. Per verificare i comandi di sistema e tutti i tipi di file dannosi nel sistema, digitare il seguente comando:

ubuntu@ubuntu: ~ $ sudo rkhunter - -c --enable tutto -non è disponibile nessuno

Se si verifica un errore, commenta le righe di errore in /etc /rkhunter.Conf File e funzionerà senza intoppi.

Conclusione:

I rootkit possono causare gravi danni irreversibili al sistema operativo. Contiene una varietà di strumenti maliziosi come keylogger, crediti di credenziali bancari, furti di password, disabili antivirus o robot per l'attacco DDoS, ecc. Il software rimane nascosto in un sistema informatico e continua a fare il suo lavoro per un utente malintenzionato in quanto può accedere a remoto al sistema della vittima. La nostra priorità dopo aver rilevato un rootkit dovrebbe essere quella di modificare tutte le password del sistema. Puoi rattoppare tutti i collegamenti deboli, ma la cosa migliore è pulire completamente e riformattare l'unità perché non si sa mai cosa c'è ancora all'interno del sistema.