Chamadas de sistema (in)diretas: uma jornada do alto ao baixo nível
RedOps | Red Team Village | DEF CON 31
Começando
Toda a teoria e os playbooks dos exercícios podem ser encontrados na wiki, que, juntamente com os POCs preparados, é o coração deste projeto. Os POCs dos exercícios podem ser encontrados aqui na página principal.
Bons estudos!
Daniel Feichter
Aviso Legal
Antes de tudo, muito obrigado à minha namorada, que me apoia em tudo o que faço há mais de 10 anos! Sem o apoio e o suporte dela, nenhum dos meus projetos nos últimos 10 anos teria sido possível.
Agradeço também ao meu bom amigo Andreas Clementi, da AV-Comparatives, que me apoia desde que nos conhecemos. Agradeço também ao meu amigo Jonas Kemmner (que é um excelente Red Teamer) por me apoiar e ler todos os meus posts no blog antecipadamente. Sou muito grato por ter cruzado caminhos com todas essas pessoas incríveis.
O conteúdo e todos os exemplos de código neste repositório são apenas para fins educacionais e de pesquisa e devem ser usados somente em um contexto ético! Os exemplos de código não são novos e não afirmo que sejam. A maior parte do código ou a base vem, como sempre, do ired.team, obrigado @spotheplanet pelo seu trabalho brilhante e por compartilhá-lo conosco. Também muitos agradecimentos ao @mrexodia pela sua incrível ferramenta x64dbg.
Além disso, e muito importante, este workshop não é uma bala de prata no contexto de evasão de EDR, mas deve ajudar a entender os fundamentos das Win32 APIs, Native APIs, chamadas de sistema diretas e chamadas de sistema indiretas e um pouco sobre call stacks no contexto de execução de shellcode e evasão de EDR, nada mais, nada menos. O objetivo deste workshop não é mostrar as opções mais furtivas ou os POCs mais complexos para chamadas de sistema diretas e indiretas; em vez disso, vou focar em ensinar o básico. Isso significa usar o menor número possível de ferramentas e fazer o máximo de trabalho manualmente possível.
Gostaria de agradecer a todos os membros da comunidade de segurança da informação que pesquisaram, moldaram e continuam a pesquisar o tópico de chamadas de sistema, chamadas diretas de sistema e chamadas indiretas de sistema, etc.
Créditos e Referências
| Twitter Handle | Contribuição e Pesquisa |
|---|
| @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 | Todo o seu blog e pesquisa incríveis https://www.ired.team/ |
| @NinjaParanoid | Por seus blogs, pesquisas, cursos e por sempre responder minhas perguntas. https://0xdarkvortex.dev/hiding-in-plainsight/ https://0xdarkvortex.dev/proxying-dll-loads-for-hiding-etwti-stack-tracing/ |
| @ShitSecure | Por sua pesquisa, seu blog https://s3cur3th1ssh1t.github.io/ e pela ótima discussão sobre EDRs, chamadas de sistema, etc. |
| @AliceCliment | Por seu blog, pesquisa e as discussões sobre EDRs, chamadas de sistema etc. 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 | Por sua pesquisa geral e contribuições para a segurança da informação, ajudando novos membros da comunidade e pelo avanço contínuo da área https://0xboku.com/ https://github.com/boku7/AsmHalosGate https://github.com/boku7/HellsGatePPID https://github.com/boku7/halosgate-ps |
| @Jackson_T | Por sua pesquisa e ferramentas SysWhispers e SysWhispers2 https://github.com/jthuraisamy/SysWhispers) https://github.com/jthuraisamy/SysWhispers2 |
| @KlezVirus | Por seu blog, pesquisa, ótimas discussões sobre EDRs, chamadas de sistema, etc. e 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 e 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 e MarioBartolome | https://github.com/crummie5/FreshyCalls |
Recursos adicionais