Quelle est la vitesse ne doit pas trouver la porte arrière ou des fichiers malveillants sur des serveurs Linux. Il y a quelque temps j'ai remarqué un problème lors de l'écriture APT, je trouve que la plupart de l'Internet est tout au sujet des articles de détection de logiciels malveillants Windows et des didacticiels et des informations sur la façon de trouver des logiciels malveillants sur les systèmes Linux, mais très peu. Par conséquent, cet article est surtout de vous parler de quelques-uns du système Linux sur la vérification des techniques et des méthodes de logiciels malveillants. Ado, passons au point.
Vérifier les fichiers binaires
Une chose à vérifier pour vous assurer que les fichiers binaires qui ne sont pas en cours d'exécution est modifié. Ce type de logiciel malveillant qui peut être utilisé pour soutenir la version de sshd pour permettre l'utilisation d'un mot de passe spécifique pour se connecter au système, ou même une version modifiée d'un certain fichier binaire, qui fonctionne en tant que root, il suffit d'écouter les paquets des jeux originaux de bascules peuvent être prises. À cette fin, nous RedHat et Debian comme un exemple.
Vous cherchez des binaires ne fait pas partie de
trouver / proc / * / exec exe readlink {} + | xargs rpm -qf | grep "n'appartient pas"
trouver / proc / * / exec exe readlink {} + | xargs dpkg -S | grep "aucun chemin"
Vérifiez que vous souhaitez exécuter les binaires correspondent aux fichiers dans le package
trouver / proc / * / exec exe readlink {} + | xargs rpm -qf | xargs rpm -V
trouver / proc / * / exec exe readlink {} + | xargs dpkg -S | cut -d: -f1 | xargs -V dpkg
Vérifiez tous les fichiers de package
Une autre chose à faire est de vérifier pour vous assurer que fait partie des fichiers binaires du paquet n'a pas été modifié. Ce processus peut prendre un certain temps, mais il vaut la peine. Nous pouvons mettre en place un cron, afin de l'exécuter à un moment précis.
Vérifiez tous les fichiers de package
rpm -Va
-V dpkg
sortie
La sortie doit montrer tous les paquets appartenant au fichier binaire, la valeur de hachage binaire est calculé et enregistré au moment de l'installation ou la mise à jour la valeur du package. Ce qui suit est le système de Redhat de sortie. L'utilisation du système Debian dpkg ne vérifie pas la plupart d'entre eux, donc si vous modifiez le fichier binaire, juste les mots « 5. »
S différentes tailles de fichiers
Différents mode M (y compris les autorisations et le type de fichier)
5 Résumé (précédente somme de contrôle MD5) différent
appareils D numéros principaux / mineurs ne correspondent pas
L readlink (2) non-concordance Path
U autre propriété de l'utilisateur
Groupe G de différents propriétaires
Différents T Mtime
P des capacités différentes
Vérifiez la prise RAW
On voit souvent la porte arrière de prise RAW. Ils écoutent les paquets entrants et événements déclencheurs, tels que la découverte récente de la porte arrière « Chaos », et un exemple d'un pop-up lors de la recherche raw socket sur le github de porte arrière. Pour cette vérification, nous ne considérerons le processus d'utilisation des sockets raw. Ils utilisent des procédures communes ne sont pas beaucoup, afin que nous puissions réduire la portée du processus que vous souhaitez afficher.
L'utilisation raw sockets d'écoute binaires vérifie
-lwp netstat ou ss -lwp
lsof | grep RAW
Vérifiez que la mémoire d'implantation possible
Il peut y avoir des circonstances où une variété de faux positifs. mémoire RWX (lecture et exécution d'écriture) est utilisé par de nombreux programmes, dont la plupart est un langage interprété, donc voudrait python et java et similaires, ou l'utilisation d'un scénario d'analyse bibliothèque une telle situation, il est tout à fait normal. Si vous trouvez un certain nombre d'entrées mémoire RWX et le processus est pas un python ou java, alors vous devriez regarder soigneusement. Cette commande répertorie la mémoire identifiant du processus RWX. Vous pouvez voir la liste suivante de Cron, qui est évidemment pas processus normal.
Trouvez commande pid
grep -r "rwx" / proc / * / cartes | cut -d / -f 3 | uniq -c | Tri -nr
Vérifiez le module PAM modifié
Une insertion de porte arrière commune ou substitution module PAM pour l'authentification. Cela peut permettre l'accès à distance, et aussi permettre à un attaquant d'obtenir les privilèges root de tout utilisateur. Cette porte dérobée ne se soucient pas de modifications au fichier / etc / passwd, donc tout le code original et le code modifié est toujours valide. En raison du type d'accès qu'il fournit, à mon avis, c'est un type très dangereux de la porte arrière. Vous pouvez utiliser le protocole juridique normal les entrées du journal, alors ressemble apparemment comme il n'y a rien que l'activité réseau malveillant.
Vérification du module PAM
trouver / lib64 / security / | xargs rpm -qf | grep "n'appartient pas"
trouver / lib64 / security / | xargs rpm -qf | grep -v "non" | xargs rpm -V
accès SSH
Le maintien des droits d'accès ne doivent pas supprimer les fichiers binaires d'une manière très simple est d'ajouter simplement la clé ssh au fichier authorized_keys d'un utilisateur spécifique et permet aux pirates d'comme en tant qu'utilisateur normal pour entrer ssh. C'est aussi l'un des moyens les plus difficiles à détecter, parce que vous devez déterminer la clé ssh est légitime ou malveillant, qui exige que les utilisateurs de vérifier leurs clés dans le fichier. Un attaquant pourrait également voler la clé de l'utilisateur, en cas de vol, puis utilisé auparavant.
Liste dossier de tous les utilisateurs
. Cat / etc / passwd | cut -d: -f 6 | xargs -I @ / bin / sh -c « echo @; ls -al @ / ssh / 2 > / Dev / null "
résumé
Il existe de nombreuses façons de garder les droits à l'accès au serveur Linux. Trouvez ci-dessus la liste est incomplète, mais ils sont une partie de la méthode plus commune pour trouver la porte arrière, y compris Meterpreter github et trouvé un autre porte dérobée commune.