
ssh-mitm v6.0.0
SSH-MITM - SSH 감사를 더 쉽게
SSH-MITM - ssh 감사(ssh audits)를 간편하게
승인된 보안 감사를 위한 대화형 SSH 가로채기 도구입니다.
세션을 가로채고, 실시간 트래픽을 모니터링하며, 명령을 주입하고, 파일 전송을 조작할 수 있습니다 — 모두 실시간으로 가능합니다.
법적 고지: SSH-MITM은 승인된 보안 감사, 침투 테스트 및 연구 목적으로만 사용해야 합니다. 소유하지 않았거나 명시적인 서면 허가를 받지 않은 시스템에 대해 사용하지 마십시오. SSH 트래픽의 무단 가로채기는 귀하의 관할권에서 불법일 수 있습니다.
🎓 SSH-MITM이 처음이신가요? 대화형 튜토리얼로 시작하세요
ssh-mitm tutorial
브라우저 기반의 단계별 가이드가 열립니다 — 대상 서버가 필요 없습니다. 5개 챕터로 구성된 Logfile Inc. 의 승인된 평가를 다루며, 다음 내용을 포함합니다: 비밀번호 가로채기, 공개 키 인증, SFTP 전송, 명령 실행 및 실시간 세션 미러링.
빠른 시작
클라이언트와 SSH 서버 사이에 위치한 SSH-MITM은 연결을 가로챕니다 — 양쪽을 독립적으로 종료하고 모든 트래픽을 전달하면서 감사자에게 완전한 가시성과 제어권을 제공합니다:
1. 설치
SSH-MITM은 설치가 필요 없습니다. AppImage를 다운로드하면 바로 사용할 수 있습니다:
wget https://github.com/ssh-mitm/ssh-mitm/releases/latest/download/ssh-mitm-x86_64.AppImage
chmod +x ssh-mitm-x86_64.AppImage
다른 설치 옵션(pip, Flatpak, Snap)은 설치 가이드를 참조하세요.
⚡ 최신 버전 받기
PyPI 릴리스는 지연될 수 있습니다. 대화형 튜토리얼과 모든 최신 개선 사항을 얻으려면 GitHub에서 직접 설치하세요:
pip install git+https://github.com/ssh-mitm/ssh-mitm.git
2. SSH-MITM 시작
SSH-MITM을 대상 호스트로 지정하세요 — 테스트 권한이 있는 시스템을 사용하세요:
./ssh-mitm-x86_64.AppImage server --remote-host <target-host>
3. 클라이언트 연결 라우팅
SSH 클라이언트가 포트 10022에서 SSH-MITM을 통해 연결하도록 하세요:
ssh -p 10022 user@mitm-host
SSH-MITM은 세션을 가로채고 자격 증명을 즉시 기록합니다:
INFO Remote authentication succeeded
Remote Address: <target-host>:22
Username: alice
Password: secret
Agent: no agent
4. 실시간 세션에 연결
가로챈 모든 연결에 대해 SSH-MITM은 로컬 포트에 미러 셸을 엽니다:
INFO ℹ created mirrorshell on port 34463. connect with: ssh -p 34463 127.0.0.1
별도의 터미널에서 연결하세요:
ssh -p 34463 127.0.0.1
미러 셸은 세션을 실시간으로 반영합니다. 감사자는 사용자의 활동을 관찰하고 원래 연결에 영향을 주지 않고 독립적으로 명령을 주입할 수 있습니다.
SSH-MITM이 할 수 있는 작업
| 기능 | 설명 |
|---|---|
| 대화형 세션 모니터링 | 미러 셸을 통해 가로챈 모든 세션에 연결 — 실시간으로 명령 관찰 및 주입 |
| 파일 전송 조작 | SCP/SFTP 전송 가로채기, 복사본 저장 또는 파일 즉시 교체 |
| 포트 포워딩 가로채기 | TCP 터널 및 동적 SOCKS 4/5 포워딩 가로채기 |
| FIDO2 토큰 피싱 | trivial auth 공격을 통한 하드웨어 토큰 인증 가로채기 (OpenSSH 정보) |
| 인증 가로채기 | 비밀번호 캡처; 대상 서버와 동일한 공개 키를 수락하고 자동으로 비밀번호 인증으로 대체 |
| MOSH 세션 모니터링 | MOSH(Mobile Shell) UDP 세션 가로채기 및 복호화; 내장 VT100/ANSI 에뮬레이터로 실시간 터미널 보기 |
| PowerShell 원격(PSRP) | SSH를 통한 PowerShell 원격 세션 가로채기; 명령, 출력, 오류 및 상태 전환 기록; 세션별 기록 파일 작성 |
| 클라이언트 감사 | 키 협상 동작만으로 연결하는 SSH 클라이언트의 알려진 취약점 식별 |
| 플러그인 지원 | 플러그인으로 모든 가로채기 동작 확장 및 사용자 지정 |
사용 사례
- 침투 테스트 — 승인된 작업에서 SSH 클라이언트 및 서버를 적극적으로 감사; 세션 가로채기, 조작 및 재생
- 보안 연구 — SSH 클라이언트 동작, 인증 흐름 및 프로토콜 수준 약점을 대화형으로 분석
- 교육 환경 — 통제된 실습 환경에서 MITM 기술 및 세션 하이재킹 시연
- 악성코드 분석 — 격리된 환경에서 의심스러운 클라이언트의 SSH 세션 모니터링 및 상호작용
보안 연구
SSH-MITM은 원래 SSH 클라이언트가 하드웨어 토큰 인증을 처리하는 방식의 근본적인 약점을 조사하기 위해 개발되었습니다. 연구 결과, 2차 인증으로 자주 사용되는 FIDO2 토큰이 trivial authentication이라는 기법을 통해 피싱될 수 있음이 밝혀졌습니다.
이 공격은 SSH 클라이언트가 프롬프트가 없는 keyboard-interactive와 같은 trivial 인증 방식으로 강제될 수 있다는 사실을 악용하며, 이는 실제 인증 없이 효과적으로 접근 권한을 부여합니다. 토큰이 도전받지 않기 때문에 하드웨어 토큰 보호를 완전히 우회합니다. SSH-MITM은 이를 명시적으로 거부하지 않는 모든 클라이언트에 대해 이 공격을 시뮬레이션할 수 있습니다:
ssh-mitm server --enable-trivial-auth
Man-in-the-Middle 위치에서 작동하면 어느 엔드포인트에서도 볼 수 없는 SSH 클라이언트 동작을 관찰할 수 있습니다. SSH-MITM은 널리 배포된 SSH 소프트웨어에서 이전에 알려지지 않은 7개의 취약점 을 발견하는 데 사용되었습니다:
최신: CVE-2026-60000 — OpenSSH의 GSSAPI 인증이 RFC 4462를 위반하여 공격자가
MaxAuthTries를 완전히 우회하고 인증 전 서비스 거부를 유발할 수 있었습니다. 동일한 근본 원인으로 사용자 이름 유효성 오라클과 권한 있는 프로세스 충돌도 발생했으며, 모두 OpenSSH 10.4에서 수정되었습니다.
DeepSec 2021 발표 — 공격에 대한 전체 설명:
vimeo.com에서 보려면 클릭하세요
이 연구의 모든 결과가 취약점인 것은 아닙니다 — OpenSSH에 직접 기여한 하드닝 수정 사항은 Upstream 기여를 참조하세요.
(맨 위로)
기여
기여를 환영합니다! 개발 환경 설정, 코드 스타일 및 풀 리퀘스트 제출 방법에 대한 자세한 내용은 CONTRIBUTING.md를 읽어주세요.
(맨 위로)
연락처
- 이메일: [email protected]
- 이슈 트래커
(맨 위로)

