9 июля 2013 г.

Violent Python: A Cookbook for Hackers, Forensic Analysts, Penetration Testers and Security Engineers by TJ O'Connor (2013)

   В рассматриваемой книге автором предлагается использовать язык программирования Python для проведения тестов на проникновение. Он последовательно описывает методы использования языка Python для автоматизации таких процессов, как извлечение метаданных из различных файлов, проведение масштабных сетевых атак, исследование сетевых пакетов, обработка веб-страниц, а также для получения сведений, необходимых при расследованиях компьютерных преступлений.
   Глава 1 Introduction посвящена основам языка программирования Python. Рассматриваются проблемы настройки среды разработки для языка Python и установки сторонних библиотек, расширяющих возможности языка Python. На нескольких страницах даются основные знания по языку – переменные, типы данных, функции, циклы, выборки, а также работа с файлами и модулями.
  Глава 2 Penetration Testing with Python посвящена использованию языка Python для автоматизации атак на проникновение. Начальным шагом при любой компьютерной атаке является разведка сети, которая позволяет выявить ее уязвимые точки. Автор описывает, как можно осуществить сканирование портов, используя только язык Python (сетевые сокеты), а затем с использованием связки Python+Nmap. Большая часть главы 2 посвящена методике создания бот-сетей, используя уязвимости в протоколах SSH, FTP и SMB.
  В главе 3 Forensic Investigations with Python обсуждаются такие вопросы, как получение информации о перемещении пользователя, исследование удаленных файлов, анализ метаданных в документах различного типа и использование сведений, полученных из приложений Mozilla Firefox, Skype и Apple iTunes. В первом разделе главы автор предлагает обратиться к информации, содержащейся в реестре операционной системы Windows, а также исследовать удаленные файлы Корзины. Далее автор переходит к проблеме извлечения метаданных из документов различных типов. В метаданных могут содержаться сведения об авторе, датах создания и изменения файла, комментариях, GPS координатах и пр. Следующий раздел посвящен анализу сведений, полученных из базы данных SQLite, на примере сервиса интернет-телефонии Skype и браузера Mozilla Firefox. Последний раздел описывает проблему сохранения персональных данных, с которой столкнулась корпорация Apple: при сохранении резервной копии устройства, данная база данных (наряду с другими) передавалась на персональный компьютер. В случае ее кражи, злоумышленник получал множество конфиденциальной информации о конкретном пользователе.
   В главе 4 Network Traffic Analysis with Python описывается, как может применяться язык программирования Python для анализа различных атак и для быстрой обработки огромного количества поступающей информации. Автор начинает исследование с разработки скрипта на языке Python для визуального отображения сетевого трафика. Затем он предлагает метод идентификации пользователей, задействованных в атаках, проводимых хакерской группой Anonymous, а также метод для обнаружения атак типа fast-flux, применяемых для сокрытия центров управления и контроля за бот-сетями.
   Глава 5 Wireless Mayhem with Python посвящена исследованию Wi-Fi трафика. Перехват незашифрованных беспроводных Интернет соединений является одним из распространенных методов получения конфиденциальной информации. В качестве альтернативы методу определения перемещений пользователя, описанному в главе 3, автор предлагает получать аналогичную информацию путем анализа запросов ноутбука или телефона на соединение с беспроводной сетью, причем даже в том случае, если точка доступа является скрытой. В конце главы показано, что методы исследования Bluetooth и WiFi трафика одинаковы на примерах получения доступа к сетевому принтеру и мобильному телефону
   В главе 6 Web Recon with Python объясняется работа библиотек Mechanize и Beautiful Soup для сбора информации с веб-страниц, использование API разработчика компаний Google и Twitter, а также целенаправленная рассылка электронных писем. Прежде чем осуществить любую атаку, злоумышленник должен собрать как можно больше информации о выбранной цели. На сегодняшний день практически вся необходимая информация может быть найдена в сети Интернет, а язык Python прекрасно подходит для автоматизации поиска информации.
   Наименьшая глава книги – глава 7 Antivirus Evasion with Python – рассказывает метод использования модуля Pyinstaller для обфускации кода пакета Metasploit, а также способ автоматической проверки кода антивирусными сканнерами в сети Интернет.
    Конечно, автор перечислил лишь некоторые виды нарушений, к тому же на сегодняшний день уже устаревших. Однако для получения общего представления о методах злоумышленников и основах компьютерных атак данная книга будет весьма полезна.