Test d'intrusion : collecte de fichiers LINUX importants à l'aide de Python

Feb 22 2023
R. Eric Kiser En tant que testeur d'intrusion, la phase d'accès initiale n'est souvent que la première étape de l'objectif global de l'engagement, qui est d'identifier les vulnérabilités potentielles et de démontrer l'impact qu'un attaquant pourrait avoir sur l'organisation cible.

R. Eric Kiser

En tant que testeur d'intrusion, la phase d'accès initiale n'est souvent que la première étape de l'objectif global de l'engagement, qui est d'identifier les vulnérabilités potentielles et de démontrer l'impact qu'un attaquant pourrait avoir sur l'organisation cible. La collecte des fichiers après l'accès initial est cruciale pour atteindre cet objectif.

Les fichiers pouvant être collectés peuvent contenir des informations sensibles telles que des mots de passe, des fichiers de configuration, des scripts et d'autres données susceptibles de révéler des vulnérabilités potentielles au sein du système. Les informations obtenues à partir de ces fichiers peuvent être utilisées pour élever les privilèges, se déplacer latéralement au sein du réseau et accéder à d'autres systèmes et ressources. Il peut également être utilisé pour démontrer l'impact potentiel d'une violation et aider à identifier les domaines à améliorer.

En collectant des fichiers, les testeurs d'intrusion peuvent mieux évaluer la posture de sécurité de l'organisation cible, identifier les zones de faiblesse et aider l'organisation à améliorer sa posture de sécurité globale. Il est important de noter que la collecte des fichiers doit toujours se faire dans le cadre de la mission et avec le consentement préalable de l'organisation.

Un lecteur m'a demandé d'écrire sur la façon de collecter des fichiers importants à l'aide de Python sur un système Linux, à la suite de mon article précédent sur ce sujet pour un système Windows. Cela dit, votre demande est accordée.

Vous n'aurez qu'à importer le module os pour ce script qui fournit un moyen d'interagir avec le système d'exploitation de manière portable.

import os

def find_files_with_extension(directory, extension):

for root, dirs, files in os.walk(directory):

for file in files:

if file.lower().endswith(extension.lower()):
print(os.path.join(root, file))

directory = input("Enter the directory to search in: ")
extension = input("Enter the file extension to search for (e.g. .ini): ")

print(f"Searching for {extension} files in {directory}...")
find_files_with_extension(directory, extension)

import os

def find_files_with_extension(directory, extension):
    for root, dirs, files in os.walk(directory):
        for file in files:
            if file.lower().endswith(extension.lower()):
                print(os.path.join(root, file))

directory = input("Enter the directory to search in: ")
extension = input("Enter the file extension to search for (e.g. .ini): ")

print(f"Searching for {extension} files in {directory}...")
find_files_with_extension(directory, extension)