Este artigo contém soluções para tarefas destinadas aos registros forenses de memória, RAM e servidor da web. Bem como exemplos de uso dos programas Volatility Framework e Autopsy.
Informações OrganizacionaisEspecialmente para aqueles que desejam aprender algo novo e se desenvolver em qualquer uma das áreas de segurança da informação e da informática, escreverei e falarei sobre as seguintes categorias:
- PWN;
- criptografia (criptografia);
- tecnologias de rede (rede);
- reverso (engenharia reversa);
- esteganografia (estegano);
- pesquisa e exploração de vulnerabilidades na WEB.
Além disso, compartilharei minha experiência em análise forense de computadores, análise de malware e firmware, ataques a redes sem fio e redes locais, realização de protestos e explorações por escrito.
Para que você possa descobrir sobre novos artigos, software e outras informações, criei um
canal no Telegram e um
grupo para discutir quaisquer questões no campo da CID. Além disso, considerarei pessoalmente seus pedidos, perguntas, sugestões e recomendações
pessoais e responderei a todos .
Todas as informações são fornecidas apenas para fins educacionais. O autor deste documento não se responsabiliza por nenhum dano causado a alguém como resultado do uso dos conhecimentos e métodos obtidos como resultado do estudo deste documento.
Análise forense de memória - nível 2

Nesta tarefa, recebemos uma imagem da RAM e somos solicitados a encontrar o nome da máquina. Para resolver esse tipo de tarefa, usaremos o Volatility Framework. Carregamos a imagem com o seguinte comando, especificando o caminho para a imagem como parâmetro. Primeiro, descobrimos informações sobre a imagem.
volatility -f ch2.dmp imageinfo

Assim, aprendemos que esta é uma imagem de memória do sistema operacional Windows. Ou seja, podemos descobrir o nome da máquina no registro. Agora devemos especificar o perfil como um parâmetro. O valor da chave no registro pode ser exibido da seguinte maneira.
volatility -f ch2.dmp --profile=Win7SP1x86_23418 printkey -K "ControlSet001\Control\ComputerName"

E agora descobrimos o nome do computador.
volatility -f ch2.dmp --profile=Win7SP1x86_23418 printkey -K "ControlSet001\Control\ComputerName\ActiveComputerName"

Vemos o nome do computador. Entregue, ganhe pontos.

Logs forense - ataque na web

Nesta tarefa, eles nos fornecem um log do servidor da Web e dizem que foi feito um ataque, precisamos entender quais dados o invasor aprendeu. Vamos abrir o log.

Vemos que os dados codificados em base64 como um parâmetro de pedido. Escreveremos um código para decodificá-los.
from re import * from base64 import * f = open('ch13.txt') log = f.read() f.close() k = findall("action=membres&order=(.*?) HTTP", log) [print(str(b64decode(i.replace("%3D", "=")), "utf-8")) for i in k]

Converta um pouco em compreensível.

Assim, comparamos os dois primeiros bits da primeira letra da senha com 00, 01, 10, 11 e fazemos uma pausa correspondente - 0, 2, 4 e 6 segundos. Também acontece com o segundo e o terceiro dois bits. Depois disso, o sétimo bit é verificado e, dependendo da igualdade de 0 ou 1, é feita uma pausa de 2 e 4 segundos.
Assim, pelo atraso, podemos determinar quais bits o servidor retorna.

Por exemplo: a diferença de tempo entre os primeiros pedidos é de 6 segundos, ou seja, são os bits 11, etc. Automatize esse processo.
from re import * from base64 import * import binascii f = open('ch13.txt') log = f.read() f.close() k = findall("action=membres&order=(.*?) HTTP", log) dec_k = [str(b64decode(i.replace("%3D", "=")), "utf-8") for i in k] t = findall("2015:12:1(.*?) \+0200]", log) tim = [int(i.split(':')[0])*60 + int(i.split(':')[1]) for i in t] tim = [tim[i+1] - tim[i] for i in range(len(tim)-1)] + [0] password = "" for i in range(0, len(tim), 4): c = '' for sec in tim[i:i+3]: if sec == 0: c += '00' elif sec == 2: c += '01' elif sec == 4: c += '10' elif sec == 6: c += '11' if tim[i+3] == 2: c += '0' elif tim[i+3] == 4: c += '1' password += chr(int(c,2)) print(password)
Nós damos a senha.

Análise forense de memória - nível 5

Somos solicitados a encontrar a senha de John e fornecer um despejo de RAM. Como na última vez, descobrimos qual sistema operacional é usado.

Este é o Windows. A volatilidade tem uma opção de hashdump.

Agora encontramos a senha do usuário.

Enviamos a senha e obtemos pontos.

Forense em disco - encontre o gato

É-nos dada uma imagem de disco e solicitados a encontrar o local onde o gato está. Para essas tarefas, você pode usar o FTK Imager. Vou resolvê-lo usando o
AutoPsy . Execute o programa.

É-nos dito para abrir a página em um navegador. Nós abrimos. Agora crie um novo caso e adicione um host. Em seguida, você precisa adicionar uma imagem.
Depois de criar o ambiente, temos o seguinte.

"
Selecione a opção de análise.

Exibimos a seguinte estrutura de seção. Não há nada interessante na pasta Documentações. Vamos para Arquivos.

Há um arquivo odt interessante. Nós selecionamos.

O conteúdo é exibido abaixo - há algum tipo de imagem. Selecione extrair para extrair o arquivo. Do arquivo baixado, extraímos a imagem.

Provavelmente este é o gato que precisamos encontrar. Vamos ver informações exif.

Ótimo, existem coordenadas de localização. Encontramos nos cartões.

Enviamos a resposta e obtemos pontos.

Mais e mais complicado ... Você pode se juntar a nós no
Telegram . Lá, você pode propor seus próprios tópicos e votar na escolha de tópicos para os seguintes artigos.