Имеется пять опций, непосредственно влияющих на запуск программы:
L
Загрузка откомпилированного скрипта и начало атаки.
S
Настройка модема и других основных параметров программы.
T
Терминальный режим.
I
Некоторая информация.
Q
Выход.
Экран в интерактивном режиме
Речь идет о том моменте, когда произошла загрузка и запустился скрипт.
Все, что идет из модема, выглядит на вашем экране символами белого цвета.
Все, что записывается в файл регистрации, выглядит на вашем экране
темно-синими символами. Каждое сообщение системы, в том числе CONNECT,
ALARM, HANGUP и ERROR должно отображаться синим цветом. Все вышесказанное
справедливо лишь в том случае, если вы активизировали опцию Print Logoutput
to Screen too.
Горячие клавиши в режиме On-line
ESC
Пауза или выход из меню.
F1
Посказка.
ALT-B
Так называемая базовая клавиша. Позволяет спрятать экран.
ALT-C
Очистка экрана.
ALT-D
Включить или выключить режим отладки.
ALT-H
Вызвать меню HangUp.
ALT-I
Отобразить на экран статистику и другую дополнительную информацию.
ALT-J
Прыгнуть в DOS (не пользуйтесь этой командой в бета-версиях).
ALT-L
Особое меню регистрации.
ALT-T
Загрузить терминальный режим. В этом режиме экран зависает, система
находится под вашим контролем. Вы можете произвести идентификацию
посредством любой из вышеописанных клавиш (кроме ESC). Чтобы выйти из
терминального режима, нажмите ALT-T или ALT-X.
Описание языка скриптов
Скрипты -- это изюминка Login Hacker. Поэтому, если вы научитесь писать
хорошие скрипты, то сможете взломать практически любую систему. Конечно это
не относится к новичкам или тем хакерам, которые никогда не программировали
даже на Бэйсике.
Скрипт должен пройти через компилятор, который проверяет его на
вшивость. Поэтому вы можете быть уверены на 99%, что в процессе атаки не
произойдет сбоя по вине плохого скрипта.
Итак, поехали.
Все, что начинается с точки с запятой -- комментарии. Все, что
начинается с двоеточия -- переход на следующую команду.
Четыре строки, начинающиеся с символа # определяют операторы, с которых
начинается специальная часть скрипта.
Оператор #DEFINE определяет переменную.
Оператор #NOCARRIER осуществляет автоматический возврат в программу в
случае аварийного прерывания сессии, то есть без команды hangup.
Оператор #START активизирует загрузку скрипта.
Оператор #END заканчивает выполнение скрипта.
Все переменные являются необязательными. Исключение составляют
переменные logfile и phone_nr. Вы не можете определять какие-либо
переменные, за исключением тех, которые описаны ниже.
LOGFILE=FILENAME
Определить файл регистрации и место на диске для этого файла. Это
важная переменная используется при написании любого скрипта.
Например:
LOGFILE=C:\OUTPUT\NY-SYS5.LOG
PHONE_NR=NUMBER
Эта переменная используется вместе с командой DIAL. Ее тело может
состоять как из цифр, так и из букв. Это вторая переменная, которую всегда
используют при написании скриптов.
Например:
PHONE_NR=1-800-WHO-CARES
INIT_MODEM=STRING
Если ваш модем должен работать в режиме Pulse Dialing, то поместите
перед телефонным номером аргумент P. Если же ваш модем не может
инициализировать строковые данные, поместите перед соответствующим
телефонным номером команду AT (если эта команда отстствует в Hacker Setup).
Например:
INIT_MODEM=Z
(здесь также может стоять аргумент AT Z)
INIT_DATA=STRING
Инициализация каналов передачи данных, в том числе стоповых битов и
битов четности. Переменная используется в том случае, если соответствующие
параметры отсутствуют в Hacker Setup. В общем случае аргументами этой
переменной являются наборы символов 8N1 и 7E1, то есть аргумент всегда
должен состоять из трех символов. Первый символ -- это цифры 7 или 8,
являющиеся битами данных. Второй символ может быть записан как P (контроль
по нечетности), E (контроль по четности) или N (не контролировать биты
данных). Третий символ соответствует ситуации, когда на первый стартовый бит
налагается первый стоповый бит:
7/8+E/P/N+1/2.
DIAL_TRIES=NUMBER
Эта переменная определяет количество попыток набора номера в диапазоне
от 0 до 65535. Ноль соответствует бесконечному набору номера. Если номер
набран, загружается HANGUP и остальная часть скрипта.
Например:
DIAL_TRIES=3
Standard : 0
Важно: Если эта переменная отсутствует в скрипте, то будут использованы
установки, соответствующие файлу LOGINH.CFG.
LOGIN_TRIES=NUMBER
Эта переменная определяет количество попыток входа в систему в
диапазоне от 0 до 2300000000. Ноль соответствует неограниченной попытке
зарегестрироваться. Если в файле словаря будет достигнут так называемый
конец кадра (EOF), то скрипт автоматически повесит трубку и прекратит
сессию. Время, в течение которого будет осуществляться подбор
регистрационных данных зависит от команд прицепки SEND_NEXT_DIC, NEXT_DIC
или им аналогичных для словаря Brute Force Generator.
Например:
LOGIN_TRIES=0
Standard: 0
Важно: Если эта переменная отсутствует в скрипте, то в атаке будут
использованы установки, соответствующие файлу LOGINH.CFG.
DIC(NUMBER)=FILENAME
Определить словарь, который будет использован соответствующим скриптом.
Аргумент DIC указывает на существующие файлы словарей. Вы можете прицепить к
скрипту от одного до трех словарей. Используйте для этого команды
Send_Next_DIC (1), Send_DIC (1) и Next_DIC (1).
Например:
DIC(1)=C:\HACKING\DICTIONA.RY\BAD_PWS.DIC
FROM_DIC(NUMBER)=STRING
Определить слово, начиная с которого можно использовать словарь в
скрипте.
Например: FROM_DIC(1)=Tracy
BRUTE(NUMBER)=STRING,NUMBER,NUMBER,NUMBER
Определить словарь Brute Force Generator для использования в скрипте.
Brute Force Generator весьма гибок. Четыре параметра словаря Brute Force
Generator разделены запятой. Ниже описывается приемлемая спецификация этих
параметров.
1
a=буквы нижнего регистра.
A=буквы верхнего регистра.
1=цифры.
$=спецсимволы.
^=так называемые контролируемые символы.
Любые синонимы ASCII.
2
Этот параметр сообщает скрипту, какое количество различных символов,
соответствующих параметру 1 необходимо этому скрипту.
Каждое сгенерированное слово, соответствующее параметру 1 всегда
имеется в таком же слове, соответствующим параметру 2. Символ верхнего
регистра и один номер допустимы. Величина, соответствующая нулю неприемлема.
3
Сообщает скрипту возможную минимальную длину для символов пароля,
подобранного при использовании словаря Brute Force Generator.
4
Возможная максимальная длина для символов пароля, подобранного при
использовании словаря Brute Force Generator.
Важно: Минимальная длина символов равна 1, максимальная соответствует
12.
Помните, что вы можете использовать в атаке до трех словарей Brute
Force Generator. Используйте для этого великолепные команды привязки
Next_Brute(1), Send_Next_Brute(1) и Send_Brute(1).
Например:
BRUTE(1)=a,1,1,6
В этом примере используется первый параметр Brute Force Generator со
следующими данными: проверять только символы нижнего регистра; предположить,
что при подборе пароля в словаре присутствует хотя бы один действительный
символ; минимальная длина регистрационного слова равна единице, максимальная
-- шести.
FROM_BRUTE(number)=STRING
Начать инициализацию со словарем Brute Force Generator. При этом важно
следующее: если инициализация началась с четвертой буквы, а вы
просматриваете диапазон от 1 до 8 буквы, то диапазон от 1 до 3 будет
игнорироваться, то есть сначала идет подбор aaaa, затем aaab, затем aaac и
т.д.
Например:
FROM_BRUTE(1)=2527
Секция #NOCARRIER
Это будет выполняться всякий раз, когда вы не используете команду
HANGUP. Если в скрипте отсутствуют операторы GOTO (*START) или GOTO (1), то
дальше он выполняться не будет. Это означает, что вы снова должны набрать
модемный номер доступа к системе. Поэтому проверьте установки в DIAL_TRIES.
Секция #START
В этой важной секции описываются операторы, которые в дальнейшем будут
ломать систему.
LOG(STRING)
Команда LOG() записывает в файл регистрации некоторую информацию. Это
может быть любой текст, переменные, перед которыми всегда должен стоять знак
$ (знак доллара), а также пробелы между словами. В конец строки каждая
команда LOG() автоматически печатает возврат каретки.
Примеры:
LOG(Beginning on $DATE * $TIME)
Будет выведено следующее:
"Beginning on 24-12-96 * 23:00"
LOG_(STRING)
Этот пример аналогичен вышеприведенному, за исключением того, что после
текста отсутствует CRLF (End-Of-Line).
:NUMBER
Каждая линия, начинающаяся с : (двоеточия) маркируется оператором GOTO.
Вы можете использовать 240 маркировок в диапазоне от 1 до 240. Другие номера
неприемлемы. Переход к нужному маркеру осуществляется командами передачи
управления GOTO, GOSUB, CHECK4OUTPUT и CHECK4CARRIER.
Например: :1
В этом примере на соответствующую строку выполняется переход к точке с
номером 1.
GOTO(NUMBER)
Передать управление на маркировку перехода. Вы можете также осуществить
переход командами #START, #NOCARRIER и #END.
Например: GOTO(#END) (выполнение скрипта завершено).
GOSUB(NUMBER)
С командой подстановки GOSUB вы осуществляете переход к следующей
маркировке. Команда GOSUB, как правило исполняется уже после перехода на
следующий маркер, то есть в тот момент, когда команды GOSUB и RETURN
столкнутся между собой. Обратите внимание, что вот такая команда невозможна:
GOSUB(#END).
Например: GOSUB(4)
RETURN
Это так называемая команда выхода из подпрограммы. Используя эту
команду, вы можете возвратиться к местоположению последней выполненной
команды GOSUB и продолжить обычное выполнение скрипта. Если в буферном
регистре команда RETURN сталкивается с несуществующим начальным адресом
GOSUB, то она будет игнорироваться. В одном буферном регистре вы можете
иметь до 255 подстановок GOSUB.
Например: RETURN
CHECK4CARRIER(NUMBER)
Проверка модема на соединение с линией, то есть проверка на несущую
частототу. Команда будет выполняться в случае отсутствия перехода к
указанной маркировке (переход соответствует команде GOTO). Если переход
обнаружен, то устанавливается внутреннее соединение с переменной TRUE для
проверки на NO_CARRIERS. Вы можете также осуществлять процедуры перехода к
*NOCARRIER, *START и *END. Также возможно осуществить проверку модема только
на ON или OFF. Если команда CHECK4CARRIER(ON) выполнена с переходом к
маркеру, отмечающему обнаружение линии, и, если представлен NOT, то
управление передается на *NoCarrier. Эта команда полезна только в том
случае, когда вы оказываетесь на CHECK4CARRIER(OFF) и не хотите использовать
команду DIAL, чтобы соединиться с удаленной системой (позвольте набрать
номер SCAVENGER DIALER).