- PVSM.RU - https://www.pvsm.ru -

Избранное: ссылки по reverse engineering

Избранное: ссылки по reverse engineering - 1

Всем привет!

Сегодня мы хотели бы поделиться своим списком материалов по тематике reverse engineering (RE). Перечень этот очень обширный, ведь наш исследовательский отдел в первую очередь занимается задачами RE. На наш взгляд, подборка материалов по теме хороша для старта, при этом она может быть актуальной в течение продолжительного времени.

Данный список ссылок, ресурсов, книг мы уже лет пять рассылаем людям, которые хотели бы попасть в наш исследовательский отдел, но не проходят пока по уровню знаний или только начинают свой путь в сфере информационной безопасности. Естественно, этому перечню, как и большинству материалов/подборок, через некоторая время потребуется обновление и актуализация.

Забавный факт: нам показывали, как некоторые компании рассылают наш список материалов от себя, но только в очень старой редакции. И вот после этой публикации они, наконец, смогут использовать его обновленную версию с чистой совестью ;)

Итак, перейдем к списку материалов!

  1. Тематики [1]
    a. Реверс [2]
    b. Поиск уязвимостей (fuzzing) [3]
    c. Эксплуатация уязвимостей [4]
    d. Анализ вредоносного кода [5]
  2. Инструменты [6]
    a. IDA Pro [7]
    b. Radare2 [8]
    c. WinDBG (Ollydbg / Immunity Debugger / x64dbg) [9]
    d. GDB [10]
    e. DBI [11]
    f. SMT [12]
    g. Python для автоматизации [13]
    h. BAF (Binary Analysis Frameworks) [14]
  3. Архитектуры [15]
    a. x86-x86_64 [16]
    b. ARM [17]
  4. ОС [18]
    a. Windows [19]
    b. Linux [20]
    c. Mac OS(OSX) / iOS [21]
    d. Android [22]
  5. Форматы файлов [23]
    a. PE [24]
    b. ELF [25]
    c. Mach-O [26]
  6. Программирование [27]
    a. C/C++ [28]
    b. Assembler [29]
  7. Практика [30]
    a. War games [31]


1. Тематики

В данном разделе мы рассмотрим основные направления применения RE. Начнем непосредственно с самого процесса обратной разработки, перейдем к поиску уязвимостей и разработке эксплоитов, и, конечно, доберемся до анализа вредоносных программ.

1.a Reverse engineering

  • "Искусство дизассемблирования [32]" от Крис Касперски — не новая, но очень хорошая и до сих пор актуальная книга от Криса с хорошей систематизацией знананий и отличным материалом;
  • "Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation [33]" — "новая" книга от нескольких известных специалистов по ИБ, покрывающая некоторые новые моменты и темы, что отсутствуют в книге Криса;
  • "Реверсинг для начинающих [34]" от Дениса Юрьевича — полностью бесплатная книга, переведенная уже на множество языков мира. Здесь, наверное, самое примечательное — это наличие интересных заданий после каждой главы, при этом — для нескольких архитектур сразу;
  • "Practical RE tips [35]" — отличный webinar на английском языке от Gynvael Coldwind, содержащий много полезных советов и скриптов про RE;
  • Ресурс "OPENSECURITYTRAINING.INFO [36]" содержит хорошие обучающие лекции и видеоролики по RE на английском;
  • "Digging Through the Firmware [37]" — неплохая серия статей Practical Reverse Engineering — полезные статьи для тех, кто только собирается погрузиться в мир реверсинга прошивок устройств;
  • "Training: Security of BIOS/UEFI System Firmware from Attacker and Defender Perspectives [38]" — если вы хотите окунуться в мир firmware security, UEFI BIOS, то вам определенно нужно ознакомиться с данными слайдами, которые ранее были в платном тренинге на ведущих конференциях по безопасности;
  • CRYPTO101 [39] — немного введения в криптографию, без которой не обойтись.

1.b Поиск уязвимостей

1.c Примеры эксплуатации найденных уязвимостей

1.d Анализ вредоносных программ

2. Необходимый инструментарий

Ниже представлены популярные инструменты, применяемые при RE.

2.a IDA Pro

2.b Radare2

  • "The radare2 book [72]" — основная книга по использованию фреймворка Radare2 для реверса;
  • "Radare2 Cheatsheet [73]" — "шпаргалка" по основным командам;
  • "Radare Today — the blog of radare2 [74]" — блог фреймворка. В нём найдутся не только новости, но и практические примеры.

