Come rimuovo un file senza autorizzazioni?


22

Un hacker ha lasciato cadere un file nella mia directory tmp che sta causando problemi. Niente di male tranne la creazione di GB di voci error_log perché il loro script non riesce. Tuttavia, il file che stanno utilizzando per eseguire non ha autorizzazioni e anche come ROOT non posso eliminare o rinominare questo file.

----------  1 wwwusr wwwusr 1561 Jan 19 02:31 zzzzx.php

root@servername [/home/wwwusr/public_html/tmp]# rm zzzzx.php
rm: remove write-protected regular file './zzzzx.php'? y
rm: cannot remove './zzzzx.php': Operation not permitted

Ho anche provato a rimuovere tramite inode

root@servername [/home/wwwusr/public_html/tmp]# ls -il

...
1969900 ----------  1 wwwusr wwwusr 1561 Jan 19 02:31 zzzzx.php

root@servername [/home/wwwusr/public_html/tmp]# find . -inum 1969900 -exec rm -i {} \;

rm: remove write-protected regular file './zzzzx.php'? y
rm: cannot remove './zzzzx.php': Operation not permitted

Come cancello questo file?


15
Se fossi in te, avrei cercato di nuke e aprire quella scatola. Ha chiaramente almeno una falla di sicurezza, che è abbastanza grave da consentire a qualcuno di scrivere nuovi file con autorizzazioni personalizzate al di fuori della radice del documento e, soprattutto, riuscire a far sì che PHP / Apache provi a caricarlo. Amico mio, sei impegnato regalmente. Se vuoi riavere quella scatola, devi liberarla dall'orbita. È l'unico modo per esserne sicuri .
Warren Young,

Grazie Warren. Questa è in realtà una scatola nuova di zecca che si sposta su account che non sono mai stati compromessi prima. Sto cercando di capire quali sono le impostazioni che sono diverse (entrambe le caselle CPanel).
Bradley,

2
Solo perché il sistema operativo è recente e l'installazione nuova non significa che non puoi scendere a compromessi. Un bug rilevato oggi in un sistema operativo distribuito 6 mesi fa potrebbe persistere per anni, poiché le persone continuano a installare il sistema operativo più vecchio da CD che invecchiano continuamente. Anche se esiste una patch per il difetto, la finestra tra installazione e aggiornamento consente il compromesso. A parte questo, se sbaglio che un cattivo attore ha inserito quel file sul tuo sistema, un amministratore di sistema coscienzioso dovrebbe almeno provare a spiegare la sua presenza in un altro modo.
Warren Young,

Risposte:


26

Il file è stato probabilmente bloccato usando gli attributi del file .

Come root, fallo

lsattr zzzzx.php

Gli attributi a(modalità append) o i(immutabili) presenti impedirebbero il tuo rm. Se ci sono, allora

chattr -ai zzzzx.php
rm zzzzx.php

dovrebbe eliminare il tuo file.


Eviterei di chiamarli attributi di file estesi , poiché ciò potrebbe causare confusione con gli attributi di file estesi impostati setfxattre utilizzati per memorizzare gli attributi ACL o SELinux ...
Stéphane Chazelas,

@Stephane Chazelas - ok. I semplici "attributi di file" funzionano per te?
ire_and_curses il

1
Non riesco a pensare a niente di meglio. Prima erano attributi di file ext2 ma ora sono supportati da altri FS su Linux come xfs di btrfs, quindi non è più possibile chiamarli così.
Stéphane Chazelas,

3

Sfortunatamente Warren non ha pubblicato come risposta ma come commento; Non posso sottolineare abbastanza che sia totalmente corretto.

La rimozione / modifica di un file non risolverà il problema REALE; farà scomparire UN sintomo. Porta la scatola offline, scatta un'immagine per le analisi forensi successive e reinstallala, con una versione più recente (si spera con nuove correzioni di sicurezza) di qualsiasi cosa stavi eseguendo.

Ripeto: la cancellazione del file NON È UN FIX .


7
Non ho pubblicato una risposta perché il mio commento non risponde alla domanda posta.
Warren Young,

Heh ... Immagino di essere ancora troppo nuovo nel modo di scambiare gli stack. Preferirei scendere votato per "non rispondere" piuttosto che non dire cosa bisogna dire; D
tink

La domanda non riguarda la risoluzione di questo problema, ma la rimozione di un file senza autorizzazioni. Ed è una domanda interessante!
mercoledì

5
@tink: Questo è quello che opinione per : dire le cose che vanno dette, che sono non risponde alla domanda.
Warren Young

Ovviamente questo non rispondere alla domanda che è stato chiesto. La pulizia del disco rimuoverà il file! Di solito non è un metodo ragionevole per rimuovere un file, ma in questo caso è il modo più ragionevole, perché risolve il problema sottostante allo stesso tempo. (Inoltre, anche se questo non ha letteralmente risposto alla domanda in quanto è stato esplicitamente posto - cosa che fa! - non è sbagliato pubblicare una soluzione al problema reale di un PO .)
Eliah Kagan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.