Home Homebrew Rilasciato DNSpresso, un nuovo exploit DNS per console Wii U

[Scena Wii U] Rilasciato DNSpresso, un nuovo exploit DNS per console Wii U

354
0

Il developer GaryOderNichts ci invita a scoprire un nuovo exploit per console Wii U legato alla gestione delle risposte DNS, in particolare alla manipolazione dei dati di risposta da parte del client DNS.

La console Wii U utilizza una versione personalizzata della libreria TCP/IP NicheStack, sviluppata da InterNiche Technologies per sistemi embedded.

Una recente ricerca sulla sicurezza, denominata INFRA:HALT e pubblicata da Forescout Research Labs e JFrog Security Research, ha identificato 14 vulnerabilità in NicheStack, alcune delle quali potrebbero consentire l’esecuzione remota di codice.

In particolare, è stata menzionata la vulnerabilità CVE-2020-25928, che riguarda il client DNS e può causare un overflow dell’heap con conseguente esecuzione remota di codice.

Nonostante queste vulnerabilità, sembra che la Wii U abbia implementato controlli più robusti nella gestione delle risposte DNS di tipo 0xC (PTR) e quindi sia immune a tali problemi.

Tuttavia, il supporto del DNS su TCP sulla console Wii U offre un’opportunità per sfruttare una vulnerabilità di heap overflow.

L’exploit coinvolge la manipolazione del buffer di risposta DNS per consentire l’esecuzione di codice non autorizzato sulla console Wii U, inclusa l’esecuzione del codice del kernel.

Istruzioni

  1. Caricare tutti i file necessari per l’avvio nell’ambiente homebrew sulla scheda SD (ad esempio da aroma.foryour.cafe).
  2. Caricare un file RPX che si desidera avviare direttamente nella directory principale della scheda SD e rinominarlo in launch.rpx (ad esempio PayloadFromRPX).
  3. Sulla console Wii U, andare su Impostazioni di sistema -> Internet -> Connetti a Internet e configurare una nuova connessione (raccomandato!).
  4. Andare su Lista connessioni e selezionare la connessione appena creata.
  5. Selezionare Modifica impostazioni -> DNS -> Non ottenere automaticamente.
  6. Inserire 85.215.57.182 come DNS primario e selezionare Conferma.
  7. Premere Indietro e selezionare Test connessione.
  8. La console avvierà ora un test di connessione che dovrebbe bloccarsi dopo alcuni secondi. Dopo aver atteso qualche istante, dovreste essere accolti dalla schermata iniziale di DNSpresso e la console avvierà il file launch.rpx.

Auto-Host (Self-Hosting)

I seguenti passaggi sono per l’auto-hosting su Debian 12 e dovrebbero essere considerati come un esempio di configurazione.

  • Disabilitare systemd-resolved (altrimenti otterrete un errore che la porta 53 è già in uso):

systemctl stop systemd-resolved
systemctl disable systemd-resolved
systemctl mask systemd-resolved

  • Installare dnslib:

apt install python3-dnslib

  • Modificare REDIRECT_IP e STAGE2_IP nel file dnsserver.py con l’indirizzo IP del proprio server.
  • Eseguire il server (utilizzare “screen” o un servizio systemd per mantenerlo in esecuzione in modo permanente):

python3 dnsserver.py

  • (Opzionale) Per configurare la pagina di destinazione, installare un server web:

apt install apache2
cp index.html /var/www/html/index.html

  • Aggiungere qualcosa di simile alla configurazione apache2 per reindirizzare tutte le richieste alla root del documento:

# Redirect all traffic to document root
RewriteEngine On
RewriteCond %{REQUEST_URI} !=/
RewriteRule ^ / [R=302]

Crediti

Download: Source code DNSpresso

Fonte: twitter.com

LASCIA UN COMMENTO

Per favore inserisci il tuo commento!
Per favore inserisci il tuo nome qui

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.