Pada separuh pertama 2018, terima kasih kepada faktor penguatan pantulan Memcache yang hampir 50,000, trafik puncak DDoS telah mencapai ketinggian baharu yang belum pernah berlaku sebelum ini iaitu 1.7Tbps, yang turut menjadikan Memcache ReDDoS telah menjadi tulang belakang DDoS semasa. Berbanding dengan Memcache ReDDoS, walaupun CLDAP ReDDoS yang didedahkan oleh Akamai pada tahun 2016 tidak secekap yang pertama, faktor penguatan 56~70 kali ganda masih menjadi peneraju dalam keluarga DDoS, jadi ia juga harus menarik perhatian.
Protokol Akses Direktori Ringan (LDAP) ditakrifkan dalam RFC2251 (LDAPv3), kerana LDAP menghantar data dalam bentuk strim bait TCP, pengikatannya yang diperlukan operasi dan pertanyaan carian data yang kerap akan menggunakan lebih banyak sumber sambungan TCP pada tahap tertentu, jadi IETF mengeluarkan protokol akses direktori ringan tanpa sambungan (CLDAP) pada tahun 1995. Dokumen rasmi ialah RFC1798 ( 2003 RFC3352 menetapkan CLDAP ke dalam status sejarah). Hanya tiga operasi disediakan dalam CLDAP: searchRequest, searchResponse (searchResEntry dan searchResDone) dan abandonRequest Apabila fungsi pengesahan tidak disediakan, pelanggan boleh menggunakan datagram UDP untuk memulakan permintaan operasi ke port pelayan LDAP 389. Memandangkan pelayan akan mengembalikan dua mesej respons, searchResEntry dan searchResDone, selepas klien memulakan searchRequest, secara amnya menjalankan operasi ini akan mempunyai kesan paket data yang lebih kecil yang mencerminkan paket data yang lebih besar Kepincangan ini kemudiannya dieksploitasi untuk menjalankan serangan DDoS penguatan refleksi. .
Menurut laporan yang dikeluarkan oleh Akamai SIRT, trafik puncak tertinggi CLDAP ReDDoS yang ditangkap pada masa ini ialah 24Gbps, dan gandaan pantulan maksimum ialah 70 kali. Memandangkan CLDAP tidak digunakan secara meluas, perisian LDAP sumber terbuka openLDAP tidak lagi menyokong permintaan protokol UDP. Malah, pada masa ini perkhidmatan yang paling dieksploitasi untuk serangan CLDAP ReDDoS ialah Active Directory (AD) pelayan Windows. Biasanya perkhidmatan AD akan mendengar permintaan operasi LDAP daripada klien pada port TCP 389, dan juga akan menggunakan protokol CLDAP pada port UDP 389 untuk menunggu operasi carian rootDSE (entri rootDSE dibuat apabila perkhidmatan AD dikonfigurasikan dan membenarkan capaian tanpa kebenaran Klien yang disahkan menanyakan pelayan untuk status konfigurasi, keupayaan dan atribut lanjutannya (juga dikenali sebagai "Ping AD"). Port mendengar perkhidmatan AD bagi sesetengah pelayan Windows terdedah kepada rangkaian awam, dan kemudiannya dieksploitasi untuk melaksanakan pertanyaan rootDSE untuk menjana serangan DDoS refleksi yang diperkuatkan Penyelidik Keselamatan telah mendedahkan skrip eksploitasi Perl pada Exploit-DB: Untuk mengesahkan kelemahan, anda juga boleh menggunakan skrip ldap-rootdse Nmap untuk mengimbas
nmap -Pn -sSU 389,636 --script ldap-rootdse <target_ip>
Ia boleh dilihat bahawa pelayan yang rosak akan mengembalikan entri rootDSE, atribut kemasukan dan konfigurasi lain maklumat.
Untuk skrip eksploitasi rootDSE CLDAP ReDDoS dalam Exploit-DB, muatannya ialah:
Memandangkan LDAP dan CLDAP mula-mula merangkum data ke dalam badan mesej LDAP apabila menghantar data dan kemudian mengekodnya menggunakan BER di bawah ASN.1 sebelum menghantarnya, kami boleh menggunakan alat dalam talian ASN.1 Playground untuk memulihkan Muatan ini (memulihkan Anda perlu mula-mula susun dan muatkan definisi struktur ASN.1 bagi mesej LDAP dalam RFC2251, atau anda boleh terus menggunakan fail asn yang ditakrifkan oleh penyelidik berkaitan dalam GitHub):
boleh dilihat Muatan ini ialah pengekodan BER bagi operasi searchRequest, yang menanyakan atribut wajib objectClass kelas teratas. Selepas menguji dan menangkap, purata kecekapan amplifikasi pantulan yang dijana oleh Muatan ini adalah kira-kira 50 kali
Walau bagaimanapun, jika mesej LDAP yang dinyahkod dikod semula, anda akan mendapati bahawa bilangan bit pengekodan BER dikurangkan , berbanding dengan Muatan awam, satu bahagian tiada:
Jika pengekodan ini tersedia, ia akan mengurangkan panjang Muatan (an x00 tambahan perlu ditambah pada penghujung sebagai penghujung mesej LDAP):
Dengan membandingkannya dengan Muatan asal, anda boleh mendapati bahawa bahagian tambahan daripada Muatan asal (x30x84...) sebenarnya ialah mesej respons mesej LDAP, jadi ia dianggap tidak sepatutnya muncul semasa pengekodan, jadi ia boleh dialih keluar sepenuhnya (tidak jelas apa yang penulis asal daripada skrip yang dimaksudkan di sini). Selepas tangkapan ujian, didapati bahawa muatan 40-bait yang dipertingkatkan tersedia dan boleh meningkatkan kecekapan amplifikasi pantulan kepada purata kira-kira 73 kali ganda, iaitu peningkatan hampir 18% berbanding dengan 56~70 kali data yang diterbitkan oleh UScert . Pada masa ini, ia tersedia dalam saluran awam Saya belum menemui Muatan yang lebih diperkemas:
事实上,要得到最精简的Payload,还是要回到协议本身。从RFC2251中可以看出searchRequest操作共有8个字段,而接收自定义字符输入的字段只有baseObject、filter、attributes三个。在上述40字节Payload基础上,我们能继续做文章的依然是filter字段和attributes字段。
经过构造filter和attributes字段,我们得到了长度为31字节的更为精简的Payload。该Payload能达到均值约89倍的反射放大效率,相比UScert公布的数据又提升了41%,如果以Akamai捕获到的最高反射数据包大小3662字节计算,新的Payload能达到最高118倍的反射放大倍数,这也将刷新目前已知的CLDAP ReDDoS理论放大倍数:
我们在ZoomEye中通过搜索比较发现,存在缺陷的Windows服务器具有特定的banner信息:
0\x84\x00\x00\x00\x10\x02\x01\x01a\x84\x00\x00\x00\x07\n\x01\x00\x04\x00\x04\x00
结合编码中的每一个标志位来看,该banner信息与LDAP服务器bindResponse响应报文编码十分相似,因此推断出现该banner信息的原因,是由于ZoomEye扫描引擎在扫描到存在缺陷的LDAP服务器时服务器做出了一次绑定操作的响应,且告知客户端绑定成功,这也是在客户端searchRequest之前的必要操作:
使用此banner规则在ZoomEye中搜索共有214673条记录,约占所有LDAP服务器总数411527的52.2%:
考虑到不同服务器在不同时间节点上会出现配置上的变动,于是我们以2015、2016、2017这三年作为区分,使用爬虫分别采集前1000条数据对服务器缺陷进行有效性验证。结果如下表所示:
按照得出的占比,可以估算出目前互联网中存在缺陷的服务器总数:
因此我们认为,目前互联网中至少有2万台Windows服务器正处于被利用进行CLDAP ReDDoS攻击的风险之中,当然这仍然依赖于ZoomEye所提供的数据,真实情况可能有更多。同时,我们获取了这3000条数据中153台缺陷服务器的反射数据包,其中最大的数据包长度为3208字节,最小的数据包长度为1918字节,153个数据包平均包长度为2665字节。根据这些捕获到的数据,现阶段CLDAP ReDDoS的反射放大倍数应当处于62~103倍之间,平均反射放大倍数为86倍左右。
下面对CLDAP协议的缺陷及其造成反射放大DDoS攻击的现状进行了介绍,同时对目前已公开的攻击载荷Payload进行了探讨,并进一步探索出更精简的Payload,将CLDAP ReDDoS反射放大倍数从平均50倍提升至86倍,最后借助ZoomEye对互联网中受影响的Windows服务器进行了统计与分析。当前的CLDAP ReDDoS攻击主要是由于Windows服务器活动目录服务缺陷所引起,在防范上首先也应做到对389端口和636端口的限制,即确保端口不外漏或客户端IP白名单机制。
Atas ialah kandungan terperinci Bagaimana untuk menganalisis protokol CLDAP Reflection DDoS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!