Sunday, July 22nd, 2018

Сценарии и безопасность (Часть 1)

Published on Февраль 3, 2009 by   ·   Комментариев нет

В первой части статьи я вкратце ознакомлю вас с написанием сценариев на языке PERL.

Если вы хотите ознакомится с продолжением статьи, то, пожалуйста, прочтите: Сценарии и безопасность (Часть 2).

Сценарии изменят вашу работу специалиста по безопасности практически во всех отношениях. Что может сделать для вас PERL? Он поможет тщательно, быстро и эффективно разобраться в выходных данных приложений безопасности.

Сценарии и вы

Жизнь специалиста по безопасности на самом деле хороша. Я имею в виду то, что, помимо всего прочего, мы работаем с тем, что нам нравится, и даже получаем за это зарплату! Нет ничего лучше этого. Но находиться в центре передовых компьютерных технологий и постоянно проверять, что все работает без проблем все-таки немного рутинная задача. Если вам повезло, и вы занимаетесь только вещами, связанными с безопасностью, вы удачливы вдвойне. Быть системным администратором – это тяжкий труд, и это правда. Честно говоря, это не то, чем я хотел бы зарабатывать на жизнь.

В течение дня компьютеры работают, пока вы находитесь рядом. Что общего у всех этих компьютеров? Обычно, на них выполняются автоматические задания. Контроллер домена Active Directory, выполняющий уйму задач, маршрутизатор или брандмауэр, контролирующий доступ в сеть – все они выполняют автоматические задания. Слишком много времени бы заняло ручное выполнение их работы. Вот в чем прелесть автоматизации.

Сценарии

Для автоматизации определенных задач вам необходимо научиться писать сценарии. Я имею в виду, что вы должны выучить какой-либо язык сценариев. Два самых популярных, на мой взгляд, это PERL и Python. Оба этих языка интерпретируемые, а не транслируемые. Это значит, что вам нужно установить на компьютере соответствующий интерпретатор, и программа будет «интерпретирована», а затем выполнена.

В данной статье мы рассмотрим язык PERL и его использование для облегчения вашей работы. Показанный пример – это лишь малая часть того, что можно сделать с помощью PERL, а сам пример – это маленький сценарий, маленький специально для облегчения обучения. Если на вашем компьютере не установлен PERL, зайдите на ActiveState и скачайте MSI-пакет. Установите его и вперед! Установка очень проста, поскольку это MSI. Прелесть PERL в том, что его можно использовать на любых операционных системах после установки соответствующих библиотек.

Я создал небольшой файл, который содержит выходные данные файла “alert.ids” из Snort. Мы просто выберем что-нибудь из этого файла. В примере, использованным мной, мы будем искать все вхождения IP-адреса 192.168.1.102 во входном файле под названием “articlefile”. Как я уже говорил выше, это просто небольшой пример того, что можно сделать с помощью PERL. Стоит добавить, что хотя это и маленький пример, он может быть крайне полезным для вас, если вы когда-нибудь захотите просмотреть файлы журналов на наличие в них какого-либо IP-адреса. Данный сценарий сделает это для вас, если вы измените пути выходного файла соответственно вашим требованиям.

А вот и сценарий на PERL!

Ниже приведен сценарий на языке PERL, который я написал для иллюстрации работы PERL.

#!/usr/bin/perl -w
$pattern = «(192.168.1.102)»;
open(INPUT, ‘c:\articlefile’) ||die «can’t open the file called article_file: $1»;
open(OUTPUT, ‘>c:\articleoutput’) ||die «can’t write to the file called script_output: $1»;
while(<INPUT>)  {
if ($_ =~(m/$pattern/))    {
print OUTPUT «$_\n»;

}
}

close(INPUT);
close(OUTPUT);

[**] [1:2351:8] NETBIOS DCERPC ISystemActivator path overflow attempt little endian [**]

[Classification: Attempted Administrator Privilege Gain] [Priority: 1]

01/28-08:49:36.011482 192.168.1.102:1040 -> 192.168.1.101:135
TCP TTL:64 TOS:0x0 ID:31304 IpLen:20 DgmLen:1500 DF
***A**** Seq: 0xFFBD6980  Ack: 0x1071DF86  Win: 0x5B4  TcpLen: 32
TCP Options (3) => NOP NOP TS: 3937142 27317

