Hi Michael,
                 It is my intention to share an image and speed the process up for other researchers interested in GSM attacks and building simulations in their labs. At this time there are code changes I want to expand upon before I do (predominantly cosmetic changes and making it more feature useful from the python script). I am also hoping that enhanced detection of fakeBTS attacks will be expanded upon by the osmocom-bb toolkit (the launch of the detection capability occurred in December 2013 at CCC.) which would sufficiently detect anyone attempting to use tools of this nature in an illegal way. Most of the work I did can be recreated from the slides previously provided. If you are interested in the E100 platform, I spent alot of time exploring its capabilities and re-compiling packages. I first started trying to build the firmware from scratch with some discussion occurring between myself and the firmware developer at Ettus, eventually it became easier to customize the firmware provided by Ettus - the most difficult change being a cross-compiled kernel to enable netfilter so that IP routing became practical thus allowing for GPRS capabilities. I also had issues with the OpenBTS 52MTransceiver application in the more recent commits as significant overhaul has begun on changing its capabilities. I eventually settled on r6718 version as this provided GPRS capabilities and also was the last version functioning with the 52MTransceiver application. Most of the firmware I had to rebuild from source including things not available in package repos such as libpcap, asterisk (w/ODBC), odbc, libsqlite and python to get the capabilities I needed to demonstrate the practical elements of a GSM attack from an embedded device. I will be releasing the firmware image as soon as I tidy up some of my python code and detection tools become more effective. If you do really need the image for some research purpose then please e-mail me directly and I will gladly share a copy with you providing I can understand better your requirement for needing an off-the-shelf attack tool for GSM.

Kind Regards,
Matthew


On Fri, Feb 14, 2014 at 3:53 PM, Michael Mooradian <mooradianm@nkiengineering.com> wrote:
Mathew,

Is there any chance you will post the GreedyBTS E100 image online, or maybe even a screen capture demonstration of it working?  I am very interested in how you were able to handle making the E100 run more efficiently.  Also impressive is how you were able to script some very useful commands into your shell script.  I would be very interested in how you were able to group all of it together.

Thank you for any feedback you can give,

Michael


On Fri, Feb 7, 2014 at 5:12 AM, Hacker Fantastic <hackerfantastic@googlemail.com> wrote:
Hi all,
        My first attempt to send this email didn't appear to succeed so I am re-sending without attachment. Here is a copy of some slides https://github.com/HackerFantastic/Public/blob/master/presentations/mwri_labs-GSM-Hacking-Wireless-Mobile-Phone-Communication_2014-01-30.pdf I wrote for a presentation on security weaknesses within GSM. I used an Ettus E100 to develop a malicious BTS and GSM related attacks in a Faraday cage and presented on how these attacks work to better understand them for defensive purposes. I was able to use the E100 as a generic IP-router after I cross-compiled a new kernel with netfilter enabled and also I had to recompile a number of the packages such as Asterisk to enable ODBC and improved SQLite support, I also had to make some changes to Python and its modules. I used GNURadio 3.6.4 and I had to compile a specific version of the OpenBTS code as the recent transceiver application did not function with the E100. I was able to get the E100 to work as a GSM/GPRS router and do real-time call placement etc. I got it to function with real-time support and wrote a small script to provision new devices by watching the syslog and adding to the SQLite database.

I also used osmocom-bb to do things like use gnuplot and graph the channel usage although the code is extremely ugly! I took RSSI measurements over a period of time into images and then tied them together for a movie, it isn't quite realtime but it makes pretty graphs. I mentioned how you could implement the MS side of the GSM stack using the osmocom project and as such am sharing the slides with the osmocom list. 

Just goes to show how mighty things come in small packages! Hope this material is useful to others on the list who may also be trying similar experiments. I ended up creating a firmware image that could be used to dd and boot an E100 but at this time I do not plan on hosting it for download unless there is sufficient interest. If you need it for some reason drop me an e-mail. 

Here is an example of the output of the greedyBTS script. As an example my code plays "Rick Astley - never going to give you up" when a user places a phone call and they have been provisioned with service. All of this work was done in a faraday cage which I obtained from Ramsey electronics which had very good frequency attenuation graph from 0mhz all the way to 1ghz.

root@usrp-e1xx:~# ./launch.sh 
Launching asterisk
Launching HLR SMS
Launching OpenBTS
Launching Greedy BTS..

                                     888           888        d8         
 e88 888 888,8,  ,e e,   ,e e,   e88 888 Y8b Y888P 888 88e   d88    dP"Y 
d888 888 888 "  d88 88b d88 88b d888 888  Y8b Y8P  888 888b d88888 C88b  
Y888 888 888    888   , 888   , Y888 888   Y8b Y   888 888P  888    Y88D 
 "88 888 888     "YeeP"  "YeeP"  "88 888    888    888 88"   888   d,dP  
  ,  88P                                    888    pDK++                        
 "8",P"                                     888                         

                
