четверг, 22 сентября 2011 г.

скрыть время создания залитых файлов на взломанной Винде


Напишем небольшую прогу, меняющую время создания и изменения наших файлов на параметры, не вызывающие никаких подозрений. Используем для этого API-функции, например, при помощи языка C++.


1. Подключим заголовочный файл, содержащий описание этих функций (хотя нас будут интересовать лишь некоторые из них):
#include <windows.h>
2. Получим указатель (h_out) на файл uploaded.dat, параметры которого необходимо изменить. Воспользуемся функцией CreateFile() с флагом OPEN_EXISTING (таким образом, мы ничего не создаем, а открываем существующий файл на чтение):
HANDLE h_out = CreateFile("text5", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
Файл необходимо открыть с правами доступа на запись (GENERIC_WRITE), иначе поменять время не удастся.
3. Таким же образом получаем указатель на любой виндовый файл, стандартно создаваемый при установке. Для примера возьмем explorer.exe:
HANDLE h_in = CreateFile("C:\\WINDOWS\\explorer.exe", GENERIC_WRITE, FILE_SHARE_READ, NULL, OPEN_EXISTING, 0, NULL);
4. Существует структура FILETIME, описанная в winbase.h, которую мы и будем использовать для хранения данных о времени создания файла. Нам понадобятся три переменные этого типа: время создания, время открытия, время изменения.
FILETIME t_created;
FILETIME t_opened;
FILETIME t_changed;
5. Получим время создания, открытия и изменения этого виндового файла, используя указатель (h_in) на предварительно открытый файл (explorer.exe).
GetFileTime(h_in, &t_created, &t_opened, &t_changed);
6. Присвоим эти значения залитому на взломанный сервер файлу (uploaded.dat) через указатель на него (h_out) при помощи функции SetFileTime():
SetFileTime(h_out, &t_created, &t_opened, &t_changed);
7. Закроем открытые нами хэндлы файлов:
CloseHandle(h_in);
CloseHandle(h_out);
Готово. После выполненной работы не забываем удалить (спрятать) саму прогу в чужой Винде из соображений безопасности. В итоге мы получили такой же древний, покрытый пылью веков файл, как и сама Винда, притом нас совершенно не интересовало, когда она была установлена

Комментариев нет:

Отправить комментарий