[Xref => http://cgi.nessus.org/plugins/dump.php3?id=11808][Xref =>
http://www.microsoft.com/technet/security/bulletin/MS03-026.mspx]
[Xref => http://cve.mitre.org/cgi-bin/cvename.cgi?name=2003-0352][Xref =>
http://www.securityfocus.com/bid/8205]

[**] [1:2351:8] NETBIOS DCERPC ISystemActivator path overflow attempt little endian [**]

[Classification: Attempted Administrator Privilege Gain] [Priority: 1]

01/28-08:49:36.011482 192.168.1.103:1040 -> 192.168.1.101:135 #changed ip address here
TCP TTL:64 TOS:0x0 ID:31304 IpLen:20 DgmLen:1500 DF
***A**** Seq: 0xFFBD6980  Ack: 0x1071DF86  Win: 0x5B4  TcpLen: 32
TCP Options (3) => NOP NOP TS: 3937142 27317

[Xref => http://cgi.nessus.org/plugins/dump.php3?id=11808][Xref =>
http://www.microsoft.com/technet/security/bulletin/MS03-026.mspx][Xref =>
http://cve.mitre.org/cgi-bin/cvename.cgi?name=2003-0352][Xref =>
http://www.securityfocus.com/bid/8205]

Теперь нам нужно запустить этот сценарий, названный “scripting_example.pl” для получения выходного файл “articleoutput”. Кстати, если хотите вырезать и вставить сценарий, приведенный мной выше, просто вставьте его в Блокнот и сохраните под именем “scripting_example.pl”. Можете назвать его, как хотите, но помните, что вам в этом случае придется изменить имя файла в самом сценарии в строке 5. Пятая строка начинается с open (INPUT ……. Наконец, вам потребуется скопировать и вставить входной файл, упомянутый мной выше. Это тот, в котором показаны выходные данные файла Snort “alert.ids”.

Теперь, после того, как вы сохранили сценарий на диске C, вы можете запустить его из командной строки DOS.

Сценарий попожарной безопасности

Рисунок 1

Также, как и на рисунке, вам нужно ввести имя файла сценария с расширением “.pl” для того, чтобы интерпретатор PERL знал, что это такое. После запуска командная строка возвратится. Весь процесс занимает около полсекунды. Для проверки работы просмотрите файла “articleoutput”. Посмотрим на него.

Сценарии по охране труда

Рисунок 2

Прекрасно! Наш сценарий работает, поскольку он вывел строку с нужным нам IP-адресом 192.168.1.102. Этот IP-адрес у нас задан параметром $pattern. Если хотите, вводите столько параметров, сколько нужно, это не требует больших затрат по изменению сценария. Для регулярных выражений PERL подходит как нельзя лучше. Существует целая книга, посвященная созданию параметров регулярных выражений с помощью PERL, и это не спроста. Создание регулярных выражений часто могут сильно изменить вашу жизнь!

Заключение

Вы видите, как несколько строк на PERL помогли нам создать сценарий, который выполнил за нас утомительную работу по поиску, которую мы бы выполняли вручную или с помощью таких средств, как grep. PERL прекрасно подходит для задач такого типа, а также для многого другого. Существует огромное количество готовых модулей, которые вы также можете использовать для облегчения процесса выполнения задач. В следующей статье мы рассмотрим некоторые из таких модулей.

Примером является модуль io:. Он очень удобен для управления созданием сокетов. Подобно средству netcat, вы можете использовать PERL для создания случайного ввода для проверки. В следующей статье я расскажу, как изменить существующий сценарий. А пока все, надеюсь, вам понравилось мое краткое введение в написание сценариев на PERL. До встречи!

Источник www.windowsecurity.com






















Смотрите также:

Tags: , ,

Readers Comments (Комментариев нет)




Да человек я, человек! =)

Exchange 2007

Проведение мониторинга Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 3)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Проведение мониторинга Exchange 2007 с помощью диспетчера System ... [+]

Практическое рассмотрение перехода с Exchange 2003 на Exchange 2007 (часть 1)

Введение В этой статье из нескольких частей я хочу показать вам процесс, который недавно использовал для перехода с существующей среды Exchange 2003 ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 2)

Если вы пропустили первую часть этой серии, пожалуйста, прочтите ее по ссылке Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (Часть ... [+]

Мониторинг Exchange 2007 с помощью диспетчера System Center Operations Manager 2007 (часть 2)

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Мониторинг Exchange 2007 с помощью диспетчера System Center Operations ... [+]

Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 5)

Если вы пропустили предыдущие части этой серии статей, перейдите по ссылкам: Подробное рассмотрение подготовки Active Directory для Exchange 2007 (часть 1) ... [+]

Установка и настройка Exchange 2007 из командной строки (Часть 3)

If you missed the previous parts in this article series please read: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование инструмента Exchange Server Remote Connectivity Analyzer Tool (часть 1)

Инструмент ExRCA Текущий выпуск инструмента предоставляется только в целях тестирования и оснащен 5 опциями: Тест подключения Outlook 2007 Autodiscover Тест подключения Outlook 2003 RPC ... [+]

Развертывание сервера Exchange 2007 Edge Transport (часть 5)

Если вы хотите прочитать предыдущие части этой серии статей, перейдите по ссылкам: Развертывание сервера Exchange 2007 Edge Transport (часть 1) Развертывание ... [+]

Установка и настройка Exchange 2007 из командной строки (часть 2)

Если вы пропустили первую статью данного цикла, пожалуйста, перейдите по ссылке: Exchange 2007 Install and Configuration from the command line (Part ... [+]

Использование интегрированных сценариев Using Exchange Server 2007 – часть 2: генерирование отчетов агента Transport AntiSpam Agent

Если вы пропустили предыдущую часть этой серии статей, перейдите по ссылке Использование интегрированных сценариев Using Exchange Server 2007 – часть ... [+]