Mystérieusement personne ne sait, en utilisant les scripts Shell pour dissimuler les traces des opérations sur les serveurs Linux

Les scripts shell pour contrôler l'utilisation de Linux sur le serveur, détruire ou quoi que ce soit à travers quelques obtenir des méthodes d'attaque de pirate intelligent pourrait obtenir une grande valeur, mais la plupart des attaques ont également laissé des traces. Bien sûr, ces traces peuvent aussi être cachés par des scripts Shell et d'autres méthodes.

Vous cherchez des preuves de l'attaque a commencé à partir de ces traces laissées par l'attaquant, comme la date de modification du fichier. Chaque fichier à chaque système de fichiers Linux sont conservés date de modification. Les administrateurs système trouver le fichier a été modifié pour la dernière, le système les invite à attaquer, système de verrouillage d'action de prise. Heureusement, cependant, le temps de modification ne sont pas des documents absolument fiables, le temps de changement lui-même peut être usurpée ou modifié par l'écriture de scripts Shell, un attaquant peut modifier la sauvegarde et de restauration du temps de l'automatisation des processus.

mesures

 Étape 1: Vérifier le fonctionnement et l'horodatage

La plupart des systèmes Linux incluent certains nous permettent de visualiser et de modifier rapidement les outils d'horodatage, le plus influent lorsque le nombre de « Touch », ce qui nous permet de créer un nouveau fichier, mettre à jour le fichier / groupe pour la dernière fois a été « touché » le temps.

fichier tactile

Si le fichier n'existe pas, exécutez la commande ci-dessus va créer un nouveau fichier appelé « fichier », si elle existe déjà, la commande mettra à jour la date de modification du temps du système actuel. Nous pouvons également utiliser un caractère générique, comme la chaîne suivante.

* toucher

Cette commande mettra à jour l'horodatage de chaque fichier dossier fonctionne. Après avoir créé et modifier les fichiers, il y a plusieurs façons dont vous pouvez voir ses détails, la première utilisation de la commande « stat ».

fichier stat

Exécuter des rendements stat des informations sur le fichier, y compris l'accès, la modification ou l'horodatage de mise à jour. L'horodatage du fichier batch peut utiliser ls pour afficher les paramètres de chaque fichier, utilisez le « -l » ou « long », les listes de fichiers les détails de la commande, la sortie contient un horodatage.

ls -l

Maintenant, vous pouvez définir l'horodatage en cours et la vue d'horodatage a été défini, la touche peut être utilisée pour définir un timbre personnalisé, en utilisant « d » drapeau, avec le format de date aaaa-mm-jj définition, réglez l'heure, suivie heures, minutes et secondes, comme suit:

toucher -d "2001-01-0120:00:00" fichier

Modifiez les informations pour confirmer la commande ls:

fichier de ls

Cette méthode convient pour l'horodatage de modification individuelle, des traces d'opérations cachées sur le serveur, cette méthode est pas, vous pouvez utiliser un script shell pour automatiser le processus.

 Deuxième étape: Organiser Script Shell

Avant de commencer à écrire des scripts doivent examiner attentivement les besoins du processus à effectuer. Afin de cacher les traces sur le serveur, l'attaquant aurait besoin le dossier d'horodatage d'origine dans un fichier, tout en mesure de revenir au fichier d'origine après tout changement dans notre jeu.

Ces deux fonctions différentes sont déclenchées en fonction de l'entrée ou le paramètre de l'utilisateur, le script exécute la fonction correspondante en fonction de ces paramètres, nous avons besoin d'un moyen de gérer les erreurs. Trois actions possibles seront effectuées selon l'entrée d'un utilisateur:

Aucun paramètre - renvoie un message d'erreur;

Enregistrer horodatées - l'horodatage enregistré dans un fichier;

marque horodatage de récupération - selon l'horodatage récupérer des fichiers sauvegardés liste.

Nous pouvons utiliser des instructions imbriquées si / ou des déclarations pour créer le script, vous pouvez attribuer à chaque fonction de leur instruction « si » dans les conditions, vous pouvez choisir de commencer à écrire un script dans un éditeur de texte ou nano.

 Troisième étape: script de démarrage

