이곳에서 작성되는 Network Hacking 기법들은 다른곳에서
악의적으로 사용할시에는 처벌을 받으실수도 있습니다
부디 악의적인마음으로 사용하지 마시고 이곳이 지식을 쌓는 장소가
되었으면 좋겠습니다 조심해서 사용해 주시길 바랍니다
SNMP Vulnerability
SNMP
→ 단순한형태를 가진 네트워크관리용 프로토콜
NMS = 네트워크 장비들을 관리하기위해 만들어진것
Manager = 관리자
Agent = 관리자에게 수집한 정보를 보고 관리자에게 명령받은것을 수행하는 대리인
MIB 형태로 저장 []
라우터에 SNMP 서버를 설치하여 사용할것이다
Polling 방식
Manager가 Agent에게 명령하고 Agent가 수행하고 보고하는 형식
UDP 161번
Event Reporting
Agent가 특정상황 발생시 Manager에게 보고하는 형식
UDP 162번
→SNMP는 그래픽 환경으로 네트워크의 정보를 손쉽게 실시간으로 얻을수있다
★Community String = 관리자가 Agent에게 명령시 특정 명령어를 입력해야지 Agent가 명령을 수행한다 ( Agent가 관리자인지 확인하는 유일한 수단 )
→ Sniffing을 시도하면 Community String을 바로 얻어낼수있음 , 보안성 취약
SNMP는 암호화 통신이 되지않아 Community String에 의존하는 경향이 있다
공격자가 SNMP 공격에 성공하게 되면 모든 설정을 한눈에 파악할수있다
SNMP에서 사용되는 메시지
==================================================================
→ CMIP는 리소스를 많이 소모하고 구조가 복잡하여 사용하지않고 SNMP를 더많이 사용함
==================================================================
Cisco OID 확인 방법
site 주소 = tools.cisco.com/Support/SNMP/do/BrowseOID.do
ID = wingofbluesky27
PW = P@ssw0rd
N은 OID 명령어의 끝을 의미한다
→ (x)의 경우에는 OID 명령어후 세부 설정을 의미한다
즉 1.3.6.1.4.1.9.9.96.1.1.1.1.3.(3) = 복사할 환경설정 파일을 Startup config로 지정
TFTP로 업로드를 하게되면
병합이 된다 즉 명령어를 수정할때 명령어를 입력하는것처럼 해야한다
XP가 Manager
Router가 Agent 이다
XP에서 실행한 명령어 기준으로 라우터의 정보를 받게 되면
라우터 입장에서는 업로드 XP 입장에서는 다운로드
즉 입장이 반대로 되어있다
SNMP Manager 설정 방법
Manager은 여러가지 방법이 있지만 이번에는 Solarwind 를 사용해 보겠다
Setup파일을 keygen을 이용 크랙하여 설치한다
==================================================================
SNMP Agent 설정 방법
라우터를 Agent로 설정시
Snmp-server community [community string] [권한] 순으로 입력하면된다
즉 snmp를 동작시키는데 private는 읽기 쓰기 권한주는것
public 은 읽기 권한만 주는것 으로 설정 할수있다
==================================================================
Solarwind 프로그램을 이용하면 GUI 환경으로 SNMP를 사용할수있다
TFTP 의 기능을 사용할시
TFTP의 간단한 설정을 한후
Agent에서 Config정보도 다운로드 받을수 있다
Agent IP와 Community String을 입력후
Config정보를 다운받게 되면 설정 TFTP 기본경로에 Config 파일이 들어오게된다
패킷을 분석하게되면 UID 정보가 사용된것을 확인할수있다
업로드 시에는 병합과 덮어쓰기중 잘 선택하여 사용해야한다
SNMP Vulnerability
공격방법
1.공격 시작전 라우터에 SNMP 설정이 되어있는지 확인
포트스캐닝을 이용하면된다 [udp]
SNMP를 이용하기 위해 Community String을 얻어내야 한다
==================================================================
만약 스니핑이 불가능한 상황에서 SNMP를 공격하는 방법
onesixtyone = Brute Forcing을 이용한 Community String을 얻어내는 방법
사전공격을 통하여 Community String을 알아낼수도 있고 만약 불가능하다면
무차별 대입기법을 통하여 기다려보는 방법도 있다
※스니핑이 가능하다면 그냥 스니핑 하면 Community String은 암호화가 되어있지 않기 때문에 그냥 공격할수있다
==================================================================
2.무차별 대입기법을 통한 Community String 알아내는 방법
→ 해당 위치로 들어간다음
→ 무차별 대입기법을 통한 Community String 알아내는 방법
= Community String은 private와 public 이였다
3.공격할 방향에 따라서 Community String을 이용하여 공격
→ 예를들어 TFTP를 이용해서 라우터의 정보를 얻어내고 싶다면
snmpset -v 2c -c private 10.10.10.100 1.3.6.1.4.1.9.9.9.96.1.1.1.1.2.200 i 1
→ snmpset -v [버전] -c [Community String] [SNMP Agent 주소] [OID] [입력할내용]
※입력할 내용에 따라서 숫자는 = i , 문자는 = s , 주소는 = a로 입력한다
★만약 재공격시 OID의 맨 마지막 숫자 N 을 변경해서 공격해야 한다
TFTP를 통해서 공격자에게 running config의 정보를 다운받아
running-config라는 이름으로 저장하는 방법
확인해보면 정상적으로 전송되어 있다
※반대로 업로드를 해서 공격을 하고싶으면 OID의 마지막 옵션들을 수정해서 공격하면 된다
방어방법
스니핑 방지하는 방법
Community String을 알아내기 힘들게 복잡하게 사용하는 방법
==================================================================
BT에서 TFTP 설정 하는 방법
1.BT에서 window의 유틸을 사용할수 있는 Wine을 설정해야 한다
→ Autodetect로 드라이브들을 자동으로 찾아서 잡아준다
2.사용할 tool에 권한을 올려 사용할수 있게 해야한다
→ TFTP를 사용해야 하기 때문에 TFTP의 권한을 높여 줘야 한다
→ TFTP를 사용하게되면 이런식으로 로그가 남는다
=======================================================
=======================================================
공격방법 2
BT에서 snmpset을 자동으로 입력해주는 파일을 만들어서 좀더 편한 방식으로
SNMP Vulnerability 공격을 할수있다 한줄씩 입력해야하는것에 비해서 편하게 공격할수있는방법이다
=================================================================
※ echo = printf 와 비슷하게 동작한다
→ “”에 묶여 있는 문자열을 출력해준다 또한 -n 옵션을 같이사용하면
다음입력을 받기전까지 대기상태로 남아 있는다
※ read = 변수처럼 사용하며 해당 문자열을 입력 받아 넘겨주는 역할을 한다
즉 Enter a Number을 출력하고 대기하고 있다가 숫자를 입력해주면 NO에
들어가서는 방식이다
==================================================================
해당 파일을 생성후 실행 하게되면 몇가지 필요한 정보를 입력하게 된다
→ 해당 명령어들은 SNMP 서버에서 running-config를 받아오는 방법으로
SNMP 서버 주소 , Community String , TFTP의 주소 , 저장할 파일 이름을 입력하게 되면
running config를 다운받을수 있다
==================================================================
해당 파일이 생성되는것을 확인할수있다 하지만 SNMP 서버가 TFTP의 기능을 관리자에게만
설정을 했다면
파일이 생성되지않는다