
strumento per estrarre password dalla memoria di TeamViewer utilizzando Frida
Salve a tutti, in questo articolo vogliamo parlare della nostra piccola ricerca sulla sicurezza delle password in TeamViewer. Il metodo può essere utile durante un penetration test per la post-esplorazione, per ottenere accesso a un'altra macchina tramite TeamViewer.
Qualche giorno fa ho lavorato sul mio Windows Cloud VPS con TeamViewer (dove ho impostato una password personalizzata). Dopo il lavoro mi sono disconnesso, e la volta successiva in cui ho voluto connettermi, ho visto che TeamViewer aveva riempito automaticamente la password.

Penso: "Interessante, come posso ottenere accesso alla password? Come è memorizzata la password sul mio computer?"
Ho eseguito il dump della memoria del TeamViewer e ho cercato la password con grep.

Ooo sì, 😊 la password nella memoria è memorizzata in formato Unicode. Si scopre che se finisci di lavorare con TeamViewer e non uccidi il processo (o non esci da TeamViewer

la password rimane memorizzata nella memoria)
Dopo l'analisi abbiamo capito che la prima area rossa è un dato magico di inizio, la seconda è un dato magico di fine (a volte il dato magico di fine ha questo valore = 00 00 00 20 00 00).
Per estrarre le password dalla memoria abbiamo scritto due mini programmi, in linguaggio Python e C++.
Grazie al team di Frida per il fantastico strumento! Il nostro script Python si attacca al processo TeamViewer.exe, ottiene l'indirizzo di base e la dimensione della memoria di ogni libreria in questo processo. Successivamente, esegue il dump di ogni area di memoria una per una, cerca parti con byte [00 88] all'inizio e byte [00 00 00] alla fine e le copia in un array. Il passo successivo e finale è selezionare le stringhe decodificate finali secondo la regex e la politica delle password.

Dopo aver eseguito il codice C++, otterrai questa vista: "asdQWE123" è la password

c++ example

python example
