Easy HackЗадача: Залить шелл-код на взломанный сервер при активном файрволе с жесткими ограничениямиРешениеFirewall’ы относятся к основным средствам защиты при работе в сети. Сейчас они используются повсеместно, встраиваются в ОС, хотя некоторые из них скорее создают иллюзию безопасности. При взломе они создают множество неудобств, например, за счет ограничений открытых портов, на которые можно повесить шелл, или запрещают исходящие соединения, лишая нас возможности заюзать backconnect шелл. Поэтому приходится работать с тем, что доступно. К примеру, DNS. Он очень редко блокируется или фильтруется, но при этом доступен всем пользователям (а то как же без него ползать по инету). Вот этим-то мы и воспользуемся. Есть прекрасная технология для организации туннеля посредством DNS, и программулина к ней — dnscat (что-то вроде аналога netcat). Идея же заключается в следующем: У нас есть DNS сервер А новое то, что совсем недавно хороший человек по имени Ron запихнул dnscat в шеллкод! И что еще более приятно — запихнул его в metasploit. Модуль еще находится на стадии тестирования и имеет ряд ограничений, но пользоваться им уже можно. Только представь себе, какие возможности открываются! Итак, нам потребуется: 1. Скачать и установить metasploit. 2. Скачать модуль по ссылке: skullsecurity.org/blogdata/dnscat-shell-win32.rb (или найти его на DVD). 3. Скопировать его в директорию metasploit’а modules/payloads/singles/windows/. 4. Так как dnscat-сервер еще не реализован в metasploit’е, его требуется запускать отдельно следующим образом:
Пример использования1. Подгружаем эксплойт: 2. Прикрепляем к нему dnscat-шелл: 3. Определяем нашу цель: 4. Выбираем DNS-сервер: 5. Запускаем эксплойт: После чего на dnscat-сервер будет произведено «подключение» от клиента, т.е. получен полноценный шелл. Если у тебя нет своего сервера с DNS, но очень хочется протестировать работу, можешь поменять primary dns на свой IP в конфигах на атакуемой машине. Задача: Скачать файл с интернета, если на прокси закрыт доступ на скачку exe, zip, dll и т.п.РешениеБдящие админы, борясь с лишним трафиком и нелегальным использованием рабочего инета, а также оберегая пользователей от самих себя, часто прибегают к урезанию возможности скачивания, фильтруя -exe, -zip, -dll и так далее на proxyсервере. Как говорится, рубят топором, что реально мешает работать. Проблема тривиальная, а потому решений имеет довольно много. Вот парочка основных: 1. Воспользоваться открытыми файлообменниками. Файлообменников сейчас много, даже очень, и многие из них предоставляют отличную возможность — закачивать файлы с удаленных серверов. Прописываешь путь до файла — и все. В течение пары минут он скачается и будет доступен через файлообменник. Вот только тут есть подвох — многие из них оставляют расширение файла. К тому же большинство требует регистрации. 2. Создать свой «файлообменник». Хотя, скорее, это будет конвертер. Суть будет такова: мы передаем скрипту на нашем сервере путь до файла, который требуется скачать, что он и делает. А после выдает нам ссылку c каким-нибудь удобным для нас расширением, jpeg или pdf, к примеру. Реально мы скачиваем exe, а в логах proxy будет отмечен jpeg. Нам понадобится достаточно хороший хостинг c поддержкой php и директивы «allow_url_fopen» в php.ini, которая даст возможность скачивать файлы с удаленных ресурсов. Минимальный исходник:
Готово! Для использования пишем в адресной строке: И нам выводится ссылка на файл. Качаем и переименовываем. В общем-то, все. Хотя у этого метода есть ограничения: на размер скачиваемого файла или время скачивания. Но это все обходится в php.ini. Скрипт, конечно, можно «расширить и углубить», так что сразу посмотри модуль php curl, который увеличит возможности по скачиванию файлов. Задача: Получить права администратора доменаРешениеАдминские права — святая святых и получить их — благое дело. Способов — масса, но я напомню тебе парочку классических. Особенно приятно то, что они есть в нашем любимом metasploit’е. 1. smb relay. Да, старый добрый smb relay. Этому виду атак уже больше 10 лет, а все из-за в криптографических проблем, проблем в дизайне NTLM-протокола, а также глубины, с которой он вшит в ОС. Каждый год исследователи придумывают с ним что-то новенькое. Напомню тебе (если вдруг ты запамятовал), что smb relay — это классическая man-n-middle атака, т.е. хакер заставляет свою жертву аутентифицироваться на подконтрольном ему хосте и пересылает эту информацию на сервер, которым хочет завладеть. За счет данных действий хакер получает доступ к серверу с правами жертвы. Теперь по порядку:
Также существует вариация, когда сервером является сама жертва, но данная возможность была пофиксена Microsoft 2 года назад. Как уже было сказано, в Metasploit’е существует модуль, реализующий smb relayатаку. Делаем это через web-интерфейс:
Теперь, когда наша жертва подсоединится к нашему поддельному smb-серверу, вся информации по аутентификации перенаправится на smb-host и мы получим необходимый доступ. 2. Использовать smb sniffer. У smb relay есть небольшой недостаток — она не сохраняет используемые хеши, чтобы их можно было потом расшифровать. Как раз для этих целей, чтобы в итоге получить пароль админа, мы можем использовать модуль metasploit’а — capture/smb. Пример: 1. Подгружаем снифер: 2. Запускаем его Главное же отличие от smb relay то, что в smb-снифере используется определенный «случайный запрос», а именно 1122334455667788, что позволяет взломать пароль на основе радужных таблиц. В smb relay же он генерируется случайно. Остается последний вопрос, как же заставить жертву подсоединиться к твоему серверу? Все достаточно просто. Из старых методов: требуется либо послать e-mail, либо сгенерировать html-страничку со ссылками на твой ресурс такого вида:
Когда админ зайдет на нее, браузер захочет автоматически подгрузить изображение, а для этого ему придется аутентифицироваться на твоем сервере. Из новенького и, для большей скрытности, можно использовать XSS уязвимости, коих развелось предостаточно в последнее время, или атаки по DNS, ARP. Если захочешь лучше разобраться в теме, почитай securitylab.ru/contest/212100.php и securitylab.ru/analytics/362448.php:
3. Запускаем его следующим образом: 4. Наслаждаемся результатом :). Задача: Определить какая cms используется на сайте и технологии ее разработки.РешениеДанный вопрос задается очень часто. Для начала стоит вручную научиться определять хотя бы основные cms. Способ прост: выискиваем стандартные сигнатуры на сайте и, используя Google, находим название cms вплоть до версии. Искать следует в следующих местах:
Но, руками-то — хорошо, да лень-матушка, а потому из автоматизированных средств могу посоветовать тебе следующие сайты: Они покажут тебе cms, фрэймворки, языки, используемые на сайте со ссылками и описаниями. Быстро и просто, но частенько ошибаются, потому лучше использовать все вместе. Существует также аддон Wappalyzer к firefox’у. Выводит чуть меньше информации, зато более точно, так как база обновляется достаточно часто. Хотя алгоритм у них слабенький и скрыться от него не составляет труда. Можешь увидеть это на примере Wappalyzer. Для этого нужно:
Задача: определить ip-адрес человека.РешениеОчень часто появляется необходимость вычислить кого-то в Интернете. Сделает тебе кто-то гадость — и очень хочется его найти. Но это и просто, и трудно одновременно. Технологии tcp/ip и интернет предоставляют множество возможностей для анонимного серфинга, потому многое зависит от уровня пользователя, которого надо вычислить. Если тебе вычислять никого не надо, то эта информация будет полезна для сохранения твоей анонимности. Ограничим задачу и условимся, что требуется определить IP пользователя, который использует прокси и/или находится за NAT. Технология такова. Используя социальную инженерию или, например, XSS дырку в каком-нибудь сайте, мы подкидываем нашей жертве линк на «наш» сервер. Жертва на него переходит и мы получаем ее IP. Причем «нашим» сервером может быть, к примеру, тот же сервер с XSS-дыркой, при определенных условиях. Ты, наверное, уже много читал статей о том, как получать PHP-заголовки от запроса пользователя и, анализируя их, узнать IP пользователя. Но это все возможно, только если прокси не анонимный и человек находится не за NAT’ом. Иначе — мы в обломе. Что же делать? Есть решение! И опять нам поможет Metasploit. А если быть точнее, то их проект Decloak: DeAnoynmized. Итак, все, что нам теперь требуется — это найти хостинг с поддержкой php (или аналогичного языка) и создать скрипт примерно такого вида:
В итоге, жертва, заходя на данную страницы, будет видеть поставленный тобой рисунок, а браузер в скрытом фрэйме передаст необходимую информацию на decloak.net/decloak.html. IP жертвы ты сможешь получить зайдя на Где
уникальный id — IP жертвы, при коннекте
Данная строка в запросе ограничивает некоторые технологии, используемые decloak’ом для определения IP-адреса, но которые избавляют от палева в виде запроса на скачку файла или окошка об установке плагина. Если тебе требуется разово узнать IP, например, через XSS, то надо запихнуть на уязвимый сайт только, подставив 32-байтный набор символов из головы:
А потом ручками вытащить инфу по данному ID. Чтобы наш скрипт был более неприметным, стоит заменить его расширение на jpeg, например, а в .htaccess на сервере выставить директивы, чтобы jpegфайлы воспринимались как php. Кстати людям, пользующимся Tor-ом, можно не беспокоиться о поддержании свой анонимности в сети — при стандартных настройках используемые методы не смогут обнаружить ваш настоящий IP-адрес. Описание используемых технологий, а также примеры реализации, если захочешь сделать полностью свой деанонимайзер, можешь почитать на decloak.net. Задача: Создать троян, который не обнаруживается антивирусами.РешениеЗатроянить кого-нибудь — дело хорошее и нужное. Но очень часто антивирусы мешают. Старые, проверенные средства жестко палятся. Путей решения это проблемы несколько. 1. Взять старый троян и воспользоваться каким-нибудь криптором. Но антивирусные конторы следят за появлением паблик-крипторов, потому выжать из этого можно немного. 2. Взять исходник чужого трояна и изменить его. 3. Написать свой троян, как говорится, «с нуля». Это путь долгий и тернистый, но даст почти 100% результат. 4. Чтобы не перетруждать себя и заняться другими полезными делами, воспользуемся следующим методом. Нам потребуется Metasploit.
Здесь, не запуская mfsconsole, мы сразу из консоли обращаемся к модулю Metasploit’а с payload’ами. И создаем exe-шник с шеллом, который после запуска подконнектится на 5555 порт хоста с 192.168.146.128. “X” — указывает модулю, что на выходе должен быть получен exe-файл. Также поддерживаются:
Троян готов. Создаем сервер, куда будет коннектиться наш шелл. Для этого пишем:
Где msfcli — интерфейс командной строки Metasploit’а. Теперь, после запуска reverse.exe жертвой, его комп подключится к нам на 5555 и мы получим консольный доступ с правами жертвы. Все бы хорошо, но сигнатуры большинства стандартных payload’ов Metasploit’а есть почти во всех антивирусах. Их не добавил, наверное, только самый ленивый. Потому reverse.exe определяется аж 21 антивирем из 41, что показывает тест с virustotal.com (см. скриншот). Что же делать? Воспользоваться еще одним модулем Metasploit’а — msfencode. Если попростому, то он изменяет разными способами код шеллов и эксплойтов, чтобы те не обнаруживались антивирусами, чтобы затруднить реверс-инжиниринг. Для нашей задачи отлично подходит. Пишем: Здесь модуль msfpayload используется аналогичным образом, но итоговый формат — машинный код, который может воспринимать msfencode. Параметры:
Совмещение файлов происходит следующим образом. Msfencode — читает PE-заголовок файла, к которому мы прикрепляем наш код, находит .text секцию и добавляет в нее наш код. Затем меняет входной адрес для exe-шника, потому сначала запускается код. В итоге мы получаем следующие бонусы. Во-первых, рабочий шелл-код, во-вторых, полученный reverspad.exe будет точь-в-точь похож на notepad.exe. То есть ярлычок, информация о производителе и размер до байта будут одинаковыми. Разница будет заметна только если посмотреть хеш файла. И, самое главное, большинство антивирусов не смогут теперь определить наш троян. Если точнее, то reverspad.exe определяется как вирь только двумя антивирусами. И это только начало, если помучить msfencode, то можно получить и куда лучшие результаты. |