Тема DNS туннеля для организации скрытного канала связи c командным сервером — (С2 или С&C) не нова, но мне многие годы не давало покоя одна вещь — отсутствовала реализация полнофункционального решения с пентестерской(хакерской) точки зрения (не считая кастомные вещи для себя). Не было удобного пути загрузки пейлода и контроля удаленного агента (трояна) в одном флаконе без использования сторонних сервисов типа Iodine или DNSCat2, которые не были созданы для скрытного прибывания в системе и делали много локального шума: открывали TCP порты, открывали активные соединения самостоятельно и вообще висели отдельным процессом, и все это характеризуется одним словом — «палево».
Год назад, мы в рамках нашей DEF CON группы DC7812, чисто ради «fun and profit» и для пользы сообщества, задались задачей решить эту проблему, и сделать нормальный DNS туннель в транспорте Metasploit для Meterpreter агента (пока только для MS Windows). Другими словами, что бы Meterpreter сам использовал этот туннель, нативным образом. Очевидно, что это же подразумевало и создание stager нагрузки (шеллкодов), что бы этот самый meterpreter (или иной другой пейлод MSF) грузить по тому же DNS прям из засплойченого процесса. Таким образом мы будем иметь стандартную нативную поддержку транспорта, что добавит дополнительные возможности пентестерам. Ну и я рад сообщить, что мы закончили разработку и теперь любой может это использовать или хотя бы потестить. Под катом можно почитать про интересные фичи и возможности нашей разработки (о чем мы рассказывали на конференции ZeroNights прошедшей в Москве в Ноябре).
Читать полностью »