6 февраля 2015 г.

Black Hat Python: Python Programming for Hackers and Pentesters by Justin Seitz (2014)


           Сегодня буду очень краткой, так как крайне разочарована.

     Книга представляет собой посредственный сборник рецептов - ставится задача, которая была решена миллионами разных способов сто тысяч лет назад, и пишется решение на Python'е. Людям, незнакомым с языком, его изучение посредством данной книги будет крайне затруднительно. Людям, более-менее разбирающимся в Python'е, рекомендую не тратить свое время и почитать что-нибудь более познавательное.

22 ноября 2014 г.

#CiscoConnectRU 2014. Личные впечатления

     Начиная с 2000 года в Москве ежегодно проходит крупная IT-конференция Cisco Connect (ex Cisco Expo). Этот год не стал исключением и, что называется, в то же время, в тот же час собрал всех заинтересованных лиц в Центре международной торговли.
     В этом году мне либо повезло, либо действительно доклады были менее маркетинговыми и более техническими. Секция по ИБ показалась интересной, хотя и более-менее стандартной: NetFlow, Cyber Threat Defense, FirePower, ASA, борьба с DDoS и т.д., и т.п. Отдельный доклад был посвящен безопасности видеосвязи, однако заявленный уровень advanced едва ли превышал basic. Естественно, упоминались решения для промышленности и умных городов, и тут хочется выразить особую благодарность докладчикам за реальные примеры внедрения.
     Мне показалось, что стендов было маловато - все были пройдены уже в первый день. Однако же развлекательная сторона мероприятия достойна упоминания. Positive Technologies устроил тараканьи бега (ни один таракан не пострадал!), а УЦ Микротеста организовал лучные поединки со стресс-тестированием среди участников конференции. Сами организаторы (вернее - спонсоры) устроили фотоохоту на крокодила/сервер/рамку, и хотя хэштег в соцсетях не взлетел, идея и результирующие фотографии были оригинальны.
     И напоследок ложка дегтя в бочке меда. Только ленивый не твитнул/заинстаграммил/написал о качестве обедов на конференции. Три дня подряд посетителей кормили батонами. Да-да, без преувеличения - разрезанный батон с ветчиной в первый, копченой колбасой во второй и рыбным паштетом в третий день. И даже знакомый с детства Choco-Pie в каждом ланчбоксе не спасал положения. Кризис или санкции?..

7 августа 2014 г.

The Hacker Playbook: Practical Guide To Penetration Testing by Peter Kim (2014)

   Долго собиралась с мыслями. чтобы рассказать наконец о вышедшей этой весной увлекательной книге. В оригинальной манере Peter Kim повествует о всех этапах пентеста - от настройки компьютера до составления отчета об обнаруженных уязвимостях.
   Глава 1 Pregame - The Setup знакомит читателя с основными дистрибутивами и утилитами, используемыми при пентесте. Естественно, подчеркивается, что под рукой надо иметь мощный компьютер, две операционки - Windows и [Kali] Linux - и много-много дополнительного софта (кстати, автор заботливо приводит must-have список с действиями по его установке).
   Глава 2 Before the Snap - Scanning the Network посвящена, как это следует из названия, сканированию. Описаны три метода - пассивное, активное и сканирование веб-приложений. Пассивное сканирование заключается в сборе открытой информации (да-да, OSINT). Активное сканирование - запуск утилит типа Nmap, Nessus и т.п. Сканирование веба - использование возможностей Burp Suite [Pro].
   В главе 3 The Drive - Exploiting Scanner Findings идет краткий рассказ о том, как пользоваться Metasploit'ом. Ну и вскользь упоминается Exploit-DB с присутствующими в ней скриптами.
   Глава 4 The Throw - Manual Web Application Findings. Я далека от темы пентеста веб-приложений, поэтому этот раздел заинтересовал меня куда больше остальных. Однако не могу сказать, что он открыл для меня Америку - описываются SQLi, XSS, CSRF и утилиты, способствующие их нахождению и экспуатации. Наиболее ценным выглядит скрипт, который аггрегирует валидные XSS, публикуемые на реддите.
   Итак, вы в сети, но с ограниченными правами. Ответом на вопрос "что дальше?" служит глава 5 The Lateral Pass - Moving Through the Network. Получение хэшей учеток, их вскрытие, атака на контроллер домена, ARP-спуфинг (кстати, с помощью Evil FOCA), MitM, SSLStrip и т.д., и т.п. В общем, самая насыщенная глава книги.
   В главе 6 The Screen - Social Engineering приводится всего лишь несколько примеров социальной инженерии - домены-двойники, SET и даже о Excel-макросах не забыли упомянуть.
   Кроме очевидного клонирования RFID-карт, в главе 7 The Onside Kick - Attacks that Require Physical Access рассказывается о перехвате WiFi-трафика.
   Глава 8 The Quarterback Sneak - Evading AV посвящена простейшим способам обхода сигнатурных антивирусов. 
   Глава 9 Special Teams - Cracking, Exploits, Tricks. Как пишет сам автор - "здесь я собрал все то, что помогает пентесту, но чему не нашлось места в других главах". Описаны программы для взлома хэшей, приведены ссылки на разные словари для брутфорса, упоминаются сервисы Exploit-DB и BugTraq, а также скрипт поиска известных экспоитов searchsploit. Стоит отметить технику сокрытия файлов в Windows, описанную в этой главе - что называется, "все гениальное - просто".
   И, наконец, в последней главе 10 Post Game Analysis - Reporting автор дает рекомендации по составлению отчетной документации по проведенным мероприятиям. 
   Многие моменты в книге описаны кратко, однако в тексте всегда присутствует ссылка на тематическую книгу или сайт, где можно подчерпнуть детальную информацию по заинтересовавшему вопросу. Думаю, логичней было бы назвать книгу cookbook, а не practical guide, но это дело вкуса автора. В целом, The Hacker Playbook прекрасно структурирует знания области и, на мой взгляд, достойна находиться в библиотеке любого ИБ-специалиста.

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, а также способ автоматической проверки кода антивирусными сканнерами в сети Интернет.
    Конечно, автор перечислил лишь некоторые виды нарушений, к тому же на сегодняшний день уже устаревших. Однако для получения общего представления о методах злоумышленников и основах компьютерных атак данная книга будет весьма полезна.

28 мая 2013 г.

Мысли после #PHDays III

   Ну, что же, запишу и я свои скромные мысли-на-память по поводу PHDays III. Пост будет не столько о самой конференции, сколько о заметках, родившихся после прослушивания некоторых докладов.

   [via @asintsov] Ханейпот это круто. Если заморочиться и создать целенаправленный ХП, то можно поиметь много интересного. И тут под интересным подразумевается не столько кто-откуда-и-зачем, сколько КАК это было сделано (мечты о новых технологиях, да). Правда вначале надо поизучать законы, ведь можно легко и непринужденно превысить пределы "самообороны"...
   [via @codelancer] Идея оригинальная, но отнюдь не истина в последней инстанции. Этак можно сделать противоположный вывод: если кто-то захочет подставить кого-то в политических играх, то специально оставит (порой очевидные) ссылки на нечто, характерное для нации. Допускаю, что проколы могут быть, но все же "не верю!" (с).
   [via Д.Курбатов] Была высказана любопытная концепция: если каким-либо образом попасть в сеть мобильного роуминга GRX, то через нее без каких бы то ни было проблем сразу попадаем на GGSN (защиты как бы нет), который управляет всей GPRS-связью. Интересно, были ли прецеденты?...
   [via @saprand и А.Масалович] Так как в прошлом году я их доклады уже слушала, то в этом мир не перевернулся. Из полезного вынесла только сайт https://apigee.com/console/, позволяющий напрямую слать API-запросы к соц сетям, минуя написание нескольких строчек py-кода. Ну и немного странным выглядит то, что система Масаловича выкладывает результаты работы в открытый доступ - угадай верный путь на http://tora-centre.ru/;-)/ и пользуйся на здоровье!
   [via @sshekyan] Бот-сеть на IP-камерах более, чем реальна. Юзеры - идиоты не технари (с) и по большей части оставляют доступ из инета с паролями по умолчанию, что дает превосходную возможность создавать простенькие бот-сети, пригодные для, например, (цепочек) прокси - сделал "дело", перегрузил камеру и все, логов нет. Вопрос только насколько хватит ширины канала. Ну и риторически: когда же уже народ научится менять дефолтные пароли и не копировать конфиги из инета, не понимая, что при этом происходит?...
   [via @toool] Локпикинг оказался неимоверно интересной темой. Выступающие американцы зажгли - открывали замки на раз-два. (не все замки, конечно, но все же.) Чувствую, их фирма обогатится на заказах из России после такого шоу; даже я подумываю о том, чтобы потратить полторы тысячи деревянных на набор простеньких отмычек :)

   В общем, waiting for #ZeroNights...