2.c WinDBG (Ollydbg / Immunity Debugger / x64dbg)

Без знания принципов работы отладчика и умения им пользоваться тоже не обойтись. Ниже мы рассмотрим отладчики для ОС Windows, а в следующем пункте уделим внимание знаменитому GDB. Итак, поехали:

  • Advanced Windows Debugging: Developing and Administering Reliable, Robust, and Secure Software [75] — в первую очередь, эта книга пригодится для понимания и "отлова" ошибок типа повреждения кучи;
  • "Inside Windows Debugging: A Practical Guide to Debugging and Tracing Strategies in Windows [76]" — это издание хорошо дополнит предыдущую книгу;
  • "Введение в крэкинг с нуля, используя OllyDbg" — к сожалению, старейший ресурс wasm.ru закрылся, но подобная подборка легко ищется, поскольку была продублирована на множество ресурсов. К тому же, в сети стали появляться "форки", только в них уже используется x64dbg или IDA.

2.d GDB

2.e DBI

Программируемая отладка — это сегодня неотъемлемый подход в арсенале любого реверсера. И DBI — один из инструментов. Подробнее:

  • "Dynamic Binary Instrumentation в ИБ [80]" — в этой статье уже собрана некоторая обобщенная информация про DBI;
  • "Light And Dark Side Of Code Instrumentation [81]" — данная презентация поможет вам ориентироваться в разновидностях различных инструментаций кода и в том, что и когда вам может помочь с анализом программ.

2.f SMT

Что такое SMT-решатель? Если кратко, SMT-решатель — это программа, которая может решать логические формулы.

Основная идея применения SMT в области безопасности ПО заключается в том, чтобы перевести программный код или алгоритм в логическую формулу, а затем с помощью SMT-решателя проверить то или иное свойство этого кода.

Другими словами, SMT предоставляет математический аппарат для семантического анализа кода.
SMT-решатели уже довольно давно применяются в нашей сфере. Они неплохо зарекомендовали себя для решения следующих задач:

  • поиск багов (статический анализ/фаззинг);
  • деобфускация;
  • "домашний" криптоанализ;
  • символьное исполнение (в качестве "движка");
  • также есть определенные успехи в области автоматической генерации эксплойтов (например, генерации ROP).

За это время SMT потеряла ореол таинственности, появились более-менее работающие инструменты для "простых" людей.

Ниже приведены источники, которые помогут погрузиться в тему:

2.g Python для автоматизации

Сегодня без знаний основ языка Python будет очень сложно, потому что этот язык программирования считается самым популярном средством для автоматизации различных задач в сфере ИБ (и не только). К тому же, он используется в различных утилитах (к примеру, все указанные выше утилиты позволяют дополнять функционал с помощью этого ЯП):

2.h BAF (Binary Analysis Frameworks)

Для немного более продвинутых мы рекомендуем обратить внимание на целые фреймворки, которые в своем составе используют ранее упомянутые механизмы и средства анализа для решения более сложных задач. Итак, вот они:

Несколько интересных фреймворков/инструментов:

3. Архитектуры

Мы рассмотрим только несколько популярных архитектур. В конце статьи в разделе с дополнительными материалами вы найдете информацию по многим другим (MIPS, PowerPC и т.д.).

3.a x86-x86_64

  • "Intel 64 and IA-32 Architectures Software Developer Manuals [106]" — раньше такие руководства отправляли на почту, но из-за большого количества материала в них печать стала дорогим удовольствием. Рекомендуется в качестве настольного справочника.

3.b ARM

  • Azeria Labs (ARM Assembly Basics & ARM Exploit Development) [107] — сайт со статьями по основам ARM-ассемблера и разработке эксплойтов под эту архитектуру;
  • Курс "Introduction to ARM [108]" — двухдневный видеокурс, посвященным ARM-разработке и эксплуатации;
  • VisUAL [109] — визуализация работы ARM-команд.

4. ОС

Знание принципов работы популярных Операционных Систем.

4.a Windows

4.b Linux

4.c Mac OS(OSX) / iOS

4.d Android

  • "Android Hacker's Handbook [122]" — наверное, самая популярная книга, посвященная безопасности ОС Android;
  • "Android Internals::Power User's View [123]" — книга, рассказывающая о внутренних механизмах этой ОС. Из-за недавних утечек материал появился в открытом доступе, о чём пишет сам автор на своём сайте и предоставляет возможность скачать прошлую версию.

