169 похожих чатов

Другая А запись где? на публичном днс сервере или на

днс сервере атакующего?

24 ответов

32 просмотра

На твоём домене. Причем тут днс.

У тебя свой домен, у этого домена меняется а-запись При первом запросе возвращается нормальный ip, проходишь проверку. При втором локальный

molecrp- Автор вопроса
Neo
У тебя свой домен, у этого домена меняется а-запис...

А зачем тогда сервера уязвимого ресурса делают днс резолв по этим А записям на моем домене? Если у них уже есть адрес моего домена

molecrp
А зачем тогда сервера уязвимого ресурса делают днс...

Потому что там ошибка в коде. О чем, кстати, говорится в видосе. (Я исходники не смотрел, могу чуток ошибаться. Опишу как говорится в видосе, и что видно в коде на видосе) До fix`a: 1) функция получает на вход hostname 2) резольвит ip-адрес 3) валидирует ip-адрес (проверки на приватные ip, и т.п.) 4) возвращает True - если все успешно, или False - если проверка не пройдена. 5) HTTP-запросы отправляются на hostname. После fix'a, 1) функция получает на вход hostname 2) резольвит ip-адрес 3) валидирует ip-адрес (проверки на приватные ip, и т.п.) 4) функция возвращает uri и hostname 5) hostname используется для проверки SSL, а http-запросы идут конкретно к тому IP, который был получен в пункте 2. Видно что до fix'a, проверка на IP-адрес очень просто обходится. Достаточно на момент проверки вернуть нормальный IP-адрес. Затем сменить его на локальный, подождать пока DNS-серваки начнут резольвить новый IP-адрес и вуаля - доступ в приватную сеть. Сама cwe: https://cwe.mitre.org/data/definitions/367.html

molecrp- Автор вопроса
Neo
Потому что там ошибка в коде. О чем, кстати, говор...

т.е. как я понял это происходит до фикса: сервер получает на вход hostname, делает dns запрос на публичный DNS сервер, который у него прописан. Затем из-за какой-то мисконфигурации он делает еще один dns запрос, только уже по IPшнику пришедшему с публичного DNS сервера по полученному хостнейму????? (Звучит очень странно, или я чего-то не понял?) Далее валидирует полученый со второй DNS очереди ip, передает запрос на бэкенд, бэкенд делает все то-же самое, только на этот раз получает локальный ipшник после чего отправляет запрос по этому ipшнику и т.д.

molecrp
т.е. как я понял это происходит до фикса: сервер ...

Я тебя чуток наебал, неправильно код прочитал. https://ru.wikipedia.org/wiki/DNS_rebinding

molecrp- Автор вопроса
Neo
Я тебя чуток наебал, неправильно код прочитал. ht...

в итоге вопрос остается открытым, почему сервера уязвимого веб ресурса делают днс резолв на подконтрольный днс сервер атакующего / либо зачем после резолва айпишника хоста атакующего сервера они делают второй днс запрос уже на сам атакующий сервер? Я так и не понял какой из этих вариантов имеет место быть 😓

molecrp
в итоге вопрос остается открытым, почему сервера у...

1 регаешь свой домен и делаешь контролируемый ip отвечающим за зону (там поддомен обычно делают), поэтому за днс запросами придут к тебе 2 небольшой ttl чтоб успело протухнуть

molecrp
в итоге вопрос остается открытым, почему сервера у...

Там проблема не в самом dns а уязвимости Time of check time of use. Конечно чтобы ssrf не было они добавили проверки на айпи, но проверка айпи происходит только при первом запросе а то что потом dns сервер может поменять A запись они неучли. Поэтому получается байпас ssrf проверок time of check time of use.

molecrp- Автор вопроса
Marat Mkhitaryan
Там проблема не в самом dns а уязвимости Time of c...

ну это понятно, вопрос немного в другом. основной затык в том зачем и почему уязвимый веб сервер вообще делает запрос на днс сервер атакующего, ведь никаких причин для этого я не вижу. Например он может сделать на этот сервер http запрос - и это будет вполне полятно, поскольку в контексте ssrf entry point api колл подразумевает такое поведение, чего нельзя сказать о dns резолве на malicious сервер

molecrp
ну это понятно, вопрос немного в другом. основной ...

Потому что у него hostname. В интернете нельзя ходить по hostname. Нужен IP, ip узнается через DNS.

molecrp- Автор вопроса
Neo
Потому что у него hostname. В интернете нельзя ход...

так он айпишник этого хостнейма резолвит от публичного днс сервера, а не от днс сервера атакующего

molecrp
так он айпишник этого хостнейма резолвит от публич...

А как публичный резольвит ip? А что будет если локальный кеш протухнет. А если протухнет кеш публичного.

molecrp- Автор вопроса
Neo
А как публичный резольвит ip? А что будет если лок...

по локальным рекордам между серверами, по которым он бегает через ns записи

molecrp- Автор вопроса

если локальный кэш протухнет, будет еще одно обращение на публичный днс сервер.

molecrp- Автор вопроса
molecrp
если локальный кэш протухнет, будет еще одно обращ...

продолжая мое сообщение: а публичный днс уж точно не будет с пониженым ttl кидать ответ или с локальным айпишником

molecrp
продолжая мое сообщение: а публичный днс уж точно ...

Может будет может нет. Бывает что низкий ттл используют для балансировки нагрузок например. Поэтому использовали свой домен и на нём настроили все как нужно.

molecrp- Автор вопроса
Marat Mkhitaryan
Может будет может нет. Бывает что низкий ттл испол...

то-есть ты хочешь сказать, что в контексте атаки, атакующий проводит конфигурации вида attacker.com - 1.2.3.4; attacker.com - 127.0.0.1 и манипуляции с ttl на Публичном днс сервере?

molecrp
то-есть ты хочешь сказать, что в контексте атаки, ...

твой публичный днс пойдет к серверу отвечающему за эту зону и спросит у него, вернет обратно а сервер к которому он придет ты контроллируешь

molecrp- Автор вопроса
%20
твой публичный днс пойдет к серверу отвечающему за...

да, произошел небольшой мисандерстенд)) чтобы разобраться в котором чуть ли не целый день понадобился

molecrp
да, произошел небольшой мисандерстенд)) чтобы разо...

чтоб интереснее было промежуточные серверы могут по своему кэшить ответы еще есть вариация когда возвращается 2 A записи и после обращения к первой, она делается недоступной и сервер пойдет ко второй А записи

molecrp- Автор вопроса
%20
чтоб интереснее было промежуточные серверы могут п...

хорошие статейки где почитать про такие интересные решения?)

Похожие вопросы

Обсуждают сегодня

а через ESC-код ?
Alexey Kulakov
29
30500 за редактор? )
Владимир
47
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
13
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
Ребят в СИ можно реализовать ООП?
Николай
33
program test; {$mode delphi} procedure proc(v: int32); overload; begin end; procedure proc(v: int64); overload; begin end; var x: uint64; begin proc(x); end. Уж не знаю...
notme
6
у вас два процесса. один посылает другому сигнал. у вас есть код обоих процессов? если всё не так - расскажите как оно на самом деле. а именно кто кому чего, есть-ли консоли,...
Karagy
6
Карта сайта