5 февраля 2012 г.

Социальная инженерия на пальцах

NB: данная статья задумывалась как статья for dummies и поэтому те, кто уже знаком с темой, могут не открыть для себя ничего нового.

   Прилагательное «социальный» в наше время стало неимоверно популярным. Подозреваю, что практически все слышали, что такое социальная сеть. Многие из вас знают, кто такой социальный работник. А некоторые даже имеют представление о социальном налоге и с чем его едят. Но мало кто понимает, что такое социальная инженерия. Давайте сегодня мы разберемся в этом понятии.

   Представим следующую ситуацию: вы проверяете свой почтовый ящик и видите, что вам пришло новое письмо от Васи Пупкина.
   Кстати говоря, а знаете ли вы, откуда взялся этот Вася Пупкин? Нет? Тогда слушайте. Василий Пупкин – это фольклорный персонаж, правда, современный. Его используют, когда не хотят раскрывать своего настоящего имени в Интернете. Также существует скрытый смысл такого именования – сократить длинное и нудное описание «среднестатистический гражданин Российской Федерации». Например, в Англии Вася Пупкин звался бы Джон Буль, а в США стал бы Джоном Доу, довольно распиаренным по многочисленным детективным фильмам.
   Но вернемся к заинтриговавшему нас письму от пресловутого Василия Алибабаевича Пупкина. Человеческая психика устроена так, что интерес в подавляющем большинстве случаев берет верх над разумом, и мы все же кликаем мышкой по заголовку любопытства ради. Что же мы увидим в самом письме? Возможны сотни вариантов.
   Например, самый банальный: «Привет! Как дела? Мне Саша дал твой e-mail и сказал, что ты сможешь помочь. Посмотри, пожалуйста - <тут идет ссылка на какой-либо сайт>».
   Еще вариант: «Добрый день! Вас беспокоит служба <ваша почта>.ru. Совсем скоро мы запускаем новый сервис и хотим, чтобы вы приняли участие в нашем опросе. Это не займет много времени. Подробности по ссылке: <…>. С уважением, В. Пупкин».
   Ну и третий вариант: пришло сообщение от имени вашей любимой социальной сети на тему «Вася Пупкин хочет дружить» и, как вы уже догадались, ссылка на якобы вашу же страничку.
   «А что тут такого?» - подумает как минимум треть из вас и перейдет по ссылке. Перешли? Я вас поздравляю! Вы на себе ощутили всю прелесть социальной инженерии, вернее лишь нескольких ее разновидностей. Да, кстати, уже можно начинать прощаться как минимум со своим почтовым ящиком, а как максимум с операционной системой вашего компьютера.

   Итак, что же такое социальная инженерия?

23 декабря 2011 г.

21 Recipes for Mining Twitter by Matthew A. Russell (2011)

   Подбирая себе очередное увлекательное чтение на Amazon.com, наткнулась на спин-офф книги Mining the Social Web (о ней позже) и не смогла пройти мимо, чтобы хотя бы не полистать сабж. На пролистывание мне хватило получаса, т.к. ничего нового я для себя не узнала. Но это я...
   Как становится ясно уже из названия, книга представляет собой сборник рецептов по работе с API Twitter посредством сторонних библиотек для Python: twitter, tweepy, pypi, twitter_text, networkx, couchdb, nltk, redis, geopy. На мой взгляд, можно было пренебречь некоторыми библиотеками, но для полноты картины и общего развития очень даже неплохо, что о них упомянули.
  Типичный пример рецепта: "Требуется получить список всех фолловеров указанного пользователя. Для этого необходимо обратиться к ресурсу /followers/ids. В листинге X-XX представлена реализация данной возможности". Далее следует несколько строк, а то и страниц кода без каких-либо пояснений.
   Заманчивое слово "mining" оказывается всего лишь одним графиком, двумя чартами и словами, что возвращаемые данные будут в формате json. Ни о какой структуризации и анализе собранной информации речи не идет.
   В целом, как сборник рецептов книга сойдет. Также она подойдет тем, кто не хочет разбираться в том, как все работает, а хочет сразу одной кнопкой получить конечный результат. Однако если нужны подробности, или же есть желание использовать возможности API на 100%, а не на 21 рецепт, то советую пройти по ссылке - https://dev.twitter.com/docs - и ознакомиться с оригинальным руководством разработчика.