Постараюсь создать как можно более годный тред, связанный с поиском и эксплуатацией уязвимостей в программном обеспечении, и подробно описывающий такие темы, как bughunt, red team, pentest, infosec research в общем, все то, что среди далеких от IT людей принято называть хакерством.
Для товарища майора: автор данного треда предостерегает от несанкционированного использования информации, представленной далее, и напоминает о статье 272 УК РФ. Данные ресурсы рекомендуется применять с целью нахождения уязвимостей в системах с целью помощи разработчикам в их устранении.
Для начала необходимо определиться с терминологией. CVE - уязвимость, замеченная в конкретном софте определенной версии на определенных платформах, уже найденная багхантерами и залатанная разработчиками в следующей версии. CWE - это конкретный тип уязвимости без привязки к конкретному программному обеспечению (то есть, каждая задокументированная CVE обязательно должна обладать своим кодом CWE). На поиске типов уязвимостей (а также разработке средств защиты от них) специализируются infosec-ресерчеры, самая уважаемая каста безопасников. С полным списком всех существующих в природе уязвимостей можно ознакомиться тут: https://cwe.mitre.org/index.html 0day (уязвимость нулевого дня) - уязвимость, которая не была найдена багхантерами и рискует быть обнаруженной и использованной злоумышленником (хоть и с малой вероятностью). Red Team - специалисты по ИБ, в чей круг задач входит моделирование реальных атак со стороны злоумышленников. Спектр их деятельности включает в себя социальную инженерию, физическое присутствие в тестируемой компании, OSINT, сканирование сетей на предмет наличия CVE, или даже радиоэлектронную борьбу. Спецназ от мира ИБ. Blue Team - специалисты по ИБ, чьей задачей является моделирование защиты от атак злоумышленника. Bughunt - специалисты по ИБ, которые занимаются поиском уязвимостей в конкретных программных продуктах. Зачастую работают на платформах вроде HackerOne или Bugcrowd, так как IT-компании предпочитают обращаться за услугами охотников за багами именно там. Pentest - специалисты, оценивающие ту или иную корпоративную сеть на возможность проникновения, то есть получения секретных данных. Уязвимости не обязательно могут предполагать именно проникновение, поэтому не все из них интересуют пентестера, в отличие от багхантера. InfoSec research - ученые от мира ИБ, чьей задачей является проведение исследований в области безопасности информации, нахождение принципиально новых типов дыр. Часто ведут блоги и пишут райтапы (например, Google Project Zero).
Различные уязвимости следует подразделять на несколько категорий: Бинарные уязвимости - уязвимости, связанные с шатанием памяти (такие, как переполнение буфера, форматная строка, type confusion и т.д), и чаще всего относящиеся к низкоуровневым языкам (С, С++ и ассемблер), к системному программному обеспечению (прошивки, ОС, драйвера) и иногда прикладному (сетевые демоны, как веб- или файловые сервера). Их поиск осуществляется с помощью дизассемблирования, дебаггинга, фаззинга, изучать целевой софт не обязательно на тестируемом сервере - можно развернуть его на своей тачке. Для поиска таких уязвимостей необходимо обладать пониманием работы аппаратной части компьютера, операционных систем и компиляторов. Веб-уязвимости - уязвимости, связанные с бэкендом, запросами к базе и иногда фронтендом (когда речь идет о взаимодействии с браузером или обманом пользователя). В вебе зачастую нет CVE, потому что сайты пишутся под конкретный бизнес, в отличие от более низкоуровневого софта, используемого практически во всем мире, и развернуть у себя сабж, в отличие от софта, не получится. Необходимо обладать знанием языка для разработки backend-части (например, PHP), а также SQL, в меньшей степени нужно знать HTML и JS. Также нужно обладать четким пониманием протокола HTTP(S) - клиентских запросов и ответов сервера. Помимо этого нужно понимать, что происходит в том или ином месте (запросе) сайта - к примеру, обращение к базе. Есть годный гайд от Portswigger, создателей BurpSuite: https://portswigger.net/web-security/learning-path , гайдов для остальных типов уязвимостей, к сожалению, я не нашел. Уязвимости сетевых протоколов - как правило крипографические уязвимости, связанные с различными способами подрубиться к сети, перехватить пакеты TCP/IP, расшифровать их, подменить их содержимое и т.д. Связаны зачастую с беспроводными локальными сетями, где есть возможность проводить сниффинг трафика. Для нахождения таких уязвимостей нужно понимать работу сетей. Уязвимости конфигурации - это проебы системного администратора, который неправильно настроил тот или иной демон (к примеру, установил старую (зачастую уязвимую) версию софта, или не убрал возможность залогиниться через root, тем самым сделав возможной атаку перебора пароля для пользователя с высокими привилегиями). Для нахождения таких уязвимостей необходимо умение проводить конфигурацию тех или иных демонов, понимать, в каком моменте можно допустить ошибку.
>>2151761 Всего лишь хотел создать отдельный тред для вопросов инфосека, чтобы людям не приходилось задавать вопросы в тредах по языкам программирования или где-то еще. К тому же, это могло бы быть отличной точкой входа для ньюфагов. > зачем ты нужен Чтобы появился этот тхреад, очевидно.
>>2151827 ОК, тогда мучающий меня вопрос: Burp Suite стоит $400 в год по подписке, как начать его хотя бы изучать, не покупая? И насколько можно жить без лицензионной версии? Есть ли альтернативы (я не вижу)?
>>2151968 >как начать его хотя бы изучать, не покупая Там изучать нечего, на мой взгляд. Для платных фич есть бесплатные альтернативы. >И насколько можно жить без лицензионной версии? Нормально. Я 12к баксов заработал только на комьюнити эдишн.Лицензию жаба душит покупать
Access errors: invalid read/write of a pointer Buffer overflow - out-of-bound writes can corrupt the content of adjacent objects, or internal data (like bookkeeping information for the heap) or return addresses. Buffer over-read - out-of-bound reads can reveal sensitive data or help attackers bypass address space layout randomization. Race condition - concurrent reads/writes to shared memory Invalid page fault - accessing a pointer outside the virtual memory space. A null pointer dereference will often cause an exception or program termination in most environments, but can cause corruption in operating system kernels or systems without memory protection, or when use of the null pointer involves a large or negative offset. Use after free - dereferencing a dangling pointer storing the address of an object that has been deleted. Uninitialized variables - a variable that has not been assigned a value is used. It may contain an undesired or, in some languages, a corrupt value. Null pointer dereference - dereferencing an invalid pointer or a pointer to memory that has not been allocated Wild pointers arise when a pointer is used prior to initialization to some known state. They show the same erratic behaviour as dangling pointers, though they are less likely to stay undetected. Memory leak - when memory usage is not tracked or is tracked incorrectly Stack exhaustion - occurs when a program runs out of stack space, typically because of too deep recursion. A guard page typically halts the program, preventing memory corruption, but functions with large stack frames may bypass the page. Heap exhaustion - the program tries to allocate more memory than the amount available. In some languages, this condition must be checked for manually after each allocation. Double free - repeated calls to free may prematurely free a new object at the same address. If the exact address has not been reused, other corruption may occur, especially in allocators that use free lists. Invalid free - passing an invalid address to free can corrupt the heap. Mismatched free - when multiple allocators are in use, attempting to free memory with a deallocation function of a different allocator[20] Unwanted aliasing - when the same memory location is allocated and modified twice for unrelated purposes.
>>2152230 Ты путаешь понятия. Пентест != vulnerability research (исследование уязвимостей) и никогда не был оным. Пентестеры не воннаби, а по определению используют уже известные желательно как можно более свежие уязвимости, дабы протестировать инфраструктуру/сайт на проникновение. Пентестер не располагает знаниями, позволяющих найти зиродей.
Если же ты имел в виду баг баунти и тот факт, что в ББ большинство тасков - это веб, то ответ прост - так получилось. Это не значит, что бинарщина умерла иначе google project zero бы закрыли и всех ресёрчеров уволили бы к хуям собачьим, а также мгновенно обанкротились бы offensive компании типа израильской NSO Group, она просто находится в других местах в индустрии инфосека. Ну и зиродей в бинарщине стоит в среднем минимум в 10 раз больше, нежели зиродей в вебе :3 По весьма очевидным причинам.
>>2152648 Не за что. Не все, но в целом покрыл всю основу. Есть еще целый класс уязвимостей - логические баги. Часть из них эксплуатабельна, но их очень сложно искать и автоматизировать поиск логических багов в софте произвольных размеров и сложности невозможно - это NP сложная задача, то бишь нет генерализированного алгоритма, который мог бы решить произвольную задачу подобного типа за полиномиальное время для копротивленцев - формальное доказательство корректности это тоже NP hard (или NP complete, точно не помню), поэтому логические баги ищут вручную. А так, всё зависит от твоих целей. Ты хочешь учить инфосек? Нахуя? Для себя? Для того, чтобы в работу вкатиться? Ответ зависит от многих параметров, включая твоё место жительства в масштабах страны, офк.
>>2152667 логические баги могут быть и в вебе, и в бинарщине, где угодно. Логическая ошибка - это, как правило, обосрамс с каким-то if в коде, что приводит к поведению программы вразрез с её дизайном. В определенных ситуациях такие баги могут представлять из себя уязвимости, но не всегда, всё зависит от конкретной ситуации. >Инфосек изучаю из интереса в первую очередь. Тогда всё равно что учить.
У НАС В ИГРЕ ЗЕРОДЕИ, CVE И ПРИВИЛЕГ ЭСКАЛАТИОН ВПЛОТЬ ДО ЗАШЕЛ В ИГРУ @ НАТУРАЛЬНО ПОЙМАЛ ТРОЯНА ЧЕРЕЗ RCE ОТ ШКОЛЬНИКА ВАСЯНА КОТОРЫЙ СПИЗДИЛ ТВОЙ IRL АВАНС С ТВОЕГО БАНК КЛИЕНТА @ ДОЕБЕМСЯ ДО СОСНИЦКИХ, КОТОРЫЕ РЕШИЛИ РЕВЕРСНУТЬ ИГРУ ОВЕР 20 ЛЕТНЕЙ ДАВНОСТИ
о, спасибо, ананас! недавно выкачивал её постранично через png картинки с google books, на сотой странице взбесился и забил. алсо в книге уже устаревшая инфа, лол.
Ну раз тут такой тред, может я смогу найти здесь кунчика, с которым мы могли бы изучать малварь вместе? Сам я веб дев, планирующий перекатываться в безопасники(душа больше к этому лежит) и был бы не против компании на этом пути.
>>2154691 у них подгорело наверное из-за планировавшегося ремейка и портов на сосноли
этот re3 по сути же целый исходник игры, можно компилять и получить рабочий exe, я на reVC проверил - охуенно. алсо, надоели вы со своим сампом, он же кривой и косой я играл в божественный мта, где охуенный код и читаков меньше в разы. вместо cleo и pawno там нормальный lua с гта либой на тонны всего что может и не может движок то что выкатили в мта, типа шейдеров, подгрузки ресурсов и серваков где еще качается гиг всякого говна и карта вообще не из ссан андреаса и машины другие, в сампе появилось намного позже или вообще не появилось
жаль мта на андроид нет, вот самп на андроид это шин.
>>2257591 https://forum.mtasa.com/topic/133335-recommended-mtasa-servers/ вооот, самые охуенные серваки без говняного грузилова и нудятины еще есть nfs:sa, один из самых серьезных по части скриптов механика спизжена у старых need for speed underground, есть лутбоксы, погоня с полицией, гонки, тюнинг нормальный, можно красить тачку винилами как хочешь, вхуячена музыка из серии nfs, физика изменена, немного отключаемых шейдеров, ежедневные задания и бонусы, пиздец он меня затягивал лет 7 назад. видно, что люди очень постарались.
самп просто сосет и вооще он без андроида бы умер даже всякое говно типа rp advance запилено на мта
>>2257504 > веб дев, планирующий перекатываться в безопасники Лучше заниматься безопасностью параллельно с разработкой. ИБ - это не про стабильный заработок, если он вообще будет.
решил debian на немецком хосте юзать для тестов через ssh, а то у меня на маке nginx 13 минут собирался %) вопрос - если я буду использовать их мощности для атак на поднятый у меня nginx, они не забанят?
>>2151166 (OP) >Для товарища майора >Кококококо Т.е. ты реально думаешь что если тебя захотят посадить на ьутылку в рашке то тебя спасет это примечание. Да ты же тупой.
Для товарища майора: автор данного треда предостерегает от несанкционированного использования информации, представленной далее, и напоминает о статье 272 УК РФ. Данные ресурсы рекомендуется применять с целью нахождения уязвимостей в системах с целью помощи разработчикам в их устранении.
Для начала необходимо определиться с терминологией.
CVE - уязвимость, замеченная в конкретном софте определенной версии на определенных платформах, уже найденная багхантерами и залатанная разработчиками в следующей версии.
CWE - это конкретный тип уязвимости без привязки к конкретному программному обеспечению (то есть, каждая задокументированная CVE обязательно должна обладать своим кодом CWE). На поиске типов уязвимостей (а также разработке средств защиты от них) специализируются infosec-ресерчеры, самая уважаемая каста безопасников. С полным списком всех существующих в природе уязвимостей можно ознакомиться тут: https://cwe.mitre.org/index.html
0day (уязвимость нулевого дня) - уязвимость, которая не была найдена багхантерами и рискует быть обнаруженной и использованной злоумышленником (хоть и с малой вероятностью).
Red Team - специалисты по ИБ, в чей круг задач входит моделирование реальных атак со стороны злоумышленников. Спектр их деятельности включает в себя социальную инженерию, физическое присутствие в тестируемой компании, OSINT, сканирование сетей на предмет наличия CVE, или даже радиоэлектронную борьбу. Спецназ от мира ИБ.
Blue Team - специалисты по ИБ, чьей задачей является моделирование защиты от атак злоумышленника.
Bughunt - специалисты по ИБ, которые занимаются поиском уязвимостей в конкретных программных продуктах. Зачастую работают на платформах вроде HackerOne или Bugcrowd, так как IT-компании предпочитают обращаться за услугами охотников за багами именно там.
Pentest - специалисты, оценивающие ту или иную корпоративную сеть на возможность проникновения, то есть получения секретных данных. Уязвимости не обязательно могут предполагать именно проникновение, поэтому не все из них интересуют пентестера, в отличие от багхантера.
InfoSec research - ученые от мира ИБ, чьей задачей является проведение исследований в области безопасности информации, нахождение принципиально новых типов дыр. Часто ведут блоги и пишут райтапы (например, Google Project Zero).
Различные уязвимости следует подразделять на несколько категорий:
Бинарные уязвимости - уязвимости, связанные с шатанием памяти (такие, как переполнение буфера, форматная строка, type confusion и т.д), и чаще всего относящиеся к низкоуровневым языкам (С, С++ и ассемблер), к системному программному обеспечению (прошивки, ОС, драйвера) и иногда прикладному (сетевые демоны, как веб- или файловые сервера). Их поиск осуществляется с помощью дизассемблирования, дебаггинга, фаззинга, изучать целевой софт не обязательно на тестируемом сервере - можно развернуть его на своей тачке. Для поиска таких уязвимостей необходимо обладать пониманием работы аппаратной части компьютера, операционных систем и компиляторов.
Веб-уязвимости - уязвимости, связанные с бэкендом, запросами к базе и иногда фронтендом (когда речь идет о взаимодействии с браузером или обманом пользователя). В вебе зачастую нет CVE, потому что сайты пишутся под конкретный бизнес, в отличие от более низкоуровневого софта, используемого практически во всем мире, и развернуть у себя сабж, в отличие от софта, не получится. Необходимо обладать знанием языка для разработки backend-части (например, PHP), а также SQL, в меньшей степени нужно знать HTML и JS. Также нужно обладать четким пониманием протокола HTTP(S) - клиентских запросов и ответов сервера. Помимо этого нужно понимать, что происходит в том или ином месте (запросе) сайта - к примеру, обращение к базе. Есть годный гайд от Portswigger, создателей BurpSuite: https://portswigger.net/web-security/learning-path , гайдов для остальных типов уязвимостей, к сожалению, я не нашел.
Уязвимости сетевых протоколов - как правило крипографические уязвимости, связанные с различными способами подрубиться к сети, перехватить пакеты TCP/IP, расшифровать их, подменить их содержимое и т.д. Связаны зачастую с беспроводными локальными сетями, где есть возможность проводить сниффинг трафика. Для нахождения таких уязвимостей нужно понимать работу сетей.
Уязвимости конфигурации - это проебы системного администратора, который неправильно настроил тот или иной демон (к примеру, установил старую (зачастую уязвимую) версию софта, или не убрал возможность залогиниться через root, тем самым сделав возможной атаку перебора пароля для пользователя с высокими привилегиями). Для нахождения таких уязвимостей необходимо умение проводить конфигурацию тех или иных демонов, понимать, в каком моменте можно допустить ошибку.
Годное видео для ньюфагов: https://youtu.be/B8rlMB-Dry8
Список годных каналов на YouTube:
LiveOverflow: https://www.youtube.com/c/LiveOverflow
InsiderPhD: https://www.youtube.com/c/InsiderPhD
John Hammond: https://www.youtube.com/c/JohnHammond010
Wild West Hacking: https://www.youtube.com/c/WildWestHackinFest
RedTeamVillage: https://www.youtube.com/c/RedTeamVillage
Michael Sommer: https://www.youtube.com/user/Michael10Sommer
NetworkChuck: https://www.youtube.com/channel/UC9x0AN7BWHpCDHSm9NiJFJQ