sshmitm.tutorial.tutorials.password_auth package

Tutorial: Password Authentication Interception.

class sshmitm.tutorial.tutorials.password_auth.PasswordAuthTutorial

Bases: Tutorial

category: ClassVar[str] = 'Authentication'
description: ClassVar[str] = 'Learn how SSH-MITM intercepts plaintext passwords.'
docs: ClassVar[dict[str, str]] = {'Authentication': 'https://docs.ssh-mitm.at/audit_guide/authentication.html', 'Logfile Inc. Assessment': 'https://docs.ssh-mitm.at/get_started/scenario.html'}
id: ClassVar[str] = '01-password-auth'
lab_service_labels: ClassVar[dict[str, str]] = {'mock_port': 'web01.logfileinc.internal'}
proxy_target

alias of Web01

requires: ClassVar[list[Requirement]] = [<sshmitm.tutorial._requirements.RandomPassword object>]
scenario

alias of LogfileIncScenario

steps: list[Step] = [Step(id='intro', title='What you will learn', content='', condition=<sshmitm.tutorial._conditions.TRUE object>, victim_action=None, command=None, copyable=[], hint_waiting='', hint_done='Introduction read. ✓'), Step(id='start-sshmitm', title='Start SSH-MITM', content='', condition=<sshmitm.tutorial._conditions.PortOpen object>, victim_action=None, command='ssh-mitm server --remote-host {proxy_target_address} --remote-port {mock_port} --listen-port {sshmitm_port}', copyable=[], hint_waiting='Waiting for SSH-MITM to start on port {sshmitm_port}…', hint_done='SSH-MITM is running on port {sshmitm_port}. ✓'), Step(id='intercept', title='Enter the intercepted credentials', content='', condition=<sshmitm.tutorial._conditions.All object>, victim_action=<sshmitm.tutorial._client_actions.SSHPasswordAction object>, command=None, copyable=[], hint_waiting='Look at the SSH-MITM terminal and enter both values above.', hint_done='Correct! Tutorial complete. ✓')]
tags: ClassVar[list[str]] = ['Password Auth', 'Credential Theft']
title: ClassVar[str] = 'Password Authentication'
victim

alias of MaxMorgan