So I recently bought a Nokia N9 64GB and just wanted to share what I think of it incase anyone on this forum was interested in the N9 verses the N900, as far as pentesting tools and other programming aspects of the device go. You can read about the UI and how awesome the swipe is from about 50 other blogs. The UI rocks, it really does not gonna lie. So does the multi-tasking and notification system, but enough of that. Heres what I have learned about this phone after having it for over a week now.
Accessing a shell on the device is easy, you simply go into Settings > Security > Developer Mode and turn it on.
This will install some packages and reboot the phone. Then you have a terminal, you can get root by typing devil-su
and password is rootme
This does not give you complete access to the phone however. Something called aegis was used by Nokia to block dangerous tasks that can damage your device, this prevents much legitimate access to things like networking devices and other hardware related activity. dont worry though, we can get aroung aegis a couple of ways. Which leads me to my next topic.
Inception was introduced to get around two different ways. When you install a deb package that requires full root access you can install it with inception. The code is incept package.deb
, or you can run ariadne
before the command that requires full root access. This is not ideal, not for me atleast, maybe not for you either. So say hello to flashing an OpenMode kernel. You can read about inception here http://talk.maemo.org/showthread.php?t=85238
Flashing the device was scary for me at first, as it was with my N900 the first time I did it. I've flashed my N900 many, many times. The N9 is a little different, you have to use a slightly older version of Nokia's Flasher, version 3.12.1. The Vannila/Emmc and rootfs images need to be downloaded with Nokia NaviFirmEx which needs to be run using Wine if your on a Linux PC like me. I really wanted nitdroid, I didn't like it on the N900 as much because of the resistive touch screen. Its much more smooth and native feeling on a capacitive screen I believe so I went for the Dual boot kernel, and followed the proccess of installing Nitdroid alongside Meego. I had no problems whatsoever, as long as you follow the instructions carefully. This also has the advantage that installing an OpenMode Kernel, the aegis warnings still show but no more restrictions. Inception is still a good idea to have I think for some reason. Aegis still blocks 3rd party deb packages from being installed sometimes so you have to run export AEGIS_FIXED_ORIGIN=com.nokia.maemo
prior to installing packages if it complains. But yea, im much happier now I did this. You can get the instructions here http://forum.nitdroid.com/index.php?topic=241.0
I have installed things like Dsniff, ETtercap, Aircrack, and SSLStrip. Heres what I found,
I was able to put the wlan0 device into monitor mode with wireles-tools. However when running airmon-ng start wlan0
ifconfig complains it cannot create mon0 and airodump-ng will not collect packets. ALso, I have not found any evidence of injection drivers avaialble for the wireless card. Which is a slightly newer version of the N900's. So Im sure its possible, I think you would have to pay someone to write the driver though. SSLStrip was installable but I could not forward packets though NAT on Closed Kernel, I haven't tried with the OpenMode kernel yet. Dsniff and ettercap arpspoof without complications however.
One package I really like is called N9QTweak, Its a must have. Its all shell but it allows some customization of the UI, like adding background picture and status bar customization. It also eases many other things like one click adding of certain third party repos and adding custom toggles to the status bar. Very cool stuff. Apparently, the UI is not customizable, so unrestricted-system-ui was developed for this reason and N9QTweak will help you install this and many other UI tweaks you may want. You can read about N9QTweak here http://talk.maemo.org/showthread.php?t=80600
The other Must have I have to say is Easy-Debian, just like the N900 you can chroot a debian image on the device and use it as a GUI or in terminal. The sky is the limit with this. You can run just about anything through easy-debian. I was able to install w3af and use the GUI like a native app on the desktop. Its seemless. You can read about easy-debian on N9 here http://talk.maemo.org/showthread.php?t=85878
I looked into overclocking and it is possible, there is a GUI application called Opptimizer built for just that. I however did not like the warnings and thought that the 1Ghz RAM that came with the device was enough for what I wanted to do. You can read about Opptimizer here http://everythingn9.com/opptimize-for-nokia-n9/
One thing I do not like about the phone is the battery is very unstable, by that I mean it lasts a long time. But Nokia phones are notorious for not being able to resusitate after a full drain. For this reason I do not let my battery drain lower than 20%. Call me paranoid but it already almost happened, thats how I know about it! and unlike the N900 which this also happend to me at one point with, the battery in an N9 is not easily replaceable. So be cautious of this, as I spent about 3 hours plugging in my charger and unplugging it again and again to try and bring my N9 back to life. I was successful but may not be so lucky the next time around, and I sure as Hell dot want to return it to Nokia for a crappy WP Phone.
Anyways, those are my experiences with the device thus far. If you want something different, linux based, easy to use, and easily tinkerable. Get the N9! Ok heres some more screenies of my phone
Statusbar-menu with custom toggles using unrestricted-system-ui:
Multitasking in action: