Πριν απο λιγο καιρο το 3+ χρονων Ν900 μου αντιμετωπισε μια ακομα βλαβη ελεω της απροσεξιας μου. Αυτη τη φορα -και μετα απο μια αλλαγη σπασμενης οθονης- το πληκτρο της εντασης επιμενει να πηγαινει στο mute σε τυχαιες στιγμες και ανα τακτα χρονικα διαστηματα μερικων λεπτων. Εξαιτιας αυτου και καποιων ακομη συγκυριων, αποφασισα να προχωρησω σε ανανεωση συσκευης. Αυτο δεν σημαινει ομως πως το N900 ειναι αχρηστο πια (..και ας σταματησε να το υποστηριζει η Νοκια μετα την εξαγορα τoυ τμηματος κινητων τηλεφωνων της απο την Microsoft).
Εναυσμα του εγχειρηματος αποτελεσε η συζητηση που ειχα στο Twitter με τον Solar Designer (κατα κοσμον Alexander Peslyak, δημιουργο του Openwall)
@sitoiG @ea_foundation I'm already at PR 1.3, so your advice is that I add CSSU? What about alternate images like pwnphone for general use?
— Solar Designer (@solardiz) January 25, 2014
Δεν γνωριζα τι εστι pwnphone, οποτε λιγο googling οδηγησε στην παρουσιαση του στην BlackHat 2011 (US). Με λιγα λογια προκειται για τη μετατροπη του N900 σε μια mobile-phone-based pentesting platform. Η οποια πωλειται στην τιμη των $995 συμπεριλαμβανομενης της συσκευης. Με λιγα λογια (αν και αξιζει τον κοπο να ριξει κανεις μια ματια στο pdf του link), εχουμε στο χερι μας εργαλεια σαν τα Metasploit, Fasttrack, SET, Scapy, Nikto, Nmap, netcat, tcpdump, wireshark, tshark, Ettercap-NG, netmon, iptables και αλλα, ενω διαθετει drivers που υποστηριζουν τo packet injection. Καθολου (μα καθολου!) ασχημα. Την ωρα που γραφονται αυτες οι γραμμες δεν υπαρχουν αποθεματα, αλλα με ενα γρηγορο ψαξιμο στο eBay ή σε ελληνικες αγγελιες μπορει κανεις να βρει μεταχειρισμενο N900 με περιπου 100 ευρω.
Πρωτο βημα για τη μετατροπη του σε “εμπολεμο” κινητο ειναι το flashing στην αρχικη του κατασταση. Για το οποιο χρειαζομαστε τα flashing images. Οπως ειπα και στην αρχη η Nokia εχει σταματησει την υποστηριξη του N900 και ως επακολουθο, σταματησε και το hosting των images του λειτουργικου του, το οποια σε κανονικες συνθηκες βρισκοταν εδω. Ευτυχως η κοινοτητα του N900 εχει φροντισει γι αυτο το προβλημα και τα images μπορουν να βρεθουν σ αυτο το link. Αυτο που χρειαζομαστε ειναι ο flasher3.5 για το λειτουργικο της επιλογης μας ο οποιος θα χρησιμοποιηθει για το flash του κινητου και τα δυο images, το PR1.3 και το eMMC content. Τα filenames τους αντιστοιχα ειναι
- RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin
- RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM
Σε περιπτωση που κατι παει στραβα στα παραπανω links, εχω ανεβασει στο Μega.co.nz ολα τα αρχεια τα οποια αναφερθηκαν ή θα αναφερθουν στο post.
- PR1.3 (md5 b9f8690318a3be61767826d15b8c1784)
- eMMC content (md5 488809ff96a0a05479d692e9f77aeb4f)
- flasher3.5 deb (md5 9a8b05a92b56bc3daa8b20eca9256ec6)
- flasher3.5 binary (md5 b27ba8b9dff405c7370c7673bb43ffb4)
- pwnphone (md5 b8ab9023339ae9361827d3bca74b23e1)
- Metasploit 4.4 N900 deb (md5 8b208eb47d6f70901cf50ebd7c3294f0)
Flash του N900 στην αρχικη του κασταστη λοιπον. Προφανως χρειαζομαστε το micro USB καλωδιο που ερχεται μαζι με το κινητο και επισης θα πρεπει να ειναι επαρκως φορτισμενο (aka περισσοτερο απο 50%). Update mode: Διατηροντας κλειστη τη συσκευη, παταμε το πληκτρο U και ενω το κραταμε πατημενο τη συνδεουμε στον υπολογιστη.
Επιμερους σημειωση: Ο λογος για τον οποιο χρησιμοποιω το Ubuntu ως λειτουργικο για flashing του κινητου, ειναι οι αποτυχημενες προσπαθειες που ειχα σε Windows 7 περιβαλλον. Για καποιο λογο τον οποιο δεν εκατσα να ψαξω (σχετιζεται με τους drivers για το N900 και το update mode), ο flasher δεν αναγνωριζε τη συσκευη ενω ηταν σε update mode, σε αντιθεση με τη VM του Ubuntu η οποια δουλεψε (και δουλευει) χωρις παρακαλια.
Στη συνεχεια δινουμε:
sudo ./flasher-3.5 -F RX-51_2009SE_20.2010.36-2_PR_COMBINED_MR0_ARM.bin -f
Σε περιπου ενα λεπτο και εαν ολα πανε καλα, το μηνυμα που θα παρουμε ειναι το παρακατω
Επομενο βημα και χωρις να κανουμε εκκινηση της συσκευης ειναι να περασουμε το eMMC Content. Αντιστοιχα με πριν δινουμε
sudo ./flasher-3.5 -F RX-51_2009SE_10.2010.13-2.VANILLA_PR_EMMC_MR0_ARM.bin -f
Επομενη σταση, pwnphone. Τα υλικα αυτης της συνταγης περιλαμβανουν το φρεσκο N900, μια καρτα microSD χωρητικοτητας τουλαχιστον 2GB και το πολυ 1 ωρα αναμονης απο το χρονο μας. Το pwnphone μπορουμε να το κατεβασουμε ειτε απο το επισημο link του στο SourceForge, ειτε απο το link στο Μega που εδωσα νωριτερα. Μεσα στο pwnphone_img_v2.tar.gz υπαρχουν λεπτομερης οδηγιες για το πατημα του καθε κουμπιου που θα γινει κατα την εγκατασταση, οι οποιες λειτουργουν απταιστα. Και εχουν ως εξης:
- Extract των περιεχομενων του pwnphone_img_v2.tar.gz στη microSD, το filesystem της οποια θα πρεπει να ειναι FAT προκειμενου να μπορει το N900 να τη διαβασει.
- Μεσω του File Manager στο N900 πηγαινουμε στη microSD και συγκεκριμενα στο φακελο pwnimage και κανουμε double click στο rootsh_1.8_all. Χαρη στο συγκεκριμενο θα αποκτησουμε root προσβαση στο κινητο. Θα ξεκινησει ο Application Manager μεσω του οποιου γινεται η εγκατασταση.
- Μολις τελειωσει η εγκατασταση, κλεινουμε τον Application Manager και τον File Manager.
- Aνοιγουμε το xterminal (βρισκεται στα Applications του N900) και πληκτρολογουμε τα παρακατω κατα σειρα
sudo gainroot
cd /media/mmc1/pwnimage
chmod 777 install.sh
και τελος
sh install.sh
Εχει ξεκινησει η εγκατασταση. Κατα τη διαρκεια της θα μας ζητηθει δυο φορες να “αποδεχθουμε” τους ορους των πακετων που γινονται εγκατασταση, μια στην αρχη και μια στο τελος της. Η διαδικασια της αντιγραφης διαρκει περιπου 1 ωρα, οποτε υπομονη.
Με την ολοκληρωση της θα χρειαστει να γινει reboot της συσκευης. Το σημαντικο ειναι πως κατα την επανεκκινηση θα πρεπει το πληκτρολογιο να ειναι ανοιχτο. Μ αυτον τον τροπο θα ξεκινησει το back up menu utility, αμεσως μετα το reboot. Αφου λοιπον ξεκινησει το back up menu utility, θα εμφανιστουν 2 error messages, το καθενα απο τα οποια μας προτρεπει να πιεσουμε ενα οποιοδηποτε πληκτρο, το οποιο και κανουμε. Στη συνεχεια παταμε κατα σειρα τα πληκτρα: R–>T–>Q–>B–>A–>P. Αμεσως μετα την ολοκληρωση του restore παταμε το Q, κλεινουμε το πληκτρολογιο και περιμενουμε την επανεκκινηση. Αυτη τη φορα το boot menu δεν θα περιεχει το λογοτυπο της Nokia αλλα την SHODAN.
Αμεσως μετα, ουκ ολιγα εικονιδια (και αντιστοιχες λειτουργιες) μας περιμενουν στο πρωτο desktop, οπως φαινεται στην εικονα δεξια. Και το ονομαζω πρωτο desktop καθως με ενα sweep θα βρεθουμε στο δευτερο, το οποιο δεν ειναι εξισου πολυπληθες, αλλα εξακολουθει να ειναι ιδιαιτερα χρησιμο. Προτεινω μαλιστα να επισκεφτουμε πρωτα αυτο, μια και εκει θα βρουμε το QCPUFreq, ενα προγραμμα για την αυξηση της συχνοτητας λειτουργιας του N900. Δεδομενου πως δεν μιλαμε και για το πλεον γρηγορο κινητο (600 MHz Cortex-A8) και πως ορισμενα απο τα προγραμματα ειναι cpu intensive (το GUI του metasploit θελει ουκ ολιγα λεπτα για να φορτωσει ακομα και σε oveclocked συνθηκες), προτεινω την αυξηση της συχνοτητας ως εκει που αντεχει το N900 σας. Στη δικια μου περιπτωση ειναι rock stable στα 900Mhz, ενω υπαρχουν περιπτωσεις οπου μπορει να ανεβει στα 1.1Ghz. Δεν ειναι επι του παροντος, οποτε η μονη συμβουλη που θα δωσω ειναι “Trial and error”. Επισης, ενα ακομα tip, το ssh -για να μην πολεμας με το πληκτρολογιο του κινητου, τουλαχιστον στο σταδιο των εγκαταστασεων- βρισκεται στο δευτερο desktop 😉
Να ενημερωσω πως καποια απο τα εργαλεια της διανομης δεν ειναι up-to-date, αλλα δεν παυουν να κανουν τη δουλεια τους.
Στην εικονα αριστερα για παραδειγμα, φαινεται σε δραση το Social Engineering Toolkit και το phishing του ανυποψιαστου θυαματος μεσω ενος site (στην προκειμενη περιπτωση κλωνο του Facebook). Δυστυχως το update του δεν ειναι εφικτο απο τοτε που το repository του μεταφερθηκε στη διευθυνση http://svn.secmaniac.com/ αλλα ας μην ειμαστε αχαριστοι. Ενα ακομα εργαλειο το οποιο πιθανοτατα θα χρειαστει update ειναι το metasploit. Και επιπροσθετα για οσους διαθετουν γαιδουρινη υπομονη, θα εγκαταστησουμε και το GUI του. H εκδοση που ερχεται με το pwnphone ειναι η 3.8 και οπως δηλωνει και η ιδια εχει να ανανεωθει πανω απο 900 μερες. Οχι πως θα εχει προβλημα απεναντι στα Windows XP SP0, αλλα γιατι να μην υπαρχει διαθεσιμη μια νεωτερη εκδοση (πχ η 4.4) αφου ειναι εφικτο? Kαι περναμε στο deb πακετο του metasploit, link του οποιου εδωσα πιο πανω. Αντιγραφουμε το metasploit-n900_4.4.0_armel.deb σε φακελο της αρεσκειας μας (πχ /home/user/MyDocs) και στη συνεχεια δινουμε με τη σειρα στο terminal του N900
root
cd /home/user/MyDocs
dpkg -i metasploit-n900_4.4.0_armel.deb
η εγκατασταση θα χρειαστει περιπου 40 λεπτα, οποτε υπομονη. Μετα το περας της, το επομενο και τελευταιο βημα ειναι οι δυο παρακατω εντολες στο terminal
root
και
. /usr/bin/Metasploit
Πλεον υπαρχει το εικονιδιο του metasploit για τους πολυ υπομονετικους, το οποιο ανοιγει το GUI του. Για τους υπολοιπους, η εντολη που ανοιγει την κονσολα του ειναι
root
ruby1.8 /home/opt/msf3/msfconsole -L
το -L switch ενημερωνει το metasploit να χρησιμοποιησει την Readline library του συστηματος αντι γι αυτη της Ruby. Προφανως υπαρχουν ενα καρο λειτουργιες και εφαρμογες οι οποιες περιμενουν εξερευνηση απο τον γεματο περιεργεια χρηστη. Ευχομαι να εισαι εσυ 🙂
References:
adunanzav3x, maemo.org
The Nokia N900 PwnPhone, BlackHat 2011, [PDF]
Flashing N900, Maemo Talk