<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* 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)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe seus truques de hacking enviando PRs para os** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
Em algumas ocasiões, o endpoint **`/console`** estará protegido por um PIN. Se você tiver uma **vulnerabilidade de travessia de arquivos**, pode vazar todas as informações necessárias para gerar esse PIN.
Um cenário de "console bloqueado" é encontrado ao tentar acessar a interface de depuração do Werkzeug, indicando a necessidade de um PIN para desbloquear o console. A sugestão é explorar o PIN do console analisando o algoritmo de geração de PIN no arquivo de inicialização de depuração do Werkzeug (`__init__.py`). O mecanismo de geração de PIN pode ser estudado no [**repositório de código-fonte do Werkzeug**](https://github.com/pallets/werkzeug/blob/master/src/werkzeug/debug/\_\_init\_\_.py), embora seja aconselhável obter o código real do servidor por meio de uma vulnerabilidade de travessia de arquivos devido a possíveis discrepâncias de versão.
- **`username`**: Refere-se ao usuário que iniciou a sessão do Flask.
- **`modname`**: Geralmente designado como `flask.app`.
- **`getattr(app, '__name__', getattr(app.__class__, '__name__'))`**: Geralmente resolve para **Flask**.
- **`getattr(mod, '__file__', None)`**: Representa o caminho completo para `app.py` dentro do diretório do Flask (por exemplo, `/usr/local/lib/python3.5/dist-packages/flask/app.py`). Se `app.py` não for aplicável, **tente `app.pyc`**.
#### **`private_bits`**
- **`uuid.getnode()`**: Obtém o endereço MAC da máquina atual, com `str(uuid.getnode())` traduzindo-o para um formato decimal.
- Para **determinar o endereço MAC do servidor**, é necessário identificar a interface de rede ativa usada pelo aplicativo (por exemplo, `ens3`). Em casos de incerteza, **vaze `/proc/net/arp`** para encontrar o ID do dispositivo e, em seguida, **extraia o endereço MAC** de **`/sys/class/net/<id do dispositivo>/address`**.
- A conversão de um endereço MAC hexadecimal para decimal pode ser realizada conforme mostrado abaixo:
- **`get_machine_id()`**: Concatena dados de `/etc/machine-id` ou `/proc/sys/kernel/random/boot_id` com a primeira linha de `/proc/self/cgroup` após a última barra (`/`).
Após reunir todos os dados necessários, o script de exploração pode ser executado para gerar o PIN do console Werkzeug. O script utiliza os `probably_public_bits` e `private_bits` montados para criar um hash, que passa por um processamento adicional para produzir o PIN final. Abaixo está o código Python para executar esse processo:
Este script produz o PIN através da hash dos bits concatenados, adicionando sais específicos (`cookiesalt` e `pinsalt`), e formatando a saída. É importante notar que os valores reais para `probably_public_bits` e `private_bits` precisam ser obtidos com precisão do sistema alvo para garantir que o PIN gerado corresponda ao esperado pelo console Werkzeug.
**Configuração instantaneamente disponível para avaliação de vulnerabilidades e teste de penetração**. Execute um pentest completo de qualquer lugar com mais de 20 ferramentas e recursos que vão desde a reconstrução até a geração de relatórios. Não substituímos os pentesters - desenvolvemos ferramentas personalizadas, módulos de detecção e exploração para dar a eles mais tempo para aprofundar, abrir shells e se divertir.
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF**, verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
* 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)
* **Junte-se ao** 💬 [**grupo Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo telegram**](https://t.me/peass) ou **siga-me** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/carlospolopm)**.**
* **Compartilhe seus truques de hacking enviando PRs para os repositórios** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud).