Faq unitedQ: Подскажи, как можно автоматизировать такую рутинную работу как установка LHOST, LPORT, PAYLOAD и других параметров в Metasploit Framework, чтобы не приходилось каждый раз заново вводить их руками.A: Действительно, каждый раз вручную задавать одни и те же параметры не совсем удобно. К счастью, в Metasploit Framework есть возможность для автоматизации — это файлы ресурсов. На самом деле файлы ресурсов представляют собой обычные скрипты, в которых прописывается все необходимое. С недавнего времени в файлы ресурсов можно вставлять целые блоки кода на Ruby. Если создать скрипт с именем msfconsole.rc и положить его в директорию ~/.msf3/msfconsole.rc, то он будет автоматически загружаться каждый раз при запуске msfconsole. Это идеальный способ автоматической установки основных параметров (exploit, PAYLOAD, LPORT, LHOST и т.д.). Для того, чтобы понять, как создать файл ресурсов, советую тебе разобрать демонстрационный пример — Если запустить его с помощью команды
Кстати, разработчик Metasploit HD Moore пообещал в скором времени показать миру Metasploit Express — графическую оболочку для управления метасплойтом. Жаль только, что продукт будет платным. Q: С помощью Metasploit получил доступ к удаленной машине. Подскажи, можно ли както затуннелировать трафик через Metasploit сессию?A: Да, в Metasploit есть такая возможность. Представим, что мы получили доступ с машины 10.1.1.1 на 10.1.1.128. Выглядит это примерно так:
Фишка в том, что при удачном срабатывании сплойта автоматически добавляется соответствующее параметрам сессии правило роутинга. Q: Как можно отслеживать все изменения в сети: появление новых устройств, изменения в конфигурации хостов (появление новых открытых/закрытых портов)?A: В этом может помочь всем известный Nmap. Если ты обращал внимание, среди списка его опций есть такая: Опция
Соответственно, плюсом отмечено то, что добавилось, а минусом — то, что ушло. Таким образом, видно, что появились новые открытые порты 70 и 31337. Все то же самое можно проделать и с помощью GUI-фронтенда для Nmap — Zenmap. Q: Как можно обойти защиту паролем на вход в операционную систему?A: Такая задача встречается довольно часто. Существуют специальные утилиты, позволяющие сбросить пароль или просто войти в систему с любым пассом. Можно воспользоваться утилитой Kon-Boot (www.piotrbania.com/all/ kon-boot). Схема работы проста: с официального сайта загружаем образ для Floppy/CD/ USB и создаем загрузочный диск/дискету/ флешку. Загружаемся с нее и в появившемся меню выбираем первую опцию — «1st Kon-Boot». Ждем, при повторном появлении меню выбираем опцию «2nd try boot from drive C: as hd1». Если не удалось загрузить hd1 — выбираем hd2 и т.д. Если необходимо войти в Linux — логинимся как пользователь kon-usr, а для входа в Windows сойдет любое действительное имя пользователя с любым паролем (можно пустым). На данный момент с помощью этой программки можно зайти как в Windows (поддерживает все версии вплоть до семерки), так и в Linux (к сожалению, пока еще не все дистрибутивы). Q: Подбираю пароль к админке сайта. Использовал уже все возможные словари, и пока никак. Похоже, словарик придется составлять самому — как это автоматизировать?A: Иногда бывает полезно составить словарь для конкретного сайта, так как зачастую пользователи используют в пароле сочетания, связанные с его тематикой или даже названием. В первую очередь надо пропарсить контент сайта и собрать слова. В этом деле очень пригодится утилита CeWL (Custom Word List generator — www.digininja.org). Написанный на Ruby паук обходит весь сайт до заданной глубины (по умолчанию равной 2) и составляет список часто используемых слов. Следует обратить внимание на следующие опции:
После этого полученный список слов надо скормить John The Ripper, чтобы он немного разнообразил их, добавив цифры и изменив в некоторых местах регистр (все это прописывается в правилах). Легко и эффективно составить правила поможет другая утилита — JTR Config Maker (sites.google.com/site/reusablesec2/jtrconfiggenerator). Q: Как посмотреть в Linux список недавно модифицированных файлов? A: Для того, чтобы посмотреть список файлов, которые недавно изменились, достаточно запомнить несколько полезных ключей для команды ls. Так, «ls –ltr» выдаст информацию об измененных файлах в текущей папке. Чтобы увидеть недавно модифицированные файлы всей файловой систем, можно использовать команду: Q: Как из-под Linux удаленно выключить виндовую машину? A: Удаленная Windows-машина может быть легко выключена, если у тебя стоит Samba, и есть аккаунт с достаточными правами на машине с Windows. Делается это с помощью механизма удаленного вызова процедур: Q: Можно ли как-то обмануть URL-фильтры?A: Современные браузеры могут воспринимать URL не только в десятичной системе, но также в 8-ричной и 16-ричной, и даже единым 32-битным числом. Таким образом URL типа 66.102.13.19 можно представить следующими способами: Если кликнуть по любому из вариантов, попадешь на google.com. На самом деле эта техника не нова и известна уже давно. Но, как показывает практика, некоторые производители антивирусного ПО про нее подзабыли, и их продукты, блокирующие ссылку в нормальном виде, пропускают 8-, 16- или 32-ричный IP-адрес. Преобразовать IP из одного формата в другой поможет онлайн-сервис www.csgnetwork.com/ipaddconv.html. Q: Как реализовать обмен трафиком между машинами, находящимися за разными NATсерверами?A: Когда один из двух компьютеров находится за NAT, реализовать свободный обмен трафиком между ними уже затруднительно. Когда за NAT’ом оказываются сразу два участника обмена, то задача усложняется вообще в разы. К счастью, выход есть. Благодаря программе Pwnat любое количество клиентов, находящихся за одним NAT-сервером, может соединяться с хостом, стоящим за другим NAT, при этом не требуется проброска портов на серверах и использование прочих инструментов. Все это без каких-либо посредников, спуфинга, трюков с DNS и технологий UPnP/ STUN/ICE — исключительно ноу-хау разработчиков. Общий синтаксис для запуска имеет несколько ключей: ./pwnat <-s | -c> <args>, где -s, -c соответственно означают «клиент» и «сервер». Для «клиента» надо указать следующие аргументы:
Q: Как разобраться, почему только что установленная семерка свалилась в BSOD?A: Чтобы не ковыряться в странных аббревиатурах и дампах, которые создает винда при падении, лучше поставить небольшую, но зато очень полезную утилиту WhoCrashed (www.resplendence.com/whocrashed). Вот она-то и расскажет, кто свалил систему. Али драйвер какой, али программа, али еще что-нибудь. Так или иначе, будет указано название конкретного модуля, его расположение на диске, название ошибки, описание программы с указанием разработчиков (берегитесь!). Последняя версия как раз поддерживает «семерку», причем как 32-, так и 64-битную версии. Q: Будущая версия Visual Studio будет поддерживать странный язык C++0x. Как вы к нему относитесь?A: Ну, это не совсем язык программирования, а скорее новый, переработанный стандарт привычного C++. Поскольку уже опубликован финальный черновик (draft-версия), можно с уверенностью сказать: проект попрет. К тому же, в новой VS2010 действительно уже реализованы многие из заявленных нововведений C++. В блоге разработчиков даже есть сводная таблица, в которой перечислены те аспекты C++0x, которые уже поддерживает новая «студия». Благодаря новому стандарту мы получим многие механизмы, которые уже давно используются в других языках. Например, лямбда-выражения, позволяющие упросить некоторые фрагменты кода, а также Rvalue-ссылки, позволяющие различить временные и постоянные объекты, увеличив тем самым производительность приложения. Q: Пользователям мобильных платформ я отдаю специально переработанную веб-страницу, в которой используется упрощенная верстка. Раньше определить такую категорию пользователей было легко, но теперь, с появлением все новых и новых мобильных браузеров, это становится все сложнее и сложнее. Есть ли готовое решение, чтобы не тратить время на проверки вручную, заново изобретая велосипед?A: Проблема на самом деле не только в том, чтобы определить факт использования мобильного устройства; сложнее понять, с каким девайсом имеешь дело, и на что он способен (разрешение, используемый браузер и т.д.). Свои наработки в этой области сделали доступными ребята из Яндекса, предоставив всем доступ к их Яндекс.Детектору (api. yandex.ru/detector/doc/dg/concepts/About.xml). Работает это следующим образом. На «http://phd.yandex.net/detect/» отправляется специальный запрос, в ответ на который приходит XML-выдача с результатами определения модели и характеристик устройства. Q: В Gmail'е наконец-то появилась возможность Drag'n'Drop'ом приаттачивать к письму файлы. Как они сделали это в веб-приложении? Нигде подобного больше не видел.A: Это стало возможным за счет такой офигенной штуки HTML5 как FileAPI (www.w3.org/TR/2009/WD-FileAPI-20091117). Это расширение возожностей JS в сторону работы с файлами. Теперь можно получать не только имена файлов, но и их MIME-тип, размер, а самое главное — содержимое! Увы, как и любые технологии HTML5, они реализованы лишь в некоторых браузерах: поддерживают FileAPI лишь последние версии Firefox и Chrome. Полный код я приводить не буду, все нюансы и исходники доступны в замечательных статьях: javascript.ru/blog/Brmaley.ee/FileAPI, www.kigorw.com/articles/dd-file. Q: Один из хакерских плагинов для Firefox обновляется очень редко, а новые версии браузера отказываются его подключать, ссылаясь на отсутствие совместимости. Как бы вырубить эту проверку?A: Для этого есть свойство в about:config (специальная страница с тонкими настройками браузера). Ищи "extensions. checkCompatibility" и выставляй значение "false". Если такого ключа нет, то параметр нужно создать самому. Q: Задача: периодически делать бэкап нескольких тысяч файлов с никсового сервера. Когда попробовал скачать все по FTP, стало ясно, что я скорее состарюсь — процесс идет очень медленно. Догадался предварительно подключаться по SSH и упаковывать файлы в один архив, но как бы это автоматизировать?A: Если сервер поддерживает подключения по SFTP, то самый простой путь — написать несложный скрипт для WinSCP (winscp.net). Задача простая: упаковываем файлы на удаленном сервере, скачиваем архив к себе, удаляем его с сервера. Чтобы клиент каждый раз не просил данные для аутентификации, необходимо сохранить сессию со всеми необходимыми параметрами (назовем соединение AccountName). После подключения не забудь нажать Ctrl+T — должно появиться окно консоли. Если этого не происходит, значит, у тебя нет доступа к шеллу, и ничего не выйдет. Если же все ОК, можно писать наш скрипт.
Первые две строчки позволят скриптам выполняться автоматически без подтверждений пользователя. Команда open устанавливает соединение, которое ты предварительно создал (необходимо указать правильное имя). Далее выполняем ряд обычных никсовых команд по созданию архива с бэкапом и с помощью команды Get указываем, что файл надо скачать в локальную папку (в моем случае — Dropbox). Теперь необходимо добавить запуск WinSCP и нашего скрипта в планировщике (стандартный виндовый или, скажем, nnCron), чтобы тот с нужной периодичностью запускал WinSCP. Весь код скрипта, как ты, вероятно, догадался, сохранится в файл backup.txt. |