(In)direct Syscalls: путь от высокого к низкому
RedOps | Red Team Village | DEF CON 31
Начало работы
Вся теория и плейбуки для упражнений находятся в вики, которая вместе с подготовленными POC является сердцем этого проекта. POC для упражнений можно найти здесь, на главной странице.
Приятного обучения!
Daniel Feichter
Отказ от ответственности
Прежде всего, огромное спасибо моей девушке, которая поддерживает меня во всём, что я делаю, уже более 10 лет! Без её поддержки и участия ни один из моих проектов за последние 10 лет не был бы возможен.
Также спасибо моему хорошему другу Андреасу Клементи из AV-Comparatives, который поддерживает меня с нашей первой встречи. А также спасибо моему другу Йонасу Кеммнеру (отличному Red Team-специалисту) за поддержку и за то, что заранее читал все мои посты в блоге. Я очень благодарен, что судьба свела меня с этими замечательными людьми.
Контент и все примеры кода в этом репозитории предназначены только для образовательных и исследовательских целей и должны использоваться исключительно в этическом контексте! Примеры кода не новы, и я не претендую на их новизну. Большая часть кода или его основа, как это часто бывает, взята из ired.team, спасибо @spotheplanet за вашу блестящую работу и за то, что поделились ею со всеми нами. Также большое спасибо @mrexodia за ваш замечательный инструмент x64dbg.
Кроме того, и это очень важно, этот воркшоп не является серебряной пулей в контексте обхода EDR, но он должен помочь понять основы Win32 APIs, Native APIs, direct syscalls и indirect syscalls, а также немного о call stacks в контексте выполнения шеллкода и обхода EDR, не больше и не меньше. Цель этого воркшопа — не показать самые скрытные варианты или самые сложные POC для прямых и косвенных системных вызовов, а сосредоточиться на обучении основам. Это означает использование как можно меньшего количества инструментов и выполнение как можно большего объёма работы вручную.
Я хочу поблагодарить всех тех участников сообщества infosec, кто исследовал, формировал и продолжает исследовать тему системных вызовов, прямых системных вызовов и косвенных системных вызовов и т.д.
Авторы и ссылки
| Ник в Twitter | Вклад и исследования |
|---|
| @Cneelis | https://outflank.nl/blog/2019/06/19/red-team-tactics-combining-direct-system-calls-and-srdi-to-bypass-av-edr/ https://github.com/outflanknl/Dumpert |
| @spotheplanet | Его потрясающие блог и исследования https://www.ired.team/ |
| @NinjaParanoid | За его блоги, исследования, курсы и за то, что он всегда отвечал на мои вопросы. https://0xdarkvortex.dev/hiding-in-plainsight/ https://0xdarkvortex.dev/proxying-dll-loads-for-hiding-etwti-stack-tracing/ |
| @ShitSecure | За его исследования, его блог https://s3cur3th1ssh1t.github.io/ и за отличную дискуссию об EDR, системных вызовах и т.д. |
| @AliceCliment | За её блог, исследования и дискуссии об EDR, системных вызовах и т.д. https://alice.climent-pommeret.red/posts/how-and-why-to-unhook-the-import-address-table/ https://alice.climent-pommeret.red/posts/a-syscall-journey-in-the-windows-kernel/ https://alice.climent-pommeret.red/posts/direct-syscalls-hells-halos-syswhispers2/ |
| @0xBoku | За его всесторонние исследования и вклад в infosec, помощь новым участникам сообщества и постоянное развитие infosec https://0xboku.com/ https://github.com/boku7/AsmHalosGate https://github.com/boku7/HellsGatePPID https://github.com/boku7/halosgate-ps |
| @Jackson_T | За его исследования и инструменты SysWhispers и SysWhispers2 https://github.com/jthuraisamy/SysWhispers) https://github.com/jthuraisamy/SysWhispers2 |
| @KlezVirus | За его блог, исследования, отличные дискуссии об EDR, системных вызовах и т.д., а также SysWhispers3 https://github.com/klezVirus/SysWhispers3 https://klezvirus.github.io/RedTeaming/AV_Evasion/NoSysWhisper/ https://github.com/klezVirus/SilentMoonwalk |
| @j00ru | https://j00ru.vexillium.org/syscalls/nt/64/ |
| @modexpblog | https://www.mdsec.co.uk/2020/12/bypassing-user-mode-hooks-and-direct-invocation-of-system-calls-for-red-teams/ |
| @netero_1010 | https://www.netero1010-securitylab.com/evasion/indirect-syscall-in-csharp) |
| @CaptMeelo | https://captmeelo.com/redteam/maldev/2021/11/18/av-evasion-syswhisper.html |
| Paul Laîné @am0nsec и smelly__vx @RtlMateusz | https://github.com/am0nsec/HellsGate/tree/master |
| @mrd0x | https://github.com/Maldev-Academy/HellHall |
| @SEKTOR7net | https://blog.sektor7.net/#!res/2021/halosgate.md |
| @D1rkMtr | https://github.com/TheD1rkMtr/D1rkLdr |
| @trickster012 | https://github.com/trickster0/TartarusGate |
| @thefLinkk | https://github.com/thefLink/RecycledGate |
| @ElephantSe4l и MarioBartolome | https://github.com/crummie5/FreshyCalls |
Дополнительные ресурсы