Wie entferne ich eine Datei ohne Berechtigungen?

22

Ein Hacker hat eine Datei in meinem tmp-Verzeichnis abgelegt, die Probleme verursacht. Nichts Bösartiges, als GBs mit error_log-Einträgen zu erstellen, da deren Skript fehlschlägt. Die Datei, die sie zum Ausführen verwenden, hat jedoch keine Berechtigungen, und selbst als ROOT kann ich diese Datei nicht löschen oder umbenennen.

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

Ich habe auch versucht, durch inode zu entfernen

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

Wie lösche ich diese Datei?

Bradley
quelle
15
Wenn ich Sie wäre, würde ich versuchen, diese Kiste zu zerstören und zu ebnen . Es hat eindeutig mindestens eine Sicherheitslücke, was schlimm genug ist, dass jemand neue Dateien mit benutzerdefinierten Berechtigungen außerhalb des Dokumentenstamms schreiben kann , und obendrein PHP / Apache dazu bringt, es zu versuchen und zu laden. Mein Freund, du bist königlich besessen. Wenn Sie diese Kiste zurückhaben möchten, müssen Sie sie aus dem Orbit entfernen. Nur so können Sie sicher sein .
Warren Young
Danke Warren. Dies ist eine brandneue Box, die über Konten geht, die noch nie kompromittiert wurden. Ich versuche herauszufinden, welche Einstellungen unterschiedlich sind (beide CPanel-Boxen).
Bradley
2
Nur weil das Betriebssystem neu ist und die Installation neu ist, können Sie keine Kompromisse eingehen. Ein Fehler, der heute in einem Betriebssystem entdeckt wurde, das vor 6 Monaten ausgeliefert wurde, kann Jahre andauern, da das ältere Betriebssystem weiterhin von CDs installiert wird, die ständig älter werden. Auch wenn es einen Patch für den Fehler gibt, ermöglicht das Fenster zwischen Installation und Aktualisierung den Kompromiss. Abgesehen davon, wenn ich mich irre, dass ein schlechter Schauspieler diese Datei auf Ihrem System abgelegt hat, müsste ein gewissenhafter Systemadministrator zumindest versuchen, seine Anwesenheit auf eine andere Weise zu erklären.
Warren Young

Antworten:

26

Die Datei wurde wahrscheinlich mit Dateiattributen gesperrt .

Als root tun

lsattr zzzzx.php

Attribute a(Anhänge-Modus) oder i(unveränderliche) vorhanden würden Ihr verhindern rm. Wenn sie da sind, dann

chattr -ai zzzzx.php
rm zzzzx.php

sollte Ihre Datei löschen.

ire_and_curses
quelle
Ich würde es vermeiden, sie als erweiterte Dateiattribute zu bezeichnen, da dies zu Verwechslungen mit den erweiterten Dateiattributen führen könnte, die mit den Attributen von setfxattrACL oder SELinux ... festgelegt und zum Speichern von Attributen verwendet werden.
Stéphane Chazelas
@Stephane Chazelas - ok. Funktionieren einfache Dateiattribute für Sie?
ire_and_curses
1
Ich kann mir nichts Besseres vorstellen. Früher waren es ext2-Dateiattribute, aber jetzt werden sie von anderen FS unter Linux wie xfs von btrfs unterstützt, sodass man sie nicht mehr so ​​nennen kann.
Stéphane Chazelas
3

Leider hat Warren nicht als Antwort, sondern als Kommentar gepostet. Ich kann gar nicht genug betonen, dass er völlig richtig ist.

Das Entfernen / Ändern einer Datei behebt Ihr REAL-Problem nicht. es wird EIN Symptom verschwinden lassen. Schalten Sie die Box offline, erstellen Sie ein Image für die spätere Forensik und installieren Sie es mit einer neueren Version (hoffentlich mit neuen Sicherheitskorrekturen) von allem, was Sie ausgeführt haben, neu.

Ich wiederhole: Löschen der Datei ist kein Fix .

basteln
quelle
7
Ich habe keine Antwort gepostet, weil mein Kommentar die gestellte Frage nicht beantwortet.
Warren Young
Heh ... Ich glaube, ich bin noch zu neu in der Art und Weise, Dinge zu tauschen. Ich würde lieber runter gestimmt für „nicht beantworten“ als nicht zu sagen , was gesagt werden muss; D
tink
Bei der Frage geht es nicht darum, das Problem zu beheben, sondern darum, eine Datei ohne Berechtigungen zu entfernen. Und es ist eine interessante Frage!
Wim
5
@tink: Das ist , was Kommentare sind für : die Dinge zu sagen , dass Bedarf gesagt werden, die nicht auf die Frage ist beantwortet.
Warren Young
Offensichtlich ist dies tut die Frage beantworten , die gestellt wurde. Durch Löschen der Festplatte wird die Datei entfernt! Normalerweise ist es keine vernünftige Methode , eine Datei zu entfernen, aber in diesem Fall ist es die meisten sinnvoll, weil es das zugrunde liegende Problem zugleich löst. (Auch wenn dies die Frage, wie sie ausdrücklich gestellt wurde, nicht buchstäblich beantwortete - was es tut! - ist es nicht falsch, eine Lösung für das eigentliche Problem eines OP zu veröffentlichen .)
Eliah Kagan,