포스팅 내용

국내외 보안동향

CLDAP 프로토콜을 이용한 Reflection DDoS

2018년 상반기 Memcached 공격이 매우 활발했습니다. Memcached DDoS 공격의 순간 트래픽은 최대 1.7Tbps로 현재의 DDoS 공격 중에서 가장 강력한 DDoS 공격 방식으로 손꼽히고 있습니다. 


하지만 Memcached DDoS만큼의 규모는 아니지만, CLDAP ReDDoS 공격방식 역시 56~70배를 증폭시킬 수 있어 아직까지 많은 DDoS 공격자들이 많이 사용하는 방식입니다. 



CLDAP 프로토콜 취약점


LDAP은 TCP의 바이트스트림 방식을 이용하여 데이터를 전송하며, 필요한 바인딩작업과 데이터 검색 쿼리는 어느 정도 TCP 연결 자원을 소모합니다. LDAP 프로토콜에 대한 내용은 RFC2251에 정의되어 있습니다. 


그래서 IETF는 1995년에 Connection-less Lightweight Directory Access Protocol(CLDAP)를 공개하였습니다. CLDAP와 관련된 자세한 내용은 RFC1798를 참고하실 수 있습니다. 


CLDAP는 searchRequest、searchResponse (searchResEntry 및 searchResDone)、abandonRequest 3가지 기능만을 제공하며, 클라이언트는 UDP 데이터 그램을 사용하여 인증을 제공하지 않고 LDAP 서버 389 포트에 대한 작업 요청을 시작할 수 있습니다.


클라이언트가 searchRequest를 발생시킨 후 서버는 searchResEntry와 searchResDone 두개의 응답메세지를 반환하고, 일반적인 경우에는 이러한 작업은 비교적 작은 패킷을 비교적 큰 패킷으로 증폭시키는 효과를 갖게됩니다. 그래서 이러한 취약점은 DDoS 증폭공격에 사용될 수 있는 것입니다. 



CLDAP Reflection DDoS현황


Akamai SIRT가 공개한 보고서에 따르면, 현재까지 포착된 CLDAP ReDDoS 공격 중 가장 큰 순간 트래픽은 24Gbps로 최대 70배를 증폭시킬 수 있습니다. 


CLDAP가 많이 사용되지 않을 때, 오픈소스 LDAP프로그램인 openLDAP은 이미 더이상 UDP 프로토콜의 request를 지원하지 않았습니다.


실제로 현재 CLDAP ReDDoS 공격에 가장 많이 악용되는 서버는 윈도우 서버의 Active Directory(AD)입니다. 통상적으로 AD서버는 TCP 포트 389를 통하여 클라이언트의 LDAP 작업요청을 리스닝하며, 또한 UDP 포트 389에서 CLDAP 프로토콜을 사용하여 rootDSE 검색 작업을 기다립니다.일부 Windows 서버의 AD rootDSE검색서비스 리스닝 포트가 일반 네트워크에 공개되어 있어, Reflection DDoS 공격을 생성하기 위해 rootDSE 쿼리를 수행하는데 악용되게 됩니다. 


Exploit DB에는 이미 보안연구원이 Perl을 사용한 스크립트를 공개해 놓기도 했습니다. Nmap의 ldap-rootdse 스크립트를 이용해도 해당 취약점에 대한 스캔을 진행할 수 있습니다. 


nmap -Pn -sSU 389,636 --script ldap-rootdse <target_ip>


취약점이 있는 서버는 rootDSE의 항목 및 항목의 속성과 같은 구성 정보를 리턴합니다.



영향성 분석


검색엔진 Zoomeye를 통해 확인한 결과, 취약점이 존재하는 윈도우 서버들은 특정한 banner 정보를 갖고있는것이 확인되었습니다. 


0\x84\x00\x00\x00\x10\x02\x01\x01a\x84\x00\x00\x00\x07\n\x01\x00\x04\x00\x04\x00


코드와 각 플래그를 확인한 결과, 이 배너 정보와 LDAP 서버의 bindResponse 응답 메세지 코드가 매우 유사하기 때문에 이 banner 정보를 추론하는 것입니다.  ZoomEye 검색엔진이 취약점이 존재하는 LDAP 서버가 검색되면 서버에서 바인딩 작업에 대한 응답이 오며, 클라이언트와 바인딩이 성공했다고 통지됩니다. 이 역시 클라이언트의 searchRequest 이 전에 필요한 작업입니다. 


이 banner 규칙을 이용하여 ZoonEye에서 검색한 결과 214673건의 검색기록이 나왔으며, 이는 LDAP 서버의 총 대수인 41152의 52.2% 입니다. 





결론


CLDAP ReDDoS는 평균 50배~86배 정도 증폭이 됩니다.


CLDAP ReDDoS 공격은 주로 Windows 서버의  Active Directory 취약점으로 발생되며, 이러한 공격을 예방하려면 먼저 389번과 636번 포트를 제한해야 합니다. LDAP 서버 보안에 대해 더 자세한 내용은 여기를 참고해 주시기 바랍니다. 





출처 : 

https://blog.riskivy.com/%E5%89%96%E6%9E%90cldap%E5%8D%8F%E8%AE%AE-reflection-ddos/

티스토리 방명록 작성
name password homepage