Forensics de disque, forensics de mémoire et forensics de log. Cadre de volatilité et autopsie. Résolution de problèmes avec r0ot-mi. Partie 1

image

Cet article contient des solutions aux tâches destinées à la criminalistique de la mémoire, de la RAM et des journaux de serveur Web. Ainsi que des exemples d'utilisation des programmes Volatility Framework et Autopsy.

Information organisationnelle
Surtout pour ceux qui veulent apprendre quelque chose de nouveau et se développer dans l'un des domaines de l'information et de la sécurité informatique, j'écrirai et parlerai des catégories suivantes:

  • PWN;
  • cryptographie (Crypto);
  • technologies de réseau (réseau);
  • reverse (Reverse Engineering);
  • stéganographie (Stegano);
  • recherche et exploitation des vulnérabilités WEB.

En plus de cela, je partagerai mon expérience en criminalistique informatique, analyse de logiciels malveillants et micrologiciels, attaques sur les réseaux sans fil et les réseaux locaux, réalisation de pentests et écriture d'exploits.

Afin que vous puissiez vous renseigner sur les nouveaux articles, logiciels et autres informations, j'ai créé une chaîne dans Telegram et un groupe pour discuter de tout problème dans le domaine de l'ICD. Aussi, je considérerai personnellement vos demandes, questions, suggestions et recommandations personnelles et répondrai à tout le monde .

Toutes les informations sont fournies à des fins éducatives uniquement. L'auteur de ce document n'assume aucune responsabilité pour tout dommage causé à quelqu'un du fait de l'utilisation des connaissances et des méthodes obtenues à la suite de l'étude de ce document.

Médecine légale de la mémoire - niveau 2


image

Dans cette tâche, on nous donne une image de RAM et on nous demande de trouver le nom de la machine. Pour résoudre ce type de tâches, nous utiliserons le cadre de volatilité. Nous chargeons l'image avec la commande suivante, en spécifiant le chemin d'accès à l'image en tant que paramètre. Nous trouvons d'abord des informations sur l'image.

volatility -f ch2.dmp imageinfo 

image

Ainsi, nous apprenons qu'il s'agit d'une image mémoire du système d'exploitation Windows. Autrement dit, nous pouvons trouver le nom de la machine dans le registre. Maintenant, nous devons spécifier le profil comme paramètre. La valeur de clé dans le registre peut être affichée de la manière suivante.

 volatility -f ch2.dmp --profile=Win7SP1x86_23418 printkey -K "ControlSet001\Control\ComputerName" 

image

Et maintenant, nous découvrons le nom de l'ordinateur.

 volatility -f ch2.dmp --profile=Win7SP1x86_23418 printkey -K "ControlSet001\Control\ComputerName\ActiveComputerName" 

image

Nous voyons le nom de l'ordinateur. Remettez, obtenez des points.

image

Logs forensics - attaque Web


image

Dans cette tâche, ils nous donnent un journal de serveur Web et disent qu'une attaque a été faite dessus, nous devons comprendre quelles données l'attaquant a apprises. Ouvrons le journal.

image

Nous voyons ces données encodées en base64 comme un paramètre d'ordre. Nous allons écrire un code pour les décoder.

 from re import * from base64 import * f = open('ch13.txt') log = f.read() f.close() k = findall("action=membres&order=(.*?) HTTP", log) [print(str(b64decode(i.replace("%3D", "=")), "utf-8")) for i in k] 

image

Convertissez un peu en compréhensible.

image

Ainsi, nous comparons les deux premiers bits de la première lettre du mot de passe avec 00, 01, 10, 11 et faisons une pause correspondante - 0, 2, 4 et 6 secondes. Cela se produit également avec les deuxième et troisième deux bits. Après cela, le septième bit est vérifié et, selon l'égalité 0 ou 1, une pause de 2 et 4 secondes est effectuée.

Ainsi, par le retard, nous pouvons déterminer quels bits le serveur renvoie.

image

Par exemple: la différence de temps entre les premières requêtes est de 6 secondes, c'est-à-dire que ce sont les bits 11, etc. Automatisez ce processus.

 from re import * from base64 import * import binascii f = open('ch13.txt') log = f.read() f.close() k = findall("action=membres&order=(.*?) HTTP", log) dec_k = [str(b64decode(i.replace("%3D", "=")), "utf-8") for i in k] t = findall("2015:12:1(.*?) \+0200]", log) tim = [int(i.split(':')[0])*60 + int(i.split(':')[1]) for i in t] tim = [tim[i+1] - tim[i] for i in range(len(tim)-1)] + [0] password = "" for i in range(0, len(tim), 4): c = '' for sec in tim[i:i+3]: if sec == 0: c += '00' elif sec == 2: c += '01' elif sec == 4: c += '10' elif sec == 6: c += '11' if tim[i+3] == 2: c += '0' elif tim[i+3] == 4: c += '1' password += chr(int(c,2)) print(password) 

Nous donnons le mot de passe.

image

Médecine légale de la mémoire - niveau 5


image

On nous demande de trouver le mot de passe pour John et de fournir un vidage de RAM. Comme la dernière fois, nous découvrons quel système d'exploitation est utilisé.

image

C'est Windows. La volatilité a une option de hachage.

image

Nous trouvons maintenant le mot de passe utilisateur.

image

Nous envoyons le mot de passe et obtenons des points.

image

Médecine légale du disque - trouver le chat


image

On nous donne une image disque et on nous demande de trouver l'endroit où se trouve le chat. Pour de telles tâches, vous pouvez utiliser FTK Imager. Je vais le résoudre en utilisant AutoPsy . Exécutez le programme.

image

On nous dit d'ouvrir la page dans un navigateur. Nous ouvrons. Créez maintenant un nouveau cas et ajoutez un hôte. Ensuite, vous devez ajouter une image.

Les images
image

image

image

image

image

image

image

Après avoir créé l'environnement, nous avons ce qui suit.

image "

Sélectionnez l'option d'analyse.

image

Nous affichons la structure de section suivante. Il n'y a rien d'intéressant dans le dossier Documentations. Passons à Fichiers.

image

Il y a un fichier odt intéressant. Nous le sélectionnons.

image

Le contenu est affiché ci-dessous - il y a une sorte d'image. Sélectionnez extraire pour extraire le fichier. Du fichier téléchargé, nous extrayons l'image.

image

Il s'agit très probablement du chat que nous devons trouver. Voyons les informations exif.

image

Super, il y a des coordonnées de localisation. On le trouve dans les cartes.

image

Nous envoyons la réponse et obtenons des points.

image

De plus en plus compliqué ... Vous pouvez nous rejoindre sur Telegram . Là, vous pouvez proposer vos propres sujets et voter sur le choix des sujets pour les articles suivants.

Source: https://habr.com/ru/post/fr469577/


All Articles