<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **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) github repos.
**Wskazówka dotycząca bug bounty**: **zarejestruj się** na platformie **Intigriti**, premium **platformie bug bounty stworzonej przez hakerów, dla hakerów**! Dołącz do nas na [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) już dziś i zacznij zarabiać nagrody do **100 000 USD**!
**Części tego samouczka zostały wyjęte z [Drozer documentation pdf](https://labs.withsecure.com/content/dam/labs/docs/mwri-drozer-user-guide-2015-03-23.pdf).**
Pobierz i zainstaluj plik APK drozer z [najnowszych wydań](https://github.com/mwrlabs/drozer/releases). W tym momencie jest to [ten](https://github.com/mwrlabs/drozer/releases/download/2.3.4/drozer-agent-2.3.4.apk).
Agent działa na porcie 31415, musimy [przekierować port](https://pl.wikipedia.org/wiki/Przekierowanie_port%C3%B3w) w celu nawiązania komunikacji między klientem Drozer a Agentem. Oto polecenie, które należy wykonać:
| **Help MODULE** | Wyświetla pomoc dla wybranego modułu |
| **list** | Wyświetla listę wszystkich modułów drozera, które można uruchomić w bieżącej sesji. Ukrywa moduły, do których nie masz odpowiednich uprawnień. |
| **shell** | Uruchamia interaktywną powłokę Linux na urządzeniu, w kontekście agenta. |
| **clean** | Usuwa tymczasowe pliki przechowywane przez drozera na urządzeniu Android. |
| **load** | Wczytuje plik zawierający polecenia drozera i wykonuje je sekwencyjnie. |
| **module** | Znajduje i instaluje dodatkowe moduły drozera z Internetu. |
| **unset** | Usuwa nazwaną zmienną, którą drozer przekazuje do każdej powłoki Linux, którą uruchamia. |
| **set** | Przechowuje wartość w zmiennej, która zostanie przekazana jako zmienna środowiskowa do każdej powłoki Linux uruchamianej przez drozera. |
| **shell** | Uruchamia interaktywną powłokę Linux na urządzeniu, w kontekście agenta. |
| **run MODULE** | Wykonuje moduł drozera |
| **exploit** | Drozer może tworzyć exploity do wykonania na urządzeniu. `drozer exploit list` |
2. Po połączeniu z urządzeniem, wpisz polecenie `run app.package.exported_activities -a <nazwa_pakietu>`, gdzie `<nazwa_pakietu>` to nazwa pakietu aplikacji, której aktywności chcesz sprawdzić.
3. Po wykonaniu polecenia, zostanie wyświetlona lista wszystkich wyeksportowanych aktywności w podanej aplikacji.
Przykład użycia:
```
run app.package.exported_activities -a com.example.app
Pamiętaj, że wyeksportowane aktywności mogą stanowić potencjalne zagrożenie dla bezpieczeństwa aplikacji, dlatego ważne jest, aby odpowiednio zabezpieczyć je przed nieautoryzowanym dostępem.
To interact with a service, you need to establish a connection and send requests to it. In the case of Android app pentesting, you can use drozer to interact with the app's services.
A service is a component of an Android app that runs in the background without a user interface. It performs long-running operations or handles remote requests. By interacting with a service, you can gather information, manipulate data, or even exploit vulnerabilities.
Drozer provides a command-line interface to interact with Android app services. You can use the `run` command to execute drozer modules that interact with the app's services. These modules are designed to perform specific tasks, such as listing services, invoking methods, or querying content providers.
To interact with a service using drozer, follow these steps:
1. Start drozer by running the command `drozer console connect`.
2. Connect to the target device by running the command `run app.package.list -f <package_name>`.
3. List the services available in the app by running the command `run app.service.list -f <package_name>`.
4. Choose a service to interact with and gather information about it by running the command `run app.service.info -f <package_name> -u <service_name>`.
5. Invoke methods on the service by running the command `run app.service.send <package_name> <service_name> <method_name> <arguments>`.
6. Analyze the responses and gather any relevant information.
By interacting with an app's services, you can gain a deeper understanding of its functionality and identify potential security vulnerabilities. This knowledge can be used to enhance your pentesting efforts and ensure the app's security.
Zauważ, że najpierw wysyłasz dane wewnątrz "_msg.what_", następnie "_msg.arg1_" i "_msg.arg2_", powinieneś sprawdzić w kodzie **jakie informacje są używane** i gdzie.\
Używając opcji `--extra` możesz wysłać coś, co zostanie zinterpretowane jako "_msg.replyTo"_, a używając `--bundle-as-obj` tworzysz obiekt z podanymi szczegółami.
Po odkryciu tych odbiorników transmisji powinieneś **sprawdzić ich kod**. Zwróć szczególną uwagę na funkcję **`onReceive`**, ponieważ to właśnie ona będzie obsługiwać otrzymane wiadomości.
Aby sprawdzić odbiorniki nadawcze aplikacji, możesz użyć narzędzia `drozer`. `drozer` to framework do testowania penetracyjnego aplikacji mobilnych na platformie Android. Poniżej przedstawiono kroki, które należy podjąć, aby sprawdzić odbiorniki nadawcze aplikacji przy użyciu `drozera`:
W tym przykładzie, wykorzystując apkę [FourGoats](https://github.com/linkedin/qark/blob/master/tests/goatdroid.apk) i dostawcę treści, możesz **wysłać dowolną wiadomość SMS** do dowolnego niepremiumowego celu **bez pytania** użytkownika o zgodę.
Produkcyjne pliki APK nigdy nie powinny być debugowalne.\
Oznacza to, że można **podłączyć debugger javy** do działającej aplikacji, przeglądać ją w czasie rzeczywistym, ustawiać punkty przerwania, krok po kroku analizować, zbierać wartości zmiennych, a nawet je zmieniać. [InfoSec institute ma doskonały artykuł](../exploiting-a-debuggeable-application.md) na temat zagłębiania się w aplikację, gdy jest ona debugowalna i wstrzykiwania kodu w czasie wykonania.
**Wskazówka dotycząca nagrody za błąd**: **zarejestruj się** na platformie **Intigriti**, premium **platformie nagród za błędy stworzonej przez hakerów, dla hakerów**! Dołącz do nas na [**https://go.intigriti.com/hacktricks**](https://go.intigriti.com/hacktricks) już dziś i zacznij zarabiać nagrody do **100 000 USD**!
<summary><strong>Naucz się hakować AWS od zera do bohatera z</strong><ahref="https://training.hacktricks.xyz/courses/arte"><strong>htARTE (HackTricks AWS Red Team Expert)</strong></a><strong>!</strong></summary>
* Jeśli chcesz zobaczyć swoją **firmę reklamowaną w HackTricks** lub **pobrać HackTricks w formacie PDF**, sprawdź [**PLAN SUBSKRYPCJI**](https://github.com/sponsors/carlospolop)!
* **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) github repos.