업데이트로 돌아가기
New releaseSep 11, 2026

ssh-mitm v6.0.0

SSH-MITM - SSH 감사를 더 쉽게

공유

SSH-MITM - ssh 감사(ssh audits)를 간편하게

SSH-MITM intercepting password login

승인된 보안 감사를 위한 대화형 SSH 가로채기 도구입니다.
세션을 가로채고, 실시간 트래픽을 모니터링하며, 명령을 주입하고, 파일 전송을 조작할 수 있습니다 — 모두 실시간으로 가능합니다.

Download as an AppImage     Download on Flathub     Get it from the Snap Store

OpenSSF Best Practices Code style: black CodeFactor Documentation Status PRs Welcome GitHub Follow me on GitHub

법적 고지: SSH-MITM은 승인된 보안 감사, 침투 테스트 및 연구 목적으로만 사용해야 합니다. 소유하지 않았거나 명시적인 서면 허가를 받지 않은 시스템에 대해 사용하지 마십시오. SSH 트래픽의 무단 가로채기는 귀하의 관할권에서 불법일 수 있습니다.


🎓 SSH-MITM이 처음이신가요? 대화형 튜토리얼로 시작하세요

ssh-mitm tutorial

브라우저 기반의 단계별 가이드가 열립니다 — 대상 서버가 필요 없습니다. 5개 챕터로 구성된 Logfile Inc. 의 승인된 평가를 다루며, 다음 내용을 포함합니다: 비밀번호 가로채기, 공개 키 인증, SFTP 전송, 명령 실행 및 실시간 세션 미러링.

SSH-MITM interactive tutorial


빠른 시작

클라이언트와 SSH 서버 사이에 위치한 SSH-MITM은 연결을 가로챕니다 — 양쪽을 독립적으로 종료하고 모든 트래픽을 전달하면서 감사자에게 완전한 가시성과 제어권을 제공합니다:

SSH-MITM setup

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

SSH-MITM intercepting credentials

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 CVE-2022-38337 CVE-2022-38336 CVE-2021-36370 CVE-2021-36369 CVE-2021-36368 CVE-2021-36367

최신: CVE-2026-60000 — OpenSSH의 GSSAPI 인증이 RFC 4462를 위반하여 공격자가 MaxAuthTries를 완전히 우회하고 인증 전 서비스 거부를 유발할 수 있었습니다. 동일한 근본 원인으로 사용자 이름 유효성 오라클과 권한 있는 프로세스 충돌도 발생했으며, 모두 OpenSSH 10.4에서 수정되었습니다.

DeepSec 2021 발표 — 공격에 대한 전체 설명:
vimeo.com에서 보려면 클릭하세요
Click to view video on vimeo.com

발표 슬라이드 다운로드

이 연구의 모든 결과가 취약점인 것은 아닙니다 — OpenSSH에 직접 기여한 하드닝 수정 사항은 Upstream 기여를 참조하세요.

(맨 위로)

기여

기여를 환영합니다! 개발 환경 설정, 코드 스타일 및 풀 리퀘스트 제출 방법에 대한 자세한 내용은 CONTRIBUTING.md를 읽어주세요.

(맨 위로)

연락처

(맨 위로)

기여자

카테고리