[+] Current CELL configuration
[-] ==========================
[-] Shortname: 'Noone'
[-] MCC: 901 MNC: 70 C0 ARFCN: 51
[-] LAC: 3336 ARFCN's: 1 BAND: 900
[-] 
[-] Radio Power
[-] ===========
[-] RxGain: 47  MaxPower: 10  MinPower: 0                                       
--> help                                                                        
[+] HELP SCREEN                                                                 
[-] dump imei      - lists all identified IMEI                                  
[-] dump assoc     - lists all IMEI+IMSI associations                           
[-] dump imsi      - lists all identified IMSI                                  
[-] dump save      - store a record of all identities                           
[-] start service  - provide service to IMSI & log traffic                      
[-] show service   - show all provisioned phones                                
[-] stop service   - deletes an identified IMSI from HLR                        
[-] calls          - provide call collection statistics                         
[-] sms            - provide sms collection statistics                          
[!] gprs           - provide gprs collection statistics                         
[-] cellconfig     - configure cell parameters for spoofing                     
[-] cellinfo       - dump information on current cell                           
[-] cellshow       - list short codes for common cells                          
[!] sounddial      - play a sound recording to an IMSI                          
[!] spoofsms       - send a spoof SMS message to an IMSI                        
[!] trunksetup     - display current SIP trunk details                          
[-] verbose        - turn on real time tracing                                  
[-] exit           - leave without shutdown                                     
[-] shutdown       - bye!                                                       
--> dump imei                                                                   
[+] Dumping seen handset IMEI                                                   
[-] 1: IMEI359209002648230                                                      
[-] 2: IMEI358622002760070                                                      
[-] 3: IMEI350694801239040                                                      
[-] Total IMEI identified 3                                                     
--> dump imsi                                                                   
[+] Dumping IMSI capture results                                                
[-] 1: IMSI901700000002484                                                      
[-] 2: IMSI901700000002486                                                      
[-] 3: IMSI901700000002488                                                      
[-] Total IMSI identified 3                                                     
--> dump assoc                                                                  
[+] Dumping IMSI/IMEI association                                               
[-] 1 IMEI:358622002760070 used IMSI901700000002486                             
[-] 2 IMEI:350694801239040 used IMSI901700000002488                             
[-] Total associations 2                                                        
--> show service                                                                
[+] Displaying all provisioned IMSI                                             
[-] 1: exten: 2100 user: IMSI001010000000000                                    
[-] 2: exten: 2339 user: IMSI901700000002484                                    
[-] Total subscriber count 2                                                    
--> stop service                                                                
[+] Deleting IMSI from HLR                                                      
[-] Enter IMSI: IMSI901700000002484                                             
[-] Deleted IMSI901700000002484                                                 
--> help                                                                        
[+] HELP SCREEN                                                                 
[-] dump imei      - lists all identified IMEI                                  
[-] dump assoc     - lists all IMEI+IMSI associations                           
[-] dump imsi      - lists all identified IMSI                                  
[-] dump save      - store a record of all identities                           
[-] start service  - provide service to IMSI & log traffic                      
[-] show service   - show all provisioned phones                                
[-] stop service   - deletes an identified IMSI from HLR                        
[-] calls          - provide call collection statistics                         
[-] sms            - provide sms collection statistics                          
[!] gprs           - provide gprs collection statistics                         
[-] cellconfig     - configure cell parameters for spoofing                     
[-] cellinfo       - dump information on current cell                           
[-] cellshow       - list short codes for common cells                          
[!] sounddial      - play a sound recording to an IMSI                          
[!] spoofsms       - send a spoof SMS message to an IMSI                        
[!] trunksetup     - display current SIP trunk details                          
[-] verbose        - turn on real time tracing                                  
[-] exit           - leave without shutdown                                     
[-] shutdown       - bye!                                                       
--> dump imei                                                                   
[+] Dumping seen handset IMEI                                                   
[-] 1: IMEI359209002648230                                                      
[-] 2: IMEI358622002760070                                                      
[-] 3: IMEI350694801239040                                                      
[-] Total IMEI identified 3                                                     
--> dump imsi                                                                   
[+] Dumping IMSI capture results                                                
[-] 1: IMSI901700000002484                                                      
[-] 2: IMSI901700000002486                                                      
[-] 3: IMSI901700000002488                                                      
[-] Total IMSI identified 3                                                     
--> dump assoc                                                                  
[+] Dumping IMSI/IMEI association                                               
[-] 1 IMEI:358622002760070 used IMSI901700000002486                             
[-] 2 IMEI:350694801239040 used IMSI901700000002488                             
[-] Total associations 2                                                        
--> dump save                                                                   
[+] Saving IMSI capture results                                                 
[+] Saving seen handset IMEI                                                    
[+] Saving IMSI/IMEI association                                                
[-] logfile stored as 'greedybts.log'                                           
--> shutdown                                                                    
root@usrp-e1xx:~# cat greedybts.log                                             
[-] 1: IMSI901700000002484                                                      
[-] 2: IMSI901700000002486                                                      
[-] 3: IMSI901700000002488                                                      
[-] Total IMSI identified 3                                                     
[-] 1: IMEI359209002648230                                                      
[-] 2: IMEI358622002760070                                                      
[-] 3: IMEI350694801239040                                                      
[-] Total IMEI identified 3                                                     
[-] 1 IMEI:358622002760070 used IMSI901700000002486                             
[-] 2 IMEI:350694801239040 used IMSI901700000002488                             
[-] Total associations 2


Kind Regards,
Matthew





------------------------------------------------------------------------------
Managing the Performance of Cloud-Based Applications

Take advantage of what the Cloud has to offer - Avoid Common Pitfalls.
Read the Whitepaper.
http://pubads.g.doubleclick.net/gampad/clk?id=121051231&iu=/4140/ostg.clktrk
_______________________________________________
Openbts-discuss mailing list
Openbts-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbts-discuss




--
Michael Mooradian
Nathan Kunes Inc.
5055 North Harbor Drive, Suite 230
San Diego, CA 92106
619-822-1045 MAIN
619-553-3076 DIRECT
619-997-7055 CELL
619-221-1235 FAX
mooradianm@nkiengineering.com 



--
Matthew Hickey
Tel: +44 7543 661237
Web: http://blog.hackerfantastic.com

Please visit my website for blog postings, status updates and project information.