mirror of
https://github.com/carlospolop/hacktricks
synced 2024-12-03 18:10:07 +00:00
64 lines
6 KiB
Markdown
64 lines
6 KiB
Markdown
<details>
|
|
|
|
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Inne sposoby wsparcia HackTricks:
|
|
|
|
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
|
|
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
|
|
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów GitHub.
|
|
|
|
</details>
|
|
|
|
## Techniki **Deobfuskacji Manualnej**
|
|
|
|
W dziedzinie **bezpieczeństwa oprogramowania** proces rozumienia zaciemnionego kodu, znany jako **deobfuskacja**, jest kluczowy. Przewodnik ten omawia różne strategie deobfuskacji, skupiając się na technikach analizy statycznej i rozpoznawaniu wzorców obfuskacji. Ponadto, przedstawia ćwiczenie do praktycznego zastosowania i sugeruje dalsze materiały dla zainteresowanych bardziej zaawansowanymi tematami.
|
|
|
|
### **Strategie dla Statycznej Deobfuskacji**
|
|
|
|
Podczas pracy z **zaciemnionym kodem** można zastosować kilka strategii, w zależności od charakteru obfuskacji:
|
|
|
|
- **Kod bajtowy DEX (Java)**: Jednym skutecznym podejściem jest zidentyfikowanie metod deobfuskacji aplikacji, a następnie odtworzenie tych metod w pliku Java. Ten plik jest uruchamiany w celu odwrócenia obfuskacji na wybranych elementach.
|
|
- **Kod Java i natywny**: Inną metodą jest przetłumaczenie algorytmu deobfuskacji na język skryptowy, tak jak Python. Ta strategia podkreśla, że głównym celem nie jest pełne zrozumienie algorytmu, ale jego skuteczne wykonanie.
|
|
|
|
### **Rozpoznawanie Obfuskacji**
|
|
|
|
Rozpoznanie zaciemnionego kodu jest pierwszym krokiem w procesie deobfuskacji. Kluczowe wskaźniki obejmują:
|
|
|
|
- **Brak lub mieszanie ciągów znaków** w języku Java i Android, co może sugerować obfuskację ciągów znaków.
|
|
- **Obecność plików binarnych** w katalogu zasobów lub wywołania `DexClassLoader`, sugerujące rozpakowywanie kodu i dynamiczne ładowanie.
|
|
- Użycie **bibliotek natywnych wraz z niezidentyfikowalnymi funkcjami JNI**, wskazujące na potencjalną obfuskację metod natywnych.
|
|
|
|
## **Analiza Dynamiczna w Deobfuskacji**
|
|
|
|
Wykonując kod w kontrolowanym środowisku, analiza dynamiczna **pozwala na obserwację zachowania zaciemnionego kodu w czasie rzeczywistym**. Metoda ta jest szczególnie skuteczna w odkrywaniu wewnętrznego działania złożonych wzorców obfuskacji, które mają na celu ukrycie prawdziwego zamiaru kodu.
|
|
|
|
### **Zastosowania Analizy Dynamicznej**
|
|
|
|
- **Deszyfrowanie w czasie wykonywania**: Wiele technik obfuskacji polega na szyfrowaniu ciągów znaków lub segmentów kodu, które są deszyfrowane tylko w czasie wykonywania. Dzięki analizie dynamicznej można przechwycić te zaszyfrowane elementy w momencie deszyfrowania, ujawniając ich prawdziwą postać.
|
|
- **Rozpoznawanie Technik Obfuskacji**: Monitorując zachowanie aplikacji, analiza dynamiczna może pomóc w identyfikacji konkretnych technik obfuskacji, takich jak wirtualizacja kodu, pakiery lub dynamiczna generacja kodu.
|
|
- **Odkrywanie Ukrytej Funkcjonalności**: Zaciemniony kod może zawierać ukryte funkcje, które nie są widoczne tylko poprzez analizę statyczną. Analiza dynamiczna pozwala na obserwację wszystkich ścieżek kodu, w tym tych warunkowo wykonanych, aby odkryć taką ukrytą funkcjonalność.
|
|
|
|
## Odwołania i Dalsza Lektura
|
|
* [https://maddiestone.github.io/AndroidAppRE/obfuscation.html](https://maddiestone.github.io/AndroidAppRE/obfuscation.html)
|
|
* BlackHat USA 2018: „Unpacking the Packed Unpacker: Reverse Engineering an Android Anti-Analysis Library” \[[video](https://www.youtube.com/watch?v=s0Tqi7fuOSU)]
|
|
* Ta prezentacja omawia proces inżynierii wstecznej jednej z najbardziej skomplikowanych bibliotek anty-analizy używanych przez aplikację na platformie Android. Dotyczy głównie technik obfuskacji w kodzie natywnym.
|
|
* REcon 2019: „The Path to the Payload: Android Edition” \[[video](https://recon.cx/media-archive/2019/Session.005.Maddie_Stone.The_path_to_the_payload_Android_Edition-J3ZnNl2GYjEfa.mp4)]
|
|
* Ta prezentacja omawia serię technik obfuskacji, wyłącznie w kodzie Java, które wykorzystywała botnet na platformie Android do ukrywania swojego zachowania.
|
|
|
|
|
|
<details>
|
|
|
|
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong> <a href="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
|
|
|
|
Inne sposoby wsparcia HackTricks:
|
|
|
|
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
|
|
* Zdobądź [**oficjalne gadżety PEASS & HackTricks**](https://peass.creator-spring.com)
|
|
* Odkryj [**Rodzinę PEASS**](https://opensea.io/collection/the-peass-family), naszą kolekcję ekskluzywnych [**NFT**](https://opensea.io/collection/the-peass-family)
|
|
* **Dołącz do** 💬 [**grupy Discord**](https://discord.gg/hRep4RUj7f) lub [**grupy telegramowej**](https://t.me/peass) lub **śledź** nas na **Twitterze** 🐦 [**@carlospolopm**](https://twitter.com/hacktricks_live)**.**
|
|
* **Podziel się swoimi sztuczkami hakerskimi, przesyłając PR-y do** [**HackTricks**](https://github.com/carlospolop/hacktricks) i [**HackTricks Cloud**](https://github.com/carlospolop/hacktricks-cloud) repozytoriów GitHub.
|
|
|
|
</details>
|