MimiPenguin 2.0
Uno strumento per estrarre la password di login dell'attuale utente desktop Linux. Adattato dall'idea dietro il popolare strumento Windows mimikatz. Questo è stato assegnato CVE-2018-20781 (https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2018-20781). Curiosità: non è ancora stato risolto dopo GNOME Keyring 3.27.2 e funziona ancora a partire da 3.28.0.2-1ubuntu1.18.04.1.

Dettagli
Sfrutta le credenziali in chiaro in memoria dumpando il processo ed estraendo le righe che hanno un'alta probabilità di contenere password in chiaro. Tenterà di calcolare la probabilità di ogni parola controllando gli hash in /etc/shadow, gli hash in memoria e ricerche regex. La versione 2.0 introduce una porta C pulita che mira ad aumentare la velocità di esecuzione e la portabilità.
Problemi noti
- La variante a 32 bit di mimipenguin (build C) potrebbe fallire in uno spazio utente a 64 bit poiché attualmente non gestisce adeguatamente la ricerca in uno spazio di indirizzi a 64 bit
Requisiti
Sistemi supportati/testati
- Kali 4.3.0 (rolling) x64 (gdm3)
- Ubuntu Desktop 12.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
- Ubuntu Desktop 14.04.1 LTS x64 (Gnome Keyring 3.10.1-1ubuntu4.3, LightDM 1.10.6-0ubuntu1)
- Ubuntu Desktop 16.04 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2)
- Ubuntu Desktop 16.04.4 LTS x64 (Gnome Keyring 3.18.3-0ubuntu2, LightDM 1.18.3-0ubuntu1.1)
- Ubuntu 18
- XUbuntu Desktop 16.04 x64 (Gnome Keyring 3.18.3-0ubuntu2)
- Archlinux x64 Gnome 3 (Gnome Keyring 3.20)
- OpenSUSE Leap 42.2 x64 (Gnome Keyring 3.20)
- VSFTPd 3.0.3-8+b1 (Connessioni FTP client attive)
- Apache2 2.4.25-3 (Sessioni HTTP BASIC AUTH attive/vecchie) [Dipendenza Gcore]
- openssh-server 1:7.3p1-1 (Connessioni SSH attive - utilizzo sudo)
Compilazione
- Per compilare la variante C basta eseguire
make nella directory principale del progetto
- Per compilare un binario di debug con stampe di debug esegui
make debug
- Per compilare binari statici esegui
make static
Note
- La password si sposta in memoria - ancora in fase di perfezionamento per efficacia al 100%
- Si prevede di espandere il supporto e altre posizioni delle credenziali
- Lavorando per espandere ad ambienti non desktop
- Bug noto - a volte gcore blocca lo script, è un problema di gcore
- Aperto a pull request e ricerche della comunità
- Ricerca su LDAP (nscld winbind ecc.) prevista per il futuro
Roadmap di sviluppo
- Implementare gli aghi nella porta C (velocizzare)
- Aggiungere argomento opzionale per mirare solo a utenti specifici (velocizzare)
MimiPenguin viene lentamente portato in più linguaggi per supportare tutti i possibili scenari di post-sfruttamento. La roadmap sottostante è stata suggerita da KINGSABRI per tracciare le varie versioni e funzionalità. Una "X" indica supporto completo mentre una "~" indica una funzionalità con bug noti.
Contatti
Licenza
CC BY 4.0 licence - https://creativecommons.org/licenses/by/4.0/
Ringraziamenti speciali
- the-useless-one per aver rimosso Gcore come dipendenza, aver pulito le tabulazioni, aggiunto l'opzione di output e una porta completa in python3
- gentilkiwi per Mimikatz, l'ispirazione e la citazione su Twitter
- pugilist per aver pulito l'estrazione dei PID e per i test
- ianmiell per aver pulito parte del mio codice disordinato
- w0rm per aver identificato l'errore di printf quando sono coinvolti caratteri speciali
- benichmt1 per aver identificato il problema di più utenti autenticati
- ChaitanyaHaritash per aver identificato problemi con i caratteri speciali ai bordi
- ImAWizardLizard per aver pulito i pattern match con un ciclo for
- coreb1t per i controlli python3, supporto arch, altre correzioni
- n1nj4sec per una porta python2 e supporto
- KINGSABRI per la proposta di roadmap
- bourgouinadrien per aver linkato https://github.com/koalaman/shellcheck
- bcoles per aver aggiunto più aghi
- space-r7 e bcoles per il lavoro sul modulo Metasploit MimiPenguin