5. Форматы исполняемых файлов

В этом разделе представлены ссылки, разъесняющие подробности популярных форматов исполняемых файлов.

5.a PE

5.b ELF

5.c Mach-O

Известный исследователь corkami [130] делает очень полезные и интересные "постеры" со схемой различных форматов файлов, в том числе, упомянутых выше. Советуем использовать их как шпаргалку.

6. Программирование

Один наш знакомый как-то сказал, что хороший реверсер это на 80% хороший программист. Умение программировать и понимание того, что и зачем делается, упрощает процесс исследования чужой программы. Поэтому без программирования в реверсе никуда. Ну и конечно автоматизация рутинной задачи, как вы уже наверняка поняли, — очень полезная вещь ;)

6.a C/C++

6.b ASM

7. Практика

В этой секции представлены ссылки на виртуальные машины и online-ресурсы, позволяющие попрактиковаться.

7.a War Games

  • SmashTheStack Wargaming Network [136] — данная сеть с несколькими wargame поддерживается волонтёрами и доступна онлайн. Мы рекомендуем начать с неё;
  • BinTut [137] — локальный wargame;
  • Reversing Workshop [138] — мастер-класс по решению заданий с ежегодного соревнования "The Flare On Challenge" за 2016 г.;
  • Exploit-Challenges [139] — подборка уязвимых ARM бинарных файлов;
  • ARM Reverse Engineering Exercises [140] — оригинальный репозиторий "пропал", но был найден один из форков на просторах github;
  • CTF Time [141] — тут вы сможете узнать расписание будущих CTF-мероприятий и прочитать решения прошедших.

Ну и напоследок несколько ссылок с большим количеством материалов по вышеуказанным темам:

Автор: dukebarman

Источник [150]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/informatsionnaya-bezopasnost/262263

Ссылки в тексте:

[1] Тематики: #1-tematiki

[2] Реверс: #1a-reverse-engineering

[3] Поиск уязвимостей (fuzzing): #1b-poisk-uyazvimostey

[4] Эксплуатация уязвимостей: #1c-primery-ekspluatacii-naydennyh-uyazvimostey

[5] Анализ вредоносного кода: #1d-analiz-vredonosnyh-programm

[6] Инструменты: #2-neobhodimyy-instrumentariy

[7] IDA Pro: #2a-ida-pro

[8] Radare2: #2b-radare2

[9] WinDBG (Ollydbg / Immunity Debugger / x64dbg): #2c-windbg-ollydbg--immunity-debugger--x64dbg

[10] GDB: #2d-gdb

[11] DBI: #2e-dbi

[12] SMT: #2f-smt

[13] Python для автоматизации: #2g-python-dlya-avtomatizacii

[14] BAF (Binary Analysis Frameworks): #2h-baf-binary-analysis-frameworks

[15] Архитектуры: #3-arhitektury

[16] x86-x86_64: #3a-x86-x86_64

[17] ARM: #3b-arm

[18] ОС: #4-os

[19] Windows: #4a-windows

[20] Linux: #4b-linux

[21] Mac OS(OSX) / iOS: #4c-mac-ososx--ios

[22] Android: #4d-android

[23] Форматы файлов: #5-formaty-ispolnyaemyh-faylov

[24] PE: #5a-pe

[25] ELF: #5b-elf

[26] Mach-O: #5c-mach-o

[27] Программирование: #6-programmirovanie

[28] C/C++: #6a-cc

[29] Assembler: #6b-asm

[30] Практика: #7-praktika

[31] War games: #7a-war-games

[32] Искусство дизассемблирования: http://www.ozon.ru/context/detail/id/5061928/

[33] Practical Reverse Engineering: x86, x64, ARM, Windows Kernel, Reversing Tools, and Obfuscation: http://eu.wiley.com/WileyCDA/WileyTitle/productCd-1118787315,subjectCd-CSJ0.html

[34] Реверсинг для начинающих: http://beginners.re/

[35] Practical RE tips: http://gynvael.coldwind.pl/?id=531

[36] OPENSECURITYTRAINING.INFO: http://opensecuritytraining.info/Training.html

[37] Digging Through the Firmware: http://jcjc-dev.com/2016/12/14/reversing-huawei-5-reversing-firmware/

[38] Training: Security of BIOS/UEFI System Firmware from Attacker and Defender Perspectives: https://github.com/advanced-threat-research/firmware-security-training

[39] CRYPTO101: https://www.crypto101.io/

[40] Fuzzing: Brute Force Vulnerability Discovery: http://www.amazon.com/Fuzzing-Brute-Force-Vulnerability-Discovery/dp/0321446119

[41] Автоматический поиск уязвимостей в программах без исходных текстов: http://blog.cr4.sh/2011/06/positive-hack-days-2011.html

[42] The Evolving Art of Fuzzing: http://vdalabs.com/tools/The_Evolving_Art_of_Fuzzing.pdf

[43] Modern Security Vulnerability Discovery: https://www.nccgroup.trust/uk/our-research/research-insights-vol-9-modern-security-vulnerability-discovery/

[44] (State of) The Art of War: Offensive Techniques in Binary Analysis: http://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=7546500

[45] The Art of Software Security Assessment: Identifying and Preventing Software Vulnerabilities: https://www.amazon.com/The-Software-Security-Assessment-Vulnerabilities/dp/0321444426

[46] Exploit Writing Tutorials by Corelan Team: https://www.corelan.be/index.php/articles/

[47] перевод: https://forum.reverse4you.org/showthread.php?t=1371

[48] Exploit Development Community: http://expdev-kiuhnm.rhcloud.com/2015/05/11/contents/

[49] перевод частичный: https://forum.reverse4you.org/showthread.php?t=2070

[50] Modern Binary Exploitation: http://security.cs.rpi.edu/courses/binexp-spring2015/

[51] RPISEC: https://rpis.ec/

[52] Web-архив блога компании Vupen: http://web.archive.org/web/20150823001404/http://www.vupen.com/blog/

[53] Project Zero: http://googleprojectzero.blogspot.ru/

[54] Browser mitigations against memory corruption vulnerabilities: https://docs.google.com/document/d/19dspgrz35VoJwdWOboENZvccTSGudjQ_p8J4OPsYztM/edit#

[55] Браузеры и app specific security mitigation. Часть 1: https://habrahabr.ru/company/dsec/blog/310676/

[56] Браузеры и app specific security mitigation. Часть 2. Internet Explorer и Edge: https://habrahabr.ru/company/dsec/blog/311616/

[57] Браузеры и app specific security mitigation. Часть 3. Google Chrome: https://habrahabr.ru/company/dsec/blog/319234/

[58] SoK: Eternal War in Memory: https://people.eecs.berkeley.edu/~dawnsong/papers/Oakland13-SoK-CR.pdf

[59] Writing Exploits for Win32 Systems from Scratch: https://www.nccgroup.trust/uk/about-us/newsroom-and-events/blogs/2016/june/writing-exploits-for-win32-systems-from-scratch/

[60] Phrack: http://phrack.org/

[61] The Shellcoder's Handbook: Discovering and Exploiting Security Holes: https://www.amazon.com/Shellcoders-Handbook-Discovering-Exploiting-Security/dp/047008023X

[62] Practical Malware Labs: https://github.com/Grazfather/PracticalMalwareLabs

[63] Practical Malware Analysis: https://www.nostarch.com/malware

[64] Malware Analyst's Cookbook and DVD: Tools and Techniques for Fighting Malicious Code: http://eu.wiley.com/WileyCDA/WileyTitle/productCd-0470613033.html

[65] Malware Analysis Tutorials: a Reverse Engineering Approach: http://fumalwareanalysis.blogspot.in/p/malware-analysis-tutorials-reverse.html

[66] перевод: https://forum.reverse4you.org/showthread.php?t=1327

[67] Course materials for Malware Analysis by RPISEC: https://github.com/RPISEC/Malware

[68] Компьютерные вирусы и антивирусы. Взгляд программиста: https://www.ozon.ru/context/detail/id/19954694/

[69] The IDA Pro Book: The Unofficial Guide to the World's Most Popular Disassembler: http://www.amazon.co.uk/The-IDA-Pro-Book-ebook/dp/B005EI84TM/

[70] TiGa's Video Tutorial Series on IDA Pro: http://www.woodmann.com/TiGa/idaseries.html

[71] Open Analysis Live: https://vimeo.com/oalabs

[72] The radare2 book: https://www.gitbook.com/book/radare/radare2book/details

[73] Radare2 Cheatsheet: https://github.com/radare/radare2/blob/master/doc/intro.md

