Queste regex mostrano che sono stato violato?

8

Che cosa significano questi comandi regex ? Li ho trovati quando ho eseguito il comando di cronologia:

grep --include=\*.php -rnw . -e "update.creditcard"
grep --include=\*.php -rnw . -e "e41e"
grep --include=\*.php -rnw . -e "nobugs.com"
grep --include=\*.{php|js} -rnw . -e "nobugs.com"
grep --include=\*.[php|js] -rnw . -e "update.creditcard|nobugs.com|slimmingworldcyprus.com|chr\("
grep --include=\*.php -rnw . -e "update.creditcard|nobugs.com|slimmingworldcyprus.com|chr\("
grep --include=\*.php -rnw . -e "update.creditcard|nobugs.com|slimmingworldcyprus.com"
grep --include=\*.js -rnw . -e "update.creditcard|nobugs.com|slimmingworldcyprus.com"

Ho notato che il mio sito web aveva un sacco di pagine mancanti, quindi sono andato al server e ho trovato quei comandi usando history . Tuttavia, non ho idea di cosa facciano.

Solo io e un'altra persona abbiamo accesso amministrativo al server e nessuno di noi riconosce questi comandi.

    
posta OldCastle 27.07.2015 - 12:11
fonte

2 risposte

19

I comandi stessi non sembrano particolarmente preoccupanti: sono alcune ricerche a caso per sottostringhe particolari.

Tuttavia, se la cronologia della shell contiene voci inspiegabili, è un segno che sei stato violato .

A questo punto, ciò che consiglierei è controllare i log SSH per scoprire quando ciò si è verificato (e da quale IP) e proteggere il server - probabilmente reinstallando il sistema operativo, ripristinando il contenuto da un back-up e quindi collegando il foro che ha portato al compromesso in primo luogo (se è possibile identificarlo).

Controllo dei log SSH

Su CentOS, i log SSH sono scritti su /var/log/secure per impostazione predefinita . Su Ubuntu, sono scritti su /var/log/auth.log per impostazione predefinita.

Ecco un comando che cercherà una di queste posizioni per le voci di registro SSH:

grep -i 'ssh' /var/log/secure /var/log/auth.log

Sarai probabilmente interessato alle voci di registro più recenti, che saranno alla fine dell'output di quel comando.

Si noti che è possibile che non ci siano voci nei log che indicano un'effrazione; questo potrebbe essere dovuto al fatto che l'utente malintenzionato ha cancellato i log SSH, ma non ha cancellato la cronologia della shell.

Alcuni comandi che saranno utili per l'analisi del log sono grep , tail e less . Ricorda inoltre che è possibile reindirizzare l'output da un comando a un altro. Controlla le manpage o il Unix & Linux Stack Exchange se hai bisogno di ulteriore aiuto con strumenti a riga di comando come questi.

    
risposta data 27.07.2015 - 14:06
fonte
16

Sono diverse ricerche di testo. Il primo cerca update.creditcard (il punto è un carattere jolly qualsiasi) in tutte le sottocartelle. (Maggiori dettagli su grep -rnw su StackOverflow . )

E se tu o un altro amministratore non aveste eseguito questi comandi, sarei molto preoccupato e cancellerei e reinstallerei quel server.

Le ricerche stesse sono innocue. Ma se qualcuno non autorizzato avesse accesso, non si può dire cos'altro avrebbe potuto fare.

    
risposta data 27.07.2015 - 12:35
fonte

Leggi altre domande sui tag