Translated ['src/generic-methodologies-and-resources/phishing-methodolog

This commit is contained in:
Translator 2025-07-24 14:14:03 +00:00
parent 0b50c6a7dc
commit 7b5c6d6534
3 changed files with 106 additions and 5 deletions

View File

@ -32,6 +32,7 @@
- [Clone a Website](generic-methodologies-and-resources/phishing-methodology/clone-a-website.md) - [Clone a Website](generic-methodologies-and-resources/phishing-methodology/clone-a-website.md)
- [Detecting Phishing](generic-methodologies-and-resources/phishing-methodology/detecting-phising.md) - [Detecting Phishing](generic-methodologies-and-resources/phishing-methodology/detecting-phising.md)
- [Discord Invite Hijacking](generic-methodologies-and-resources/phishing-methodology/discord-invite-hijacking.md) - [Discord Invite Hijacking](generic-methodologies-and-resources/phishing-methodology/discord-invite-hijacking.md)
- [Mobile Phishing Malicious Apps](generic-methodologies-and-resources/phishing-methodology/mobile-phishing-malicious-apps.md)
- [Phishing Files & Documents](generic-methodologies-and-resources/phishing-methodology/phishing-documents.md) - [Phishing Files & Documents](generic-methodologies-and-resources/phishing-methodology/phishing-documents.md)
- [Basic Forensic Methodology](generic-methodologies-and-resources/basic-forensic-methodology/README.md) - [Basic Forensic Methodology](generic-methodologies-and-resources/basic-forensic-methodology/README.md)
- [Baseline Monitoring](generic-methodologies-and-resources/basic-forensic-methodology/file-integrity-monitoring.md) - [Baseline Monitoring](generic-methodologies-and-resources/basic-forensic-methodology/file-integrity-monitoring.md)

View File

@ -67,8 +67,8 @@ Para garantir que o domínio expirado que você vai comprar **já tenha um bom S
## Descobrindo E-mails ## Descobrindo E-mails
- [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% grátis) - [https://github.com/laramies/theHarvester](https://github.com/laramies/theHarvester) (100% gratuito)
- [https://phonebook.cz/](https://phonebook.cz) (100% grátis) - [https://phonebook.cz/](https://phonebook.cz) (100% gratuito)
- [https://maildb.io/](https://maildb.io) - [https://maildb.io/](https://maildb.io)
- [https://hunter.io/](https://hunter.io) - [https://hunter.io/](https://hunter.io)
- [https://anymailfinder.com/](https://anymailfinder.com) - [https://anymailfinder.com/](https://anymailfinder.com)
@ -91,7 +91,7 @@ ssh -L 3333:127.0.0.1:3333 <user>@<ip>
**Configuração do certificado TLS** **Configuração do certificado TLS**
Antes desta etapa, você deve **já ter comprado o domínio** que vai usar e ele deve estar **apontando** para o **IP do VPS** onde você está configurando **gophish**. Antes desta etapa, você deve **já ter comprado o domínio** que você vai usar e ele deve estar **apontando** para o **IP do VPS** onde você está configurando **gophish**.
```bash ```bash
DOMAIN="<domain>" DOMAIN="<domain>"
wget https://dl.eff.org/certbot-auto wget https://dl.eff.org/certbot-auto
@ -289,7 +289,7 @@ Authentication-Results: mx.google.com;
spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.com; spf=pass (google.com: domain of contact@example.com designates --- as permitted sender) smtp.mail=contact@example.com;
dkim=pass header.i=@example.com; dkim=pass header.i=@example.com;
``` ```
### Removendo da Lista Negra do Spamhouse ### Removendo da Lista Negra do Spamhouse
A página [www.mail-tester.com](https://www.mail-tester.com) pode indicar se seu domínio está sendo bloqueado pelo spamhouse. Você pode solicitar a remoção do seu domínio/IP em: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/) A página [www.mail-tester.com](https://www.mail-tester.com) pode indicar se seu domínio está sendo bloqueado pelo spamhouse. Você pode solicitar a remoção do seu domínio/IP em: [https://www.spamhaus.org/lookup/](https://www.spamhaus.org/lookup/)
@ -414,7 +414,7 @@ O ataque anterior é bastante inteligente, pois você está falsificando um site
### Via VNC ### Via VNC
E se em vez de **enviar a vítima para uma página maliciosa** com a mesma aparência da original, você a enviar para uma **sessão VNC com um navegador conectado à página real**? Você poderá ver o que ele faz, roubar a senha, o MFA usado, os cookies...\ E se, em vez de **enviar a vítima para uma página maliciosa** com a mesma aparência da original, você a enviar para uma **sessão VNC com um navegador conectado à página real**? Você poderá ver o que ele faz, roubar a senha, o MFA usado, os cookies...\
Você pode fazer isso com [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC) Você pode fazer isso com [**EvilnVNC**](https://github.com/JoelGMSec/EvilnoVNC)
## Detectando a detecção ## Detectando a detecção
@ -442,6 +442,12 @@ Os atacantes podem copiar silenciosamente comandos maliciosos para a área de tr
clipboard-hijacking.md clipboard-hijacking.md
{{#endref}} {{#endref}}
## Phishing Móvel & Distribuição de Aplicativos Maliciosos (Android & iOS)
{{#ref}}
mobile-phishing-malicious-apps.md
{{#endref}}
## Referências ## Referências
- [https://zeltser.com/domain-name-variations-in-phishing/](https://zeltser.com/domain-name-variations-in-phishing/) - [https://zeltser.com/domain-name-variations-in-phishing/](https://zeltser.com/domain-name-variations-in-phishing/)

View File

@ -0,0 +1,94 @@
# Phishing Móvel & Distribuição de Aplicativos Maliciosos (Android & iOS)
{{#include ../../banners/hacktricks-training.md}}
> [!INFO]
> Esta página cobre técnicas usadas por atores de ameaça para distribuir **APKs maliciosos do Android** e **perfis de configuração móvel do iOS** através de phishing (SEO, engenharia social, lojas falsas, aplicativos de namoro, etc.).
> O material é adaptado da campanha SarangTrap exposta pela Zimperium zLabs (2025) e outras pesquisas públicas.
## Fluxo de Ataque
1. **Infraestrutura de SEO/Phishing**
* Registrar dezenas de domínios semelhantes (namoro, compartilhamento em nuvem, serviço de carro…).
Usar palavras-chave e emojis em língua local no elemento `<title>` para ranquear no Google.
Hospedar *tanto* as instruções de instalação do Android (`.apk`) quanto do iOS na mesma página de destino.
2. **Download da Primeira Etapa**
* Android: link direto para um APK *não assinado* ou “loja de terceiros”.
* iOS: `itms-services://` ou link HTTPS simples para um perfil **mobileconfig** malicioso (veja abaixo).
3. **Engenharia Social Pós-instalação**
* Na primeira execução, o aplicativo pede um **código de convite / verificação** (ilusão de acesso exclusivo).
* O código é **POSTado via HTTP** para o Comando e Controle (C2).
* O C2 responde `{"success":true}` ➜ o malware continua.
* Análise dinâmica de Sandbox / AV que nunca envia um código válido não vê **comportamento malicioso** (evasão).
4. **Abuso de Permissão em Tempo de Execução** (Android)
* Permissões perigosas são solicitadas **apenas após resposta positiva do C2**:
```xml
<uses-permission android:name="android.permission.READ_CONTACTS"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>
<!-- Compilações mais antigas também pediam permissões de SMS -->
```
* Variantes recentes **removem `<uses-permission>` para SMS do `AndroidManifest.xml`** mas mantêm o caminho de código Java/Kotlin que lê SMS através de reflexão ⇒ reduz a pontuação estática enquanto ainda é funcional em dispositivos que concedem a permissão via abuso de `AppOps` ou alvos antigos.
5. **Interface de Facade & Coleta em Segundo Plano**
* O aplicativo mostra visualizações inofensivas (visualizador de SMS, seletor de galeria) implementadas localmente.
* Enquanto isso, exfiltra:
- IMEI / IMSI, número de telefone
- Dump completo de `ContactsContract` (array JSON)
- JPEG/PNG de `/sdcard/DCIM` comprimido com [Luban](https://github.com/Curzibn/Luban) para reduzir o tamanho
- Conteúdo opcional de SMS (`content://sms`)
Os payloads são **compactados em lote** e enviados via `HTTP POST /upload.php`.
6. **Técnica de Entrega do iOS**
* Um único **perfil de configuração móvel** pode solicitar `PayloadType=com.apple.sharedlicenses`, `com.apple.managedConfiguration` etc. para inscrever o dispositivo em supervisão semelhante ao “MDM”.
* Instruções de engenharia social:
1. Abra Configurações ➜ *Perfil baixado*.
2. Toque em *Instalar* três vezes (capturas de tela na página de phishing).
3. Confie no perfil não assinado ➜ o atacante ganha direitos de *Contatos* & *Foto* sem revisão da App Store.
7. **Camada de Rede**
* HTTP simples, muitas vezes na porta 80 com cabeçalho HOST como `api.<phishingdomain>.com`.
* `User-Agent: Dalvik/2.1.0 (Linux; U; Android 13; Pixel 6 Build/TQ3A.230805.001)` (sem TLS → fácil de detectar).
## Testes Defensivos / Dicas de Red-Team
* **Bypass de Análise Dinâmica** Durante a avaliação de malware, automatize a fase do código de convite com Frida/Objection para alcançar o ramo malicioso.
* **Diferença entre Manifesto e Tempo de Execução** Compare `aapt dump permissions` com `PackageManager#getRequestedPermissions()` em tempo de execução; permissões perigosas ausentes são um sinal de alerta.
* **Canário de Rede** Configure `iptables -p tcp --dport 80 -j NFQUEUE` para detectar explosões de POST não sólidas após a entrada do código.
* **Inspeção de mobileconfig** Use `security cms -D -i profile.mobileconfig` no macOS para listar `PayloadContent` e identificar direitos excessivos.
## Ideias de Detecção para Blue-Team
* **Transparência de Certificado / Análise de DNS** para capturar explosões repentinas de domínios ricos em palavras-chave.
* **Regex de User-Agent & Caminho**: `(?i)POST\s+/(check|upload)\.php` de clientes Dalvik fora do Google Play.
* **Telemetria de Código de Convite** POST de códigos numéricos de 68 dígitos logo após a instalação do APK pode indicar preparação.
* **Assinatura de MobileConfig** Bloquear perfis de configuração não assinados via política MDM.
## Snippet Útil do Frida: Bypass Automático do Código de Convite
```python
# frida -U -f com.badapp.android -l bypass.js --no-pause
# Hook HttpURLConnection write to always return success
Java.perform(function() {
var URL = Java.use('java.net.URL');
URL.openConnection.implementation = function() {
var conn = this.openConnection();
var HttpURLConnection = Java.use('java.net.HttpURLConnection');
if (Java.cast(conn, HttpURLConnection)) {
conn.getResponseCode.implementation = function(){ return 200; };
conn.getInputStream.implementation = function(){
return Java.use('java.io.ByteArrayInputStream').$new("{\"success\":true}".getBytes());
};
}
return conn;
};
});
```
## Indicadores (Genéricos)
```
/req/checkCode.php # invite code validation
/upload.php # batched ZIP exfiltration
LubanCompress 1.1.8 # "Luban" string inside classes.dex
```
## Referências
- [The Dark Side of Romance: SarangTrap Extortion Campaign](https://zimperium.com/blog/the-dark-side-of-romance-sarangtrap-extortion-campaign)
- [Luban Android image compression library](https://github.com/Curzibn/Luban)
{{#include ../../banners/hacktricks-training.md}}