[74] Radare Today — the blog of radare2: http://radare.today/

[75] Advanced Windows Debugging: Developing and Administering Reliable, Robust, and Secure Software: https://www.amazon.co.uk/Advanced-Windows-Debugging-Administering-Addison-Wesley/dp/0321374460

[76] Inside Windows Debugging: A Practical Guide to Debugging and Tracing Strategies in Windows: https://www.amazon.com/Inside-Windows-Debugging-Developer-Reference/dp/0735662789

[77] gdb Debugging Full Example (Tutorial): ncurses: http://www.brendangregg.com/blog/2016-08-09/gdb-example-ncurses.html

[78] GEF — Multi-Architecture GDB Enhanced Features for Exploiters & Reverse-Engineers: https://github.com/hugsy/gef

[79] GEF Tutorials: https://www.youtube.com/playlist?list=PLjAuO31Rg972WeMvdR_57Qu-aVM8T6DkQ

[80] Dynamic Binary Instrumentation в ИБ: https://habrahabr.ru/company/dsec/blog/142575/

[81] Light And Dark Side Of Code Instrumentation: https://www.slideshare.net/phdays/light-and-dark-side-of-code-instrumentation

[82] SMT Solvers for Software Security, Sean Heelan, Rolf Rolles: http://openwall.info/wiki/_media/people/jvanegue/files/woot12.pdf

[83] Z3 : https://github.com/Z3Prover/z3

[84] Z3 wiki: https://github.com/Z3Prover/z3/wiki

[85] Getting Started with Z3: A Guide: http://rise4fun.com/z3/tutorial

[86] Z3Py : https://github.com/Z3Prover/z3/wiki/Using-Z3Py-on-Windows

[87] Theorem prover, symbolic execution and practical reverse-engineering: https://doar-e.github.io/presentations/securityday2015/SecDay-Lille-2015-Axel-0vercl0k-Souchet.html#/

[88] Quick introduction into SAT/SMT solvers and symbolic execution: https://yurichev.com/writings/SAT_SMT_draft-EN.pdf

[89] версия на русском: https://yurichev.com/writings/SAT_SMT_draft-RU.pdf

[90] An introduction to the use SMT solvers: https://www.slideshare.net/DefconRussia/georgy-nosenko-an-introduction-to-the-use-smt-solvers-for-software-security

[91] Gray Hat Python: https://www.nostarch.com/ghpython.htm

[92] перевод: https://www.reverse4you.org/translate/GHP/Book/Gray_Hat_Python.pdf

[93] The Beginner's Guide to IDAPython: http://hooked-on-mnemonics.blogspot.ru/2015/04/the-beginners-guide-to-idapython.html

[94] Python Arsenal for Reverse Engineering: https://twitter.com/pythonarsenal

[95] Overview and Usage of Binary Analysis Frameworks: https://bsidesljubljana.si/wp-content/uploads/2017/02/fmagin-BSides-Ljubljana-Binary-Analysis-Frameworks-release.pdf

[96] Triton: https://github.com/JonathanSalwan/Triton

[97] Примеры по использованию от разработчиков: https://github.com/JonathanSalwan/Triton/tree/master/src/examples

[98] Dynamic Binary Analysis and Obfuscated Codes: https://triton.quarkslab.com/files/sthack2016-rthomas-jsalwan.pdf

[99] How Triton can help to reverse virtual machine based software protections: https://triton.quarkslab.com/files/csaw2016-sos-rthomas-jsalwan.pdf

[100] Experimenting with Z3 — Dead code elimination: http://zubcic.re/blog/experimenting-with-z3-dead-code-elimination

[101] Experimenting with Z3 — Proving opaque predicates: http://zubcic.re/blog/experimenting-with-z3-proving-opaque-predicates

[102] Angr: http://angr.io/

[103] Solving kao's toy project with symbolic execution and angr: https://0xec.blogspot.ru/2016/04/solving-kaos-toy-project-with-symbolic.html

[104] Ponce: https://github.com/illera88/Ponce

[105] Binary Analysis Platform: https://github.com/BinaryAnalysisPlatform/bap

[106] Intel 64 and IA-32 Architectures Software Developer Manuals: https://software.intel.com/en-us/articles/intel-sdm

[107] Azeria Labs (ARM Assembly Basics & ARM Exploit Development): https://azeria-labs.com/

