# 취약점 정보 :
- CVE Number : CVE-2015-5477
- 영향을 받는 버전 :
: 9.1.0 -> 9.8.x
: 9.9.0-> 9.9.7-P1
: 9.10.0->9.10.2-P2
- 요약 :
: DNS 서버는 DNS 데이터베이스 업데이트를 인증하기 위해 TSIG(Transaction Signature) 라는 프로토콜을 사용함. 이 때, 사용하는 키를 TKEY 메시지를 통해서 공유.
: TKEY 메시지를 처리하는 과정에 적절한 레코드 데이터를 찾기 위해 아래 2 섹션에서 뒤짐(Lookup).
Answer Record Section
Additional Records Section
: 이때, 아래와 같이 초기에 NULL로 세팅된 name 변수가 첫 번째 Lookup 함수(additional records) 과정을 거치면서 non-null 값으로 세팅. 이 값이 다시 두 번째 lookup 함수(answer records) 안으로 넘겨지면서 Null 검사코드 에서 REQUIRE assertion fail 이 발생하고 Bind 서버를 종료시킴(Crash).
[그림] lib/dns/tkey.c 코드 일부
[그림] lib/dns/message.c 코드 일부
# 취약점 테스트 :
- 공개된 POC
[01] http://pastebin.com/raw.php?i=j68PwWZh
[02] https://github.com/robertdavidgraham/cve-2015-5477
[그림] 첫 번째 PoC 코드
- 대상 시스템
우분투 / Bind 9.8.0-P1 (취약한 버전)
http://tw.archive.ubuntu.com/Unix/isc/bind9/9.8.0-P1/
- 공격코드 실행
[그림] 두 번째 PoC 실행화면
- Bind 서버 종료 (Bind 서버 DoS)
[그림] tail –f /var/log/syslog 에러 메시지
- 트래픽 정보
>> Queries(Type = TKEY(00 F9) + Class = IN (0x0001)) + Answers + Additional Records
[그림] 첫 번째 PoC 공격패킷
>> Queries(Type = TKEY ( 00 F9 ) + Class :=ANY( 00 FF )) + Additional Records
[그림] 두 번째 PoC 공격패킷
- 패치 적용 후,
우분투 / Bind 9.8.1-P1 (패치된 버전)
>> apt-get install bind9
>> tail –f /var/log/syslog ( 깨끗… ^^* )
- 끝 -
'새빨간거짓말' 카테고리의 다른 글
[CVE-2015-2336] Vmware 세상을 벗어나나? (3) | 2015.06.18 |
---|---|
[ExploitKit] “AnglerEK”는 왜 Fileless 일까? (0) | 2015.05.07 |
[CVE-2014-4114] MS OLE 취약점 (Sandworm 제로데이) (4) | 2014.10.15 |
[CVE-2014-6271] GNU Bash 원격코드 인젝션 취약점 (3) | 2014.09.27 |
[펌웨어해킹] 네티스 공유기 분석해보기 (1) | 2014.09.25 |