Début de la ligne de commande nano et de créer un script appelé « timestamps.sh », la commande est suit comme:

nano timestamps.sh

Ensuite, la commande suivante:

#! / Bin / bash si , puis echo "Utiliser paramètre AENR (-s) ou la restauration (r)." 1 sortie Je

Appuyez sur Ctrl + O nano, enregistrez le fichier, en utilisant la commande chmod pour le marquer comme un script peut fonctionner.

chmod + x timestamps.sh

Ensuite, exécutez le script, la fonction renvoie un message d'erreur lorsque aucun des paramètres de test. Si le script renvoie nos états d'écho, nous pouvons continuer à la condition suivante.

./timestamps.sh

 Quatrième étape: écrire à l'horodatage de fichier

La définition d'un si la condition de l'instruction, « - s » représente la fonction de sauvegarde:

si , puis fi

Bien sûr, vous devez vérifier le programme fichier d'horodatage stocké existe, s'il y a, nous le supprimerons (appelé l'horodatage des fichiers), afin d'éviter la duplication ou l'entrée incorrecte, utilisez la commande suivante:

rm -f horodatages;

Utilisez ensuite la commande « ls » commande à la liste tous les fichiers et son temps de modification, il peut être émis à un autre programme, comme sed, pour nous aider à nettoyer cette entrée plus tard.

ls -l

Habituellement, apparaît et affiche les résultats de ce qui suit:

rw-r - r-- 1 utilisateur utilisateur 01 janvier 2017 fichier

Pour enregistrer un horodatage, nous avons besoin que l'année, le mois, la date et le nom du fichier, la commande suivante à des informations claires avant « Jan »:

fichier ls | sed 's /^.* Jan / Jan / p'

Une telle information est ce que nous devons montrer le programme, mais nous avons besoin de changer le format à un format numérique en Février:

ls -l fichier | sed 's /^.* Jan / 01 / p'

Tous les mois sont remplacés par des numéros:

ls -l | sed -n « s /^.* Jan / 01 / p; s /^.* Feb / 02 / p; s /^.* Mar / 03 / p; s /^.* Apr / 04 / p; s /^.* mai / 05 / p; s /^.* Jun / 06 / p; s /^.* Jul / 07 / p; s /^.* août / 08 / p; s / ^. * Sep / 09 / p; s /^.* Oct / 10 / p; s /^.* Nov / 11 / p; s /^.* Dec / 12 / p; '

Dans une course de dossier, nous verrons les résultats présentés dans la figure suivante:

Ensuite, la sortie des résultats ". > > « Envoyer nommé » horodatages de fichier « dans:

faire echo $ x | ls -l | sed -n « s /^.* Jan / 01 / p; s /^.* Feb / 02 / p; s /^.* Mar / 03 / p; s / ^. * Apr / 04 / p; s /^.* mai / 05 / p; s /^.* Jun / 06 / p; s /^.* Jul / 07 / p; s /^.* août / 08 / p ; s /^.* Sep / 09 / p; s /^.* Oct / 10 / p; s /^.* Nov / 11 / p; s /^.* Dec / 12 / p; ' > >  horodatages

Ainsi, les deux premiers de l'opération de script est terminé, les résultats d'affichage comme indiqué ci-dessous:

Les informations disponibles « -s » à la suite des scripts de test marqués, vérifier avec le chat sauvé:

./timestamps.sh -s horodatages de chat

 Cinquième étape: pour restaurer l'horodatage de fichier

Après avoir enregistré votre horodatage d'origine, l'horodatage pour laisser d'autres ont besoin de restaurer des fichiers imperceptibles ont été modifiés, utilisez la commande suivante:

si 1 $ = "-r"; thenfi

Ensuite, utilisez la commande suivante, et transmet le contenu d'un fichier texte, ligne par ligne et course:

horodatages de chat | while read linedodone

Et puis redistribué certaines variables à faire usage des fichiers de données plus simplement:

MOIS = $ (echo $ ligne | cut -f1 -d); JOUR = $ (echo $ ligne | cut -d -f2); FILENAME = $ (echo $ ligne | coupe -F4 -d); AN = $ (echo $ ligne | coupe -f3 -d)

Bien que ces quatre variables fichier d'horodatage stockées est le même, mais si l'horodatage a eu lieu l'année dernière, il affichera seulement le temps plutôt que des années. Si vous avez besoin de déterminer l'année en cours, on peut attribuer un an pour écrire le script, vous pouvez également revenir l'année du système, en utilisant la commande cal pour afficher le calendrier.

Et puis récupérer la première ligne, je veux juste laisser le spectacle des informations get Année:

CURRENTYEAR = $ (cal | tête -1 | cut -d -F6- | sed 's / g //')

Après avoir défini toutes les variables que vous pouvez utiliser « if else » déclaration, selon l'horodatage dates au format fichier mis à jour, utilisez la syntaxe tactile:

toucher -d "2001-01-0120:00:00" fichier

Comme chaque fois contient deux points, il peut utiliser les éléments suivants « ifelse » instruction est terminée, l'opération comme indiqué ci-dessous:

si , puis toucher -d $ CURRENTYEAR- $ mois- $ JOUR $ AN: 00 FILENAME $; d'autre toucher -d "" $ $ mois- $ ANNEE-JOUR "" FILENAME $; fi

 Sixième étape: Utiliser un script

Utilisé principalement dans la commande suivante:

./timestamps.sh -s enregistrer le fichier horodatages toucher -d « 12/10/205010:00:00 » * Modifier l'horodatage de tous les fichiers dans le répertoire ls -a pour confirmer le fichier modifié ./timestamps.sh -r restaurer les horodatages du fichier d'origine

Enfin, vous pouvez exécuter à nouveau si l'horodatage « ls -l » pour voir les fichiers avant la sauvegarde et l'horodatage du même, toute l'exécution de script est terminé, comme indiqué ci-dessous:

résumé

Le script juste pour effacer quelques traces laissées après l'attaque du serveur. Après l'ordre de cacher les traces des pirates dans la mise en uvre d'attaques spécifiques contre le serveur, vous devez examiner attentivement chaque méthode utilisée et comment l'invasion des serveurs pour cacher leurs traces.

Grâce à la description ci-dessus, nous le savons, l'horodatage est « un mensonge », l'administrateur système doit être conscient du fait que bon nombre de leurs journaux et des mesures de protection peuvent être manipulés, même si elle ne ressemble à aucune exception.

Deux ans, il est riche champion de la façon de contre-attaque?
Précédent
frère Spiderman Pays-Bas brutalement spoof! Je pensais qu'il « accidentellement téléchargé l'ensemble du » complexe avec 4 « »
Prochain
Amazon Sortie AWS 180 minutes plus d'une douzaine de nouveaux produits: l'apprentissage de la machine avec des puces, l'innovation AI, Block Chaining | re: Invent
Roi de gloire la nouvelle version sera mise à jour, ouvert héros partagé, amis disent est le point culminant de la nouvelle peau
Message: Black Shark 2 jeu téléphone mobile a officiellement déclaré l'exposition officielle / X27 vivo affiches
Et assez WTAPS commune? Il a en fait de faire quelque chose dans YOHOOD ci-dessus!
linux comment vérifier l'état du port est occupé
Des centaines de bénévoles ont planté la rivière Yangtze « Arbre de l'espoir »
« Bon professeur · » Réseau « relation entre les familles » la spéciale du peuple pour rendre hommage aux 80 ans d'enseignants exceptionnels Yu Qian
La nouvelle première exposition Peugeot 308 GTi fournit des corps de ton
été LPL Enregistrement de l'exposition finale, RNG arbitres pleine de ridicule beauté, problème UZI assez directement
« Ciment Noir » sera de retour l'année prochaine! Suprême troisième semaine de la plus recherchée est en fait ...... | marée odeur fast food
Alfa Romeo Stelvio sera disponible en Juin 3
Olivia Nini Liao Lin 42 degrés en dessous de zéro où les montagnes enneigées profondes « tempête de neige » publié « indices » Affiche « or affaire pendante »