[108] Introduction to ARM: http://opensecuritytraining.info/IntroARM.html

[109] VisUAL: https://salmanarif.bitbucket.io/visual/

[110] Windows Internals: https://www.amazon.com/Windows-Internals-Part-Developer-Reference/dp/0735648735

[111] Windows exploits, mostly precompiled: https://github.com/abatchy17/WindowsExploits

[112] Exploit Development Environment: https://improsec.com/blog//exploit-development-environment

[113] Windows Breakout from Defcon24: https://github.com/FuzzySecurity/DefCon24

[114] Part 10: Kernel Exploitation -> Stack Overflow: http://www.fuzzysecurity.com/tutorials/expDev/14.html

[115] Kernel and Driver explotation: https://csg.utdallas.edu/assets/slides/kernel_and_driver_exploitation.pdf

[116] Linux insides: https://www.gitbook.com/book/0xax/linux-insides/details

[117] Heap Exploitation into Linux: https://heap-exploitation.dhavalkapil.com/

[118] A series tutorial for linux exploit development to newbie: https://github.com/hardenedlinux/linux-exploit-development-tutorial

[119] Linux Kernel Exploitation : https://github.com/xairy/linux-kernel-exploitation

[120] Programming Linux Anti-Reversing Techniques: https://leanpub.com/anti-reverse-engineering-linux

[121] Reverse Engineering Resources Maс и iOS: https://pewpewthespells.com/re.html

[122] Android Hacker's Handbook: http://eu.wiley.com/WileyCDA/WileyTitle/productCd-111860864X.html

[123] Android Internals::Power User's View: http://newandroidbook.com/

[124] PE секции: http://www.hexacorn.com/blog/2016/12/15/pe-section-names-re-visited/

[125] Заголовок PE: http://web.archive.org/web/20111024225017/http://wasm.ru:80/article.php?article=vgw03

[126] http://web.archive.org/web/20111024201441/http://wasm.ru:80/article.php?article=green2red02: http://web.archive.org/web/20111024201441/http://wasm.ru:80/article.php?article=green2red02

[127] Компьютерные вирусы изнутри и снаружи: https://www.ozon.ru/context/detail/id/2489659/

[128] Linux x64 Infection for Lamers (by a Lamer): https://web.archive.org/web/20170706060925/http://vxheaven.org/lib/vjp01.html

[129] Parsing mach-o files: https://lowlevelbits.org/parsing-mach-o-files/

[130] corkami: https://github.com/corkami/pics

[131] Modern Memory Safety: C/C++ Vulnerability Discovery, Exploitation, Hardening: https://github.com/struct/mms

[132] A Crash Course in x86 Assembly for Reverse Engineers: https://sensepost.com/blogstatic/2014/01/SensePost_crash_course_in_x86_assembly-.pdf

[133] Assembly Programming Tutorial: http://www.tutorialspoint.com/assembly_programming/

[134] Assembler. 2-е издание: http://www.ozon.ru/context/detail/id/1493284/

[135] x86 Assembly Guide: http://www.cs.virginia.edu/~evans/cs216/guides/x86.html

[136] SmashTheStack Wargaming Network: http://smashthestack.org/

[137] BinTut: https://github.com/NoviceLive/bintut

[138] Reversing Workshop: https://github.com/quanyang/reversing-workshop

[139] Exploit-Challenges: https://github.com/Billy-Ellis/Exploit-Challenges

[140] ARM Reverse Engineering Exercises: https://github.com/gh0std4ncer/Exercises

[141] CTF Time: https://ctftime.org/

[142] Подборка, в целом посвященная сфере ИБ: https://www.gitbook.com/content/book/arthurgerkis/it-sec-catalog/

[143] Про эксплуатацию уязвимостей: https://www.peerlyst.com/posts/the-best-resources-for-learning-exploit-development

[144] Awesome-reversing: https://github.com/fdivrp/awesome-reversing

[145] Обзор ресурсов от REMath: https://github.com/REMath/literature_review

[146] Про эксплуатацию уязвимостей в ОС Windows: https://github.com/enddo/awesome-windows-exploitation

[147] Про фазинг: https://github.com/secfigo/Awesome-Fuzzing/

[148] Про анализ вредоносных программ: https://github.com/rshipp/awesome-malware-analysis

[149] awesome: https://github.com/sindresorhus/awesome

[150] Источник: https://habrahabr.ru/post/334832/