Comment supprimer un fichier sans autorisations?


22

Un pirate a déposé un fichier dans mon répertoire tmp qui pose problème. Rien de malicieux sauf la création de Go d'entrées error_log car leur script échoue. Cependant, le fichier qu'ils utilisent pour exécuter n'a aucune autorisation et même en tant que ROOT, je ne peux pas supprimer ou renommer ce fichier.

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

J'ai également essayé de supprimer par 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

Comment supprimer ce fichier?


15
Si j'étais toi, je chercherais à nuke et à ouvrir cette boîte. Il y a clairement au moins un trou de sécurité, ce qui est déjà assez grave pour que quelqu'un puisse écrire de nouveaux fichiers avec des autorisations personnalisées en dehors de la racine du document, puis en plus, réussir à obtenir PHP / Apache pour essayer de le charger. Mon ami, vous êtes royalement en gage. Si vous voulez récupérer cette boîte, vous devez la neutraliser depuis l'orbite. C'est le seul moyen d'en être sûr .
Warren Young

Merci Warren. Il s'agit en fait d'une toute nouvelle boîte se déplaçant sur des comptes qui n'ont jamais été compromis auparavant. J'essaie de comprendre quels sont les paramètres différents (les deux boîtes CPanel).
Bradley

2
Ce n'est pas parce que le système d'exploitation est récent et que l'installation est fraîche que vous ne pouvez pas avoir de compromis. Un bogue détecté aujourd'hui dans un système d'exploitation qui a été livré il y a 6 mois peut persister pendant des années, car les gens continuent d'installer l'ancien système d'exploitation à partir de CD qui vieillissent continuellement. Même s'il existe un patch pour la faille, la fenêtre entre l'installation et la mise à jour permet le compromis. En mettant cela de côté, si je me trompe qu'un mauvais acteur a placé ce fichier sur votre système, un administrateur système consciencieux devrait au moins essayer d'expliquer sa présence d'une autre manière.
Warren Young

Réponses:


26

Le fichier a probablement été verrouillé à l'aide d' attributs de fichier .

En tant que root, faites

lsattr zzzzx.php

Les attributs a(mode ajout) ou i(immuables) présents empêcheraient votre rm. S'ils sont là, alors

chattr -ai zzzzx.php
rm zzzzx.php

devrait supprimer votre fichier.


J'éviterais de les appeler des attributs de fichier étendus , car cela pourrait causer de la confusion avec les attributs de fichier étendus définis setfxattret utilisés pour stocker les attributs ACL ou SELinux ....
Stéphane Chazelas

@Stephane Chazelas - ok. Les «attributs de fichier» simples fonctionnent-ils pour vous?
ire_and_curses

1
Je ne vois rien de mieux. Auparavant, ils étaient des attributs de fichier ext2, mais ils sont désormais pris en charge par d'autres FS sous Linux comme xfs de btrfs, donc on ne peut plus les appeler ainsi.
Stéphane Chazelas

3

Malheureusement, Warren n'a pas posté comme réponse mais comme commentaire; Je ne saurais trop insister sur le fait qu'il est totalement correct.

La suppression / modification d'un fichier ne résoudra pas votre VRAI problème; cela fera disparaître UN symptôme. Mettez la boîte hors ligne, prenez une image pour une analyse médico-légale ultérieure et réinstallez-la, avec une version plus récente (avec, espérons-le, de nouveaux correctifs de sécurité) de tout ce que vous exécutiez.

Je le répète: la suppression du fichier n'est PAS UN CORRECTIF .


7
Je n'ai pas posté de réponse car mon commentaire ne répond pas à la question posée.
Warren Young

Hé ... Je suppose que je suis encore trop nouveau dans la façon de faire les choses avec l'échange de pile. Je préfère me faire voter pour "ne pas répondre" plutôt que de ne pas dire ce qui doit être dit; D
tink

La question n'est pas de résoudre ce problème, il s'agit de supprimer un fichier sans autorisations. Et c'est une question intéressante!
wim

5
@tink: Voilà ce que sont les commentaires pour : dire des choses qui doivent être dites, qui ne sont pas réponses à la question.
Warren Young

Évidemment, cela répond à la question qui a été posée. Essuyer le disque supprimera le fichier! Normalement, ce n'est pas une méthode raisonnable pour supprimer un fichier, mais dans ce cas, c'est la manière la plus raisonnable, car elle résout le problème sous-jacent en même temps. (De plus, même si cela ne répond pas littéralement à la question comme cela a été explicitement demandé - ce qui est le cas! - il n'est pas faux de publier une solution au problème réel d' un PO .)
Eliah Kagan
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.