SMTP Analysis
smtp-user-enum
- SMTP 서버에서 유효한 사용자 계정을 탐지하기 위해 사용하는 도구
- 여러 사용자 이름 목록을 제공하여 해당 이름들이 SMTP 서버에서 유효한지 확인하고, 이를 통해 잠재적인 공격 벡터를 찾아내는 데 도움을 준다.
사용법: smtp-user-enum [옵션] ( -u 사용자명 | -U 사용자명 파일 ) ( -t 호스트 | -T 대상 파일 )
옵션:
-m n 최대 프로세스 수 (기본값: 5)
-M 모드 사용자명 추측에 사용할 방법 EXPN, VRFY 또는 RCPT (기본값: VRFY)
-u 사용자 원격 시스템에서 사용자가 존재하는지 확인
-f addr MAIL FROM 이메일 주소. "RCPT TO" 모드에서만 사용 (기본값: user@example.com)
-D 도메인 제공된 사용자 목록에 추가하여 이메일 주소 생성 (기본값: 없음)
유효한 이메일 주소를 추측하려는 경우 이 옵션 사용
예: "-D example.com"은 foo@example.com, bar@example.com 등 추측
단순히 사용자명 foo와 bar만 사용하는 것이 아님.
-U 파일 smtp 서비스로 확인할 사용자명 파일
-t 호스트 smtp 서비스가 실행되는 서버 호스트
-T 파일 smtp 서비스가 실행되는 호스트명 파일
-p 포트 smtp 서비스가 실행되는 TCP 포트 (기본값: 25)
-d 디버깅 출력
-w n 응답 대기 최대 n 초 (기본값: 5)
-v 자세한 출력
-h 이 도움말 메시지
또한 smtp-user-enum tarball에서 smtp-user-enum-user-docs.pdf를 참조하십시오.
예시:
$ smtp-user-enum -M VRFY -U users.txt -t 10.0.0.1
$ smtp-user-enum -M EXPN -u admin1 -t 10.0.0.1
$ smtp-user-enum -M RCPT -U users.txt -T mail-server-ips.txt
$ smtp-user-enum -M EXPN -D example.com -U users.txt -t 10.0.0.1
- 특징
- 사용자 계정 열거: SMTP 서버에서 특정 사용자 계정의 존재 여부를 확인하여 계정을 열거하는 데 사용된다.
- 다양한 열거 방법: smtp-user-enum은 다양한 방법으로 사용자 정보를 수집할 수 있으며, 특히 VRFY 및 EXPN 명령어를 이용한다.
- 오류 메시지 기반: SMTP 서버의 응답 메시지를 분석하여 사용자 계정의 존재 여부를 판단한다. 예를 들어, 존재하는 계정에 대해선 확인 응답을, 존재하지 않는 계정에 대해서는 오류 메시지를 반환한다.
- 탐지 회피 기능: 도구 사용 시 SMTP 서버의 로그에 과도한 요청이 남지 않도록 요청을 조절할 수 있는 기능이 있다.
- 확장성: 사용자 계정 목록을 파일로 입력하여 한 번에 여러 계정을 검사할 수 있는 기능을 제공한다.