Читал,читал.И вот, что думаю. Что бы написать эксплоит надо знать исходный код программы для которой пишется этот эксплоит. Я правильно понял?
Да и нет. Знать и познакомиться с сурсом - потом. Сперва - нужно компилировать исходный код программы с ASAN и другими искателями утечек памяти и нарушениями в Clang.
Нет. Для того чтобы написать эксплоит надо знать как вообще пишутся программы, ассемблер, пригодится и машинный код + знать как пишутся вообще сплоеты, что такое rop-цепочки, способы внедрить шелл-код в программу и куча всего другого. Пример. Вот тебе исходный код. Ты его знаешь. И что ? Напиши-ко мне эксплоит. Code: #include <string.h> int main(int argc, char *argv[]) { char buf[100]; strcpy(buf, argv[1]); return 0; }
ооо.Это наверно Си.Я как то пытался им овладеть, но лень лень оказалась сильнее.Там где инклюд-это подключения файла с функциями которые уже есть написаные в Си(например prinntf)-но это мое понимание,может я не прав.Этот код похож на тот который я видел в результатах поиска) когда читал про экплоиты. Понимание работы-это нужно.Я в обще,про сам процесс написания. Эксплоит пишется под программу, а как его написать не зная исходного кода, значит знать его нужно. А вот еще вопрос. Где брать эти исходные коды. Я например пытался найти исходный код на смд.ехе, что бы хоть просто ознакомиться как он работает.Но нашел исходный код на какую ту командную консоль Юникса,а с виндой глуха.Если не ответите,пойму)
Их нет. Нигде не искать. Надо Овладеть такой вундервафлей как фаззер и впихуевать в программу несусветный бред пока она не сломается. А когда сломается надо высунуть язык, залить внутрь немного пойла (ибо по трезвой не разберешься) и искать где вылетело, по какому адресу и можно-ли этим как-нибудь воспользоваться. Если знаний 0 целых хрен десятых - в указанном выше примере разобраться еще можно если посидеть. Если программа чуть побольше - устанешь. Тут нужен не только Си. Си - это сущая мелочь
А код на cmd должен быть кстати. Можно поискать в сурцах ReactOS + было дело утекали исходники Венды, там он вроде должен быть...
Теперь, невозможно в Linux - stack overflow в памяти. Добавляется один флаг в компиляцию программ. Code: # Security Hardening # ============================================================== @@ -1364,6 +1424,7 @@ # not on as ASAN will catch the crashes for us if hardening_flag and compiler_is_gccish and not asan: flags.append("-fstack-protector-strong") + js_flags.append("-fstack-protector-strong")
Пока я не открою для себя gdb спорить с Ляликсом я не могу. Но во-первых не стеком единым а во вторых вот : https://0day.today/platforms/linux
Низачот. Тебя поломали? Code: An error occurred during a connection to 0day.today. Peer reports incompatible or unsupported protocol version. Error code: SSL_ERROR_PROTOCOL_VERSION_ALERT The page you are trying to view cannot be shown because the authenticity of the received data could not be verified. Please contact the website owners to inform them of this problem.
А куды влезеть - туда и впихивать. Буквально. Ежели поле для ввода - туда, ежели файлик кушает - это вообще чудесно, значит в файлик. Ежели по сетке чего тянеть - тудой ему насыпать. Да ему можно даже посредством переменных окружения чего впихнуть несъедобного. Лишь-бы скушал, а как - это уже детали.
Кстати , пытался еще найти, как же происходит впихивание эксплоита в прогу через открытый порт. Тоже не нашел ничего. Одни сылки на то, как сломать компьютер по сети, что нажимать надо и какие команды, но нигде не написано, как именно прога на открытом порте кушает эксплоит. Если с переполнением буфера - это еще можно понять. Эксплоит состоит из скрипта который допустим генерирует какую нибудь мусорную инфу с целью что прога будет это все в свою память загружать, но а как другие это делают?Надеюсь я сумел объяснить чего хочу понять)
Тогда, выкладывай сайт - где проверить security браузера. И не тебе ли знать, что личная безопасность Блиц в сети - выше всего?
Ты ж не покупать собрался а посмотреть вроде Там покупать... ммммммм.мм.можно. Но есть один момэнт. Есть некоторые подозрения что товар не первой свежести и купленное очень быстро перестанет быть актуальным это раз, а то что бесплатное - надо еще переделать ибо иначе бесполезно это два. Три - это то что туда далеко не все заливают. Но в принципе... с какой-то эдакой натяжкой - можно и купить. Но там много фришных т.ч. не суть. Суть в том что (не знаю ушь что там с защитами понавыдумали) - сплоеты есть.
Прога ожидает что ты ей напишешь свое имя, например "Вася". И надеется что твое имя состоит из 100 буковок не больше. А ты ей три мегабайта говна, шеллкод и адрес возврата на который она рухнет когда подавится всем этим изобилием.
То есть что выходит.Любая прога которая висит на открытом порте ,что то отдает и что то принимает. В зависимости от уязвимости мы как бы генерируем ей передачу данных, которая она ждет. То есть эксплоит должен быть написан на языке этой программы. Или тут все индивидуально? А если допустим порт открыт,а проги на этом порту нет. То тут уже куда копать? Что происходит в этом случае? И видимо сетевые программы и сетевевы службы нужно отделить от лакальных программ,да?Принцип взлома и искания уязвимостей разный и знания работы таких программ разные. Так?
А вот это - не однозначно. Как отправятся какахи из браузера, по рутерам и свичам - запросами POST или GET?
Как это порт открыт а проги нет ? Дровишко такой порт закрывает обычно во время освобождения ресурсов. А так - да. Это очень индивидуально может быть. Иногда чтобы добраться до ошибки тебе надо сформировать весьма нетривиальный файлик и тут тебе никакой фаззер не поможет потому что прога ломается только при определенной конфигурации звезд и планет. Плюс иногда сей сплоет может быть совсем и не каноничен. Иногда тебе надо просто подсунуть ей "правильный" конфиг и если она его жреть прямо из браузера - это заставляет реверсера улыбаться так что губы смыкаются на затылке от удовольствия Но вообще... тут просто надо уметь кодить, копаться в потрохах и обладать чутьем к западлостроению. Стоит принтер у окна, например. И для нормального человека это ничего не означает. А западлостроитель уже знает что если запихнуть туда занавеску - то когда бумагу отправят на печать принтер как заправский каскадер по занавеске поползет наверх визжа и пугая охуевших бухов Как этому научить ??? Только практика, только хардкор.
Это уже если ты ищешь уязвимость в либах которые юзаются. Если нет - программе похер GET или POST. Она получает чистые данные. Хотя да, и это тоже имеет значение. В GET сложнее запихнуть весь поток своей мысли.