mirror of https://github.com/OWASP/Nettacker.git
45 lines
1.2 KiB
Python
45 lines
1.2 KiB
Python
from unittest.mock import patch
|
|
|
|
from nettacker.core.lib.smb import SmbLibrary
|
|
from tests.common import TestCase
|
|
|
|
SMB_SESSION_PORT = 445
|
|
|
|
|
|
class MockSmbConnectionObject:
|
|
def __init__(self, remoteName="", remoteHost="", sess_port=SMB_SESSION_PORT):
|
|
self._sess_port = sess_port
|
|
self._remoteHost = remoteHost
|
|
self._remoteName = remoteName
|
|
|
|
def login(self, user, password, domain="", lmhash="", nthash=""):
|
|
return None
|
|
|
|
|
|
class TestSmbMethod(TestCase):
|
|
@patch("nettacker.core.lib.smb.create_connection")
|
|
def test_brute_force_password(self, mock_smb_connection):
|
|
library = SmbLibrary()
|
|
HOST = "dc-01"
|
|
PORT = 445
|
|
USERNAME = "Administrator"
|
|
PASSWORD = "Password@123"
|
|
|
|
mock_smb_connection.return_value = MockSmbConnectionObject(
|
|
HOST, remoteHost=HOST, sess_port=PORT
|
|
)
|
|
self.assertEqual(
|
|
library.brute_force(
|
|
host=HOST,
|
|
port=PORT,
|
|
username=USERNAME,
|
|
password=PASSWORD,
|
|
),
|
|
{
|
|
"host": HOST,
|
|
"port": PORT,
|
|
"username": USERNAME,
|
|
"password": PASSWORD,
|
|
},
|
|
)
|