Agent: Make MSSQLExploiter interruptible

This commit is contained in:
Mike Salvatore 2022-03-17 14:28:46 -04:00
parent 0ffe023a9f
commit df5a0fe119
1 changed files with 12 additions and 1 deletions

View File

@ -15,6 +15,7 @@ from infection_monkey.model import DROPPER_ARG
from infection_monkey.transport import LockedHTTPServer from infection_monkey.transport import LockedHTTPServer
from infection_monkey.utils.brute_force import generate_identity_secret_pairs from infection_monkey.utils.brute_force import generate_identity_secret_pairs
from infection_monkey.utils.commands import build_monkey_commandline from infection_monkey.utils.commands import build_monkey_commandline
from infection_monkey.utils.threading import interruptable_iter
logger = logging.getLogger(__name__) logger = logging.getLogger(__name__)
@ -72,6 +73,9 @@ class MSSQLExploiter(HostExploiter):
) )
return self.exploit_result return self.exploit_result
if self.is_interrupted():
return self.exploit_result
try: try:
# Create dir for payload # Create dir for payload
self.create_temp_dir() self.create_temp_dir()
@ -209,7 +213,14 @@ class MSSQLExploiter(HostExploiter):
""" """
# Main loop # Main loop
# Iterates on users list # Iterates on users list
for user, password in users_passwords_pairs_list: credentials_iterator = interruptable_iter(
users_passwords_pairs_list,
self.interrupt,
"MSSQL exploiter has been interrupted",
logging.INFO,
)
for user, password in credentials_iterator:
try: try:
# Core steps # Core steps
# Trying to connect # Trying to connect