Crack passwd file
Aller à la navigation
Aller à la recherche
🔒 Contenu de sécurité — usage encadré
Cette page décrit des techniques de sécurité offensive à des fins exclusivement pédagogiques et professionnelles (formation, préparation de certification, montée en compétence défensive).
Ces techniques ne doivent être mises en œuvre que dans un laboratoire isolé ou sur un système pour lequel vous disposez d'une autorisation écrite explicite du propriétaire. Les employer contre un système tiers sans autorisation est une infraction pénale (art. 323-1 et suivants du Code pénal). Voir les avertissements généraux.
Note : Le code de cette page est repris de l'ouvrage Violent Python (T. J. O'Connor, Syngress, 2012). Reproduit ici à titre pédagogique ; les droits appartiennent à l'auteur et à l'éditeur (art. L122-4 CPI).
| Fiche express | |
|---|---|
| Domaine | Sécurité — mots de passe |
| Module | crypt
|
| Rôle | Cassage d'un fichier de mots de passe |
Programmes Python : cassage d'un fichier de mots de passe par dictionnaire (module crypt) et exemple de scanner de ports (module optparse). Fourni à titre pédagogique.
first program
- crack passwd file
import crypt
crypt.crypt("egg","HX")
import crypt
def testPass(cryptPass):
salt = cryptPass[0:2]
dictFile = open('dictionary.txt','r')
for word in dictFile.readlines():
word = word.strip('\n')
cryptWord = crypt.crypt(word,salt)
if (cryptWord == cryptPass):
print "[+] Found Password: "+word+"\n"
return
print "[-] Password Not Found.\n"
return
def main():
passFile = open('passwords.txt')
for line in passFile.readlines():
if ":" in line:
user = line.split(':')[0]
cryptPass = line.split(':')[1].strip(' ')
print "[*] Cracking Password For: "+user
testPass(cryptPass)
if __name__ == "__main__":
main()
port scanner
import optparse
parser = optparse.OptionParser('usage %prog -H'+\
'<target host> -p <target port>')
parser.add_option('-H', dest='tgtHost', type='string', \
help='specify target host')
parser.add_option('-p', dest='tgtPort', type='int', \
help='specify target port')
(options, args) = parser.parse_args()
tgtHost = options.tgtHost
tgtPort = options.tgtPort
if (tgtHost == None) | (tgtPort == None):
print parser.usage
exit(0)