
SNMPv3 사용자 열거 및 공격 도구
SNMPwn은 SNMPv3 사용자 열거 및 공격 도구입니다. 이는 보안 전문가 및 침투 테스터가 테스트 권한이 있는 호스트를 대상으로 사용하도록 설계된 합법적인 보안 도구입니다. SNMPv3 시스템이 존재하지 않는 SNMP 사용자에게 "알 수 없는 사용자 이름"으로 응답한다는 점을 이용하여, 대규모 사용자 목록을 순회하며 실제 존재하는 사용자를 찾아냅니다.
Kali Linux 2.x rolling용으로 제작 및 테스트되었습니다. 모든 Linux 플랫폼에서 작동해야 하지만 현재 Mac OSX에서는 작동하지 않습니다. 추후 시간이 나면 수정할 예정입니다. 이는 OSX에서 snmpwalk의 stdout 메시지가 다르기 때문입니다. 이 스크립트는 기본적으로 snmpwalk를 래핑합니다. 사용한 snmpwalk 버전은 5.7.3입니다.
git clone https://github.com/hatlord/snmpwn.git
cd snmpwn
gem install bundler
bundle install
./snmpwn.rb
Ruby 2.3.x용으로 제작되었습니다. 이전 버전의 Ruby도 작동할 수 있지만, 1.9 이전 버전은 작동하지 않을 수 있습니다.
스크립트에 사용자 목록, 호스트 목록, 비밀번호 목록 및 암호화 비밀번호 목록을 제공해야 합니다. 기본 users.txt 및 passwords.txt 파일이 포함되어 있습니다. passwords.txt를 암호화 목록으로 사용할 수도 있습니다. 침투 테스트 중인 조직에 특화된 목록을 생성하는 것을 권장합니다.
명령줄 옵션은 항상 --help를 통해 확인할 수 있으며, 충분히 명확해야 합니다. 특별히 설명이 필요한 옵션은 다음과 같습니다:
--showfail - 모든 비밀번호 공격 시도를 성공 및 실패 모두 표시합니다. 콘솔 출력이 지저분해지므로, 이 옵션을 선택하지 않으면 회전식 진행 표시기가 대신 표시됩니다.
--timeout - 명령 응답(여기서는 snmpwalk)에 대한 제한 시간(밀리초)입니다. 기본값은 0.3(300밀리초)입니다. 느린 링크를 통해 호스트를 테스트하는 경우 이 값을 늘려야 합니다. 개인적으로 300 미만으로 설정하면 결과가 불안정해질 수 있으므로 권장하지 않습니다.
./snmpwn.rb --hosts hosts.txt --users users.txt --passlist passwords.txt --enclist passwords.txt


