Living Off The Land Drivers 1.0 Release
Primeiro - Queremos agradecer a todos pelo feedback e comentários! Nós realmente apreciamos isso.
Introdução
Desde a sua criação, o projeto Living Off The Land Drivers (LOLDrivers) teve um enorme crescimento e sucesso. Como lembrete, o projeto visa fornecer um repositório abrangente e bem mantido de drivers com vulnerabilidades conhecidas ou comportamentos maliciosos. Com a versão 1.0, estamos entusiasmados em apresentar vários novos recursos, enriquecimento de driver e atualizações que o tornam ainda mais valioso para analistas e pesquisadores. Nesta postagem do blog, vamos orientá-lo por esses aprimoramentos e celebrar alguns dos marcos que o projeto alcançou. Se você ainda não o fez, recomendamos a leitura da postagem original do blog anunciando o projeto para obter mais contexto sobre seu propósito e objetivos.
Marcos do Projeto
Nossa primeira contribuição veio menos de 24 horas após o anúncio do projeto, graças aos esforços de Rastamouse . Desde então, o site LOLDrivers registrou 4,8 mil novos usuários , sendo o LenovoDiagnosticsDriver .sys o driver mais visitado. Somente nos últimos 30 dias, 13 novos drivers foram adicionados ao repositório por contribuidores. Estamos entusiasmados com a resposta da comunidade e gratos pelas contribuições contínuas que ajudam a tornar o projeto ainda melhor.
Comunidade
Antes de mergulhar na lista de itens de lançamento, gostaríamos de destacar a resposta da comunidade. Isso inclui tweets, publicações, projetos e outras instâncias em que o projeto LOLDrivers foi utilizado ou mencionado.
Um cliente LOLDrivers
LOLDrivers-client.exe -m [MODE] [OPTIONS]
Modes:
online Download the newest driver set (default)
local Use a local drivers.json file (requires '-f')
internal Use the built-in driver set (can be outdated)
Options:
-d Directory to scan for drivers (default: Windows Default)
-f File path to 'drivers.json' for mode 'local'
-t Number of threads to spawn (default: 20)
-v Print verbose messages (default: false)
-h Shows this text
Thor e Loki
- https://github.com/Neo23x0/signature-base/blob/master/iocs/hash-iocs.txt#L10827
- https://github.com/Neo23x0/Loki/releases
- https://github.com/0xjxd/KQL-Hunting/blob/main/MDE-LOLDRIVERS.kql
- https://github.com/mgreen27/DetectRaptor/blob/master/vql/LolDrivers.yaml
- https://github.com/rweijnen/Posh-Snippets/blob/master/ScanLolDrivers.ps1
SANS Internet Storm Center
- https://isc.sans.edu/podcastdetail.html?id=8444
- https://gist.github.com/schrodyn/45eab4f9229f116e2cfd2c427a84fdd6
1. Novos Enriquecimentos do Motorista
Nesta versão, adicionamos uma nova seção para cada driver que inclui todos os metadados extremamente valiosos do driver utilizando nosso novo extrator de metadados . Por exemplo, a adição do Authentihash fornece uma maneira eficiente de identificar e validar arquivos de forma exclusiva. Outros campos de metadados incluem hashes de arquivo (MD5, SHA1 e SHA256), assinatura, data, editor, empresa, descrição, produto, versão do produto, versão do arquivo, tipo de máquina, nome do arquivo original, nome interno, direitos autorais, importações, funções exportadas e caminho PDB. Esses enriquecimentos ajudam analistas e pesquisadores a entender e investigar melhor os drivers em nosso repositório.
Os arquivos JSON e CSV agora incluem todos os novos atributos. Se você quiser o YAML bruto aqui, YAML .
Também adicionamos uma lista de todos os Authentihashes coletados aqui
Primeiro, agora você percebe que cada driver tem todos os metadados adicionados
Ao rolar para baixo na página do driver, você verá as importações e exportações do driver e todas as informações de assinatura
O YAML bruto contém todos os atributos:
2. Binários do driver no diretório drivers/
Começamos a usar o Git LFS para armazenar os drivers no diretório drivers/ . Cada versão agora apresentará um arquivo drivers.zip contendo todos esses binários. Isso permite que os analistas baixem e analisem convenientemente todos os drivers do projeto. Os binários são nomeados de acordo com o formato <md5>.bin do arquivo.
3. Alterado para UUID em vez de Nomes de Driver
Ao trabalhar com o repositório e revisar a regra sigma com base em nomes de driver, reconhecemos que nomes duplicados podem ocorrer à medida que o projeto se expande com o tempo. Decidimos modificar o esquema adotando UUIDs e atribuindo nomes de driver como tags. Esta atualização permite um conjunto infinito de drivers. Além disso, se o nome do driver original for desconhecido, utilizaremos o atributo de nome de arquivo original.
A principal diferença é que os URLs serão baseados no UUID —https://www.loldrivers.io/drivers/275c80c5-a67c-4536-b29e-4e481242cb01/
4. Adicionar drivers elásticos
Nasreddine mergulhou fundo no conjunto Elastic driver yara e conseguiu produzir uma planilha totalizando mais de 740 drivers no total. Usamos uma consulta VTI para reunir todos os metadados e produzir uma saída csv e, em seguida, baixamos todos os drivers e adicionamos ao projeto!
Script de enriquecimento do VirusTotal:https://gist.github.com/nasbench/93b55c1fbe01d8341b7c9ed80a80ebbc
Planilha de dados enriquecidos:https://docs.google.com/spreadsheets/d/1lTNqD2t9UbFOLQbNWeLVbN8XCK8Dd72XavEQrkvtZVY/edit?usp=sharing
Nasreddine então forneceu um PR massivo com os binários do driver e um conjunto completo de novos arquivos yaml.
- https://github.com/magicsword-io/LOLDrivers/pull/63
O site LOLDrivers foi atualizado para incluir novos metadados e links para os binários mais recentes. A página de destino agora exibe os hashes SHA256 dos drivers, simplificando ainda mais a navegação e a recuperação de informações para os usuários.
6. Trabalho de CI de validação atualizado com uma especificação YAML
Para manter a consistência e validar/relatar automaticamente sobre quaisquer problemas de construção YAML, atualizamos o trabalho CI de validação com uma especificação jsonschema . Essa melhoria ajuda a simplificar o processo quando um PR é criado por alguém da comunidade. Agradecemos e agradecemos todas as contribuições da comunidade!
7. Trabalho de CI de liberação adicionado
Adicionamos um trabalho de CI de liberação para criar liberações de projeto . Isso nos permite ter compilações instantâneas à medida que melhoramos o projeto. O trabalho de CI também cria o arquivo driver.zip e inclui notas de versão, tornando ainda mais fácil manter-se informado sobre o andamento do projeto.
8. Novos drivers adicionados por meio de contribuições da comunidade
A comunidade tem contribuído ativamente com o projeto e gostaríamos de destacar alguns dos novos drivers adicionados:
- dcr.sys
- SSPORT.sys
- LgCoreTemp.sys
- bedasy.sys
- RTCore64.sys (novos hashes)
- hw.sys (novos hashes)
-windbg.sys _
- Adicionar Hash a Sense5Ext.sys
- Adicionar KApcHelper_x64.sys
- Adicionar mJj0ge.sys
- Adicionar prokiller64.sys
- Adicionar fur.sys
- procexp152.sys
Obrigado a todos os colaboradores que ajudaram a expandir o escopo do projeto LOLDrivers!
Conclusão
A versão 1.0 do projeto Living Off The Land Drivers traz inúmeras melhorias e atualizações, tornando-o um recurso ainda mais valioso para analistas e pesquisadores. Somos gratos pelo apoio contínuo da comunidade.
Um enorme obrigado à nossa comunidade e mantenedores!
Gostaríamos de estender nossos sinceros agradecimentos aos membros da comunidade que contribuíram para o projeto: goosvorbook , hRun , VoidSec , Wack0 , X90e , hfiref0x e BlureL . Sua dedicação e esforço foram fundamentais para o crescimento e sucesso da LOLDrivers. Também queremos reconhecer o trabalho inestimável dos mantenedores do projeto: Nas, Mike e Jose. Seu compromisso e trabalho árduo continuam a impulsionar o projeto e torná-lo um recurso essencial para a comunidade de segurança.
Obrigado a todos por suas contribuições e esperamos ver o projeto continuar a crescer e evoluir com o seu apoio!