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