Уклонение от средств защиты: 2 Часть.
Life-Hack - Linux/Хакинг/Хакер/ИБ/Osint![](/file/31a6811c28338b290d678.jpg)
Ghosting
Для осуществления данного метода нам необходимо иметь исходный файл (снова будем использовать mimikatz.exe) и целевой исполняемый файл, например, hack.exe. Рассмотрим технологию по шагам, как и в предыдущий раз.
Delete pending. Delete Pending — это состояние, при котором файл еще не удален, потому что дескриптор на него открыт. Как только дескриптор закроется, файл удалится. Создаем файл и переводим в состояние delete-pending, используя NtSetInformationFile (FileDispositionInformation). Использование FILE_DELETE_ON_CLOSE не удалит файл.
1) Write — Копируем наш исходный исполняемый файл в созданный файл. Содержимое не сохраняется, так как файл находится в состоянии delete-pending. Также это состояние блокирует попытки открыть файл извне.
2) Map — Создаем image section и мапим содержимое в память.
3) Сlose(delete) — Закрываем дескриптор, файл удаляется.
4) Execute — Создаем процесс с дескриптором ранее созданного раздела. Создаем initial thread. В этот момент антивирусу направляется process creation callback, но файл уже удален. Попытка открыть его завершится с ошибкой STATUS_FILE_DELETED. Если попробовать открыть файл до того, как он будет удален, получите ту же самую ошибку.
Ghosting на практике
Клонирум проект и собираем (https://github.com/hasherezade/process_ghosting).
Выполняем команду:
proc_ghost64.exe mimikatz.exe hack.exe
![](/file/9f9acaefaedef280836b5.png)
Снова все выполнилось успешно и антивирусное ПО не среагировало. Теперь давайте оценим информацию, которую предоставит нам ProcessHacker.
![](/file/d5b4b531160c8d2c6ca30.png)
Еще один инструмент, который реализует данную технику, — KingHamlet (https://github.com/IkerSaint/KingHamlet). Также он поможет с шифрованием пейлоада:
KingHamlet.exe mimikatz.exe key
![](/file/5ecb37aca9b42e47c4fd1.png)
А process ghosting используется на следующем шаге:
KingHamlet.exe mimikatz.exe.khe key hack.exe
![](/file/04f4f20db50940f2fa714.png)
KingHamlet также отработал успешно. В ProcessHacker мы увидим следующее.
![](/file/fea8fd2bd14d6f4201fdc.png)