
Uno script Python per estrarre informazioni da un'applicazione Microsoft Remote Desktop Web Access (RDWA)

Uno strumento Python tutto-in-uno per estrarre informazioni, eseguire spray e brute force di password su un'applicazione Microsoft Remote Desktop Web Access (RDWA).
Questo strumento Python permette di estrarre varie informazioni da un'applicazione Microsoft Remote Desktop Web Access (RDWA), come il FQDN del server remoto, il nome del dominio AD interno (dal FQDN) e la versione del Windows Server remoto.
$ rdwatool -h
____ ____ _ _____ __ __
/ __ \/ __ \ | / / | / /_____ ____ / /
/ /_/ / / / / | /| / / /| |/ __/ __ \/ __ \/ / @podalirius_
/ _, _/ /_/ /| |/ |/ / ___ / /_/ /_/ / /_/ / /
/_/ |_/_____/ |__/|__/_/ |_\__/\____/\____/_/ v2.0
usage: rdwatool recon [-h] [-tf TARGETS_FILE] [-tu TARGET_URLS] [-v] [--no-colors] [--debug] [-T THREADS] [-PI PROXY_IP] [-PP PROXY_PORT] [-rt REQUEST_TIMEOUT] [-k] [-L] [--export-xlsx EXPORT_XLSX] [--export-json EXPORT_JSON]
[--export-sqlite EXPORT_SQLITE]
options:
-h, --help mostra questo messaggio di aiuto ed esci
-v, --verbose Modalità verbose. (default: False)
--no-colors Disabilita l'output colorato. (default: False)
--debug Modalità debug, per verbosità elevata. (default: False)
-T THREADS, --threads THREADS
Numero di thread (default: 250)
Targets:
-tf TARGETS_FILE, --targets-file TARGETS_FILE
Percorso del file contenente l'elenco riga per riga dei target.
-tu TARGET_URLS, --target-url TARGET_URLS
URL della pagina di login RDWA target.
Advanced configuration:
-PI PROXY_IP, --proxy-ip PROXY_IP
IP del proxy.
-PP PROXY_PORT, --proxy-port PROXY_PORT
Porta del proxy
-rt REQUEST_TIMEOUT, --request-timeout REQUEST_TIMEOUT
Imposta il timeout delle richieste HTTP.
-k, --insecure Consenti connessioni server non sicure quando si utilizza SSL (default: False)
-L, --location Segui i reindirizzamenti (default: False)
Export results:
--export-xlsx EXPORT_XLSX
File XLSX di output per salvare i risultati.
--export-json EXPORT_JSON
File JSON di output per salvare i risultati.
--export-sqlite EXPORT_SQLITE
File SQLITE3 di output per salvare i risultati.
In modalità recon:
rdwatool recon -tf ./subdomains.txt

In modalità spray:
rdwatool spray -tu https://rds.podalirius.net/RDWeb/Pages/en-US/login.aspx
In modalità brute:
rdwatool brute -tu https://rds.podalirius.net/RDWeb/Pages/en-US/login.aspx
I pull request sono benvenuti. Sentiti libero di aprire un issue se vuoi aggiungere altre funzionalità.
Ci sono molte informazioni precompilate nella pagina login.aspx dell'applicazione Remote Desktop Web Access (RDWA). Nei campi di input WorkSpaceID e/o RedirectorName possiamo trovare il FQDN del server remoto, e WorkspaceFriendlyName può contenere una descrizione testuale del workspace.
<form id="FrmLogin" name="FrmLogin" action="login.aspx?ReturnUrl=%2FRDWeb%2FPages%2Fen-US%2FDefault.aspx" method="post" onsubmit="return onLoginFormSubmit()">
<input type="hidden" name="WorkSpaceID" value="DC01.lab.local"/>
<input type="hidden" name="RDPCertificates" value="E7100C72B6C11A5D14DE115D801E100C79143C19"/>
<input type="hidden" name="PublicModeTimeout" value="20"/>
<input type="hidden" name="PrivateModeTimeout" value="240"/>
<input type="hidden" name="WorkspaceFriendlyName" value="Workspace%20friendly%20name%20or%20description"/>
<input type="hidden" name="EventLogUploadAddress" value=""/>
<input type="hidden" name="RedirectorName" value="DC01.lab.local"/>
<input type="hidden" name="ClaimsHint" value=""/>
<input type="hidden" name="ClaimsToken" value=""/>
<input name="isUtf8" type="hidden" value="1"/>
<input type="hidden" name="flags" value="0"/>
...
</form>
Lo strumento rdwatool analizza automaticamente questo modulo ed estrae tutte le informazioni.
Se l'installazione remota di RDWeb non è protetta, c'è un'alta probabilità che il file immagine predefinito della versione /RDWeb/Pages/images/WS_h_c.png sia ancora accessibile (anche se non collegato nella pagina di login). Questo è davvero fantastico perché possiamo confrontare direttamente il suo valore hash sha256 con una tabella nota dei banner Windows di questo servizio:
Lo strumento rdwatool recupera automaticamente questo file e confronta il suo hash per ottenere la versione del Windows Server remoto.
| Sistema operativo Windows | Hash SHA256 | Banner |
|---|
| Windows Server 2008 R2 | 5a8a77dc7ffd463647987c0de6df2c870f42819ec03bbd02a3ea9601e2ed8a4b | ![]() |
| Windows Server 2012 R2 | 4560591682d433c7fa190c6bf40827110e219929932dc6dc049697529c8a98bc | ![]() |
| Windows Server 2012 R2 | 3d9b56811a5126a6d3b78a692c2278d588d495ee215173f752ce4cbf8102921c | ![]() |
| Windows Server 2016 | fb1505aadeab42d82100c4d23d421f421c858feae98332c55a4b9595f4cea541 | ![]() |
| Windows Server 2016 | 3dbbeff5a0def7e0ba8ea383e5059eaa6acc37f7f8857218d44274fc029cfc4b | ![]() |
| Windows Server 2019 | 2da4eb15fda2b7c80a94b9b2c5a3e104e2a9a2d9e9b3a222f5526c748fadf792 | ![]() |
| Windows Server 2022 | 256a6445e032875e611457374f08acb0565796c950eb9c254495d559600c0367 | ![]() |