Jak usunąć plik bez uprawnień?

22

Haker upuścił plik w moim katalogu tmp, który powoduje problemy. Nic złośliwego poza tworzeniem GB wpisów z error_log, ponieważ ich skrypt nie działa. Jednak plik, którego używają do wykonania, nie ma uprawnień i nawet jako ROOT nie mogę usunąć ani zmienić nazwy tego pliku.

----------  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

Próbowałem także usunąć przez i-węzeł

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

Jak usunąć ten plik?

Bradley
źródło
15
Gdybym był tobą, chciałbym nuke i brukować to pudełko. Wyraźnie ma co najmniej jedną dziurę w zabezpieczeniach, co jest na tyle złe, że ktoś może pisać nowe pliki z niestandardowymi uprawnieniami poza katalogiem głównym dokumentu, a następnie, poza tym, uda się uzyskać PHP / Apache, aby spróbował go załadować. Mój przyjacielu, jesteś po królewsku. Jeśli chcesz odzyskać to pudełko, musisz nuke go z orbity. To jedyny sposób, aby się upewnić .
Warren Young,
Dzięki, Warren. W rzeczywistości jest to zupełnie nowe pudełko przenoszące się na konta, które nigdy wcześniej nie były zagrożone. Próbuję dowiedzieć się, jakie są różne ustawienia (oba pola CPanel).
Bradley,
2
Tylko dlatego, że system operacyjny jest nowy i nowa instalacja nie oznacza, że ​​nie możesz iść na kompromis. Wykryty dzisiaj błąd w systemie operacyjnym dostarczonym 6 miesięcy temu może utrzymywać się przez lata, ponieważ ludzie nadal instalują starszy system operacyjny z płyt CD, które ciągle się starzeją. Nawet jeśli istnieje usterka, okno między instalacją a aktualizacją pozwala na kompromis. Odkładając to na bok, jeśli się mylę, że jakiś zły aktor umieścił ten plik w twoim systemie, sumienny administrator systemu musiałby przynajmniej spróbować wyjaśnić swoją obecność w inny sposób.
Warren Young,

Odpowiedzi:

26

Plik został prawdopodobnie zablokowany przy użyciu atrybutów pliku .

Jako root, zrób

lsattr zzzzx.php

Obecne atrybuty a(tryb dołączania) lub i(niezmienne) mogą zapobiec rm. Jeśli tam są, to

chattr -ai zzzzx.php
rm zzzzx.php

powinien usunąć twój plik.

ire_and_curses
źródło
Unikałbym nazywania ich atrybutami pliku rozszerzonego , ponieważ mogłoby to spowodować zamieszanie z atrybutami pliku rozszerzonego ustawionymi setfxattri używanymi do przechowywania atrybutów ACL lub SELinux ...
Stéphane Chazelas
@Stephane Chazelas - ok. Czy zwykłe „atrybuty pliku” działają dla Ciebie?
ire_and_curses
1
Nie mogę wymyślić nic lepszego. Kiedyś były atrybutami plików ext2, ale teraz są obsługiwane przez inne FS w Linuksie, takie jak xfs btrfs, więc nie można ich już tak nazywać.
Stéphane Chazelas
3

Niestety Warren nie opublikował jako odpowiedzi, ale jako komentarz; Nie mogę podkreślić wystarczająco, że ma całkowitą rację.

Usunięcie / zmiana jednego pliku nie naprawi PRAWDZIWEGO problemu; sprawi, że JEDEN objaw zniknie. Przełącz urządzenie w tryb offline, zrób zdjęcie do późniejszej analizy kryminalistycznej i zainstaluj ponownie, używając nowszej wersji (mam nadzieję, że z nowymi poprawkami bezpieczeństwa) tego, co uruchomiłeś.

Powtarzam: usunięcie pliku NIE JEST PROBLEMEM .

zadzwonić
źródło
7
Nie opublikowałem odpowiedzi, ponieważ mój komentarz nie odpowiada na zadane pytanie.
Warren Young,
Hej ... Chyba wciąż jestem zbyt nowy w sposobie robienia wymiany stosów. Wolę głosować na „nie odpowiadać” niż na to, co trzeba powiedzieć; D
zadzwoń
Pytanie nie dotyczy rozwiązania tego problemu, chodzi o usunięcie pliku bez uprawnień. To interesujące pytanie!
wim
5
@tink: to właśnie komentarze są dla : mówić rzeczy, które muszą zostać wypowiedziane, które nie odpowiada na pytanie.
Warren Young,
Oczywiście to nie odpowiedzieć na pytanie, które poproszono. Wyczyszczenie dysku spowoduje usunięcie pliku! Zwykle nie jest to rozsądna metoda usuwania pliku, ale w tym przypadku jest to najbardziej rozsądny sposób, ponieważ rozwiązuje on jednocześnie podstawowy problem. (Co więcej, nawet jeśli nie odpowiedziałoby to dosłownie na pytanie, jak zostało wyraźnie zadane - co robi! - publikowanie rozwiązania rzeczywistego problemu PO nie jest błędem ).
Eliah Kagan