[Из песочницы] Как не остаться голодным или безлимитный проход в столовую
Всем привет.Хочу поделиться одной ситуационной проблемой, которая возникла в ходе моего пребывания на проходящем в Калининградской области международном форуме и ее решением в стиле голодного IT’шника.
Пост будет о том, как удалось обойти лимит на одну порцию, установленную в столовой.
Совсем недавно я в очередной раз побывал в качестве участника на международный форуме, ежегодно проходящий у нас в Калининградской области, на берегу Балтийского моря.Основная задача нашего потока на DevCamp была за время пребывания разработать и презентовать концепцию какого-либо IT-проекта.Однако, помимо работы над основным проектом, появилось желание немного отвлечься в сторону…
В этом году на территории столовой форума было нововведение: пройти покушать можно было только 1 раз (один раз на завтрак, один на обед и один на ужин).Контроль осуществлялся на входе с помощью специально обученного человека и МК со считывателем, к которому нужно прикладывать персональный бейджик с rfid меткой.Если загорался зеленый светодиод — пропускали покушать, если красный — нет.
Рис. 1 (Микроконтроллер ответственный за пропуск)
Мне захотелось повлиять на данную ситуацию, и у меня это получилось.
Первое, на что я обратил внимание, это патчкорд, который выходил из МК. Я немного прогулялся по пути его следования.Это привело меня в дальний угол столовой, где висел роутер.Рис. 2 (Роутер в углу шатра столовой)
Когда время кормежки кончилась, и столовая освободилась от людей, я подключился к свободному порту в надежде достать пароль от WiFi сети, чтобы продолжить свои исследования, не привлекая лишнего внимания — подальше от столовой. Оказалось, что роутер перепрошит в DD-WRT и стандартные пароли в его админку поменяны, по этой причине мне пришлось продолжить, сидя в столовой.
Сканирование сети DHCP на роутере был предположительно выключен, либо стояли фильтры, т.к моему ноутбуку адрес не выдавался. Как оказалось, адресация устройств была стандартная.рис. 3 (Результат сканирования сети)
Не сложно было догадаться, какие адреса могут иметь МК (их два, один с левого и один с правого входа в столовую).Кандидатов было три: 192.168.1.130,192.168.1.120 и 192.168.1.112.
Анализ трафика Используя технологию ARP-Poisoning, я замитмил трафик между шлюзом и предполагаемым МК через себя. И очень быстро смог поймать нужный пакет.рис. 4 (Оригинальный диалог между МК и сервером)
Как оказалось, за принятие решения ответственен сервер erp.labadabadoo.ru. МК шлет HEAD запрос в формате /skud/meal/? id={идентификатор rfid метки}. Сервер в ответ шлет либо код »200» и на МК загорается зеленый светодиод, либо »403» — тогда загорается красный.
Влияем на ситуацию Для этого был установлен Apache и применена атака типа DNS-Spoofing. Теперь хостнейм erp.labadabadoo.ru резолвился как 192.168.1.99 (мой ноутбук) и мой локальный.Apache всегда отвечал »200».
рис. 5 (DNS-Spoofing в действии)
Итоговый результат можно увидеть ниже. Прошу прощения за горизонтальное видео.
[embedded content]
Хочу сказать спасибо Intercepter за инструмент, который не позволит остаться айтишнику голодным.В ходе исследования лишняя еда не была съедена, зато морально я был сыт.