
Documentação de Resposta a Incidentes facilitada. Desenvolvido por Respondentes de Incidentes para Respondentes de Incidentes.
Documentação de Resposta a Incidentes facilitada. Desenvolvido por profissionais de Resposta a Incidentes para profissionais de Resposta a Incidentes. Aurora eleva a "Planilha do Caos" usada na aula SANS FOR508 para o próximo nível. Tendo liderado muitos casos e ensinado tantos alunos a fazer IR corretamente, percebi que muitos lutam para manter o controle sobre todas as descobertas. Isso não só os impede de ver o que já têm, mas ainda menos o que estão perdendo.
Ele é destinado a ser usado em investigações de resposta a incidentes, pequenas e grandes, para rastrear descobertas, tarefas, facilitar a elaboração de relatórios e, de modo geral, manter-se no controle. A versão atual foi testada em batalha várias vezes agora. Continuarei corrigindo bugs e adicionando recursos conforme avançamos, mas lembre-se, é um projeto de tempo livre. Portanto, qualquer ajuda é apreciada.
Movimento Lateral
Linha do Tempo Visual

Você pode baixar o lançamento atual do Aurora Incident Response na Página de Releases. O Aurora Incident Response está disponível para MacOS, Windows e Linux. Estamos trabalhando para disponibilizá-lo também para iPads e tablets Android.
Aqui está um vídeo sobre como usar o Aurora:
Se você quiser contribuir, fique à vontade. Eu adoraria ver a ferramenta crescer. Toda a aplicação é construída sobre uma base Electron e escrita em Javascript e HTML puros. Embora tecnicamente eu pudesse ter usado módulos node.js para funcionalidades como Webdav, me abstive disso. A razão é que os módulos node não funcionam imediatamente ao migrar o código para phonegap no IOS e Android. A boa notícia é que é muito rápido configurar seu ambiente de desenvolvimento. Eu pessoalmente uso Webstorm, mas deve funcionar com praticamente qualquer IDE.
Conforme apontado na descrição, o Aurora Incident Response é construído sobre o Electron, o que permite compatibilidade multiplataforma. Você pode facilmente instalar sua cadeia de ferramentas da seguinte forma.
Comece instalando o node.js. Siga os links para a página de download.
Com o nodejs instalado, faça o checkout do [repositório do Aurora no Github](git clone https://github.com/cyb3rfox/Aurora-Incident-Response) (ou faça um fork primeiro se quiser contribuir).
git clone https://github.com/cyb3rfox/Aurora-Incident-Response
cd Aurora-Incident-Response/src
Agora você precisa instalar o Electron usando o node. Atualmente o Aurora está configurado para rodar com o electron 4.0.6.
npm install [email protected]
Agora você pode executar o código invocando:
node_modules/.bin/electron .
Rápido, não é?
Os seguintes pontos já estão no roteiro. Por favor, apenas poste uma nova issue ou envie uma mensagem no Twitter se tiver alguma sugestão de novas melhorias.
Você pode conferir os recursos planejados para os próximos lançamentos em projects.
Para compilar e fazer compilação cruzada, eu uso o electron-packager.
npm install electron-packager
Compilar para Windows:
./node_modules/.bin/electron-packager . Aurora --asar --prune --platform=win32 --electron-version=4.0.6 --arch=x64 --icon=icon/aurora.ico --out=release-builds --ignore "node_modules/.bin"
Compilar para MacOS:
./node_modules/.bin/electron-packager ./src Aurora --overwrite --platform=darwin --arch=x64 --icon=icon/aurora.icns --prune=true --out=release-builds
Compilar para Linux:
./node_modules/.bin/electron-packager . Aurora --asar --prune --platform=linux --electron-version=4.0.6 --arch=x64 --icon=icon/aurora.ico --out=release-builds --ignore "node_modules/.bin"
Esta seção descreve os vários arquivos de código fonte. Por enquanto, preciso manter esta seção pequena. Tentei comentar no código o melhor que pude. Se tiver alguma dúvida, é só me chamar. Se quiser se juntar a mim no desenvolvimento da ferramenta, há um canal no Slack para comunicação. Envie-me uma nota e eu o convidarei.
main.jsOs aplicativos Electron diferenciam entre um processo principal (background) e um processo de renderização (janela do navegador chromium). Este arquivo controla o processo principal. Para o Aurora, você normalmente só precisa ir lá se quiser ativar o console Javascript na janela do Aurora. Apenas retire o comentário da seguinte linha:
win.webContents.openDevTools()
A segunda coisa que é tratada lá é o salvamento automático e o desbloqueio ao sair do programa. Para isso, o processo principal e o de renderização compartilham uma variável global chamada global.Dirty.is_dirty que é usada para sinalizar ao processo principal se ele pode sair imediatamente ou se o arquivo precisa ser higienizado antes de sair.
Na verdade, é um conceito muito semelhante ao dirty bit do NTFS.
index.html` Este é o arquivo principal do Aurora que une todos os scripts e folhas de estilo. Ele também inicia a GUI. Fora isso, não tem funcionalidade.
gui_definitions.jsTentei ao máximo separar código e design. Este arquivo contém todo o JSON de definição para a GUI w2ui. Resta algum código lá para os renderizadores que formatam certas colunas. Não fez sentido colocá-los em outro lugar.
controller.jsO controlador injeta as funções de manipulação para eventos da GUI. Portanto, sempre que um botão é pressionado, ou qualquer outro evento necessário acontece, o controller.js trata do que acontece.
gui_functions.jsDe vez em quando, ocorrem operações que alteram algo na GUI. Isso pode ser, por exemplo, tornar todos os campos de dados somente leitura quando você não tem o bloqueio ou simplesmente abrir um popup. Todas essas funções estão localizadas neste arquivo, que é um arquivo JSON simples.
data.jsEmbora os dados reais sejam armazenados nas estruturas de dados do w2ui, para salvar e algumas outras operações, precisamos trazê-los para o nosso formato. Transformações como esta e toda a lógica relacionada a salvar e abrir arquivos estão localizadas aqui.
data_template.jsIsso contém modelos para o formato de dados interno dessa versão. A versão atual do formato é 3.
misp.jsCódigo para integração com MISP.
virustotal.jsCódigo para integração com VT.
settings.jsConfigurações para diferentes bibliotecas. Atualmente, define apenas o formato do campo de tempo para w2ui.
helper_functions.jsPequenas funções auxiliares que não se encaixam em nenhum outro lugar.
import.jsLida com importações CSV
exports.jsLida com exportações CSV
Aurora é licenciado sob a Licença Apache 2.
Projetos como este só podem ser realizados porque muitas pessoas investiram milhares de horas escrevendo bibliotecas legais e outros softwares. Outros contribuem com itens profissionais de UI. Obrigado por todo o ótimo trabalho. Especificamente, construí o Aurora com base nas seguintes dependências:
Além da quantidade incrível de trabalho que as pessoas investiram nesses projetos, você também precisa de outro apoio. Escrever o código é fácil, mas transformá-lo em uma ferramenta que funcione na realidade depende de uma vasta experiência de muitos profissionais de resposta a incidentes. Aqui, quero mencionar especialmente os membros da minha equipe de IR que contribuíram com seu conhecimento e ajudaram a testar a ferramenta em casos do mundo real:
Embora este seja um projeto paralelo e de fim de semana, ainda é bom saber que meu empregador, a Infoguard AG, me apoia de todas as formas possíveis. Agradeço especialmente a:
As seguintes pessoas contribuíram com mudanças que tiveram um impacto significativo na ferramenta: