ssh-audit

ssh-audit는 SSH 서버 감사 도구입니다.
기능
- SSH1 및 SSH2 프로토콜 서버 지원;
- 배너 수집, 장치 또는 소프트웨어 및 운영 체제 인식, 압축 감지;
- 키 교환, 호스트 키, 암호화 및 메시지 인증 코드 알고리즘 수집;
- 알고리즘 정보 출력 (사용 가능 시기, 제거/비활성화, 안전하지 않음/취약/레거시 등);
- 알고리즘 권장 사항 출력 (인식된 소프트웨어 버전에 따라 추가 또는 제거);
- 보안 정보 출력 (관련 이슈, 할당된 CVE 목록 등);
- 알고리즘 정보를 기반으로 SSH 버전 호환성 분석;
- OpenSSH, Dropbear SSH 및 libssh의 기록 정보;
- 종속성 없음, Python 2.6+, Python 3.x 및 PyPy 호환;
사용법
usage: ssh-audit.py [-1246pbnvl] <host>
-1, --ssh1 force ssh version 1 only
-2, --ssh2 force ssh version 2 only
-4, --ipv4 enable IPv4 (order of precedence)
-6, --ipv6 enable IPv6 (order of precedence)
-p, --port=<port> port to connect
-b, --batch batch output
-n, --no-colors disable colors
-v, --verbose verbose output
-l, --level=<level> minimum output level (info|warn|fail)
- IPv4와 IPv6가 모두 사용되는 경우
-46 또는 -64를 사용하여 우선 순위를 설정할 수 있습니다.
- 배치 플래그
-b는 헤더 없이 빈 줄 없이 섹션을 출력합니다 (verbose 플래그 포함).
- verbose 플래그
-v는 각 줄에 섹션 유형과 알고리즘 이름을 접두사로 추가합니다.
예시

변경 기록
v1.7.0 (2016-10-26)
- IPv4/IPv6 사용 및 우선 순위를 지정할 수 있는 옵션 구현
- 원격 포트를 지정하는 옵션 구현 (이전 동작 유지 호환성)
- 선택적 colorama 종속성을 통해 Microsoft Windows에 색상 지원 추가
- 인코딩 및 디코딩 문제 수정, 테스트 추가, 인코딩 오류로 인한 충돌 방지
- mypy-lang을 사용한 정적 타입 검사 및 모든 코드 검증
v1.6.0 (2016-10-14)
- 알고리즘 권장 섹션 구현 (인식된 소프트웨어 기준)
- 전체 libssh 지원 구현 (버전 기록, 알고리즘, 보안 등)
- SSH-1.99 배너 인식 및 버전 비교 기능 수정
- 빈 알고리즘 출력하지 않음 (잘못 구성된 서버에서 발생)
- Python 3.x 버전의 일관된 출력 생성
- 더 많은 테스트 추가 (conf, 배너, 소프트웨어, SSH1/SSH2, 출력 등)
- Travis CI를 사용하여 여러 Python 버전 테스트 (2.6-3.5, pypy, pypy3)
v1.5.0 (2016-09-20)
- 관련 보안 정보를 위한 보안 섹션 생성
- Dropbear SSH에 대한 할당된 CVE 목록 및 보안 이슈 매칭 및 출력
- 지문 정보를 포함한 전체 SSH1 지원 구현
- 프로토콜 불일치 시 자동으로 SSH1으로 폴백
- SSH1 또는 SSH2를 강제하는 새 옵션 추가 (기본적으로 둘 다 허용)
- 배너 정보를 파싱하여 특정 소프트웨어 및 OS 버전으로 변환
- 배치 모드에서 패딩 사용하지 않음
- 여러 수정 (Cisco sshd, 드문 멈춤, 오류 처리 등)
v1.0.20160902
- 배치 출력 옵션 구현
- 최소 출력 수준 옵션 구현
- Python 2.6과의 호환성 수정
v1.0.20160812
- SSH 버전 호환성 기능 구현
- 잘못된 MAC 알고리즘 경고 수정
- Dropbear SSH 버전 오타 수정
- 사전 배너 헤더 파싱
- 더 나은 오류 처리
v1.0.20160803
- OpenSSH 7.3 배너 사용
- 새로운 키 교환 알고리즘 추가
v1.0.20160207
- OpenSSH 7.2 배너 사용
- OpenSSH 7.2에 대한 추가 경고
- OpenSSH 7.0 실패 메시지 수정
- OpenSSH 6.7의 rijndael-cbc 실패 메시지 추가
v1.0.20160105
- 여러 추가 경고
- none 알고리즘 지원
- 더 나은 압축 처리
- 충분한 데이터 읽기 보장 (일부 Linux SSH 수정)
v1.0.20151230
v1.0.20151223