diff --git a/requirements.txt b/requirements.txt index be89525f..cd980d31 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,3 +2,5 @@ requests==2.32.2 paramiko pysnmp pycryptodome +telnetlib3 +setuptools diff --git a/routersploit/core/snmp/snmp_client.py b/routersploit/core/snmp/snmp_client.py index 1d5504ff..c508cf06 100644 --- a/routersploit/core/snmp/snmp_client.py +++ b/routersploit/core/snmp/snmp_client.py @@ -1,5 +1,5 @@ import asyncio -from pysnmp.hlapi.v3arch.asyncio import * +from pysnmp.hlapi.v3arch.asyncio import SnmpEngine, CommunityData, UdpTransportTarget, ContextData, ObjectType, ObjectIdentity, get_cmd from routersploit.core.exploit.exploit import Exploit from routersploit.core.exploit.exploit import Protocol diff --git a/routersploit/core/ssh/ssh_client.py b/routersploit/core/ssh/ssh_client.py index 4c4250a9..927f0d4b 100644 --- a/routersploit/core/ssh/ssh_client.py +++ b/routersploit/core/ssh/ssh_client.py @@ -83,7 +83,8 @@ def login_pkey(self, username: str, priv_key: str, retries: int = 1) -> bool: """ if "DSA PRIVATE KEY" in priv_key: - priv_key = paramiko.DSSKey.from_private_key(io.StringIO(priv_key)) + print_error(self.peer, "DSA keys are no longer supported by paramiko, skipping", verbose=self.verbosity) + return False elif "RSA PRIVATE KEY" in priv_key: priv_key = paramiko.RSAKey.from_private_key(io.StringIO(priv_key)) else: