실습 환경은 아래와 같이 세팅하겠습니다.
공격자 | Ubuntu Desktop (Ubuntu 20.04.4 LTS) |
공격 대상 | Windows Server 2012 (R2) |
사용 프로그램 | snmpwalk |
1) SNMP 설치
Windows Server 2012에 SNMP를 설치하겠습니다.
Server Manager의 Manage탭에 "Add Roles and Features"를 클릭합니다.
Features 탭에서 "SNMP Service"를 찾아 체크 후 install 버튼을 눌러 설치해줍니다.
Server Manager의 Tools탭에 있는 "Services" 에서 SNMP가 구동 중인 것을 확인할 수 있습니다.
2) SNMP Community String 설정
위의 창에서 SNMP Service 우클릭 => Properties 메뉴를 선택합니다.
(Server Manager => Tools => Services => SNMP Service 우클릭 => Properties)
Security 탭에서 Add... 클릭 후 커뮤니티 이름을 "public"으로 설정 후 추가하겠습니다.
추가 후 아래의 라디오 박스는 "Accept SNMP packets from any host" 를 체크합니다.
( 장치를 쿼리할 수 있는 Host 이름 또는 IP 주소를 입력하여 클라이언트를 지정할 시 아래의 라디오박스를 체크합니다. )
3) snmpwalk 설치 및 스캐닝
snmpwalk를 설치하기 위해 공격자인 우분투 데스크탑으로 돌아와서 snmp를 설치합니다.
sudo apt-get install snmp
설치 후 포트가 열려있는지 확인해야 합니다.
SNMP는 UDP 161번 포트를 사용하기 때문에, 아래의 명령으로 스캔합니다.
nmap -sU -p 161 192.168.0.1
( nmap에서 brute force 공격을 도와주는 Script를 사용하여 해당 Community String을 알아낼 수 있습니다. )
nmap -sU -p 161 --script=snmp-brute 192.168.0.1
snmpwalk로 스캔을 하려면 아래와 같이 명령을 사용합니다.
snmpwalk -v 1 -c public 192.168.0.1 1.3.6.1.2.1.1
( -v 옵션 : Version
-c 옵션 : Community String
1.3.6.1.2.1.1 : MIB 정보 )
Timeout: No Response from 192.168.0.1
위와 같은 오류가 뜨는 경우, 아래와 같이 localhost나 loopback으로 바꿔서 테스트해보시길 권장합니다.
snmpwalk -v 1 -c public localhost 1.3.6.1.2.1.1
snmpwalk -v 1 -c public loopback 1.3.6.1.2.1.1
( 오류가 뜨는 이유는 192.168.0.1에서 161번 포트를 LISTEN하지 않아서 생긴 문제같습니다.
정확한 이유를 아시는 분이나 해결법을 아시는 분은 댓글로 부탁드립니다. )
root@ubuntu:/# sudo netstat -ltup | grep 161
root@ubuntu:/#
'[네트워크] 컴퓨터 네트워크' 카테고리의 다른 글
[네트워크] 스니핑 공격 툴 - TCP Dump (실습) (0) | 2022.09.18 |
---|---|
[네트워크] 스니핑, Promiscuous Mode 변경 실습 (2) | 2022.09.17 |
[네트워크] 방화벽 탐지, SNMP (0) | 2022.09.15 |
[Network] 전송층 개요_2 (0) | 2022.04.19 |
[Network] 전송층 개요 (0) | 2022.04.18 |