Wins blog

글로벌 정보보안 파트너! Global Security  No.1 윈스는 국가대표 정보보안 기업에서 글로벌 강소기업으로 도약합니다.

보안 정보

앞 내용 보기 다음 내용 보기
취약점 정보Cisco Smart Install 프로토콜 취약점 분석_2
작성일 2018-04-26 조회 963

 

 

개요
최근 US-CERT 및 KISA 에서는 네트워크 인프라를 대상으로 하는 사이버 공격에 대해 "경고" 글을 공개하였습니다.

[https://www.us-cert.gov/ncas/alerts/TA18-106A]

[https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=27144]

 

해당 내용에서 영향 받는 시스템은 GRE (Generic Routing Encapsulation), Cisco Smart Install (SMI), SNMP (단순 네트워크 관리 프로토콜) 와 같이 공개하였습니다.

 

특히 Cisco Smart Install (SMI) 의 경우 이전부터 공격행위가 있어 당사에서는 모니터링 중에 있었습니다.

 

해당 공격 행위는 SIET 도구를 이용하여 진행되고 있었으며, Scan 행위가 가장 많았으나 해당 Cisco 장비의 Config 파일을 탈취하려는 공격 또한 지속적을 발생하였습니다.

 

이에 당사 WSEC 에서는 해당 SIET 도구를 통해 발생되는 공격에 대해 분석하였습니다.

 


이전 내역

SIET 도구의 get_config를 이용한 공격의 경우 이전에 분석하여 블로그에 게시하였습니다.

 

Cisco Smart Install 취약점 분석

[http://www.wins21.co.kr/blog/blog-sub-02.html?t=31&d=49&num=664]

 

해당 내역에 대해 짧게 소개하면, SIET 를 통해 발생되는 취약점은 최초에 러시아의 ZERONIGHTS 2016 보안 컨퍼런스에서 공개되었습니다.
- 오류를 수정한 POC가 최근 공개되어 이슈가 되었습니다.

 

중요한것은 Cisco 에서는 해당 취약점을 설정 상의 문제로 판단하여 CVE 번호를 할당 하지 않았습니다.
그 이유로는 단순한 오용(잘못된사용)으로 판단 하였습니다.

 

하지만 해당 취약점에 대한 공격이 지속적으로 진행됨에 따라, Cisco 에서는 취약 설정을 확일 할 수 있는 스크립트를 제공하였습니다.
또한 보안 보안 절차사항을 추가(2017년 10월 30일) 하였습니다.

 

Cisco 에서 제공하는 점검 도구
[https://github.com/Cisco-Talos/smi_check]

Cisco 에서 제공하는 권장 사항 및 해당 취약점에 대한 개요
[https://tools.cisco.com/security/center/content/CiscoSecurityResponse/cisco-sr-20170214-smi]

 

 

확인 내역

Cisco Smart Install(SMI) 의 용도를 살펴보면 아래와 같습니다.
- 새로운 (일반적으로 액세스 레이어) 스위치에 이미지 배포를 제공하는 "plug-and-play" 구성 및 이미지 관리 기능입니다.

 

일반적인 구성도는 아래와 같습니다.


* 구성
- Cisco Smart Install 환경의 경우 director switch 를 통해 client switches 를 관리하게 된다.
- director switch 에는 일반적으로 TFTP 서버가 존재하여 구성정보를 백업할 수있게 되어있다.

 

* 정상
- client switches 는 부팅시에 가지고 있는 백업설정을 director switch 에 전송한다.
- 사용자가 직접 또는 director switch 를 통해 구성을 저장하면 백업설정이 만들어지며 로컬 또는 원격에 해당 백업본이 저장된다.

 

[그림1. Cisco Smart Install 구성 내역, Cisco 참고]

 

취약점은 설계 상 인증을 필요로하지 않는 Smart Install 프로토콜에 의하여 발생합니다.
인증이 필요하지 않기 때문에 해당 프로토콜에서 발생하는 트래픽을 동일하게 재생하여 공격(Replay Attack) 하면,
기능 사용이 가능합니다.

 

공개 된 SIET 도구의 소스코드도 정상적인 행위에서 발생되는 트래픽을 기반으로 작성 하였습니다.

 

SIET 도구 에서는 test, get_config, change_config, update_ios, execute 의 5가지 기능을 지원 하고 있습니다.

 

[그림2. get_argm_from_user() 함수 내역]

 

아래와 같은 악의적인 행위가 가능하게 됩니다.

 

* 공격 1, get_config
- director switch 를 통해 구성을 저장한것 처럼 패킷을 보내고, 원격지에 해당 백업본이 저장되게 합니다.
- 원격지는 공격자가 만들어 놓은 TFTP 서버입니다, 백업구성을 확인하여 client switches 의 계정정보 탈취가 가능합니다.

 

* 공격 2, chang_config
- tftp 서버에 설정 정보가 변경된 파일을 생성 하고 해당 파일로 변경하도록 악의적인 패킷을 전송합니다.
- 악의적인 패킷은 Director 에서 Client 에 설정 정보 변경시 보낸 패킷과 동일합니다.

 

* 공격 3, update_ios
- tftp 서버에 악의적으로 변경된 IOS Image 파일을 생성 하고 해당 파일로 업데이트 되도록 악의적인 패킷을 전송합니다.
- 악의적인 패킷은 Director 에서 Client 에 IOS 업데이트시 보낸 패킷과 동일합니다.

 

* 공격 4, execute
- tftp 서버에 명령어를 포함한 파일을 생성 하고 해당 파일이 실행되도록 악의적인 패킷을 전송합니다.
- 악의적인 패킷은 Director 에서 Client 에 vstack script 사용 시 보낸 패킷과 동일합니다.

 

공격 2,3 의 경우 파일을 로딩하고 나서 장치 재부팅이 필요합니다.

 

SIET 도구를 통해 발생되는 주요 Payload 는 아래와 같습니다.

 

[그림3. SIET Payload 내역]

 

[그림4. 발생 패킷_get_config]

 

[그림5. 발생 패킷_chang_config]

 

[그림6. 발생 패킷_update_ios]

 

[그림7. 발생 패킷_execute]

 

현재 허니넷에서는 Scan 형태와 get_config 공격이 지속적으로 발생하고 있습니다.

 

[그림8. 허니넷 내역]

 

US-CERT 에서는 해당 도구 및 취약점을 러시아의 지원을 받는 해킹 그룹에서 사용한다고 공개 하였고,
실제 허니넷에서도 지속적으로 탐지되는 내역을 확인 하였습니다.

 

각별한 주의가 필요하며, Cisco Smart Install 이 로컬 네트워크 내에서 사용하도록 설정하는 것을 권고 합니다.

 


대응 방안
1) 벤더사의 권고를 참고하여 Cisco Smart Install 기능이 외부에 노출되지 않게 합니다.
- https://tools.cisco.com/security/center/content/CiscoSecurityResponse/cisco-sr-20170214-smi

 

2) 당사 IPS 에서는 아래의 패턴으로 대응 가능합니다.

[IPS 패턴블럭] : 3839, Cisco Smart Install startup-config Credential Disclosure
[IPS 패턴블럭] : 3840, Cisco Smart Install startup-config Credential Disclosure.A
[IPS 패턴블럭] : 3866, Cisco Smart Install startup-config Scan

 

3) US-CERT 에서 공개 한 Snort 패턴으로 대응 가능합니다.

alert tcp any any -> any 4786 (msg:"SmartInstallExploitationTool_UpdateIos_And_Execute"; flow:established; content:"|00 00 00 01 00 00 00 01 00 00 00 02 00 00 01 c4|"; offset:0; depth:16; fast_pattern; content:"://";)

alert tcp any any -> any 4786 (msg:"SmartInstallExploitationTool_ChangeConfig"; flow:established; content:"|00 00 00 01 00 00 00 01 00 00 00 03 00 00 01 28|"; offset:0; depth:16; fast_pattern; content:"://";)

alert tcp any any -> any 4786 (msg: "SmartInstallExploitationTool_GetConfig"; flow: established; content:"|00 00 00 01 00 00 00 01 00 00 00 08 00 00 04 08|"; offset:0; depth:16; fast_pattern; content:"copy|20|";)

 

 

참고
https://tools.cisco.com/security/center/content/CiscoSecurityResponse/cisco-sr-20170214-smi
https://github.com/Sab0tag3d/SIET/blob/master/siet.py
https://github.com/Cisco-Talos/smi_check
https://2016.zeronights.ru/materialy-konferencii/prezentacii-dokladov/
https://www.us-cert.gov/ncas/alerts/TA18-106A
https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=27144

 

첨부파일 첨부파일이 없습니다.
태그 Cisco Smart Install  get_config  SIET  change_config  SMI