Скрипты и безопасность (часть 1)
Сценарии повлияют на вашу работу в качестве специалиста по компьютерной безопасности практически на каждом этапе. Но что PERL может сделать для вас? Ну, во-первых, он, безусловно, может быстро и эффективно анализировать выходные данные устройства безопасности.
Сценарии и вы
Жизнь специалиста по компьютерной безопасности довольно хороша, не так ли? Я имею в виду, в конце концов, мы работаем над тем, что нам нравится делать, и на самом деле получают за это деньги! Это не становится намного лучше, чем это. Тем не менее, находиться в центре всего этого высокотехнологичного оборудования и следить за тем, чтобы все работало бесперебойно, все еще довольно сложно. Если вам посчастливилось заниматься только вопросами, связанными с безопасностью в вашей компании, то жизнь стала еще лучше. Быть системным администратором — сложная работа, это факт. Тем не менее, это не то, чем я хотел бы зарабатывать на жизнь.
В течение вашего рабочего дня все компьютеры вокруг вас выполняют свои задачи, пока вы занимаетесь своими. Что общего у всех этих компьютеров? Как правило, все они выполняют автоматизированные задачи. Будь то контроллер Active Directory, который заботится о множестве задач, за которыми он наблюдает, или ваш маршрутизатор и брандмауэр, контролирующий доступ к вашей сети. Мы видим, что все они выполняют автоматизированные задачи. Было бы слишком много времени, чтобы сидеть рядом с этими устройствами и вручную выполнять их работу. В этом прелесть автоматизации.
Скрипты
Чтобы автоматизировать определенные задачи на компьютерах, вам действительно нужно научиться писать сценарии. Под этим я подразумеваю изучение одного из языков сценариев. Я бы сказал, что двумя самыми популярными и мощными являются PERL и Python. Эти два языка сценариев оба интерпретируются с помощью компиляции. Я имею в виду, что на вашем компьютере должен быть установлен соответствующий интерпретатор, чтобы ваша программа могла быть «интерпретирована» и затем выполнена.
В рамках этой статьи мы рассмотрим PERL и способы его использования, чтобы облегчить вашу жизнь за счет использования возможностей языка сценариев PERL. Показанный пример будет всего лишь одним небольшим примером того, что можно сделать с помощью PERL, а сценарий будет небольшим по размеру для простоты изучения. Если на вашем компьютере не установлен PERL, просто перейдите в ActiveState. и загрузите пакет MSI. После установки все готово. Установка очень проста, так как это MSI. Прелесть PERL в том, что его можно использовать и в других операционных системах, если у вас установлены библиотеки PERL.
Что я сделал, так это создал небольшой файл, содержащий частичный вывод файла «alert.ids» из Snort. Мы просто выберем что-то в этом файле, чтобы извлечь его. В используемом здесь экземпляре мы будем искать все примеры IP-адреса 192.168.1.102, встречающиеся во входном файле с именем «articlefile». Как я уже упоминал выше, это всего лишь упрощенный пример того, что можно сделать с помощью PERL. Тем не менее, это может быть небольшой пример, но он также полезен. Возможно, в какой-то момент в будущем вы захотите проанализировать некоторые журналы, чтобы увидеть, как часто появляется определенный IP-адрес. Сценарий, который я вставил ниже, сделает это достаточно хорошо, если вы измените относительные пути к входному файлу, чтобы они соответствовали вашим собственным путям к файлам.
Взгляните на сценарий PERL!
Ниже вставлен полностью функциональный сценарий PERL, который я написал, чтобы проиллюстрировать, насколько удобным может быть PERL.
Теперь я также вставил тестовый входной файл, показанный ниже, который я создал под названием «файл статьи», чтобы вы могли точно видеть, что анализируется сценарием PERL выше.
Ладно! Теперь все, что нам нужно сделать, это вызвать сценарий PERL с именем «scripting_example.pl», и у нас должен быть выходной файл с именем «articleoutput». Кстати, если вы хотите вырезать и вставить скрипт, который я включил выше, просто сделайте это, вырежьте и вставьте его в блокнот. После этого назовите его «scripting_example.pl». Вы можете называть его как угодно, но имейте в виду, что вам придется изменить это имя файла в самом скрипте в пятой строке. В пятой строке находится строка open (INPUT……). Наконец, вам нужно будет вырезать и вставить входной файл, который я также включил выше. Тот, который показывает вывод файла Snort «alert.ids».
Теперь, когда вы успешно вырезали и вставили этот сценарий на диск C вашего компьютера, т.е. «c:», вы готовы вызывать его через приглашение DOS.
фигура 1
Как вы можете видеть на снимке экрана выше, вы ввели имя сценария PERL с добавленным «.pl» в конце, чтобы интерпретатор PERL знал, что это такое. После этого подсказка возвращается к вам. Весь процесс занимает полсекунды или около того. Теперь, когда это сделано, вам нужно подтвердить, что это сработало, проверив, есть ли там файл с именем «articleoutput». Давайте взглянем.
фигура 2
Тогда отлично! Наш скрипт действительно работал, так как вытягивал строку, содержащую IP-адрес, который мы искали, например: 192.168.1.102. Этот IP-адрес — это то, что у нас было в нашем скаляре под названием $pattern. Вы можете, если хотите, ввести больше шаблонов для поиска одновременно, и это потребует лишь незначительных изменений в самом скрипте. Когда дело доходит до регулярных выражений, PERL в значительной степени является королем. Существует целая книга, посвященная построению шаблонов регулярных выражений с использованием PERL. Поверьте мне, целая книга, посвященная созданию Regex, не преувеличена. Создание регулярных выражений часто может изменить жизнь!
Заворачивать
Что ж, мы видим, что с помощью всего лишь нескольких строк PERL мы можем создать небольшой скрипт, который избавит вас от утомительной работы по поиску чего-либо вручную или, если уж на то пошло, с помощью такого инструмента, как grep. PERL идеально подходит для таких и многих других задач. Существует также множество готовых модулей, которые вы также можете использовать для упрощения задач написания сценариев. В следующей статье мы рассмотрим один из этих модулей.
Одним из таких примеров является модуль io:, который есть в PERL. Очень удобно, что этот модуль обрабатывает большую часть создания сокетов от вашего имени. Подобно инструменту netcat, вы можете использовать PERL для создания произвольных входных данных для проверки чего-либо. В следующей статье я расскажу, как изменить существующий сценарий PERL для ваших целей. На этом пока все, надеюсь, вам понравилось это очень краткое введение в скрипты на PERL. До следующего раза!
подпишитесь на нашу рассылку новостей WindowSecurity.com в режиме реального времени