Bem-vindo à Parte 4 da Série sobre Malware Móvel. Nesta parte, abordaremos o que é malware iOS, seus tipos, métodos de coleta de informações forenses e também examinaremos alguns arquivos do sistema interessantes sob a perspectiva forense.
Em anos recentes, o iOS se tornou um alvo interessante para desenvolvedores de malware. iPhones geralmente têm muitas medidas de segurança incorporadas, e por isso são alvos interessantes para desenvolvedores de malware. Além disso, muitos indivíduos de alto valor estão usando iPhones, então faz sentido do ponto de vista dos desenvolvedores de malware direcioná-los. Assim como qualquer outro dispositivo, os iPhones não são isentos de falhas e já foi mostrado repetidamente que atores ameaçadores podem realmente comprometer o dispositivo e obter o que querem, seja para roubar informações do usuário, vigilância ou algo mais.
Alguns dos tipos de malware iOS incluem:
- Anúncios maliciosos - abusando do dispositivo para gerar receita com anúncios
- RAT (Trojan de Acesso Remoto) - permite que os atores ameaçadores controlem remotamente o dispositivo
- Programas espionagem - roubando informações dos usuários e este é o mais comum
Dump do sistema de arquivos
Como sempre na forensics, precisamos fazer um dump do sistema de arquivos ou criar uma imagem dele. Podemos fazer isso com dispositivos iOS também, mas o dispositivo precisa estar jailbroken, então em muitas situações isso não pode ser feito e precisamos obter informações usando outros métodos.
Backup do iTunes
Caso não possamos obter a imagem do dispositivo, devemos verificar os backups do dispositivo. Para isso, podemos usar ferramentas como idevicebackup2 para criar um backup. Quando criamos o backup com o idevicebackup2, temos a opção de criar um backup encriptado ou não encriptado. Os backups encriptados fornecem muito mais cobertura e artefatos úteis, então em situações forenses devemos usá-los.
Sysdiagnose
Os Sysdiagnose são utilitários em dispositivos macOS e iOS que podem ser usados para coletar informações de diagnóstico do sistema inteiro. Eles fornecem muitas informações úteis para investigadores forenses, como processos em execução, aplicativos instalados e assim por diante.
Informações úteis do sysdiagnose incluem:
- Processos
- Informações de rede
- Informações de contas
- Logs AirDrop
Para fazer o dump dos logs Sysdiagnose, em macOS podemos executar sysdiagnose como usuário root.
No iOS, para fazer o dump do sysdiagnose, pressionamos a combinação de teclas (pressionando juntas as teclas Volume Up e Down junto com a tecla Power) no iPhone e depois de alguns minutos podemos baixar o arquivo compactado nas Configurações -> Privacidade & Segurança -> Analytics & Melhorias -> Dados da Analytics.
Após extrair o arquivo compactado, podemos examinar os arquivos dentro e procurar por artefatos forenses.
Cada um desses três métodos tem suas próprias vantagens e desvantagens. Por exemplo, podemos usar dump do sistema de arquivos quando temos acesso a um dispositivo jailbroken, mas isso pode distorcer algumas evidências no processo. Os backups fornecem apenas uma parte dos arquivos do dispositivo que às vezes é suficiente para detectar alguns artefatos. Sysdiagnose é o mais fácil e rápido de obter, mas fornece menos arquivos do dispositivo em comparação com o backup ou dump do sistema de arquivos.
Indicadores de Comprometimento (IOCs)
Antes de prosseguirmos, precisamos definir algumas coisas. O primeiro é Indicador de Comprometimento. Indicadores de Comprometimento são dados que identificam especificamente uma peça específica de malware.
Eles podem ser:
- Rastros de arquivos
- Processos e URLs suspeitos
- Códigos hash binários
- Traffic de rede
- Perfis de provisionamento
- Certificações confiáveis
Os IOCs ajudam profissionais a detectar tentativas de intrusão ou outras atividades maliciosas. Eles também são úteis quando compartilhados com a comunidade para melhorar sua resposta a incidentes.
Para auxiliar e generalizar a ideia dos IOCs, foi criado o projeto STIX.
O Framework STIX e o TAXII
O Framework STIX
O Structured Threat Information Expression (STIX) é uma linguagem estruturada para descrever informações sobre ameaças cibernéticas de forma que possam ser compartilhadas, armazenadas e analisadas de maneira consistente. O framework STIX aumenta as capacidades das organizações para se defenderem contra ataques cibernéticos.
O framework STIX é baseado em indicadores e objetos como hash, endereços IP, malware etc.
Abaixo está um exemplo de um indicador de hash e seu objeto de malware:
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--71312c48-925d-44b7-b10e-c11086995358",
"created": "2017-02-06T09:13:07.243000Z",
"modified": "2017-02-06T09:13:07.243000Z",
"name": "CryptoLocker Hash",
"description": "Este arquivo faz parte do CryptoLocker",
"pattern": "[file:hashes.'SHA-256' = '46afeb295883a5efd6639d4197eb18bcba3bff49125b810ca4b9509b9ce4dfbf']",
"pattern_type": "stix",
"indicator_types": ["malicious-activity"],
"valid_from": "2017-01-01T09:00:00.000000Z"
}
{
"type": "malware",
"id": "malware--81be4588-96a8-4de2-9938-9e16130ce7e6",
"spec_version": "2.1",
"created": "2017-02-06T09:26:21.647000Z",
"modified": "2017-02-06T09:26:21.647000Z",
"name": "CryptoLocker",
"description": "O CryptoLocker é conhecido por manter arquivos em sequestro por resgate.",
"malware_types": ["ransomware"]
}
O indicador tem muitos campos, mas os mais interessantes são name, description, pattern e indicator_types. O nome e a descrição são autoexplicativos. O padrão indica o padrão para correspondência, como o hash no exemplo acima, enquanto os indicator_types descrevem este padrão de SHA256 do arquivo como atividade maliciosa.
O objeto malware contém informações sobre o arquivo que tem um SHA256 identificado como CryptoLocker, tais como nome, descrição e tipo de malware.
Abaixo está uma amostra da mvt-indicators repo para Operation Triangulation.
"objects": [
{
"type": "malware",
"spec_version": "2.1",
"id": "malware--01e5af02-75fd-44f4-890a-d3b6efee9c64",
"created": "2023-10-23T15:49:48.089255Z",
"modified": "2023-10-23T15:49:48.089255Z",
"name": "OperationTriangulation",
"description": "IOCs related to Operation Triangulation iOS spyware documented by Kaspersky Labs.",
"is_family": false
},
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--c5788b5b-128f-43f2-b5f5-02f8055d4700",
"created": "2023-10-23T15:49:48.089417Z",
"modified": "2023-10-23T15:49:48.089417Z",
"indicator_types": [
"malicious-activity"
],
"pattern": "[domain-name:value='senlin83.com']",
"pattern_type": "stix",
"pattern_version": "2.1",
"valid_from": "2023-10-23T15:49:48.089417Z"
},
{
"type": "relationship",
"spec_version": "2.1",
"id": "relationship--52da4e9a-3a22-4681-94db-e7ce3ec5b6d5",
"created": "2023-10-23T15:49:48.09267Z",
"modified": "2023-10-23T15:49:48.09267Z",
"relationship_type": "indicates",
"source_ref": "indicator--c5788b5b-128f-43f2-b5f5-02f8055d4700",
"target_ref": "malware--01e5af02-75fd-44f4-890a-d3b6efee9c64"
},
{
"type": "indicator",
"spec_version": "2.1",
"id": "indicator--90a3e899-c7b8-480f-842f-86baf929a3b8",
"created": "2023-10-23T15:49:48.093005Z",
"modified": "2023-10-23T15:49:48.093005Z",
"indicator_types": [
"malicious-activity"
],
"pattern": "[domain-name:value='backuprabbit.com']","pattern_type": "stix",
"pattern_version": "2.1",
"valid_from": "2023-10-23T15:49:48.093005Z"
O primeiro objeto é um malware que contém o nome e a descrição, marcando-o como malware OperationTriangulation. O segundo objeto é um indicator, marcado como malware-activities, com o padrão de domínio sendo senlin83.com. O terceiro objeto é um objeto relationship que liga esses dois (malware e indicador), significando que o indicador com o nome do domínio snlin83.com indica o malware OperationTriangulation. Em seguida, vemos outro indicador semelhante ao primeiro, contendo o nome do domínio backuprabbit.com. Finalmente, temos outra relação que combina o indicador anterior e o malware, indicando que o indicador com o nome de domínio backuprabbit.com indica o malware OperationTriangulation.
O STIX é um quadro extenso e leva algum tempo para se familiarizar com ele. O STIX foi projetado para ser compartilhado via TAXII.
TAXII
Trusted Automated Exchange of Intelligence Information (TAXII) é um protocolo de aplicativo para trocar CTI (Cyber Threat Intelligence) por HTTPS. É um protocolo que permite a troca de arquivos STIX entre organizações.
Ainda que o STIX e o TAXII sejam quadros independentes, quando usados juntos formam um quadro poderoso para compartilhar e usar inteligência de ameaças.

Os dois principais conceitos no TAXII são a coleção e o canal. Uma coleção é um conjunto de pacotes STIX organizados e gerenciados por uma única entidade, como uma empresa de segurança ou uma agência governamental. Um canal permite que organizações acessem uma determinada coleção, seja através de API, troca de arquivos ou plataforma de inteligência de ameaças. O canal permite ao usuário empurrar dados para múltiplos consumidores.

O uso do STIX e do TAXII pode melhorar a troca de inteligência sobre ameaças, pois fornece uma linguagem comum para as organizações compartilharem e trocarem informações sobre ameaças. Além disso, como os dados estão em um formato padrão, isso pode melhorar a detecção e resposta às ameaças. Usar STIX/TAXII também garante que os dados de inteligência sejam consistentes e precisos.
Repositórios de Indicadores de Compromisso
Uma boa prática é verificar indicadores de compromisso para malware. Isso pode ser uma lição valiosa, pois podemos ver quais são algumas das marcas deixadas pelo malware e o que devemos procurar.
Nós temos algumas opções de onde baixar e visualizar IOCs, como:
Analisando backup ou um dump do sistema de arquivos
Após obtermos uma imagem ou o backup, precisamos analisá-lo. Para analisar o backup, podemos usar ferramentas como mvt criada pelo Security Lab da Amnesty International ou analisar manualmente os arquivos usando as ferramentas fornecidas dentro do libimobiledevice.
O Mobile Verification Toolkit permite extrair artefatos de um dump do sistema de arquivos ou backup do iTunes, descriptografando o backup ou verificando Indicadores de Comprometimento (IOC).
O Mobile Verification Toolkit é uma coleção de utilitários projetados para identificar quaisquer sinais de comprometimento.
As principais características do mvt são:
- Descriptografar backups criptografados
- Processar e analisar registros de vários bancos de dados do sistema iOS e aplicativos, logs e análises do sistema
- Comparar os registros extraídos com indicadores maliciosos no formato STIX2
- Criar logs JSON dos registros extraídos e logs JSON de todas as trilhas maliciosas detectadas
- Criar uma linha do tempo unificada cronológica dos registros extraídos
Arquivos interessantes no iOS
Muitos arquivos existem no iOS que são úteis para a perícia forense. Alguns deles incluem:
databases em /private/var/Keychains/Analytics/ - dados sobre rede, pinagem de certificados, TLS, etc.
Calendar.sqlitedb pode conter endereços de e-mail interessantes
CallHistory.storedata contém informações sobre chamadas recebidas e efetuadas, incluindo aplicativos de mensagens como o WhatsApp
com.apple.identityservices.idstatuscache.plist - contém cache da autenticação do ID do usuário Apple que pode ser útil para obter informações quando apps como iMessage estabelecem contato pela primeira vez com outros IDs registrados na Apple
AddressBook.sqlitedb - contém informações sobre a agenda telefônica do telefone
Shortcuts.sqlite - contém registros sobre o aplicativo Shortcuts; pode ser útil porque o app pode ser abusado por spyware para obter persistência
com.apple.osanalytics.addaily.plist - contém histórico do uso de dados por processos, que é útil para obter trilhas de execuções maliciosas e intervalos relevantes
DataUsage.sqlite - contém informações sobre o uso da rede por processos. Este banco de dados não registra conexões WiFi
netusage.sqlite - como os dois casos anteriores, este também contém dados de uso de dados por processos
BrowserState.db - contém registros de abas abertas no Safari
/private/var/mobile/Library/Image Cache/Favicons/Favicons.db ou /private/var/mobile/Containers/Data/Application/*/Library/Image Cache/Favicons/Favicons.db - contém mapeamento entre URLs de favicons e as URLs que os carregaram
/private/var/mobile/Library/Safari/History.db ou /private/var/mobile/Containers/Data/Application/*/Library/Safari/History.db - contém histórico de URLs visitadas pelo Safari
sms.db - contém mensagens SMS
TCC.db - contém informações sobre TCC (quais apps têm quais serviços, como microfone, câmera, etc.)
História
Campanha Uyghur
Em 2019, o Google Project Zero revelou uma cadeia de exploits que levaram ao comprometimento de dispositivos iOS das versões 10 até a 12 e os pontos de entrada iniciais foram explorados em navegadores (Safari). Você pode ler a análise completa no post do Google Project Zero (googleprojectzero.blogspot.com)
Pegasus V2
No ano de 2021, o Citizen Lab revelou como a vulnerabilidade FORCEDENTRY (CVE-2021-30860) foi usada para explorar o dispositivo e entregar o Pegasus. O Pegasus é um spyware desenvolvido pela NSO Group. A FORCEDENTRY era uma exploração zero-click contra iMessage. A vulnerabilidade estava presente na análise de imagens GIF. Mais informações estão disponíveis no post do Citizen Lab (citizenlab.ca) e na análise do Google Project Zero (googleprojectzero.blogspot.com).
Hermit
No ano de 2022, o Google Project Zero escreveu sobre a vulnerabilidade CVE-2021-30983 que era uma aplicação falsa de provedor de serviços. Ela continha seis diferentes explorações de escalonamento de privilégios, cinco dessas eram explorações bem conhecidas para versões mais antigas do iOS, enquanto a sexta estava relacionada ao DCP (Display Co-Processor) que contém a maior parte dos controladores de exibição. Todos os iPhones acima do iPhone 12, incluindo ele, assim como todos os M1 estão usando DCP.
Reign
No ano de 2023, o Citizen Lab escreveu sobre a exploração ENDOFDAYS que foi usada para entregar o spyware conhecido como Reign da QuaDream. A QuaDream é uma empresa israelense semelhante à NSO Group no modo como opera. O ponto de entrada foi obtido abusando da análise XML dos dados dentro do banco de dados para o calendário iCloud. Mais informações sobre isso estão disponíveis citizenlab.ca
Pegasus V3
No ano de 2023, o Citizen Lab revelou mais uma instância do Pegasus que estava usando a exploração PWNYOURHOME. A exploração PWNYOURHOME era um exploit em duas etapas zero-click que alvo HomeKit na primeira etapa e iMessage na segunda. Esta exploração foi usada contra iOS 15 e 16. Além disso, eles identificaram a exploração FINDMYPWN que foi implantada contra o iOS 15 onde a primeira etapa alvo é a função Find My, enquanto a segunda alvo é iMessage como PWNYOURHOME. Mais informações sobre PWNYOURHOME e FINDMYPWN podem ser vistas no post do Citizen Lab (citizenlab.ca).
Operação Triangulação
No ano de 2023, a Kaspersky escreveu sobre a Operação Triangulação. Como algumas das explorações anteriores, esta estava explorando o iMessage. Ela também impede que as atualizações do iOS aconteçam.
Pegasus V4
No mês de setembro de 2023, o Citizen Lab escreveu um post sobre a exploração BLASTPASS que estava alvo da versão mais recente do iOS (16.6) sem nenhuma interação do usuário. A exploração abusava da análise de anexos dentro do PassKit. O BLASTPASS é descrito no post do Citizen Lab (citizenlab.ca).
Pontos de Ataque
Como podemos ver, os pontos de ataque diferem bastante. Podemos observar que as explorações conhecidas estavam principalmente alvo do iMessage e HomeKit. No entanto, outros métodos foram abusados como PassKit no BLASTPASS, a função Find My no Pegasus e explorações Safari na campanha Uygures.
Baixando amostras
Às vezes não é possível extrair ou podemos obter apenas uma quantidade mínima de artefatos devido à limpeza que o malware faz. Por exemplo, no caso do ENDOFDAYS, o malware deleta os eventos do calendário que era o ponto de entrada para o sistema. Podemos baixar amostras de malware para aprender e analisar o malware de lugares como Malware Bazaar e vx-underground.
Conclusão
Isso marca o fim do primeiro blog sobre a detecção de malware iOS. Aprendemos diferentes métodos de obtenção de artefatos forenses, tais como dump do sistema de arquivos, backup bem como sysdiagnose e suas vantagens e desvantagens. Além disso, discutimos brevemente os quadros STIX e TAXII e o que é seu poder. Cobrimos Indicadores de Compromisso e alguns lugares onde podemos encontrá-los junto com alguns arquivos úteis do iOS.
No próximo post de blog, analisaremos práticas a injeção de malware no dispositivo e sua análise.

