Roubo de software e comparação de código-fonte
Categoria: Segurança, incidentes, malware, phishing e fraude digital
Objetivo do tema
Consolidar orientações, limitações e achados recorrentes sobre roubo de software e comparação de código-fonte no contexto de exames de computação forense.
Contexto técnico consolidado
As conversas reunidas mencionam ferramentas/tecnologias como UFED, XRY, IPED, Magnet AXIOM, WhatsApp. Os termos mais recorrentes neste tema incluem: codigo, 12-31, mas, data, whatsapp, android, 20.847, versao, pra, iped. O conteúdo abaixo foi consolidado a partir de mensagens anonimizadas do grupo, preservando as discussões de origem para conferência.
Pontos consolidados
- Definir quesitos objetivos sobre similaridade, autoria e histórico de arquivos.
- Preservar repositórios, versões e metadados de desenvolvimento.
- Evitar transformar ordens genéricas em conclusões além do escopo.
Ferramentas, sistemas ou marcas citadas
UFEDXRYIPEDMagnet AXIOMWhatsAppPalavras-chave recorrentes
codigo12-31masdatawhatsappandroid20.847versaopraipedessevouusarpodefontetypemesmojogoDiscussões de origem e mensagens relacionadas
Resumo gerado automaticamente a partir das mensagens anonimizadas. Conferir as mensagens de origem antes de uso em caso concreto.
Origem 001 — 05/01/2018 14:35 a 15:10 — "se há adulteração para ludibriar apostadores ou se há componentes NAS máquinas fruto
"se há adulteração para ludibriar apostadores ou se há componentes nas máquinas fruto de descaminho ou contrabando"
Resolução: física e lógica. Verificar se foi rompido o lacre/selo de segurança; abrir a máquina e verificar se há algum componente eletrônico adicionado ou estranho ao original. Ligar e realizar testes.
É um caminho, sugestão. Outros colegas podem sugerir outras soluções.
Diligência para apresentar nota fiscal ou documento de importação. Quanto a ludibriar, em algumas máquinas permite gerar cópia das últimas apostas. Sendo característica de jogo do bicho, por si mesmo já configura jogo de azar. Caso de apreensão do servidor, dai vale a pena analisar a aplicação. Porém em alguns casos o servidor está fora do país, geralmente onde não temos cooperação internacional.
Origem 002 — 14/01/2019 11:52 a 12:18 — Uso do IPED na triagem, indexação e análise
Boa tarde. Alguém de vcs usa o arquivo asap para configuração do cabeçalho do relatório do iped? Começamos a usar o iped há pouco tempo aqui e ainda estamos na fase de "descobrimento" das funcionalidades
Olá Thaíssa. Nós usamos o arquivo .asap. Ele é gerado pelo nosso Sistema de Criminalística (SisCrim).
Mas como é a estrutura? É um txt q vc salva como .asap e coloca os campos q vc quer no cabeçalho?
Oi [MENCAO], no RJ desenvolvi uma interface q tenta cobrir todas as funcionalidades do Iped, incluindo um gerenciador de regex com testes e um gerenciador de Jobs pra processamento em batch. Essa interface demanda obrigatoriamente o uso do asap para geração de relatórios.
Tal interface é livre, posso enviar a vcs se quiserem.
O formato do asap q usamos é assim:
Também tenho interesse [EMAIL]
[EMAIL]
https://drive.google.com/open?id=15txLWFsVAl8v8Acn4RZrSSspTu2Eukha
podem baixar ai. Como eu não coloco o iped e o led junto com a ferramenta pelo tamanho deles, vcs precisam colocar essas ferramentas nas pastas IPEDFiles e LEDFiles, conforme as duas fotos que vou mandar a seguir
no link do download, dentro do caminho \IIPED\IPEDFiles\ip [ID-CASO]\htmlreport, tem os arquivos pertencentes ao relatório que usamos no RJ, com nosso brasão etc. Se substituirem pelo original do iped, fica como o relatório da PF. Mas vcs pode customizar e fazer o mais adequado para o estado de vcs.
A interface está na versão 2.0.5 e roda com o iped na versão 3.14.2. A versão 3.14.5 ainda não foi testada, mas vou fazer isso em breve. Se quiserem usar essa nova versão do iped, pode ser que algo não saia como esperado, dai me informem que eu modifico já aqui.
Aí podemos ver que seria bem interessante a senasp patrocinar um repositório de codigo fonte e promover um desenvolvimento por toda comunidade de peritos.
Muito obrigada, [NOME]... Já baixei e testaremos aqui
Origem 003 — 29/04/2019 16:02 a 18:19 — Extração e análise de mensagens do WhatsApp
Pessoal do Rio... Alguma nova versão dessa ferramenta? A versão q temos não processa a pasta WhatsApp Documents.
o forensic tools se atualiza sozinho
não sei se o desenvolvedor da ferramenta esta nessa lista, mas vou perguntar direto pra ele esse ponto aqui
Mas não atualiza...
Realmente não tá trazendo os documentos das conversas. PDF, DOCX etc
Boa tarde, meus amigos. Algum Perito afim de passar uma temporada na SENASP contribuindo com o projeto de desenvolvimento do módulo da perícia no SINESP.
Mais detalhes [NOME] 😁
Seria na parte de levantar requisitos e testes na aplicação ... pois existe uma fábrica de software responsável pelo desenvolvimento e documentação
Origem 004 — 11/05/2019 07:59 a 09:13 — Uso do Magnet AXIOM/IEF em artefatos digitais
Bom dia! Gostaria de agradecer pela postagem desta informação. Ela foi fundamental na realização de um exame visando encontrar o aplicativo espião. Brasilespiao que é o mesmo brunoeapiao. Com download em servidor da Amazon nos EUA.
No entanto, fiquei pensando como de fato este tipo de aplicativo funciona. Teria dificuldade para explicar de forma pormenorizada em uma eventual arguição.
Se alguém tiver alguma sugestão de artigo, agradeço.
<Mídia oculta>
5-tools-pentest-mobile
5-tools-pentest-mobile
Vc poderia utilizar tentar obter o código fonte a partir de engenharia reversa
Tb poderia emular o APK no UFED ou no Axiom
Origem 005 — 26/09/2019 15:14 a 15:15 — / Email_Bkp_To_File_Manual
<Mídia oculta>
Email_Bkp_To_File_Manual
Email_Bkp_To_File_Manual
Obrigada... vamos testar aqui
Vou tentar colocar o código fonte do app no GitHub
Assim os colegas poderiam ajudar no desenvolvimento do mesmo
Origem 006 — 09/03/2020 15:04 a 15:18 — Extração e decodificação de bancos do WhatsApp
Pessoal, vcs tem conseguido fazer downgrade do zap em android 8.1? Motorola XT1672 .Patch de segurança 1/10/2018. Obg
Prezados, vou compartilhar com o Srs uma técnica que utilizamos aqui no DF pra exportação do WhatsApp em Android 8.1 e 9, baseado no CVE-2019-11932 (Gif malformado que permite execução de código).
O código fonte original, do autor do ataque, encontra-se aqui: https://github.com/awakened1712/CVE-2019-11932
Nosso APK é baseado nesse código. Porém fizemos adaptações pra funcionar tb em plataforma 32bits. Porém, os testes com essa plataforma foram limitados.
Verificamos funcionar bem em 64 bits (Samsung S7, S8, etc).
O código fonte original, do autor do ataque, encontra-se aqui: https://github.com/awakened1712/CVE-2019-11932
Nosso APK é baseado nesse código. Porém fizemos adaptações pra funcionar tb em plataforma 32bits. Porém, os testes com essa plataforma foram limitados.
Verificamos funcionar bem em 64 bits (Samsung S7, S8, etc).
<Mídia oculta>
Ataque_WhatsApp_GIF_21_01_2020.apk
Ataque_WhatsApp_GIF_21_01_2020.apk
Dependendo do dispositivo (64 ou 32 bits), basta clicar no botão correto.
Um gif é gerado em /sdcard
Um gif é gerado em /sdcard
Depois basta abrir uma das conversar do WhatsApp, clicar no clip pra enviar arquivos e clicar na Galeria.. O comando "cp /data/data/com.whatsapp/databases/* /sdcard/" . Depois basta copiar os bancos e importar no UFED.
Talvez possa te ajudar ☝
Percebemos que muitos aparelhos no Brasil possuem processador 64 bits, mas Android 32. Nesses casos geralmente não funciona.
consegue acesso a pasta /com.whatsapp/files tb? Para a key
excelente! para recuperar as conversas dos dbs criptografados no backup tb
Conseguimos execução de código com o usuário do Whatsapp
Explicação completa do ataque aqui: https://awakened1712.github.io/hacking/hacking-whatsapp-gif-rce/
Funciona até a versao 2.19.230 do WhatsApp, em ambiente Android.
Origem 007 — 13/03/2020 12:43 a 13:01 — Root em dispositivo Android para extração pericial
Essa são as world link que o [NOME] falou
arquivos “/opt/kiosk/libs/KiosK-withLibs.jar gerencia o acesso ao sistema, o arquivo “/opt/kiosk/logs/jlockwin.log possui logos deste acessos, e la vc pode achar chamadas no sistema com o nome de H4 (jogo halloween) ou outras abreviações de jogos,
Pela análise do mesmo código apresentado pode-se observar que os processos relacionados a sítios de busca (Google), sítios como (Gmail) são criados na pasta “/usr/bin”, ao ponto que os processos relacionados ao programa “4804 ou h4” é criado na pasta “/tmp”.
Exato. Encontrei tambem..tem datas e horarios da sliberacoes
código do Kiosk-withLibs.jar
como o usuario iniciava o jogo halloaween?
somente com o uauário ADMIN
aqui nao fazia diferença ser admin..apareciam as mesmas aplicações
Você tem a senha de admin?
nao..entrei no recovery mode depois escolhi a opcao root
no pronpt tem como resetar a senha do cliente
eles fazem de um que é complicado vc acessoar o jogo pq precisa de um acesso a server remoto, vc vai ter que analisar o código fonte das aplicações
sou mexendo ai eu nunca consegui jogar
<Mídia oculta>
Exemplo de um laudo nosso, nesse tinha o jogo BANG.
Exemplo de um laudo nosso, nesse tinha o jogo BANG.
tinha histórico da existência dele, pq era sempre apagado por estar na TMP
Origem 008 — 13/03/2020 15:45 a 16:39 — Roubo de software e comparação de código-fonte
Não tem links pra jogos.
Tem processos que conectam num servidor e cujos arquivos são salvos na pasta tmp e posteriormente são apagados.
Dá pra falar que a máquina tem uma vpn com esse servidor por meio do app tinc e que é possível que tenha acessado alguma aplicação (incluindo jogos de azar) sem deixar vestígios.
Tem processos que conectam num servidor e cujos arquivos são salvos na pasta tmp e posteriormente são apagados.
Dá pra falar que a máquina tem uma vpn com esse servidor por meio do app tinc e que é possível que tenha acessado alguma aplicação (incluindo jogos de azar) sem deixar vestígios.
Aqui tem o teamviewer
Vou procurar esses outros dados relacionados
Aqui estamos na terra do Carlinhos Cachoeira. Caça-níquel aqui é mato.
😂😂
😂😂
Origem 009 — 10/04/2021 13:06 a 14:14 — Elaboração de laudo e relatório técnico pericial
Meu último laudo no lab foi uma engenharia reversa de um app do jogo do bicho. Me senti fechando em grande estilo. Conseguimos diversos dados do funcionamento, nomes de pessoas endereços de servidores etc etc. Assim como o funcionamento completo do programa. Aquilo é perícia, pq não havia botão a apertar que dava o resultado sem pontos técnicos.
Mas não é um laudo que se faz rotineiramente. Tive tempo pra fazer.
A meu ver é apenas coisas desse nivel que deveriam ser função das seções de informática forense.
Boa! Parabéns!
Como chegar nesse nível de conhecimento, hein?!
Caramba!👏👏👏👏
Como chegar nesse nível de conhecimento, hein?!
Caramba!👏👏👏👏
Seriam aqueles que rodam em terminais POS, executando Android?
É um app para Android que executa em qualquer celular. Muito comum aqui no estado.
<Mídia oculta>
Uns meses atrás, fiz a reversa de um apk instalado em um POS baseado em Android.
Desde a declaração das classes, às vezes já temos alguma pista do que veremos à frente.
Uns meses atrás, fiz a reversa de um apk instalado em um POS baseado em Android.
Desde a declaração das classes, às vezes já temos alguma pista do que veremos à frente.
😅😅 o cara poderia até dar nome nada a ver as variáveis, mas o problema é que se ele fizer isso nem ele entende o próprio código.
Faltou um cursinho de code obfuscation 😂
Ah isso ai foi código decompilado? Achei que tinha encontrado o código fonte em algum lugar.
O terminal era baseado em chipsett mtk. E deu bom em um dump físico.
*chipset
O terminal era de fabricação própria (artesanal, protótipo) ou de aspecto similar aos POS de cartão (Cielo, Stone, Redecard)?
Tinha interface de dados USB externo?
<Mídia oculta>
Terminal POS mesmo, porém de aplicação genérica (marca Sunmi).
Terminal POS mesmo, porém de aplicação genérica (marca Sunmi).
Sim, USB-C.
O que facilita bastante.
Origem 010 — 27/02/2023 18:53 a 19:33 — Roubo de software e comparação de código-fonte
Você pode usar o código abaixo pra fazer esse filtro
import Evtx.Evtx
with Evtx.Evtx("C:\\Windows\\System32\\winevt\\Logs\\System.evtx") as log:
for record in log.records():
if record.xml().find("EventID Qualifiers=\"16384\">5156<") != -1:
print("Data e hora: " + str(record.timestamp()))
print("Origem do IP: " + str(record.xml().split("<Data Name=\"SourceIpAddress\">")[1].split("</Data>")[0]))
print("Destino do IP: " + str(record.xml().split("<Data Name=\"DestIpAddress\">")[1].split("</Data>")[0]))
print("Nome do usuário: " + str(record.xml().split("<Data Name=\"SubjectUserName\">")[1].split("</Data>")[0]))
print("----------------------------------------------------")
import Evtx.Evtx
with Evtx.Evtx("C:\\Windows\\System32\\winevt\\Logs\\System.evtx") as log:
for record in log.records():
if record.xml().find("EventID Qualifiers=\"16384\">5156<") != -1:
print("Data e hora: " + str(record.timestamp()))
print("Origem do IP: " + str(record.xml().split("<Data Name=\"SourceIpAddress\">")[1].split("</Data>")[0]))
print("Destino do IP: " + str(record.xml().split("<Data Name=\"DestIpAddress\">")[1].split("</Data>")[0]))
print("Nome do usuário: " + str(record.xml().split("<Data Name=\"SubjectUserName\">")[1].split("</Data>")[0]))
print("----------------------------------------------------")
Esse código [SEGREDO] python e o Evtx não é builtin, tem que instalar
pip install evtx
pip install evtx
Tava vendo aqui, esse 5156 é aquela liberação do firewall para saída de pacote tcp por uma aplicação. É uma ideia, mas eu não vi aqui numa maquina real se ele coloca um ip local de loopback
É uma boa dica essa. Vou depois rodar o script tb
Origem 011 — 31/08/2023 11:27 a 11:46 — Extração e análise de mensagens do WhatsApp
Bom dia. Alguém tem conhecimento de alguma técnica para *rasteio de IP por conversa via WhatsApp*? Lembro de ter lido algo sobre isso em conversas anteriores, mas não consegui localizar.
Pode usar a ferramenta que nosso colega da SPI/PCDF desenvolveu:
https://github.com/leosol/waip
https://github.com/leosol/waip
mas nesse caso precisa de originar uma ligação via whatsapp
Telefone precisa está rooteado tb
Tem uma forma que acho bem interessante tb.
No windows, a nova versão DESKTOP do Whatsapp é dotnet e faz chamadas via desktop. Dessa forma, vc tb pode usar um sniffer capturando pacotes da aplicação e originar uma chamada que vc vê o IP nessa aplicação.
fica mais fácil não usar o wireshark, mas usar uma ferramenta que filtra por processo
Acho que o próprio network monitor da MS faz bem o serviço
Outra forma tb é usar um roteador wifi, ou mesmo fazer tethering no computador e capturar o wifi do telefone e originar chamada
Origem 012 — 05/09/2023 18:42 a 19:25 — / / Haveria alguma possibilidade de êxito quando da aplicação do procedimento remoção
IMG-20230905-WA0009.jpg (arquivo anexado)
É uma honra em está auxiliando e treinando nossos amigos da Polícia Civil do Estado do Pará!!! 🕵🏽♂️👮🏻♂️👨🏻💻✌🏼
É uma honra em está auxiliando e treinando nossos amigos da Polícia Civil do Estado do Pará!!! 🕵🏽♂️👮🏻♂️👨🏻💻✌🏼
Boa noite.
Haveria alguma possibilidade de êxito quando da aplicação do procedimento remoção de bloqueio de tela num NOTE 10 usando uma versão anterior (NOTE 9)?
Caso o procedimento falhe é provável que o telefone não reinicie corretamente o Android?
Alguém já tentou algo similar?
Haveria alguma possibilidade de êxito quando da aplicação do procedimento remoção de bloqueio de tela num NOTE 10 usando uma versão anterior (NOTE 9)?
Caso o procedimento falhe é provável que o telefone não reinicie corretamente o Android?
Alguém já tentou algo similar?
Origem 013 — 12/09/2023 14:14 a 15:07 — Root e extração em dispositivo Positivo
Senhores boa tarde, alguém tem idéia de algum log no Android, onde se consiga constatar a data de criação da senha por padrão de desenho existente no aparelho, segundo o requisitante seria de vital importância constatarmos a data de criação do padrão de desenho no dispositivo, possível utilização indevida de aparelhos apreendidos por policiais penais.
olha no /data/data/com.android.google.gm
Acho que é esse o caminho
Quando foi criado o usuário
Tem uma base de dados nesse final ".gm" que é o usuário do dispositivo
Outro dia respondi um colega sobre exatamente o log que guarda isso. Deixa eubpegar os dados
Tem nesse aquivo
LockSettingsLog_Enroll.log
LockSettingsLog_Enroll.log
Boa tarde pessoal. Estou com um quesito para verificar se existe software espião instalado no PC. Sistemas Windows 10 Pro. Considerando que esses softwares podem estar disfarçados com outros nomes ou ocultos, alguém possui técnicas para localizar vestígios ?
Vc pode trr um log semelhante a esse aqui:
12-31 15:23:20.861 lock enroll event Contents : setLockCredential new type = -1 Time : 12-31 15:23:20.845 User id : 0 UID : 8334 PID : 1000 Callers : 12-31 15:23:20.847 com.android.internal.widget.LockPatternUtils.makeLpuLog:2779 12-31 15:23:20.847 com.android.internal.widget.LockPatternUtils.setLockCredential:794 12-31 15:23:20.847 com.android.settings.password.ChooseLockGeneric$ChooseLockGenericFragment.updateUnlockMethodAndFinish:2263 12-31 15:23:20.847 com.android.settings.password.ChooseLockGeneric$ChooseLockGenericFragment.setUnlockMethod:2525 12-31 15:23:20.847 com.android.settings.password.ChooseLockGeneric$ChooseLockGenericFragment.onPreferenceTreeClick:1035 12-31 15:23:20.847 androidx.preference.Preference.performClick:1270 12-31 15:23:20.847 com.android.settingslib.RestrictedPreference.performClick:79 12-31 15:23:20.847 androidx.preference.Preference.performClick:1244 12-31 15:23:20.847 androidx.preference.Preference$1.onClick:193 12-31 15:23:20.847 android.view.View.performClick:8160
12-31 15:23:20.861 lock enroll event Contents : setLockCredential new type = -1 Time : 12-31 15:23:20.845 User id : 0 UID : 8334 PID : 1000 Callers : 12-31 15:23:20.847 com.android.internal.widget.LockPatternUtils.makeLpuLog:2779 12-31 15:23:20.847 com.android.internal.widget.LockPatternUtils.setLockCredential:794 12-31 15:23:20.847 com.android.settings.password.ChooseLockGeneric$ChooseLockGenericFragment.updateUnlockMethodAndFinish:2263 12-31 15:23:20.847 com.android.settings.password.ChooseLockGeneric$ChooseLockGenericFragment.setUnlockMethod:2525 12-31 15:23:20.847 com.android.settings.password.ChooseLockGeneric$ChooseLockGenericFragment.onPreferenceTreeClick:1035 12-31 15:23:20.847 androidx.preference.Preference.performClick:1270 12-31 15:23:20.847 com.android.settingslib.RestrictedPreference.performClick:79 12-31 15:23:20.847 androidx.preference.Preference.performClick:1244 12-31 15:23:20.847 androidx.preference.Preference$1.onClick:193 12-31 15:23:20.847 android.view.View.performClick:8160
Esse type pode ser um desses aqui:
CREDENTIAL_TYPE_NONE = -1
CREDENTIAL_TYPE_PATTERN = 1
CREDENTIAL_TYPE_PASSWORD_OR_PIN = 2
CREDENTIAL_TYPE_PASSWORD = 3
CREDENTIAL_TYPE_PIN = 4
CREDENTIAL_TYPE_NONE = -1
CREDENTIAL_TYPE_PATTERN = 1
CREDENTIAL_TYPE_PASSWORD_OR_PIN = 2
CREDENTIAL_TYPE_PASSWORD = 3
CREDENTIAL_TYPE_PIN = 4
Conforme código fonte do android em:
https://android.googlesource.com/platform/frameworks/base/+/master/core/java/com/android/internal/widget/LockPatternUtils.java
https://android.googlesource.com/platform/frameworks/base/+/master/core/java/com/android/internal/widget/LockPatternUtils.java
Top senhores, muito obrigado…👏👏👏
Rodar um antivírus atualizado nos dados é um começo
Outra é análise dinâmica subindo numa vm a imagem e monitorar o tráfego
Ver o log de instalações
Origem 014 — 26/05/2025 12:57 a 14:55 — Acesso de baixo nível por JTAG, EDL, test point ou chip-off
Boa tarde. Sobre o Direct do Instagram, notamos que muitas vezes a conversa não vem completa, apesar de estar visível na tela diversas mensagens, em um iPhone 8, conseguimos uma FFS no Premium e mesmo assim o PA não exibe
Shareza é opensource, salvo engano. Dá para ver no código fonte <Mensagem editada>
Axiom 👊🏼
eu vi esse guia de artefatos do axiom... tô buscando uma confirmação, pra não ficar só no indicativo da ferramenta forense
beleza, valeu, pessoal 👍🏻
beleza, valeu, pessoal 👍🏻
FFS no Premium, método 4
Qual a sua versão do premium?
Tentou no xry? Via test point
Esse faz um tempo foi na 7.66.406
Não estou com tempo hoje, mas amanhã se der posso ver no código do shareza.
Vou fazer downgrade e tentar.