Translated ['src/generic-methodologies-and-resources/pentesting-wifi/ena

This commit is contained in:
Translator 2025-07-15 17:13:34 +00:00
parent c1caffb4b5
commit 3dfe2fcf43
7 changed files with 66 additions and 63 deletions

View File

@ -28,7 +28,7 @@ A mesma técnica se aplica a qualquer dispositivo que tenha um patch NexMon disp
--- ---
## Flashing o patch NexMon (Magisk) ## Flashing o patch NexMon (Magisk)
1. Baixe o ZIP para seu dispositivo/firmware exato (exemplo: `nexmon-s10.zip`). 1. Baixe o ZIP para o seu dispositivo/firmware exato (exemplo: `nexmon-s10.zip`).
2. Abra o Magisk -> Módulos -> Instalar do armazenamento -> selecione o ZIP e reinicie. 2. Abra o Magisk -> Módulos -> Instalar do armazenamento -> selecione o ZIP e reinicie.
O módulo copia `libnexmon.so` para `/data/adb/modules/<module>/lib*/` e garante que os rótulos SELinux estejam corretos. O módulo copia `libnexmon.so` para `/data/adb/modules/<module>/lib*/` e garante que os rótulos SELinux estejam corretos.
3. Verifique a instalação: 3. Verifique a instalação:

BIN
src/images/discount.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

View File

@ -12,8 +12,8 @@ android-applications-basics.md
## ADB (Android Debug Bridge) ## ADB (Android Debug Bridge)
Esta é a principal ferramenta que você precisa para se conectar a um dispositivo android (emulado ou físico).\ Esta é a principal ferramenta que você precisa para se conectar a um dispositivo Android (emulado ou físico).\
**ADB** permite controlar dispositivos tanto via **USB** quanto via **Rede** a partir de um computador. Esta utilidade possibilita a **cópia** de arquivos em ambas as direções, **instalação** e **desinstalação** de aplicativos, **execução** de comandos de shell, **backup** de dados, **leitura** de logs, entre outras funções. **ADB** permite controlar dispositivos tanto via **USB** quanto **Rede** a partir de um computador. Esta utilidade possibilita a **cópia** de arquivos em ambas as direções, **instalação** e **desinstalação** de aplicativos, **execução** de comandos de shell, **backup** de dados, **leitura** de logs, entre outras funções.
Dê uma olhada na seguinte lista de [**Comandos ADB**](adb-commands.md) para aprender como usar o adb. Dê uma olhada na seguinte lista de [**Comandos ADB**](adb-commands.md) para aprender como usar o adb.
@ -57,7 +57,7 @@ Apenas olhando para as **strings** do APK, você pode procurar por **senhas**, *
**Firebase** **Firebase**
Preste atenção especial às **URLs do firebase** e verifique se estão mal configuradas. [Mais informações sobre o que é o Firebase e como explorá-lo aqui.](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md) Preste atenção especial às **URLs do firebase** e verifique se está mal configurado. [Mais informações sobre o que é o Firebase e como explorá-lo aqui.](../../network-services-pentesting/pentesting-web/buckets/firebase-database.md)
### Compreensão básica da aplicação - Manifest.xml, strings.xml ### Compreensão básica da aplicação - Manifest.xml, strings.xml
@ -100,12 +100,12 @@ android-task-hijacking.md
**Armazenamento Interno** **Armazenamento Interno**
No Android, arquivos **armazenados** no **armazenamento interno** são **projetados** para serem **acessíveis** exclusivamente pela **aplicação** que **os criou**. Essa medida de segurança é **imposta** pelo sistema operacional Android e geralmente é adequada para as necessidades de segurança da maioria das aplicações. No entanto, os desenvolvedores às vezes utilizam modos como `MODE_WORLD_READABLE` e `MODE_WORLD_WRITABLE` para **permitir** que arquivos sejam **compartilhados** entre diferentes aplicações. No entanto, esses modos **não restringem o acesso** a esses arquivos por outras aplicações, incluindo aquelas potencialmente maliciosas. No Android, arquivos **armazenados** no **armazenamento interno** são **projetados** para serem **acessíveis** exclusivamente pelo **app** que os **criou**. Essa medida de segurança é **imposta** pelo sistema operacional Android e geralmente é adequada para as necessidades de segurança da maioria das aplicações. No entanto, os desenvolvedores às vezes utilizam modos como `MODE_WORLD_READABLE` e `MODE_WORLD_WRITABLE` para **permitir** que arquivos sejam **compartilhados** entre diferentes aplicações. No entanto, esses modos **não restringem o acesso** a esses arquivos por outras aplicações, incluindo aquelas potencialmente maliciosas.
1. **Análise Estática:** 1. **Análise Estática:**
- **Assegure-se** de que o uso de `MODE_WORLD_READABLE` e `MODE_WORLD_WRITABLE` seja **cuidadosamente analisado**. Esses modos **podem potencialmente expor** arquivos a **acessos não intencionais ou não autorizados**. - **Assegure-se** de que o uso de `MODE_WORLD_READABLE` e `MODE_WORLD_WRITABLE` seja **cuidadosamente analisado**. Esses modos **podem potencialmente expor** arquivos a **acessos não intencionais ou não autorizados**.
2. **Análise Dinâmica:** 2. **Análise Dinâmica:**
- **Verifique** as **permissões** definidas em arquivos criados pela aplicação. Especificamente, **verifique** se algum arquivo está **definido para ser legível ou gravável globalmente**. Isso pode representar um risco significativo à segurança, pois permitiria que **qualquer aplicação** instalada no dispositivo, independentemente de sua origem ou intenção, **lesse ou modificasse** esses arquivos. - **Verifique** as **permissões** definidas em arquivos criados pelo app. Especificamente, **verifique** se algum arquivo está **definido para ser legível ou gravável globalmente**. Isso pode representar um risco significativo à segurança, pois permitiria que **qualquer aplicação** instalada no dispositivo, independentemente de sua origem ou intenção, **lesse ou modificasse** esses arquivos.
**Armazenamento Externo** **Armazenamento Externo**
@ -150,7 +150,7 @@ Alguns desenvolvedores salvam dados sensíveis no armazenamento local e os cript
**Uso de Algoritmos Inseguros e/ou Obsoletos** **Uso de Algoritmos Inseguros e/ou Obsoletos**
Os desenvolvedores não devem usar **algoritmos obsoletos** para realizar **verificações de autorização**, **armazenar** ou **enviar** dados. Alguns desses algoritmos são: RC4, MD4, MD5, SHA1... Se **hashes** forem usados para armazenar senhas, por exemplo, hashes resistentes a força bruta **devem** ser usados com sal. Os desenvolvedores não devem usar **algoritmos obsoletos** para realizar **verificações de autorização**, **armazenar** ou **enviar** dados. Alguns desses algoritmos são: RC4, MD4, MD5, SHA1... Se **hashes** forem usados para armazenar senhas, por exemplo, devem ser usados hashes resistentes a força bruta com sal.
### Outras verificações ### Outras verificações
@ -178,9 +178,9 @@ Leia a página a seguir para aprender como acessar facilmente o código C# de ap
### Aplicações Superpacked ### Aplicações Superpacked
De acordo com este [**post de blog**](https://clearbluejar.github.io/posts/desuperpacking-meta-superpacked-apks-with-github-actions/), superpacked é um algoritmo Meta que comprime o conteúdo de uma aplicação em um único arquivo. O blog fala sobre a possibilidade de criar um aplicativo que descompacte esse tipo de aplicativo... e uma maneira mais rápida que envolve **executar a aplicação e coletar os arquivos descompactados do sistema de arquivos.** De acordo com este [**post de blog**](https://clearbluejar.github.io/posts/desuperpacking-meta-superpacked-apks-with-github-actions/), superpacked é um algoritmo Meta que comprime o conteúdo de uma aplicação em um único arquivo. O blog fala sobre a possibilidade de criar um aplicativo que descompacta esse tipo de aplicativo... e uma maneira mais rápida que envolve **executar a aplicação e coletar os arquivos descompactados do sistema de arquivos.**
### Análise de Código Estática Automatizada ### Análise Estática de Código Automatizada
A ferramenta [**mariana-trench**](https://github.com/facebook/mariana-trench) é capaz de encontrar **vulnerabilidades** ao **escanear** o **código** da aplicação. Esta ferramenta contém uma série de **fontes conhecidas** (que indicam ao ferramenta os **lugares** onde a **entrada** é **controlada pelo usuário**), **sinks** (que indicam ao ferramenta **lugares perigosos** onde a entrada maliciosa do usuário pode causar danos) e **regras**. Essas regras indicam a **combinação** de **fontes-sinks** que indica uma vulnerabilidade. A ferramenta [**mariana-trench**](https://github.com/facebook/mariana-trench) é capaz de encontrar **vulnerabilidades** ao **escanear** o **código** da aplicação. Esta ferramenta contém uma série de **fontes conhecidas** (que indicam ao ferramenta os **lugares** onde a **entrada** é **controlada pelo usuário**), **sinks** (que indicam ao ferramenta **lugares perigosos** onde a entrada maliciosa do usuário pode causar danos) e **regras**. Essas regras indicam a **combinação** de **fontes-sinks** que indica uma vulnerabilidade.
@ -238,7 +238,7 @@ Graças à conexão ADB, você pode usar **Drozer** e **Frida** dentro dos emula
avd-android-virtual-device.md avd-android-virtual-device.md
{{#endref}} {{#endref}}
- [**Genymotion**](https://www.genymotion.com/fun-zone/) **(Versão gratuita:** Edição Pessoal, você precisa criar uma conta. _É recomendável **baixar** a versão **COM**_ _**VirtualBox** para evitar erros potenciais._) - [**Genymotion**](https://www.genymotion.com/fun-zone/) **(Versão gratuita:** Edição Pessoal, você precisa criar uma conta. _É recomendado **baixar** a versão **COM**_ _**VirtualBox** para evitar erros potenciais._)
- [**Nox**](https://es.bignox.com) (Gratuito, mas não suporta Frida ou Drozer). - [**Nox**](https://es.bignox.com) (Gratuito, mas não suporta Frida ou Drozer).
> [!TIP] > [!TIP]
@ -267,10 +267,10 @@ Você precisa ativar as opções de **depuração** e será legal se você puder
**Registro** **Registro**
Os desenvolvedores devem ter cuidado ao expor **informações de depuração** publicamente, pois isso pode levar a vazamentos de dados sensíveis. As ferramentas [**pidcat**](https://github.com/JakeWharton/pidcat) e `adb logcat` são recomendadas para monitorar logs de aplicações para identificar e proteger informações sensíveis. **Pidcat** é favorecido por sua facilidade de uso e legibilidade. Os desenvolvedores devem ter cuidado ao expor **informações de depuração** publicamente, pois isso pode levar a vazamentos de dados sensíveis. As ferramentas [**pidcat**](https://github.com/JakeWharton/pidcat) e `adb logcat` são recomendadas para monitorar logs de aplicações para identificar e proteger informações sensíveis. **Pidcat** é preferido por sua facilidade de uso e legibilidade.
> [!WARNING] > [!WARNING]
> Note que a partir de **versões mais recentes que Android 4.0**, **as aplicações só podem acessar seus próprios logs**. Portanto, as aplicações não podem acessar os logs de outros aplicativos.\ > Note que a partir de **versões mais recentes que o Android 4.0**, **as aplicações só podem acessar seus próprios logs**. Portanto, as aplicações não podem acessar os logs de outros aplicativos.\
> De qualquer forma, ainda é recomendado **não registrar informações sensíveis**. > De qualquer forma, ainda é recomendado **não registrar informações sensíveis**.
**Cache de Buffer de Copiar/Colar** **Cache de Buffer de Copiar/Colar**
@ -292,7 +292,7 @@ As aplicações frequentemente integram serviços como Google Adsense, que podem
A maioria das aplicações usará **bancos de dados SQLite internos** para salvar informações. Durante o pentest, dê uma **olhada** nos **bancos de dados** criados, os nomes das **tabelas** e **colunas** e todos os **dados** salvos, pois você pode encontrar **informações sensíveis** (o que seria uma vulnerabilidade).\ A maioria das aplicações usará **bancos de dados SQLite internos** para salvar informações. Durante o pentest, dê uma **olhada** nos **bancos de dados** criados, os nomes das **tabelas** e **colunas** e todos os **dados** salvos, pois você pode encontrar **informações sensíveis** (o que seria uma vulnerabilidade).\
Os bancos de dados devem estar localizados em `/data/data/the.package.name/databases` como `/data/data/com.mwr.example.sieve/databases`. Os bancos de dados devem estar localizados em `/data/data/the.package.name/databases` como `/data/data/com.mwr.example.sieve/databases`.
Se o banco de dados estiver salvando informações confidenciais e estiver **criptografado**, mas você pode **encontrar** a **senha** dentro da aplicação, ainda é uma **vulnerabilidade**. Se o banco de dados estiver salvando informações confidenciais e estiver **criptografado**, mas você conseguir **encontrar** a **senha** dentro da aplicação, ainda é uma **vulnerabilidade**.
Enumere as tabelas usando `.tables` e enumere as colunas das tabelas fazendo `.schema <table_name>`. Enumere as tabelas usando `.tables` e enumere as colunas das tabelas fazendo `.schema <table_name>`.
@ -308,7 +308,7 @@ Além disso, lembre-se de que o código de uma atividade começa no método **`o
**Bypass de Autorização** **Bypass de Autorização**
Quando uma Atividade é exportada, você pode invocar sua tela de um aplicativo externo. Portanto, se uma atividade com **informações sensíveis** for **exportada**, você poderia **burlar** os mecanismos de **autenticação** **para acessá-la.** Quando uma Atividade é exportada, você pode invocar sua tela de um aplicativo externo. Portanto, se uma atividade com **informações sensíveis** for **exportada**, você poderá **burlar** os mecanismos de **autenticação** **para acessá-la.**
[**Aprenda como explorar atividades exportadas com Drozer.**](drozer-tutorial/index.html#activities) [**Aprenda como explorar atividades exportadas com Drozer.**](drozer-tutorial/index.html#activities)
@ -347,13 +347,13 @@ Lembre-se de que as ações de um Serviço começam no método `onStartCommand`.
Um serviço é basicamente algo que **pode receber dados**, **processá-los** e **retornar** (ou não) uma resposta. Então, se um aplicativo estiver exportando alguns serviços, você deve **verificar** o **código** para entender o que ele está fazendo e **testá-lo** **dinamicamente** para extrair informações confidenciais, contornar medidas de autenticação...\ Um serviço é basicamente algo que **pode receber dados**, **processá-los** e **retornar** (ou não) uma resposta. Então, se um aplicativo estiver exportando alguns serviços, você deve **verificar** o **código** para entender o que ele está fazendo e **testá-lo** **dinamicamente** para extrair informações confidenciais, contornar medidas de autenticação...\
[**Aprenda como explorar Serviços com Drozer.**](drozer-tutorial/index.html#services) [**Aprenda como explorar Serviços com Drozer.**](drozer-tutorial/index.html#services)
### **Explorando Receptores de Broadcast** ### **Explorando Broadcast Receivers**
[**Leia isso se você quiser relembrar o que é um Receptor de Broadcast.**](android-applications-basics.md#broadcast-receivers)\ [**Leia isso se você quiser relembrar o que é um Broadcast Receiver.**](android-applications-basics.md#broadcast-receivers)\
Lembre-se de que as ações de um Receptor de Broadcast começam no método `onReceive`. Lembre-se de que as ações de um Broadcast Receiver começam no método `onReceive`.
Um receptor de broadcast estará esperando por um tipo de mensagem. Dependendo de como o receptor lida com a mensagem, ele pode ser vulnerável.\ Um broadcast receiver estará esperando por um tipo de mensagem. Dependendo de como o receiver lida com a mensagem, ele pode ser vulnerável.\
[**Aprenda como explorar Receptores de Broadcast com Drozer.**](#exploiting-broadcast-receivers) [**Aprenda como explorar Broadcast Receivers com Drozer.**](#exploiting-broadcast-receivers)
### **Explorando Schemes / Deep links** ### **Explorando Schemes / Deep links**
@ -392,7 +392,7 @@ Um [relatório de bug bounty interessante](https://hackerone.com/reports/855618)
- **Os certificados nem sempre são inspecionados corretamente** por aplicativos Android. É comum que esses aplicativos ignorem avisos e aceitem certificados autoassinados ou, em alguns casos, voltem a usar conexões HTTP. - **Os certificados nem sempre são inspecionados corretamente** por aplicativos Android. É comum que esses aplicativos ignorem avisos e aceitem certificados autoassinados ou, em alguns casos, voltem a usar conexões HTTP.
- **As negociações durante o handshake SSL/TLS às vezes são fracas**, empregando suítes de cifra inseguras. Essa vulnerabilidade torna a conexão suscetível a ataques man-in-the-middle (MITM), permitindo que atacantes decriptografem os dados. - **As negociações durante o handshake SSL/TLS às vezes são fracas**, empregando suítes de cifra inseguras. Essa vulnerabilidade torna a conexão suscetível a ataques man-in-the-middle (MITM), permitindo que atacantes decriptografem os dados.
- **Vazamento de informações privadas** é um risco quando aplicativos se autenticam usando canais seguros, mas depois se comunicam por canais não seguros para outras transações. Essa abordagem falha em proteger dados sensíveis, como cookies de sessão ou detalhes do usuário, de interceptação por entidades maliciosas. - **O vazamento de informações privadas** é um risco quando aplicativos se autenticam usando canais seguros, mas depois se comunicam por canais não seguros para outras transações. Essa abordagem falha em proteger dados sensíveis, como cookies de sessão ou detalhes do usuário, de interceptação por entidades maliciosas.
#### Verificação de Certificado #### Verificação de Certificado
@ -414,7 +414,7 @@ Se **Flutter** estiver sendo usado, você precisa seguir as instruções nesta [
Quando o SSL Pinning é implementado, contorná-lo se torna necessário para inspecionar o tráfego HTTPS. Vários métodos estão disponíveis para esse propósito: Quando o SSL Pinning é implementado, contorná-lo se torna necessário para inspecionar o tráfego HTTPS. Vários métodos estão disponíveis para esse propósito:
- Modificar automaticamente o **apk** para **contornar** o SSL Pinning com [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). A melhor vantagem dessa opção é que você não precisará de root para contornar o SSL Pinning, mas precisará excluir o aplicativo e reinstalar o novo, e isso nem sempre funcionará. - Modifique automaticamente o **apk** para **contornar** o SSL Pinning com [**apk-mitm**](https://github.com/shroudedcode/apk-mitm). O melhor pró dessa opção é que você não precisará de root para contornar o SSL Pinning, mas precisará excluir o aplicativo e reinstalar o novo, e isso nem sempre funcionará.
- Você pode usar **Frida** (discutido abaixo) para contornar essa proteção. Aqui está um guia para usar Burp+Frida+Genymotion: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/) - Você pode usar **Frida** (discutido abaixo) para contornar essa proteção. Aqui está um guia para usar Burp+Frida+Genymotion: [https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/](https://spenkk.github.io/bugbounty/Configuring-Frida-with-Burp-and-GenyMotion-to-bypass-SSL-Pinning/)
- Você também pode tentar **contornar automaticamente o SSL Pinning** usando [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"` - Você também pode tentar **contornar automaticamente o SSL Pinning** usando [**objection**](frida-tutorial/objection-tutorial.md)**:** `objection --gadget com.package.app explore --startup-command "android sslpinning disable"`
- Você também pode tentar **contornar automaticamente o SSL Pinning** usando **análise dinâmica do MobSF** (explicado abaixo) - Você também pode tentar **contornar automaticamente o SSL Pinning** usando **análise dinâmica do MobSF** (explicado abaixo)
@ -422,7 +422,7 @@ Quando o SSL Pinning é implementado, contorná-lo se torna necessário para ins
#### Procurando Vulnerabilidades Comuns na Web #### Procurando Vulnerabilidades Comuns na Web
É importante também procurar por vulnerabilidades comuns na web dentro da aplicação. Informações detalhadas sobre como identificar e mitigar essas vulnerabilidades estão além do escopo deste resumo, mas são amplamente cobertas em outros lugares. É importante também procurar vulnerabilidades comuns na web dentro da aplicação. Informações detalhadas sobre como identificar e mitigar essas vulnerabilidades estão além do escopo deste resumo, mas são amplamente cobertas em outros lugares.
### Frida ### Frida
@ -431,7 +431,7 @@ Quando o SSL Pinning é implementado, contorná-lo se torna necessário para ins
Se você quiser fazer pentesting em aplicativos Android, precisa saber como usar o Frida. Se você quiser fazer pentesting em aplicativos Android, precisa saber como usar o Frida.
- Aprenda a usar o Frida: [**Tutorial Frida**](frida-tutorial/index.html) - Aprenda a usar o Frida: [**Tutorial Frida**](frida-tutorial/index.html)
- Algumas "GUI" para ações com Frida: [**https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security**](https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security) - Alguma "GUI" para ações com Frida: [**https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security**](https://github.com/m0bilesecurity/RMS-Runtime-Mobile-Security)
- Ojection é ótimo para automatizar o uso do Frida: [**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **,** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon) - Ojection é ótimo para automatizar o uso do Frida: [**https://github.com/sensepost/objection**](https://github.com/sensepost/objection) **,** [**https://github.com/dpnishant/appmon**](https://github.com/dpnishant/appmon)
- Você pode encontrar alguns scripts Frida incríveis aqui: [**https://codeshare.frida.re/**](https://codeshare.frida.re) - Você pode encontrar alguns scripts Frida incríveis aqui: [**https://codeshare.frida.re/**](https://codeshare.frida.re)
- Tente contornar mecanismos de anti-debugging / anti-frida carregando o Frida como indicado em [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace) (ferramenta [linjector](https://github.com/erfur/linjector-rs)) - Tente contornar mecanismos de anti-debugging / anti-frida carregando o Frida como indicado em [https://erfur.github.io/blog/dev/code-injection-without-ptrace](https://erfur.github.io/blog/dev/code-injection-without-ptrace) (ferramenta [linjector](https://github.com/erfur/linjector-rs))
@ -465,7 +465,7 @@ frida -U -f com.example.app -l frida-scripts/tracer-cipher.js
``` ```
### **Bypass de Impressão Digital/Biometria** ### **Bypass de Impressão Digital/Biometria**
Usando o seguinte script Frida, pode ser possível **burlar a autenticação por impressão digital** que aplicativos Android podem estar realizando para **proteger certas áreas sensíveis:** Usando o seguinte script Frida, pode ser possível **bypassar a autenticação por impressão digital** que aplicativos Android podem estar realizando para **proteger certas áreas sensíveis:**
```bash ```bash
frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app.package> frida --codeshare krapgras/android-biometric-bypass-update-android-11 -U -f <app.package>
``` ```
@ -518,7 +518,7 @@ Provavelmente você conhece esse tipo de vulnerabilidades da Web. Você deve ter
![](<../../images/image (866).png>) ![](<../../images/image (866).png>)
**Avaliação de vulnerabilidade da aplicação** usando uma interface web agradável. Você também pode realizar análise dinâmica (mas precisa preparar o ambiente). **Avaliação de vulnerabilidades da aplicação** usando uma interface web agradável. Você também pode realizar análise dinâmica (mas precisa preparar o ambiente).
```bash ```bash
docker pull opensecurity/mobile-security-framework-mobsf docker pull opensecurity/mobile-security-framework-mobsf
docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest docker run -it -p 8000:8000 opensecurity/mobile-security-framework-mobsf:latest
@ -541,7 +541,7 @@ A partir das versões **Android > 5**, ele **iniciará automaticamente o Frida**
**Frida** **Frida**
Por padrão, ele também usará alguns Scripts Frida para **bypassar SSL pinning**, **detecção de root** e **detecção de depurador** e para **monitorar APIs interessantes**.\ Por padrão, ele também usará alguns Scripts Frida para **bypass SSL pinning**, **detecção de root** e **detecção de depurador** e para **monitorar APIs interessantes**.\
O MobSF também pode **invocar atividades exportadas**, capturar **capturas de tela** delas e **salvá-las** para o relatório. O MobSF também pode **invocar atividades exportadas**, capturar **capturas de tela** delas e **salvá-las** para o relatório.
Para **iniciar** o teste dinâmico, pressione o botão verde: "**Start Instrumentation**". Pressione "**Frida Live Logs**" para ver os logs gerados pelos scripts Frida e "**Live API Monitor**" para ver todas as invocações para métodos hookados, argumentos passados e valores retornados (isso aparecerá após pressionar "Start Instrumentation").\ Para **iniciar** o teste dinâmico, pressione o botão verde: "**Start Instrumentation**". Pressione "**Frida Live Logs**" para ver os logs gerados pelos scripts Frida e "**Live API Monitor**" para ver todas as invocações para métodos hookados, argumentos passados e valores retornados (isso aparecerá após pressionar "Start Instrumentation").\
@ -562,7 +562,7 @@ Uma vez que você tenha selecionado o módulo auxiliar que deseja usar, você pr
**Shell** **Shell**
O MobSF também traz um shell com alguns comandos **adb**, comandos **MobSF**, e comandos comuns de **shell** na parte inferior da página de análise dinâmica. Alguns comandos interessantes: O MobSF também oferece um shell com alguns comandos **adb**, comandos **MobSF** e comandos comuns de **shell** na parte inferior da página de análise dinâmica. Alguns comandos interessantes:
```bash ```bash
help help
shell ls shell ls
@ -576,9 +576,9 @@ receivers
Quando o tráfego http é capturado, você pode ver uma visão feia do tráfego capturado no "**Tráfego HTTP(S)**" na parte inferior ou uma visão mais agradável no botão verde "**Iniciar HTTPTools**". A partir da segunda opção, você pode **enviar** as **requisições capturadas** para **proxies** como Burp ou Owasp ZAP.\ Quando o tráfego http é capturado, você pode ver uma visão feia do tráfego capturado no "**Tráfego HTTP(S)**" na parte inferior ou uma visão mais agradável no botão verde "**Iniciar HTTPTools**". A partir da segunda opção, você pode **enviar** as **requisições capturadas** para **proxies** como Burp ou Owasp ZAP.\
Para fazer isso, _ligue o Burp -->_ _desative o Intercept --> no MobSB HTTPTools selecione a requisição_ --> pressione "**Enviar para Fuzzer**" --> _selecione o endereço do proxy_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080)). Para fazer isso, _ligue o Burp -->_ _desative o Intercept --> no MobSB HTTPTools selecione a requisição_ --> pressione "**Enviar para Fuzzer**" --> _selecione o endereço do proxy_ ([http://127.0.0.1:8080\\](http://127.0.0.1:8080)).
Uma vez que você termine a análise dinâmica com MobSF, você pode pressionar em "**Iniciar Web API Fuzzer**" para **fuzz http requests** e procurar por vulnerabilidades. Uma vez que você termine a análise dinâmica com MobSF, você pode pressionar "**Iniciar Web API Fuzzer**" para **fuzz http requests** e procurar vulnerabilidades.
> [!DICA] > [!TIP]
> Após realizar uma análise dinâmica com MobSF, as configurações do proxy podem estar mal configuradas e você não conseguirá corrigi-las pela GUI. Você pode corrigir as configurações do proxy fazendo: > Após realizar uma análise dinâmica com MobSF, as configurações do proxy podem estar mal configuradas e você não conseguirá corrigi-las pela GUI. Você pode corrigir as configurações do proxy fazendo:
> >
> ``` > ```
@ -587,8 +587,8 @@ Uma vez que você termine a análise dinâmica com MobSF, você pode pressionar
### Análise Dinâmica Assistida com Inspeckage ### Análise Dinâmica Assistida com Inspeckage
Você pode obter a ferramenta em [**Inspeckage**](https://github.com/ac-pm/Inspeckage).\ Você pode obter a ferramenta de [**Inspeckage**](https://github.com/ac-pm/Inspeckage).\
Esta ferramenta usará alguns **Hooks** para te informar **o que está acontecendo na aplicação** enquanto você realiza uma **análise dinâmica**. Esta ferramenta usará alguns **Hooks** para informá-lo **sobre o que está acontecendo na aplicação** enquanto você realiza uma **análise dinâmica**.
### [Yaazhini](https://www.vegabird.com/yaazhini/) ### [Yaazhini](https://www.vegabird.com/yaazhini/)
@ -598,7 +598,7 @@ Esta é uma **ótima ferramenta para realizar análise estática com uma GUI**
### [Qark](https://github.com/linkedin/qark) ### [Qark](https://github.com/linkedin/qark)
Esta ferramenta é projetada para procurar várias **vulnerabilidades relacionadas à segurança em aplicações Android**, seja no **código fonte** ou em **APKs empacotados**. A ferramenta também é **capaz de criar um APK "Proof-of-Concept" implantável** e **comandos ADB**, para explorar algumas das vulnerabilidades encontradas (Atividades expostas, intents, tapjacking...). Assim como com o Drozer, não há necessidade de rootear o dispositivo de teste. Esta ferramenta é projetada para procurar várias **vulnerabilidades relacionadas à segurança em aplicações Android**, seja no **código fonte** ou em **APKs empacotados**. A ferramenta também é **capaz de criar um "Proof-of-Concept" APK implantável** e **comandos ADB**, para explorar algumas das vulnerabilidades encontradas (Atividades expostas, intents, tapjacking...). Assim como com o Drozer, não há necessidade de rootear o dispositivo de teste.
```bash ```bash
pip3 install --user qark # --user is only needed if not using a virtualenv pip3 install --user qark # --user is only needed if not using a virtualenv
qark --apk path/to/my.apk qark --apk path/to/my.apk
@ -632,7 +632,7 @@ super-analyzer {apk_file}
StaCoAn é uma ferramenta **multiplataforma** que ajuda desenvolvedores, caçadores de bugs e hackers éticos a realizar [análise de código estático](https://en.wikipedia.org/wiki/Static_program_analysis) em aplicativos móveis. StaCoAn é uma ferramenta **multiplataforma** que ajuda desenvolvedores, caçadores de bugs e hackers éticos a realizar [análise de código estático](https://en.wikipedia.org/wiki/Static_program_analysis) em aplicativos móveis.
O conceito é que você arrasta e solta seu arquivo de aplicativo móvel (um arquivo .apk ou .ipa) na aplicação StaCoAn e ela gerará um relatório visual e portátil para você. Você pode ajustar as configurações e listas de palavras para obter uma experiência personalizada. O conceito é que você arraste e solte seu arquivo de aplicativo móvel (um arquivo .apk ou .ipa) na aplicação StaCoAn e ela gerará um relatório visual e portátil para você. Você pode ajustar as configurações e listas de palavras para obter uma experiência personalizada.
Baixe a [última versão](https://github.com/vincentcox/StaCoAn/releases): Baixe a [última versão](https://github.com/vincentcox/StaCoAn/releases):
``` ```
@ -640,7 +640,7 @@ Baixe a [última versão](https://github.com/vincentcox/StaCoAn/releases):
``` ```
### [AndroBugs](https://github.com/AndroBugs/AndroBugs_Framework) ### [AndroBugs](https://github.com/AndroBugs/AndroBugs_Framework)
O AndroBugs Framework é um sistema de análise de vulnerabilidades do Android que ajuda desenvolvedores ou hackers a encontrar potenciais vulnerabilidades de segurança em aplicativos Android.\ AndroBugs Framework é um sistema de análise de vulnerabilidades do Android que ajuda desenvolvedores ou hackers a encontrar potenciais vulnerabilidades de segurança em aplicativos Android.\
[Windows releases](https://github.com/AndroBugs/AndroBugs_Framework/releases) [Windows releases](https://github.com/AndroBugs/AndroBugs_Framework/releases)
``` ```
python androbugs.py -f [APK file] python androbugs.py -f [APK file]
@ -662,7 +662,7 @@ python androwarn.py -i my_application_to_be_analyzed.apk -r html -v 3
**MARA** é um **M**obile **A**pplication **R**everse engineering e **A**nalysis Framework. É uma ferramenta que reúne ferramentas comumente usadas para engenharia reversa e análise de aplicativos móveis, para auxiliar na testagem de aplicativos móveis contra as ameaças de segurança móvel da OWASP. Seu objetivo é tornar essa tarefa mais fácil e amigável para desenvolvedores de aplicativos móveis e profissionais de segurança. **MARA** é um **M**obile **A**pplication **R**everse engineering e **A**nalysis Framework. É uma ferramenta que reúne ferramentas comumente usadas para engenharia reversa e análise de aplicativos móveis, para auxiliar na testagem de aplicativos móveis contra as ameaças de segurança móvel da OWASP. Seu objetivo é tornar essa tarefa mais fácil e amigável para desenvolvedores de aplicativos móveis e profissionais de segurança.
É capaz de: Ele é capaz de:
- Extrair código Java e Smali usando diferentes ferramentas - Extrair código Java e Smali usando diferentes ferramentas
- Analisar APKs usando: [smalisca](https://github.com/dorneanu/smalisca), [ClassyShark](https://github.com/google/android-classyshark), [androbugs](https://github.com/AndroBugs/AndroBugs_Framework), [androwarn](https://github.com/maaaaz/androwarn), [APKiD](https://github.com/rednaga/APKiD) - Analisar APKs usando: [smalisca](https://github.com/dorneanu/smalisca), [ClassyShark](https://github.com/google/android-classyshark), [androbugs](https://github.com/AndroBugs/AndroBugs_Framework), [androwarn](https://github.com/maaaaz/androwarn), [APKiD](https://github.com/rednaga/APKiD)
@ -683,7 +683,7 @@ Observe que dependendo do serviço e configuração que você usa para ofuscar o
Do [Wikipedia](<https://en.wikipedia.org/wiki/ProGuard_(software)>): **ProGuard** é uma ferramenta de linha de comando de código aberto que reduz, otimiza e ofusca código Java. É capaz de otimizar bytecode, bem como detectar e remover instruções não utilizadas. ProGuard é software livre e é distribuído sob a Licença Pública Geral GNU, versão 2. Do [Wikipedia](<https://en.wikipedia.org/wiki/ProGuard_(software)>): **ProGuard** é uma ferramenta de linha de comando de código aberto que reduz, otimiza e ofusca código Java. É capaz de otimizar bytecode, bem como detectar e remover instruções não utilizadas. ProGuard é software livre e é distribuído sob a Licença Pública Geral GNU, versão 2.
ProGuard é distribuído como parte do SDK do Android e é executado ao construir a aplicação em modo de lançamento. ProGuard é distribuído como parte do SDK do Android e é executado ao construir o aplicativo em modo de lançamento.
### [DexGuard](https://www.guardsquare.com/dexguard) ### [DexGuard](https://www.guardsquare.com/dexguard)
@ -703,13 +703,13 @@ Encontre um guia passo a passo para deobfuscar o apk em [https://blog.lexfo.fr/d
Você pode enviar um APK ofuscado para a plataforma deles. Você pode enviar um APK ofuscado para a plataforma deles.
### [Deobfuscate android App]https://github.com/In3tinct/deobfuscate-android-app ### [Deobfuscate android App](https://github.com/In3tinct/deobfuscate-android-app)
Esta é uma ferramenta LLM para encontrar quaisquer vulnerabilidades de segurança potenciais em aplicativos android e deobfuscar o código do aplicativo android. Usa a API pública Gemini do Google. Esta é uma ferramenta LLM para encontrar quaisquer vulnerabilidades de segurança potenciais em aplicativos android e deobfuscar o código do aplicativo android. Usa a API pública Gemini do Google.
### [Simplify](https://github.com/CalebFenton/simplify) ### [Simplify](https://github.com/CalebFenton/simplify)
É um **deobfuscador android genérico.** Simplify **executa virtualmente um aplicativo** para entender seu comportamento e então **tenta otimizar o código** para que se comporte de forma idêntica, mas seja mais fácil para um humano entender. Cada tipo de otimização é simples e genérico, então não importa qual o tipo específico de ofuscação utilizado. É um **deobfuscador android genérico.** Simplify **executa virtualmente um aplicativo** para entender seu comportamento e então **tenta otimizar o código** para que se comporte de forma idêntica, mas seja mais fácil para um humano entender. Cada tipo de otimização é simples e genérico, então não importa qual o tipo específico de ofuscação utilizada.
### [APKiD](https://github.com/rednaga/APKiD) ### [APKiD](https://github.com/rednaga/APKiD)
@ -717,7 +717,7 @@ APKiD fornece informações sobre **como um APK foi feito**. Ele identifica muit
### Manual ### Manual
[Leia este tutorial para aprender alguns truques sobre **como reverter ofuscação personalizada**](manual-deobfuscation.md) [Leia este tutorial para aprender algumas dicas sobre **como reverter ofuscação personalizada**](manual-deobfuscation.md)
## Labs ## Labs

View File

@ -43,7 +43,7 @@ Um início bem-sucedido retorna `Running services (1)` junto com o PID do proces
--- ---
## 2. Vinculação de um aplicativo ## 2. Vinculação de um aplicativo
Aplicativos de terceiros precisam apenas do seguinte dentro de seu `AndroidManifest.xml`: Aplicativos de terceiros precisam do seguinte dentro de seu `AndroidManifest.xml`:
```xml ```xml
<uses-permission android:name="moe.shizuku.manager.permission.API"/> <uses-permission android:name="moe.shizuku.manager.permission.API"/>
``` ```
@ -52,7 +52,7 @@ Em tempo de execução, eles obtêm o binder:
IBinder binder = ShizukuProvider.getBinder(); IBinder binder = ShizukuProvider.getBinder();
IPackageManager pm = IPackageManager.Stub.asInterface(binder); IPackageManager pm = IPackageManager.Stub.asInterface(binder);
``` ```
A partir deste momento, o aplicativo pode invocar qualquer método que o **`shell` user** possa chamar por exemplo: A partir deste momento, o aplicativo pode invocar qualquer método que o **`shell` user** possa chamar por exemplo :
```java ```java
pm.installPackage(new Uri("file:///sdcard/app.apk"), null, 0, null); pm.installPackage(new Uri("file:///sdcard/app.apk"), null, 0, null);
Settings.Global.putInt(resolver, Settings.Global.ADB_ENABLED, 1); Settings.Global.putInt(resolver, Settings.Global.ADB_ENABLED, 1);
@ -98,14 +98,17 @@ pm uninstall --user 0 com.miui.weather2
--- ---
## 4. Considerações de segurança / detecção ## 4. Considerações de segurança / detecção
1. Shizuku precisa de privilégios de **depuração ADB**, portanto, _Opções do desenvolvedor → Depuração USB/Sem fio_ deve estar **ativado**. Organizações podem bloquear isso através de um MDM ou via `settings put global development_settings_enabled 0`. 1. Shizuku precisa de privilégios de **depuração ADB**, portanto, _Opções do desenvolvedor → Depuração USB/sem fio_ deve estar **ativada**.
2. O serviço se registra sob o nome `moe.shizuku.privileged.api`. Um simples `adb shell service list | grep shizuku` (ou regra de segurança de endpoint) detecta sua presença. Organizações podem bloquear isso através de um MDM ou via `settings put global development_settings_enabled 0`.
3. As capacidades são limitadas ao que o usuário `shell` já pode fazer **não é root**. APIs sensíveis que requerem o usuário `system` ou `root` ainda são inacessíveis. 2. O serviço se registra sob o nome `moe.shizuku.privileged.api`.
Um simples `adb shell service list | grep shizuku` (ou regra de segurança de endpoint) detecta sua presença.
3. As capacidades são limitadas ao que o usuário `shell` já pode fazer **não é root**.
APIs sensíveis que requerem o usuário `system` ou `root` ainda são inacessíveis.
4. Sessões **não sobrevivem a uma reinicialização** a menos que o dispositivo esteja rooteado e Shizuku esteja configurado como um daemon de inicialização. 4. Sessões **não sobrevivem a uma reinicialização** a menos que o dispositivo esteja rooteado e Shizuku esteja configurado como um daemon de inicialização.
--- ---
## 5. Mitigação ## 5. Mitigação
* Desativar a depuração USB/Sem fio em dispositivos de produção. * Desativar a depuração USB/sem fio em dispositivos de produção.
* Monitorar serviços Binder que expõem `moe.shizuku.privileged.api`. * Monitorar serviços Binder que expõem `moe.shizuku.privileged.api`.
* Usar políticas SELinux (Android enterprise) para bloquear a interface AIDL de aplicativos não gerenciados. * Usar políticas SELinux (Android enterprise) para bloquear a interface AIDL de aplicativos não gerenciados.

View File

@ -18,7 +18,7 @@ Com um dispositivo antigo com jailbreak, é possível instalar o IPA, **descript
2. Instale e inicie o [Apple Configurator](https://apps.apple.com/au/app/apple-configurator/id1037126344?mt=12) no seu macos 2. Instale e inicie o [Apple Configurator](https://apps.apple.com/au/app/apple-configurator/id1037126344?mt=12) no seu macos
3. Abra o `Terminal` no seu Mac e cd para `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`. O IPA aparecerá nesta pasta mais tarde. 3. Abra o `Terminal` no seu Mac e cd para `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`. O IPA aparecerá nesta pasta mais tarde.
4. Você deve ver seu dispositivo iOS. Clique duas vezes nele e, em seguida, clique em Adicionar + → Apps na barra de menu superior. 4. Você deve ver seu dispositivo iOS. Clique duas vezes nele e, em seguida, clique em Adicionar + → Apps na barra de menu superior.
5. Após clicar em Adicionar, o Configurator fará o download do IPA da Apple e tentará enviá-lo para o seu dispositivo. Se você seguiu minha recomendação anterior e já instalou o IPA, um prompt pedindo para reinstalar o aplicativo aparecerá. 5. Após clicar em Adicionar, o Configurator fará o download do IPA da Apple e tentará enviá-lo para o seu dispositivo. Se você seguiu minha recomendação anterior e já instalou o IPA, um aviso pedindo para reinstalar o aplicativo aparecerá.
6. O IPA deve ser baixado dentro de `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`, de onde você pode pegá-lo. 6. O IPA deve ser baixado dentro de `/Users/[username]/Library/Group\\ Containers/K36BKF7T3D.group.com.apple.configurator/Library/Caches/Assets/TemporaryItems/MobileApps`, de onde você pode pegá-lo.
Verifique [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed) para mais informações detalhadas sobre esse processo. Verifique [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed) para mais informações detalhadas sobre esse processo.
@ -27,7 +27,7 @@ Verifique [https://dvuln.com/blog/modern-ios-pentesting-no-jailbreak-needed](htt
Para descriptografar o IPA, vamos instalá-lo. No entanto, se você tiver um iPhone antigo com jailbreak, potencialmente sua versão não será suportada pelo aplicativo, pois geralmente os aplicativos só suportam as versões mais recentes. Para descriptografar o IPA, vamos instalá-lo. No entanto, se você tiver um iPhone antigo com jailbreak, potencialmente sua versão não será suportada pelo aplicativo, pois geralmente os aplicativos só suportam as versões mais recentes.
Então, para instalá-lo, basta descompactar o IPA: Portanto, para instalá-lo, basta descompactar o IPA:
```bash ```bash
unzip redacted.ipa -d unzipped unzip redacted.ipa -d unzipped
``` ```
@ -59,24 +59,24 @@ ideviceinstaller -i resigned.ipa -w
``` ```
--- ---
### Ativar Modo Desenvolvedor (iOS 16+) ### Ativar o Modo Desenvolvedor (iOS 16+)
Desde o iOS 16, a Apple introduziu o **Modo Desenvolvedor**: qualquer binário que carregue `get_task_allow` *ou* que seja assinado com um certificado de desenvolvimento se recusará a iniciar até que o Modo Desenvolvedor esteja ativado no dispositivo. Você também não poderá anexar Frida/LLDB a menos que essa flag esteja ativada. Desde o iOS 16, a Apple introduziu o **Modo Desenvolvedor**: qualquer binário que contenha `get_task_allow` *ou* que seja assinado com um certificado de desenvolvimento se recusará a iniciar até que o Modo Desenvolvedor esteja ativado no dispositivo. Você também não poderá anexar Frida/LLDB a menos que essa opção esteja ativada.
1. Instale ou envie **qualquer** IPA assinada por desenvolvedor para o telefone. 1. Instale ou envie **qualquer** IPA assinada por desenvolvedor para o telefone.
2. Navegue até **Ajustes → Privacidade e Segurança → Modo Desenvolvedor** e ative-o. 2. Navegue até **Ajustes → Privacidade e Segurança → Modo Desenvolvedor** e ative-o.
3. O dispositivo será reiniciado; após inserir o código de acesso, você será solicitado a **Ativar** o Modo Desenvolvedor. 3. O dispositivo será reiniciado; após inserir o código de acesso, você será solicitado a **Ativar** o Modo Desenvolvedor.
O Modo Desenvolvedor permanece ativo até que você o desative ou limpe o telefone, então este passo só precisa ser realizado uma vez por dispositivo. [A documentação da Apple](https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device) explica as implicações de segurança. O Modo Desenvolvedor permanece ativo até que você o desative ou limpe o telefone, então este passo precisa ser realizado apenas uma vez por dispositivo. [Documentação da Apple](https://developer.apple.com/documentation/xcode/enabling-developer-mode-on-a-device) explica as implicações de segurança.
### Opções modernas de sideloading ### Opções modernas de sideloading
Agora existem várias maneiras maduras de sideload e manter IPAs re-assinadas atualizadas sem jailbreak: Agora existem várias maneiras maduras de sideload e manter IPAs re-assinadas atualizadas sem jailbreak:
| Ferramenta | Requisitos | Forças | Limitações | | Ferramenta | Requisitos | Pontos Fortes | Limitações |
|------------|------------|--------|------------| |------------|------------|---------------|------------|
| **AltStore 2 / SideStore** | Companheiro macOS/Windows/Linux que re-assina a IPA a cada 7 dias com um perfil de desenvolvedor gratuito | Recarga automática via Wi-Fi, funciona até iOS 17 | Necessita de computador na mesma rede, limite de 3 aplicativos imposto pela Apple | | **AltStore 2 / SideStore** | Companheiro macOS/Windows/Linux que re-assina a IPA a cada 7 dias com um perfil de desenvolvedor gratuito | Recarga automática via Wi-Fi, funciona até iOS 17 | Necessita de computador na mesma rede, limite de 3 aplicativos imposto pela Apple |
| **TrollStore 1/2** | Dispositivo em iOS 14 15.4.1 vulnerável ao bug do CoreTrust | Assinatura *permanente* (sem limite de 7 dias); nenhum computador necessário uma vez instalado | Não suportado em iOS 15.5+ (bug corrigido) | | **TrollStore 1/2** | Dispositivo com iOS 14 15.4.1 vulnerável ao bug do CoreTrust | Assinatura *permanente* (sem limite de 7 dias); nenhum computador necessário uma vez instalado | Não suportado no iOS 15.5+ (bug corrigido) |
Para pentests rotineiros em versões atuais do iOS, Alt/Side-Store geralmente são a escolha mais prática. Para pentests rotineiros em versões atuais do iOS, Alt/Side-Store geralmente são a escolha mais prática.
@ -104,9 +104,9 @@ opensecurity/mobile-security-framework-mobsf:latest
``` ```
MobSF irá implantar automaticamente o binário, habilitar um servidor Frida dentro do sandbox do aplicativo e gerar um relatório interativo. MobSF irá implantar automaticamente o binário, habilitar um servidor Frida dentro do sandbox do aplicativo e gerar um relatório interativo.
### iOS 17 & Modo de Bloqueio considerações ### iOS 17 & Avisos sobre o Modo de Bloqueio
* **Modo de Bloqueio** (Configurações → Privacidade & Segurança) bloqueia o vinculador dinâmico de carregar bibliotecas dinâmicas não assinadas ou assinadas externamente. Ao testar dispositivos que podem ter este modo habilitado, certifique-se de que está **desativado** ou suas sessões Frida/objection serão encerradas imediatamente. * **Modo de Bloqueio** (Configurações → Privacidade e Segurança) bloqueia o vinculador dinâmico de carregar bibliotecas dinâmicas não assinadas ou assinadas externamente. Ao testar dispositivos que podem ter este modo habilitado, certifique-se de que está **desativado** ou suas sessões Frida/objection serão encerradas imediatamente.
* A Autenticação de Ponteiros (PAC) é aplicada em todo o sistema em dispositivos A12+. Frida ≥16 lida com a remoção de PAC de forma transparente — apenas mantenha tanto *frida-server* quanto a ferramenta Python/CLI atualizados quando uma nova versão principal do iOS for lançada. * A Autenticação de Ponteiros (PAC) é aplicada em todo o sistema em dispositivos A12+. Frida ≥16 lida com a remoção de PAC de forma transparente — apenas mantenha tanto *frida-server* quanto a ferramenta Python/CLI atualizados quando uma nova versão principal do iOS for lançada.
## Referências ## Referências

View File

@ -71,7 +71,7 @@ Command: msfconsole -q -x 'use auxiliary/scanner/telnet/telnet_version; set RHOS
* **CVE-2024-45698 Roteadores D-Link Wi-Fi 6 (DIR-X4860)**: O serviço Telnet embutido aceitava credenciais codificadas e falhou em sanitizar a entrada, permitindo RCE remota não autenticada como root via comandos manipulados na porta 23. Corrigido no firmware ≥ 1.04B05. * **CVE-2024-45698 Roteadores D-Link Wi-Fi 6 (DIR-X4860)**: O serviço Telnet embutido aceitava credenciais codificadas e falhou em sanitizar a entrada, permitindo RCE remota não autenticada como root via comandos manipulados na porta 23. Corrigido no firmware ≥ 1.04B05.
* **CVE-2023-40478 NETGEAR RAX30**: Um estouro de buffer baseado em pilha no comando `passwd` do Telnet CLI permite que um atacante adjacente contorne a autenticação e execute código arbitrário como root. * **CVE-2023-40478 NETGEAR RAX30**: Um estouro de buffer baseado em pilha no comando `passwd` do Telnet CLI permite que um atacante adjacente contorne a autenticação e execute código arbitrário como root.
* **CVE-2022-39028 GNU inetutils telnetd**: Uma sequência de dois bytes (`0xff 0xf7` / `0xff 0xf8`) aciona uma desreferência de ponteiro NULL que pode travar o `telnetd`, resultando em um DoS persistente após várias falhas. * **CVE-2022-39028 GNU inetutils telnetd**: Uma sequência de dois bytes (`0xff 0xf7` / `0xff 0xf8`) aciona uma desreferenciação de ponteiro NULL que pode travar o `telnetd`, resultando em um DoS persistente após várias falhas.
Mantenha esses CVEs em mente durante a triagem de vulnerabilidades—se o alvo estiver executando um firmware não corrigido ou um daemon Telnet inetutils legado, você pode ter um caminho direto para a execução de código ou um DoS disruptivo. Mantenha esses CVEs em mente durante a triagem de vulnerabilidades—se o alvo estiver executando um firmware não corrigido ou um daemon Telnet inetutils legado, você pode ter um caminho direto para a execução de código ou um DoS disruptivo.
@ -109,7 +109,7 @@ O Metasploit possui vários módulos úteis:
* `auxiliary/scanner/telnet/telnet_encrypt_overflow` RCE contra Telnet vulnerável do Solaris 9/10 (manipulação da opção ENCRYPT). * `auxiliary/scanner/telnet/telnet_encrypt_overflow` RCE contra Telnet vulnerável do Solaris 9/10 (manipulação da opção ENCRYPT).
* `exploit/linux/mips/netgear_telnetenable` habilita o serviço telnet com um pacote elaborado em muitos roteadores NETGEAR. * `exploit/linux/mips/netgear_telnetenable` habilita o serviço telnet com um pacote elaborado em muitos roteadores NETGEAR.
Após obter um shell, lembre-se que **TTYs geralmente são simples**; faça upgrade com `python -c 'import pty;pty.spawn("/bin/bash")'` ou use os [tricks TTY do HackTricks](/generic-hacking/reverse-shells/full-ttys.md). Após obter um shell, lembre-se que **TTYs geralmente são simples**; faça upgrade com `python -c 'import pty;pty.spawn("/bin/bash")'` ou use os [HackTricks TTY tricks](/generic-hacking/reverse-shells/full-ttys.md).
### Fortalecimento & Detecção (canto da equipe azul) ### Fortalecimento & Detecção (canto da equipe azul)

View File

@ -19,7 +19,7 @@ Alguns blogs introdutórios sobre o tema:
- **Localização**: A lista de servidores LDAP geralmente é encontrada na interface web (por exemplo, *Rede ➜ Configuração LDAP ➜ Configurando LDAP*). - **Localização**: A lista de servidores LDAP geralmente é encontrada na interface web (por exemplo, *Rede ➜ Configuração LDAP ➜ Configurando LDAP*).
- **Comportamento**: Muitos servidores web embutidos permitem modificações no servidor LDAP **sem reintroduzir credenciais** (recurso de usabilidade → risco de segurança). - **Comportamento**: Muitos servidores web embutidos permitem modificações no servidor LDAP **sem reintroduzir credenciais** (recurso de usabilidade → risco de segurança).
- **Exploit**: Redirecione o endereço do servidor LDAP para um host controlado pelo atacante e use o botão *Testar Conexão* / *Sincronização de Catálogo de Endereços* para forçar a impressora a se conectar a você. - **Exploit**: Redirecione o endereço do servidor LDAP para um host controlado pelo atacante e use o botão *Testar Conexão* / *Sincronização da Lista de Contatos* para forçar a impressora a se conectar a você.
--- ---
## Capturando Credenciais ## Capturando Credenciais
@ -28,7 +28,7 @@ Alguns blogs introdutórios sobre o tema:
```bash ```bash
sudo nc -k -v -l -p 389 # LDAPS → 636 (or 3269) sudo nc -k -v -l -p 389 # LDAPS → 636 (or 3269)
``` ```
Pequenos/impressoras multifuncionais antigas podem enviar um simples *simple-bind* em texto claro que o netcat pode capturar. Dispositivos modernos geralmente realizam uma consulta anônima primeiro e depois tentam o bind, então os resultados variam. Small/old MFPs podem enviar um simples *simple-bind* em texto claro que o netcat pode capturar. Dispositivos modernos geralmente realizam uma consulta anônima primeiro e depois tentam o bind, então os resultados variam.
### Método 2 Servidor LDAP Rogue Completo (recomendado) ### Método 2 Servidor LDAP Rogue Completo (recomendado)
@ -52,10 +52,10 @@ Pass-back *não* é um problema teórico os fornecedores continuam publicand
### Xerox VersaLink CVE-2024-12510 & CVE-2024-12511 ### Xerox VersaLink CVE-2024-12510 & CVE-2024-12511
O firmware ≤ 57.69.91 dos MFPs Xerox VersaLink C70xx permitiu que um administrador autenticado (ou qualquer um quando as credenciais padrão permanecem) pudesse: Firmware ≤ 57.69.91 das MFPs Xerox VersaLink C70xx permitiu que um administrador autenticado (ou qualquer um quando as credenciais padrão permanecem) pudesse:
* **CVE-2024-12510 LDAP pass-back**: alterar o endereço do servidor LDAP e acionar uma busca, fazendo com que o dispositivo vazasse as credenciais do Windows configuradas para o host controlado pelo atacante. * **CVE-2024-12510 LDAP pass-back**: alterar o endereço do servidor LDAP e acionar uma busca, fazendo com que o dispositivo vazasse as credenciais do Windows configuradas para o host controlado pelo atacante.
* **CVE-2024-12511 SMB/FTP pass-back**: problema idêntico via destinos *scan-to-folder*, vazando credenciais em texto claro NetNTLMv2 ou FTP. * **CVE-2024-12511 SMB/FTP pass-back**: problema idêntico via destinos de *scan-to-folder*, vazando credenciais em texto claro do NetNTLMv2 ou FTP.
Um simples listener como: Um simples listener como:
```bash ```bash
@ -65,7 +65,7 @@ ou um servidor SMB malicioso (`impacket-smbserver`) é suficiente para coletar a
### Canon imageRUNNER / imageCLASS Aviso 20 de Maio de 2025 ### Canon imageRUNNER / imageCLASS Aviso 20 de Maio de 2025
A Canon confirmou uma vulnerabilidade de **pass-back SMTP/LDAP** em dezenas de linhas de produtos Laser e MFP. Um atacante com acesso de administrador pode modificar a configuração do servidor e recuperar as credenciais armazenadas para LDAP **ou** SMTP (muitas organizações usam uma conta privilegiada para permitir o envio de digitalizações por e-mail). A Canon confirmou uma vulnerabilidade de **pass-back SMTP/LDAP** em dezenas de linhas de produtos Laser e MFP. Um atacante com acesso de administrador pode modificar a configuração do servidor e recuperar as credenciais armazenadas para LDAP **ou** SMTP (muitas organizações usam uma conta privilegiada para permitir o envio de escaneamentos por e-mail).
A orientação do fornecedor recomenda explicitamente: A orientação do fornecedor recomenda explicitamente:
@ -77,7 +77,7 @@ A orientação do fornecedor recomenda explicitamente:
## Ferramentas de Enumeração / Exploração Automatizadas ## Ferramentas de Enumeração / Exploração Automatizadas
| Ferramenta | Propósito | Exemplo | | Ferramenta | Propósito | Exemplo |
|------------|-----------|---------| |-------------|-----------|---------|
| **PRET** (Printer Exploitation Toolkit) | Abuso de PostScript/PJL/PCL, acesso ao sistema de arquivos, verificação de credenciais padrão, *descoberta SNMP* | `python pret.py 192.168.1.50 pjl` | | **PRET** (Printer Exploitation Toolkit) | Abuso de PostScript/PJL/PCL, acesso ao sistema de arquivos, verificação de credenciais padrão, *descoberta SNMP* | `python pret.py 192.168.1.50 pjl` |
| **Praeda** | Coletar configuração (incluindo catálogos de endereços e credenciais LDAP) via HTTP/HTTPS | `perl praeda.pl -t 192.168.1.50` | | **Praeda** | Coletar configuração (incluindo catálogos de endereços e credenciais LDAP) via HTTP/HTTPS | `perl praeda.pl -t 192.168.1.50` |
| **Responder / ntlmrelayx** | Capturar e retransmitir hashes NetNTLM de pass-back SMB/FTP | `responder -I eth0 -wrf` | | **Responder / ntlmrelayx** | Capturar e retransmitir hashes NetNTLM de pass-back SMB/FTP | `responder -I eth0 -wrf` |