Detailed Imsi Catcher
Detailed Imsi Catcher
Georg Šumailov
Rogue Mobile Phone Base Station
Bachelor’s Thesis (9 ECTS)
Tartu 2023
Rogue Mobile Phone Base Station
Abstract:
Mobile network protocols have greatly improved over the decades both in terms of speed as
well as security. Nonetheless, as of 2023, the outdated and vulnerable 2G network generation
is still operational around the globe. This poses a threat to the general public due to known
security vulnerabilities found in 2G. While various 2G rogue base stations were tested over the
years, little work was done on how they perform in a modern world.
In this study a 2G rogue base station was built using YateBTS and a BladeRF. Furthermore, its
effectiveness was tested in areas where there are faster networks available. Importantly, the
rogue base station was built with off-the-shelf components and open-source software limiting
deployment costs to a minimum. The findings of this thesis suggest that in areas covered with
faster network base stations modern phones prefer new generation networks (e.g. 4G) over 2G
despite the signal strength. However, in areas with no cellular connection such as tunnels or
metros 2G rogue base stations can still be effective to this day. SMS phishing, SMS interception
and IMSI catching attacks were all possible once the phones connected to the rogue base
station.
Keywords:
rogue mobile phone base station, IMSI-catcher, SMS-interception, cellular-site simulator
CERCS:
P170 Computer science, numerical analysis, systems, control
P175 Informatics, systems theory
2
Võlts Tugijaam
Lühikokkuvõte:
Mobiilsidevõrgu protokollid on aastakümnete jooksul kõvasti paranenud nii kiiruse kui ka
turvalisuse osas. Sellegipoolest on 2023. aasta seisuga vananenud ja haavatavad 2G-võrgud
endiselt kasutusel üle maailma. See ohustab ühiskonda 2G-s leitud teadaolevate turvaaukude
tõttu. Kuigi aastate jooksul on 2G pahatahtlikke telefonijaamasid uuritud palju, siis nende
võimekusest tänapäevas kontekstis on teada vähe.
Selle uurimistöö põhieesmärk on testida 2G pahatahtlikku telefonijaama jõudlust kaasaegses
maailmas, kus enamik riike on võtnud kasutusele uuemad mobiilsidevõrgu tehnoloogiad.
Kõige tähtsam on see, et võlts tugijaam ehitati valmiskomponentide ja avatud lähtekoodiga
tarkvaraga, mis viis kulud miinimumini. Oli valitud YateBTS tarkvara koos BladeRF
transiiveriga. Lõputöö järeldused viitavad sellele, et kiiremate võrgutugijaamadega kaetud
piirkondades eelistavad kaasaegsed telefonid signaalitugevusest hoolimata uue põlvkonna
võrke (nt 4G) 2G-le. Piirkondades, kus puudub mobiilsideühendus, nagu tunnelid või metrood,
võib 2G võlts tugijaam siiski olla kasulik. Pärast telefonide ühendamist pahatahtlikku
tugijaamaga viidi läbi mitmeid edukaid rünnakuid. Näiteks võimaldas YateBTS
konfigureerimise võimalused SMS-ide levitamist, SMS-ide pealtkuulamise ja IMSI püüdmise.
Võtmesõnad:
pahatahtlik telefonijaam, võlts tugijaam, IMSI-püüdja, SMS-püüdmine
CERCS:
P170 Arvutiteadus, arvanalüüs, süsteemid, kontroll
P175 Informaatika, süsteemiteooria
3
Introduction .............................................................................................................................. 5
1. Background .......................................................................................................................... 6
1.1 Mobile Network Overview ............................................................................................ 6
1.2 Network Protocols ......................................................................................................... 7
1.3 GSM network architecture ........................................................................................... 11
1.4 History and Usage of Cell-Site Simulators .................................................................. 13
1.5 Software-Defined Radio .............................................................................................. 14
1.6 Related Work ............................................................................................................... 15
2. Research Setup ................................................................................................................... 16
2.1 Software ....................................................................................................................... 16
2.2 Hardware ...................................................................................................................... 17
2.3 Base Station Setup Configuration ................................................................................ 18
2.4 Ethics............................................................................................................................ 25
3. Experiments and Investigation ......................................................................................... 34
3.1 User Equipment ........................................................................................................... 34
3.2 Experiments ................................................................................................................. 34
3.3 Rogue Base Station Detection and Prevention ............................................................ 45
4. Conclusion .......................................................................................................................... 46
5. References ........................................................................................................................... 47
Appendix ................................................................................................................................. 51
License..................................................................................................................................... 52
4
Introduction
Wireless communication technologies like mobile networks have become an integral part of
our daily lives, enabling us to stay connected and access information from anywhere at any
time. Even though faster and more secure new generation mobile networks have been
developed, old 2G technology remains widely supported around the world to this day [1].
Unfortunately, 2G is highly outdated in terms of security by today’s standards. This poses a
threat as known 2G security vulnerabilities can be exploited by malicious actors. One such
threat hides itself amongst real cell phone towers, which provide the ability to make calls, send
SMS and much more.
A Rogue Mobile Phone Base Transceiver Station (rogue BTS), also known as a Cellular-Site
Simulator (CSS) masquerades itself as a legitimate base station to lure surrounding Mobile
Stations (MSs) such as phones or smartphones to interact with it. Depending on the rogue base
station’s intent, attacks can differ from intercepting SMS messages to International Mobile
Subscriber Identity (IMSI) catching. The latter can be used to identify individuals in specific
geographical areas [2].
While rogue base stations have been a concern for some time, the access to such devices was
only granted to law enforcement agencies such as the United States Secret Service [3]. Coupled
with the closed-source nature of CSSs and the price of around 70,000€ it was inaccessible to
the public [3]. However the emergence of open-source network protocol software together with
low-cost radio hardware made it easy for individuals to set up their own rogue base stations for
as little as 500€ (See Figure 7). Homemade 2G rogue base stations started gaining popularity
from 2010 [4].
Despite this, there has been little practical how-to research on the effectiveness of these low-
cost 2G solutions for building rogue base stations in a modern world. Nowadays, there are
much faster networks available and mobile network operators have significantly upgraded their
infrastructure over the years [5]. This can lead to previously known 2G vulnerabilities being
much less effective in a modern context. It is therefore essential to understand the viability of
cheap 2G solutions for building rogue base stations and the risks they pose to wireless network
security nowadays.
This thesis aims to address this gap in knowledge by investigating the practical effectiveness
of low-cost solutions for building rogue base stations. Specifically, the thesis will explore the
feasibility of using low-cost Software-Defined Radios (SDRs) to build fully-fledged rogue base
stations. The research will also investigate potential countermeasures that can be employed to
protect against rogue base stations.
5
1. Background
This chapter is intended to give a brief overview of general concepts used in this thesis and
background information needed to understand them. The initial section of this thesis provides
information on how cellular towers communicate with phones and vice versa. It will also help
to get acquainted with the terminology used throughout the thesis. Terminology varies by
network generation. Therefore, for simplicity sake, 2G terms will be used to describe mobile
networks. Following that, the succeeding section explains different mobile network generations
in order to give context for why 2G was chosen to build the rogue BTS. Subsequently, a brief
analysis of the architecture of the Global System for Mobile Communications (GSM, 2G) will
be presented. In order to provide a contextual framework, a brief history of cellular-site
simulators will also be included. Lastly, related work will be discussed.
6
When a mobile station has picked the base station it wants to connect to it starts a registering
process. The MS registers to the BTS using unique and sensitive identifiers called the
International Mobile Equipment Identity (IMEI) and International Mobile Subscriber Identity
(IMSI). The IMEI is used to identify hardware (e.g. phone) and IMSI to identify the user of the
hardware. It is necessary for the network to know the IMSI to confirm that the user of the
network has indeed paid for the service. Depending on the protocol and network generation
used, a private key stored on the Subscriber Identity Module (SIM) might be needed for
authentication. In the example of a GSM network, the BTS will assign an MS a Temporary
Mobile Subscriber Identity (TMSI) to reduce the risk of revealing unique and sensitive IMSI
information. However, the network must know where its subscribers are at any given time to
be able to communicate with them. For example to send SMS or forward calls. As a result, the
MS notifies a particular network of its location usually when it has moved to a new Location
Area. [7]
7
someone from another country [9]. Additionally, 1G did not support sending text messages. In
conclusion, the first-generation mobile network had several limitations that led to the
development of newer technologies [10].
1.2.3.1 2G - GSM
Global System for Mobile communications (GSM) is the first European standard that was
developed for 2G and as a result became widespread all over the world. GSM is a circuit-
switched technology that was originally designed for voice communication. It divides the
available frequency spectrum into channels, with each channel reserved for a single
conversation. When a user makes a call, a dedicated circuit is established between the two
parties for the duration of the call. While GSM can also support data transmission, it is limited
to relatively low speeds, and data services are typically charged based on the amount of time
the circuit is in use [9]. GSM allowed transmission speeds of around 6-10 messages per minute
[10]. The GSM protocol has been already shut down in many parts of the world and mainly
newer 2G protocols such as EDGE and GPRS are the ones that remain operational to this day
[14].
8
reassembled at the destination when all of the packets have been received. Packet-switched
protocols include Internet Protocol (IP) which made it possible for GPRS to support internet
access. Additionally, GPRS improved SMS transmission speeds to about 30 messages per
minute [10].
A5: The most notable GSM encryption standard is A5. It is used to encrypt wireless
transmissions between the mobile station and the base station. A5/1 and A5/2 were developed
in the 80s and in 1999 their protocols were reverse engineered and revealed [2].
● A5/0 - Indicates that there is no encryption used and messages are sent between
the MS and BTS in plain text. This allows for anyone who listens on the
specified frequency to gather sensitive information [2].
● A5/1 - The cipher used to encrypt messages with this algorithm can be cracked
within seconds with today's technology [2].
● A5/2 - Extremely weak cipher that can be cracked in real-time. Discontinued
since 2006 meaning no phones made since 2006 support A5/2 [2].
● A5/3 - This cipher can be cracked within 2 hours on a relatively weak PC [15].
It is unknown if anyone has successfully applied this attack in a real-life
environment [2].
The A5/0 standard is especially important in the context of this research. This means that the
rogue base station can communicate to the phone that it supports only A5/0 encryption.
9
Therefore the communication, like SMS messages and calls, can be easily intercepted without
the need of further processing (e.g. deciphering).
The standard is called the International Mobile Telecommunications for the year 2000 (IMT-
2000) [9]. The most important improvement in 3G is security. Compared to earlier 2G, now
mutual authentication is required. With mutual authentication mobile phones verify the base
station’s identity with challenge-response protocol and vice versa. This is achieved by solving
cryptographic challenges on both sides that require secret keys [16]. 3G has also significantly
improved data transmission rates which allowed mobile television and video conferencing
features. Several 3G standards and protocols exist such as Universal Mobile
Telecommunication System (UMTS), High Speed Packet Access (HSPA) and many more
which made downlink (from base station to phone) data rates of up to 42 Mbit/s possible [10].
The requirements for the fourth-generation mobile network data transmission speed is up to
100 Mbit/s while moving (e.g. in a car or train) and up to 1 Gbit/s while stationary [9]. 4G
offers better security as opposed to 3G. 4G internally is mainly IP-based which makes it
possible for more end-to-end encryption via Ipsec protocol. Ipsec provides overall more
authorization by ensuring that only authorized users can access data resources [17]. In 2023,
70% of all the phone call volume in Estonia flows through 4G mobile networks making it the
most popular generation in the country [13]. 4G is also the most dominant mobile network in
the world [12].
10
1.2.6 5G (fifth-generation networks)
Global mobile network operators started launching new 5G networks in early 2019. The fifth-
generation network (5G) introduced higher peak data rates up to 20 Gbit/s based on the IMT-
2020 requirements. It makes 5G around 20-30 times faster than 4G. 5G also introduced
counter-measures to IMSI-catchers by encrypting the sensitive user identifier SUPI (same as
IMSI in 2G) [18]. However, a work published in 2021 proves that targeted tracking of specific
users in 5G networks remains possible [19].
Overall, 2G was chosen as the focus of this research due to its lack of mutual authentication,
broken encryption and worldwide adoption.
The Mobile Station (MS) is a device capable of communication using the 2G network. In order
for the MS to connect to a legitimate base station a valid SIM card is required. A SIM card is
a separate component of the MS which stores the IMSI to identify the user of the network. The
11
hardware used for receiving and sending data via 2G is called the mobile equipment (ME). The
ME can also be uniquely identified thanks to the IMEI stored on it [10]. On mobile phones it
is usually explicitly displayed on the backplate of the phone. The IMEI can also be viewed on
most phones by dialing *#06# [20].
The Base Transceiver Station (BTS) is what relays information to the MS and vice versa. A
BTS is also referred to as a “cell tower” and covers a certain cell in a cellular network. Grouping
of the BTS in cells is determined by various factors such as population density in a given area
[2].
The Base Station Controller (BSC) covers multiple base stations. BSC is responsible for
handling handover procedures between different base stations under its control. If one of the
BTS is not connected to the same BSC then the handover is handled by the Mobile Switching
Center [2].
The Mobile Switching Center (MSC) is responsible for managing the authentication and
routing of calls and SMS. As a result it needs to communicate with the Public Switched
Telephone Network (PSTN). The PSTN is a combination of different landline networks used
worldwide. The MSC is also responsible for inter-BSC handover procedures [10].
The Home Location Register (HLR) is used for storing sensitive subscriber data such as
IMSI, phone number and other white-list information [2]. IMSIs can be used for location
tracking of an individual, therefore this information is considered sensitive.
The Visitor Location Register (VLR) holds active subscriber data for MSC connections.
Temporary Mobile Subscriber Identity (TMSI), which is an alias for the IMSI is one such
example. TMSI makes it more difficult for malicious actors to identify network subscribers [2].
The Authentication Center (AUC) purpose is to manage authentication to the network. The
AUC stores every registered network subscriber private key used for cryptographic
authentication. The same key that is embedded in the SIM card is used to solve cryptographic
challenges that are generated by the AUC [10].
The Equipment Identity Register (EIR) is a service that contains IMEI numbers of banned
or stolen mobile equipment. The EIR is not always implemented in every network [10].
However, various internet resources exist where it is possible to check if a certain ME device
is reported as stolen by providing the IMEI. The IMEI can also give out potentially sensitive
information about the device such as manufacturer, model etc [20]. Since IMEI is transmitted
to the BTS upon connection, it can be used for tracking as well making this data sensitive.
The Serving GPRS Support Node (SGSN) is responsible for handling all packet-switched
data inside the network. The SGSN handles authentication of GPRS devices and routing data-
packets to and from the MS. The SGSN's purpose is similar to that of the MSC. However, in
contrast to the SGSN, the MSC is circuit-switched. In practice this means that MSC is mostly
used for routing calls and the SGSN for managing packets of internet origin [10].
The Gateway GPRS Support Node (GGSN) is an interface for external packet-switched
networks (e.g. the internet). The GGSN routes data coming from a mobile station to the
corresponding packet-switched network. Similarly, any data coming from outside the network
uses the GGSN as an entry in order for the information to reach the mobile station [10].
Now that the main components of the GSM network were described, a history of cellular-site
simulators will be given. Rogue base stations were exploiting GSM security vulnerabilities for
decades and the next section is going to give a brief chronological overview of that.
12
1.4 History and Usage of Cell-Site Simulators
The use of cell-site simulators dates back to the early 1990s when the United States Federal
Bureau of Investigation (FBI) began using devices manufactured by the Harris Corporation to
track the locations of suspects. In the years that followed, cell-site simulators became small
enough that they could covertly be mounted on top of a vehicle [3].
In 2001 Harris Corporation filed a trademark registration for a device called the Stingray, which
was one of the first portable cell-site simulators (See Figure 6). The Stingray was about the size
of a briefcase and could be used to intercept cell phone signals and collect international mobile
subscriber identities (IMSIs). Stingray has become a catchphrase for IMSI-catchers although
Harris Corporation has introduced other models. One of such models, the Amberjack, came
equipped with built-in magnets so that it could be attached to the roof of a law enforcement
vehicle [3].
The use of cell-site simulators by law enforcement agencies became more widespread in the
2010s. In 2015, the American Civil Liberties Union (ACLU) obtained documents that revealed
that the FBI was using cell-site simulators to track the locations of suspects without obtaining
a warrant. The use of cell-site simulators without a warrant raised concerns about privacy and
civil liberties [22].
In 2015, the United States Department of Justice (DOJ) issued a policy requiring law
enforcement agencies to obtain a warrant before using cell-site simulators in most cases.
However, there are exceptions to the warrant requirement, such as in cases involving national
security or in situations where obtaining a warrant would be impractical [23]. Despite the newly
imposed regulations on the use of CSS, several law-enforcement agencies have failed to
comply [24]. United States federal agencies such as the Secret Service and Immigration and
13
Customs Enforcement (ICE) have deployed cell-site simulators without proper authorization
and in violation with the law [25].
Today, CSS are widely used by law enforcement agencies not only in the United States but
also all around the world. It is also fair to assume that CSS are actively used not only for
domestic surveillance but also for international operations. One notable incident happened in
Estonia in 2015. Norwegian military portal Aldrimer states that Russian Special Forces
operated a fake base station in Pärnu during NATO exercises [26]. An unknown mobile base
station was allegedly deployed near the territory where the exercise took place. Estonian law-
enforcement agencies refused to comment on the Aldrimer report and overall the article was
met with criticism due to logical inconsistencies in the report [27].
In conclusion, CSS technology has been known to law-enforcement for over two decades and
is being widely used around the world. Technical capabilities of commercial-grade CSS remain
largely unknown due to non-disclosure agreements between vendors and buyers. Therefore it
is up to researchers and interested individuals to unravel technical mysteries of commercial
CSS. With the emergence of cheap hardware it became possible to build CSS in home
environments. CSS usage in the hands of the public will be discussed in section “Related
work”.
The specific SDR used for this research will be explained in section 2.2.2.
15
2. Research Setup
Research at hand will focus on easy-to-setup rogue base station implementation. Therefore a
minimum amount of hardware will be selected. Since SDRs are a lot cheaper to implement
than traditional hardware radio equipment, an SDR will be chosen. SDRs also provide more
flexibility since they support a large variety of different protocols and applications [28].
Additionally, software used should be preferably open-source to lower costs of the rogue base
station deployment.
2.1 Software
In software-defined radios software is, of course, the most important part as it implements
various network protocols, does signal processing and much more. The SDR software must be
supported by the underlying operating system as well. This section explains what BTS software
was chosen and why as well as the computer operating system that supports it.
2.1.1.1 OpenBTS
OpenBTS is the first free open-source implementation of a base station. It was also the choice
of the aforementioned Chris Paget DEF CON presentation in 2010 [4]. OpenBTS supports
GSM and GPRS but not EDGE. Initially it was designed for the Ettus Research USRP board
but over time the list of supported devices grew, including Nuand BladeRF [10]. The last major
source code updates were made 7 years ago in 2016 and the official website openbts.org seems
to be non-functional at the moment of writing [30].
2.1.1.2 YateBTS
Yet Another Telephony Engine Base Transceiver Station (YateBTS) was released in 2014 as a
fork of the OpenBTS project. The goal of YateBTS was to improve on OpenBTS by removing
external dependencies and introducing modular design for easier functionality extension [10].
Like OpenBTS, YateBTS does not support EDGE mobile network protocol. YateBTS offers a
Network in a PC (NIPC) demo javascript application which makes it easy for GSM BTS
configuration. YateBTS also provides superb support for the Nuand bladeRF [34]. YateBTS
official website as of date is operational, unlike OpenBTS. The website also mentions a Github
repository with a last commit made in 2021 [34]. There are various research articles [2], [10]
16
and community content available [35] which makes it a viable choice for a BTS setup. After
careful consideration, YateBTS was chosen for the 2G architecture software implementation.
2.2 Hardware
To build the BTS, two pieces of hardware components had to be selected. First of all a host
device (e.g. laptop) was selected that is powerful enough to facilitate BTS calculations as well
as other hardware component connectivity. Secondly, a software-defined (SDR) radio was
chosen which is going to be responsible for transmitting and receiving signals simultaneously.
In addition, it might be useful to monitor signals sent from the rogue BTS on the
electromagnetic spectrum. Rogue BTS SDR component is not capable of monitoring itself
while operating because it will be dedicated to serve BTS purposes only. Therefore additional
SDR for monitoring was required.
2.2.2 SDR
When BladeRF launched in 2013 as a kickstarter project it was one of the most powerful
software-defined radios available at the time. 10 years have passed since its kickstarter launch
and the company behind it, Nuand, has made several improvements on the BladeRF as well as
introduced new versions of it [36]. One of the most key-features of the BladeRF is that it can
operate in full-duplex mode [37]. This implies that the device can send and receive signals in
parallel, which is essential when building a BTS.
BladeRF was chosen as the SDR due to its excellent compatibility with YateBTS [34] and
previous work availability [2], [10]. There are, however, different versions of BladeRF. The
main price difference lies in the size of their Field-Programmable Gate Array (FPGA). An
17
FPGA is a programmable digital hardware component that can be used to implement various
signal processing functions, such as filtering, demodulation and channel coding [10]. In
BladeRF it is used in conjunction with a high-speed Analog-To-Digital Converter (ADC) to
digitize the Radio Frequency (RF) signal received by the BladeRF antennae [37]. In practice,
having a larger FPGA means more available resources for complex signal processing
algorithms. Only the cheapest BladeRF devices will be compared since there are no intentions
to write custom software for the FPGA (See Table 1). In addition, YateBTS comes bundled
with FPGA firmware images that work with both versions.
Table 1. BladeRF x40 and xA4 comparison, specifications taken from official webpage [38].
Both BladeRF models are suitable for building a rogue base station. For the availability
reasons, BladeRF xA4 was chosen for the build.
bladeRF> info
bladeRF> version
Listing 1. Checking device connectivity and version info with bladeRF-cli tool.
The --probe command allows testing device connectivity. If successful, the bladeRF-cli will
be able to identify the SDR and print out its information. The info command is useful to make
sure that the FPGA image was loaded for smooth BTS operation. The bladeRF-cli offers a
version command as well which is helpful in case of troubleshooting.
19
2.3.3 Loading FPGA Image
Thirdly, the FPGA image for the BladeRF is loaded. To ensure smooth operation of the device-
specific FPGA image should be chosen. See Listing 2 for FPGA image loading with bladeRF-
cli. It is not recommended to rely on the autoload feature and therefore the FPGA image should
be loaded after every device boot.
georg@dragon:~$ cd /usr/src/yate-rc-3/
georg@dragon:/usr/src/yate-rc-3$ ls -la
total 23944
drwxr-xr-x 2 root root 4096 okt 11 2022 .
drwxr-xr-x 136 root root 4096 apr 17 14:50 ..
-rw-r--r-- 1 root root 3571462 okt 11 2022 hostedx115.rbf
-rw-r--r-- 1 root root 1191788 okt 11 2022 hostedx40.rbf
-rw-r--r-- 1 root root 2632660 okt 11 2022 hostedxA4.rbf
-rw-r--r-- 1 root root 4244820 okt 11 2022 hostedxA5.rbf
-rw-r--r-- 1 root root 12858972 okt 11 2022 hostedxA9.rbf
-rw-r--r-- 1 root root 2360 okt 11 2022 README
georg@dragon:/usr/src/yate-rc-3$ bladeRF-cli -l hostedxA4.rbf
Loading fpga...
Successfully loaded FPGA bitstream!
Listing 2. BladeRF micro 2.0 xA4 FPGA firmware image loading with bladeRF-cli tool.
In Listing 2 various FPGA images are visible. All the FPGA images listed came with YateBTS.
For this research hostedxA4.rbf was chosen because the SDR is BladeRF xA4. For example,
if a different BladeRF was chosen then the procedure would be identical except for the target
FPGA image.
20
Figure 8. BladeRF listening on 98.6MHz (RetroFM station [45]) in Gqrx.
Testing BladeRF signal reception capabilities is needed because the base station will need to
be able to receive signals from the phone. Successful signal reception raises confidence in the
overall setup compatibility.
Before starting the SDR software YateBTS, it can be configured with the NIPC Web GUI
application. NIPC application makes it easy to configure BTS parameters such as broadcasting
frequency, signal strength and much more. NIPC application will be available at
http://localhost/nipc/ after the apache server has been started (See Listing 4).
21
The most important 2G parameters that are tunable through the NIPC, as shown in Figure 9,
will be discussed below:
● Radio.Band is the frequency range on which the BTS will operate. Valid values are
GSM850, EGSM900, DCS1800 and PCS1900. Numbers in the frequency band usually
refer to approximate frequencies in MHz on which the tower operates. For example
EGSM900 will start at 935 MHz downlink and 890 MHz uplink. All listed options are
suitable for GSM. Explanation was taken from the NIPC application [34].
● Radio.C0 is the Absolute Radio Frequency Channel Number (ARFCN) and is a unique
number for the channel on a radio band (e.g. GSM850). If the ARFCN is known, it is
possible to calculate the downlink frequency and the the uplink frequency of a BTS.
[10]
● Identity.MCC is the Mobile Country Code (MCC) which represents the country of
origin of the base station. The MCC is always three digits in length. For Estonia, the
MCC is 248 (See Figure 12). Not to be confused with calling code which is used to
identify the country to which the call is being made (e.g. +372 in Estonia).
● Identity.MNC is the Mobile Network Code (MNC) which is a two or three digit code
that is used to identify mobile network operators in a specific country. For example an
Estonian network operator Elisa is 02.
● Identity.LAC is the Location Area Code (LAC) which is a two byte value that
identifies a cell group. The LAC is important for geographical tracking. [7]
● Identity.CI is what identifies the BTS within a LAC. [7]
● Identity.ShortName is used to display network names when display space is limited.
In YateBTS version 6.2.1-devel1 it is not used.
● Radio.PowerManager.MaxAttenDB is the maximum attenuation of the transmission
signal strength from the full output power. This parameter sets the minimum output
power of the SDR. Values can range from 0 dB to 80 dB. The bigger the value the less
output power. [10]
● Radio.PowerManager.MinAttenDB is the minimum attenuation of the transmission
signal strength from the full output power. This parameter sets the maximum output
power of the SDR. Possible values are the same as in maximum attenuation parameter.
To achieve maximum output power of the SDR both MaxAttenDB and MinAttenDB
need to be set to 0. [10]
22
Figure 9. GSM parameters for YateBTS.
The ARFCN parameter was chosen by looking at the radio frequency spectrum with the
monitoring SDR. An empty ARFCN channel was picked for the rogue BTS. Before starting
the BTS, a test IMSI filter (See section 2.4.1) was configured. Lastly, Listing 5 shows how
the yate command was used to start up the base station and the output of the command when
it is successful.
23
georg@dragon:~$ sudo yate
[sudo] password for georg:
Yate (4119) is starting Thu Apr 27 00:11:52 2023
Loaded module Analyzer
Loaded module iLBC - based on iLBC reference library
Loaded module YRTP
...
2023-04-27_00:12:02.481239 <mbts:NOTE> proc 4148
TRXManager.cpp:153:sendCommandPacket: thread 139896820266816:
this:0x5618d143f500 response RSP RESET 0 to command CMD RESET 1
2023-04-27_00:12:02.481285 <mbts:NOTE> proc 4148
TRXManager.cpp:127:sendCommandPacket: thread 139896820266816:
this:0x5618d143f500 command CMD STATISTICS OFF
After starting the BTS, the HackRF SDR was used to see outgoing transmission (downlink
frequency) signals from the base station. Since it was not possible to transmit and receive
signals on different devices simultaneously on one host operating system, an additional laptop
with Linux operating system and Gqrx installed was used. BTS was clearly visible on the
visualized graph provided by the Gqrx (See Figure 10).
24
On Figure 10 it is visible how YateBTS ARFCN parameter affects the frequency that the BTS
operates on. While monitoring SDR was running YateBTS was started and then stopped. After
stopping the BTS, ARFCN parameter was changed through NIPC Web GUI and then YateBTS
was started back again.
2.4 Ethics
Since experiments are conducted on the shared radio frequency spectrum it is important to
ensure that only devices participating in this thesis are affected. This section will go over
methods used to prevent interference with non-participating devices.
25
Figure 11. SIM information viewed through SIM Card Info application on different phones
In the example above IMSI and ICCID were blocked by Android version 10+ (Figure 11 right).
On Android 10+ this information is considered sensitive and is blocked from the viewer. With
the older Android, on the other hand, this information is clearly visible (Figure 11 left).
Therefore if an old android phone is available IMSI information can be viewed with SIM Card
Info application [46].
First of all, several hardware components serve as a prerequisite for this method:
● SIM card
● pySim compatible smart card reader
26
It is also important to have the SIM card’s protected PIN1 or PUK1 at hand, otherwise it will
be impossible to obtain IMSI information from the SIM due to authorization issues.
Furthermore, the pySim python tool needs to be installed. See Appendix 1 for pySim
installation.
After installation, the pySim interactive shell (pySim-shell.py) needs to be started with the -p0
flag so that script scans for smart cards (See Listing 6). If the smart card reader uses a different
slot, then a different flag might be needed.
Now it is possible to authenticate to a SIM card and print out the IMSI. Listing 7 shows the
steps required to obtain the IMSI:
1. The verify_chv command is used to authenticate with PIN1 of 1234
2. The dir command is used to list directories present
3. The select command is used to navigate to the directory where the IMSI is located
4. Lastly, read_binary_decoded command is used to read contents of the file
27
pySIM-shell (MF)> verify_chv 1234
CHV verification successful
pySIM-shell (MF)> dir
MF
3f00
. ADF.USIM DF.GSM EF.ARR EF.ICCID EF.UMPC
ADF.ISD DF.EIRENE DF.TELECOM EF.DIR EF.PL MF
12 files
pySIM-shell (MF)> select ADF.USIM
...
pySIM-shell (MF/ADF.USIM)> dir
MF/ADF.USIM
...
EF.CNL EF.IMSI EF.PNNI
EF.DCK EF.IPS EF.PSLOCI
EF.ECC EF.Keys EF.PUCT
105 files
pySIM-shell (MF/ADF.USIM)> select EF.IMSI
...
pySIM-shell (MF/ADF.USIM/EF.IMSI)> read_binary_decoded
{
"imsi": "24802**********"
}
In Listing 7, the IMSI was intentionally hidden due to it being sensitive information. PySIM
also features pySim-read.py which can be used to give a summary of the card. However, it
does not support authentication and therefore pySim-shell.py should be used.
28
georg@dragon:/usr/local/share/yate/scripts$ telnet localhost 5038
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
YATE 6.2.1-devel1 r (http://YATE.null.ro) ready on dragon.
nipc list rejected
IMSI No attempts register
--------------- ---------------
24802********** | 1
The NIPC command nipc list rejected showed one rejected registration attempt after booting
up the phone. The IMSI from the command-line was identical to IMSI gathered via the pySim
tool.
To validate results, the same test was conducted once again but this time with a registered user.
As a result, the phone successfully connected to the BTS. This meant that the IMSI filter was
working as intended by allowing only registered IMSIs to access the network.
2.4.2.1 Building
Considering the fact that professional faraday cages are expensive (between 1000€ and 2000€)
[10] and cheaper laptop bag options cost more than 100€ [49], an attempt to build a homemade
faraday cage was made. A NATO ammunition box was chosen as it is spacious enough for
both phone and the BTS and costs around 10€. Next, the rubber seal was removed and the seal
area was sanded down to bare metal. Box lip was also sanded down to bare metal in order to
achieve electron flow from the lid of the box to the main case. That is important as NATO
ammunition boxes are painted which act as an insulator and affect electron flow. Then the seal
area was stuffed with aluminum foil and cardboard insulation was added on the insides of the
cages in order to reduce equipment coming in contact with the box (See Figure 12).
29
Figure 12. Ammo box faraday cage step-by-step tutorial [50].
It was not possible to place the BladeRF alongside the phone in the cage because the SDR
would need to be constantly connected to the laptop. In order to address that issue 2 holes were
drilled into the faraday cage to facilitate cable management. Thomas Veens, in his research,
has brought up the rule of thumb for “significantly small” holes that are allowed inside the
faraday cage [10]. He concluded that holes in the cage can be a maximum of 1/10th of the
wavelength. Within the context of this research this resulted in about 1 cm wide holes [10].
Two holes were drilled, one for a USB Type-C phone and the other for the BladeRF SDR. The
phone cable hole allowed the phone to be connected to the laptop. With Scrcpy software it is
possible to screencast phone screens to the laptop which makes it more convenient to see the
current status of the phone screen [51]. BladeRF SDR USB 3.0 SS cable was significantly
larger than the USB Type-C cable because of the port housing. To mitigate the problem and
stay in the rough 1cm requirements a hole for the port was drilled rather than the housing. This
solution didn’t allow for the cable to fully go inside the cage, however it was still possible to
connect the BladeRF provided it was close to the cage wall.
30
increased stability of blocking incoming signals. However, cables still needed to be present in
order for the rogue base station to operate. After connecting all the cables to the laptop and
closing the faraday cage a major difficulty emerged. Cables were acting as an antennae and
routing radio frequency signals inside the faraday cage which made the phone to have a stable
4G connection with a legitimate base tower. Thomas Veens faced the similar issue in his
research [10].
To mitigate this issue he used ferrite cores which helped reduce external radio frequencies
being channeled into the faraday cage. Unfortunately in the context of this research off-the-
shelf ferrite core availability was highly limited. Therefore cheap (2.50€ per piece) and only
available off-the-shelf ferrite beads were used. A total of four such beads were used around the
cables in various combinations. Unfortunately, they did not yield any result, the mobile phone
was still connected to a legitimate base tower without any issues. The same result appeared
with BTS signal reception. The BTS was tested with Gqrx software by listening on nearby
radio stations. Radio station signal strength appeared to be the same on the visualized graph
inside or outside the faraday cage. For additional insulation more aluminum foil was placed all
around the insides of the faraday cage in order to reduce external signals present in the cage.
Aluminum foil was positioned behind the cardboard on all sides of the faraday cage so that
equipment would not come into contact with the foil. Sadly, this did not affect the connection
either.
31
SDR was set up to monitor the rogue base station transmission signal strength. Unfortunately
it was not possible to operate both the monitoring SDR and base station on the virtual machine
simultaneously. The monitoring SDR would not pick up the rogue base station transmissions.
To mitigate this, the HackRF was connected to an additional laptop running Linux with Gqrx
installed. With a new host device for the monitoring SDR it was possible to see outgoing signals
from the BladeRF in Gqrx. For testing purposes, BladeRF maximum attenuation parameter
was set to 45 and minimum attenuation parameter to 40. After starting up the BTS inside the
faraday cage, HackRF picked up signals in Gqrx. Next, the BTS was placed outside the faraday
cage with the same distance from the monitoring SDR. Now it was easy to compare the signal
strength of the BTS inside and outside the faraday cage. As shown in Figure 14, signals emitted
by the BTS appear to be of the same strength outside and inside the faraday cage.
Figure 14. BTS signal strength inside and outside the faraday cage.
Unfortunately, the faraday cage did not affect incoming signals nor outgoing signals with
cables attached to the equipment inside.
32
3. Experiments and Investigation
3.1 User Equipment
All the experiments were conducted with the author's equipment only. In order to simulate
different possible mobile stations three phones were selected. This section will provide their
relevant technical specifications as well as reasons for why they were picked.
3.2 Experiments
This section will cover all the experiments conducted with the aforementioned rogue base
station and user equipment. Various functionalities of the YateBTS will be tested to see how
viable these solutions are in the real world.
33
3.2.1.1 Reconnaissance
In order to mimic a specific base station it is necessary to gather data regarding that BTS.
Otherwise it is unknown to what values rogue BTS parameters should be configured. For this
purpose Network Cell Info Lite application was installed to Xiaomi Mi 9 Lite [52]. First of all,
the modern phone preferred network type was set to GSM only. Such preference setting is
necessary because rogue BTS will operate in GSM mode. Secondly, the phone was
automatically connected to the legitimate Elisa base station. Thirdly, information regarding
that base station was viewed in the RAW tab of the Network Cell Info Lite application (See
Figure 15).
Figure 15. Elisa base station information viewed in Network Cell Info Lite
From RAW tab information it was possible to gather operator name (Elisa), mobile network
protocol (2.75G EDGE), mobile country code (248), mobile network code (2), location area
code (41) as well as CID (51249). Furthermore, this particular base station was also advertising
a list of neighboring base stations to connect to. The most important parameters for spoofing
are MCC and MNC because combined they identify a network operator as well as the country.
3.2.1.2 Spoofing
After openly available base station parameters were gathered it was possible to tune rogue BTS
accordingly. In particular, the MNC, the MCC, and the LAC were configured to match the ones
of Elisa’s. However, to test the importance of the MNC parameter, at first, it was configured
to 022 instead of 02. Therefore all the phones were tested both with the correct and incorrect
MNC. In this context, incorrect means that the MNC did not match Elisa’s MNC. After the
34
BTS was configured, an empty ARFCN channel was picked in order not to interfere with
existing base stations. Picking an empty ARFCN channel involved scanning the radio
frequencies with the monitoring SDR. The MS and the BladeRF were placed inside the faraday
cage and the YateBTS was started.
Random MNC
For this test, the MNC was set to 022. With the LTE network mode preferred (phone default
setting), the modern phone did not switch to the rogue base station. Even after the power cycle
(turning it off and on), Xiaomi preferred faster 4G connection. Changing location area code to
trick the phone into thinking that it has moved to a new location did not work either. Legitimate
base stations advertise neighboring BTS lists to help the MS to switch to another legitimate
base station in case the one the phone is connected to loses connection. This neighbor list can
be viewed at the bottom of Figure 15. This makes it even more difficult to make modern phones
connect to the rogue BTS. Modern phones don’t do full base station scans in order to increase
power efficiency, they just switch to the last advertised neighbor [33].
To simulate areas with only the GSM networks available, the modern phone was set into the
GSM only mode. Even then it required many attempts for the phone to pick up the rogue BTS.
Changing the BladeRF transmission power with attenuation parameters did not have any effect
either. After switching to airplane mode and back as well as setting network selection to
manual, the modern phone finally showed the rogue BTS as a possible base station to connect
to. Figure 16 shows two different states, when the rogue BTS is not running (on the left) and
when the rogue BTS is booted up (on the right). When the modern phone showed the rogue
BTS as a possible cellular network to connect to, for some reason, it didn’t show a real Elisa
base station as an option. Additionally, the rogue BTS network name appeared substantially
different from other operator’s base stations when viewed through phone. It turned out that
YateBTS set MCC and MNC as the network name. Interestingly, the network name parameter
was not a configurable option in YateBTS.
35
Figure 16. Modern phone registering to the spoofed BTS.
However, after the modern phone picked up the rogue BTS, it had many difficulties with
registering to the BTS. Most of the time, registration either timed out or failed completely. It
was, however, possible for the modern phone to connect to the rogue BTS network. A welcome
SMS, shown in Figure 17, was sent from the YateBTS to confirm successful connection with
the BTS.
36
Figure 17. Welcome SMS from YateBTS.
When first registered to the network, the YateBTS provides a welcome SMS message which
includes useful information for testing. Firstly, the SMS message includes an allocated phone
number which can be used for calling on the network. Additionally, the YateBTS features
David’s phone number for testing purposes. When calling David, a prerecorded welcome audio
starts playing, congratulating the user for installing the YateBTS. A mobile phone is
successfully connected to the rogue BTS if David can be called.
Correct MNC
This time, the MNC was set to 02. When the modern phone was configured to LTE mode
preferred, results were the same. The modern phone always preferred faster mobile networks
instead of the spoofed second-generation one. Additionally, results stayed the same if the phone
was already connected to the real base station or power-cycled. Based on these results, it is safe
to assume that modern phones usually prefer faster generation networks if they are available.
Interesting results were obtained with GSM only mode. When booted up the modern phone
automatically connected to the rogue base station instead of the real Elisa one. This was
particularly interesting because Elisa supported 2.75G technology whereas rogue BTS only
2.5G. On the other hand, if the phone was already connected to the Elisa base station it did not
switch to the rogue BTS even though the transmission signal was better with the latter. This
time, the rogue BTS name was also indistinguishable from the real Elisa base station.
37
Random MNC
In the first test, the Estar X18 was already connected to a legitimate Elisa base station. Then,
the YateBTS was started. The phone remained connected to the Elisa base station and did not
switch to the rogue BTS. Changing location area code also had no effect on the phone’s
connection. This is most likely due to the phone not performing full surrounding network scan
and therefore it did not spot the rogue BTS.
In the second test, the phone was turned off and YateBTS was started. After booting up the
phone, it had successfully chosen the rogue BTS. This is highly likely due to the phone
performing a full surrounding base station scan. Welcome message was received and it showed
almost the same network name as on the modern phone (See Figure 18). The only difference
was suffix _elisa EE. It is unknown why the phone decided to append the suffix to the network
name. After checking manually other possible network operators on the Estar X18 it showed a
legitimate Elisa network as well, whereas the modern phone did not.
Correct MNC
Changing the BTS MNC parameter to 02 and performing the test once again yielded different
results. This time, the Estar X18 connected to the fake base station once again but the network
name was correct and mimicked that of a real one, as shown in Figure 19.
38
Figure 19. Estar X18 connected to the rogue base station with 02 MNC.
The Estar X18 connectivity to rogue BTS was visually indistinguishable from if it was
connected to the real network. Therefore, to ensure that it was indeed a rogue BTS, the
connection needed to be verified. Easiest method was to call a number provided by the
YateBTS for testing purposes. Testing number is provided in the welcoming message when the
phone initially connects to the network. After calling the test number, the YateBTS
confirmation message was heard. This meant that the spoofing experiment was successful.
Same tests were conducted with an older Motorola C115 mobile phone. Results were mostly
the same. The only difference was that it had more problems with connecting to the rogue BTS
compared to the Estar even after startup. Network name was indistinguishable from the real
Elisa base station as well.
In conclusion, other faster mobile networks posed a major difficulty for the phones to connect
to the rogue BTS. The more the other networks were disrupted (e.g. placing phones inside the
faraday cage), the easier the phones connected to the rogue BTS. This means that spoofing a
legitimate base station in areas where there is no cellular connection such as tunnels or metros
would be effective. Testing phone connectivity with the rogue BTS by using random MNC
instead of a real Elisa’s MNC showed the importance of setting the MNC correctly. Otherwise
phones tend to pick real base stations instead. When connected to the rogue BTS, phones are
susceptible to more sophisticated attacks such as SMS-phishing.
39
3.2.2 SMS-phishing
SMS-phishing, also called smishing, is a type of text message fraud which focuses on luring
victims into revealing account information or installing malware. Cybercriminals use this
technique by disguising themselves as a trustworthy organization (e.g. bank) or a reputable
person in a text message [53]. The YateBTS is capable of sending SMS and even features a
welcoming SMS message, therefore it might be possible to use YateBTS with an intent of
smishing. This section explores the idea of smishing with YateBTS.
The YateBTS software has a built-in feature to send welcome SMS messages to whatever
device that joins the network. It is similar to those messages that mobile phones receive when
entering a foreign country. The YateBTS welcome messages tell the mobile station their
allocated phone number as well as test number for calling (See Figure 20). Unfortunately, this
message is not a configurable parameter. However, since the YateBTS is open-source it is
possible to modify the source code in order to send out custom welcome SMS messages (See
Figure 20).
40
After configuration of the SMS, it was tested on an old and modern phone by starting YateBTS
and rebooting both mobile stations. Figure 22 shows a default welcome SMS message sent by
YateBTS on the left (marked green) and the same message but customized on the right (marked
red). It was necessary to remove aggregated IMSIs from the tmsidata.conf file to trick rogue
BTS into thinking these devices are connecting for the first time. This was needed to test the
welcome SMS messages.
Unfortunately, configuring a unique caller ID was not possible. Substituting NIPC number with
a string on source-code level resulted in a blank number. In conclusion, this experiment has
proven that smishing is indeed a plausible phishing attack which is possible with YateBTS. It
is however, important to keep in mind that the victim's phone must register to the rogue BTS
network for the message to be received by the victim.
3.2.3.1 Prerequisites
First of all, several YateBTS parameters need to be configured for SMS interception to take
place. By default, YateBTS does not encrypt traffic between the phone and the rogue BTS.
This allows for exchanged traffic to be viewed in plaintext, including SMS. This is a
configurable parameter in YateBTS so it needs to be set to default no encryption setting. Next
important parameter is the GSM tapping (See Figure 23), which is turned off by default.
41
Figure 23. YateBTS GSM tapping parameters viewed in Web GUI.
This setting needs to be turned on for easy traffic interception of the GSM network.
Additionally, Wireshark or Tcpdump needs to be installed for analyzing GSM traffic.
Fortunately, DragonOS comes preinstalled with both aforementioned tools.
Secondly, YateBTS rogue base station was started. Thirdly, two registered mobile stations were
connected to the BTS. Then, one phone sent an SMS containing text to another registered
phone. After closing the Tcpdump tool it was possible to analyze captured packets with
Wireshark by opening the generated .pcap file (See Figure 24).
42
Figure 24. Captured SMS packet viewed in Wireshark.
Packets were filtered by a gsm_sms filter which helped to find packets containing SMS
messages more easily. The message sent from one phone to another was clearly visible in
plaintext in the Wireshark. Another test was conducted where the recipient phone number was
not registered on the network. Messages sent over the GSM network were still easily read in
plaintext. In conclusion, SMS interception in YateBTS is possible when SMS is being sent by
a MS that is registered on the network.
3.2.4 IMSI-catching
IMSI-catcher’s main goal is to collect the IMSIs and therefore compromise subscribers' privacy
and non-traceability [33]. The IMSI is tied to the subscriber of the SIM card and therefore can
be used to identify an individual. IMSI-catching attacks usually lay the foundation for further
more sophisticated attacks such as tracking specific users in geographical areas, mass-
surveillance, eavesdropping and many more [55]. To limit the scope of this research, only
IMSI-catching capabilities of the YateBTS will be tested.
In the GSM networks, there is no mutual authentication. However, mobile stations still need to
be verified by the BTS in order for the network operator to know who the subscriber is. As a
result, the IMSI is sent to the BTS when MS first registers. Furthermore, BTS stores IMSI
information in the VLR component. Considering that YateBTS is a full software network
implementation means that whoever runs the BTS also has access to the VLR and the IMSI as
a result. In order to view subscriber information, including IMSIs, tmsidata.conf file can be
viewed as seen in Listing 9. IMSIs, as well as other sensitive information is intentionally hidden
in Listing 9.
43
[tmsi]
last=007b0004
[ues]
248022*********=007b0002,35453**********,372*******,1683******,ybts/TMSI
007b0002,1682788870
248022*********=007b0002,35453**********,372*******,1683******,ybts/TMSI
007b0002,1682788870
248022*********=007b0003,35453**********,372*******,1683******,ybts/TMSI
007b0003,1682882230
248022*********=007b0004,35825**********,372*******,1683******,ybts/TMSI
007b0004,1682865809
First column represents subscriber IMSIs, whereas the second column represents IMEIs. IMEIs
uniquely identify a mobile phone, which also can be used to track individuals. For example
Russia used IMEI codes for this exact purpose. Finns were interrogated upon entering Russia
to reveal their IMEI codes [56]. Later, this information can be used to track individuals by
checking which base stations the phone connected to [56]. Third column shows allocated phone
numbers in the YateBTS network. Fourth column is most likely used for the current epoch
timestamp. Fifth column is TMSI assigned by the rogue BTS. Last column is most likely epoch
time when the phone first registered.
44
switches to 2G in a country where there are no legally operated 2G base stations indicates that
there is a risk of a rogue BTS.
45
4. Conclusion
For this thesis, various cellular network generations were discussed and analyzed in order to
build a rogue base station. From them, 2G was chosen as the most suitable mobile network
protocol to be used for the rogue cellular-site simulator. Furthermore, an overview of the 2G
network architecture and its most important components was given. After careful
consideration, base station software implementation YateBTS was chosen. As for hardware,
BladeRF transceiver was selected due to its excellent compatibility with YateBTS. Thesis at
hand also provided a thorough explanation of most important parameters for base station
configuration available with YateBTS.
In consideration of ethics, the YateBTS software-level safeguards were tested and used to
prevent non-participating cellular users from being affected by this research. An attempt to
build a cheap faraday cage was also made to further increase safety of the experiments.
Unfortunately, faraday cage was only able to fulfill its purpose if no cable was attached to the
device. After all the safeguards were put in place and tested, the rogue base station was
successfully deployed.
For the first attack, rogue BTS was configured to impersonate a legitimate Elisa cellular tower.
Results showed that both modern and old phones preferred base stations that they were already
connected to. However, if an old phone was power-cycled, it would immediately connect to
the rogue base station due to its stronger signal. The modern phone, on the other hand, preferred
faster mobile network protocols such as 4G even after it was rebooted. When a modern phone
was configured to the GSM only mode, it would still usually connect to the faster Elisa 2.75G
station. However, at times it would attach itself to the rogue BTS as well. These findings prove
that nowadays with faster networks available it would be rather difficult to get phones to
connect to the rogue base station. Nevertheless, rogue base stations can still perform well in
areas with no cellular connection as it would be the only base station available.
Following successful mobile station attach procedure to the rogue base station, more
sophisticated attacks were carried out. One of them was constructing an SMS phishing message
upon connection to the base station. This required some source code modifications to improve
legitimacy of the message. As a result, every phone that connected to the network received the
aforementioned message. Furthermore, an SMS interception attack was successfully made.
SMS messages were easily readable in plaintext. This includes all the messages sent over the
rogue BTS network.
Possibility of IMSI-catching with the setup was also tested. Gathering an IMSI is a stepping
stone to more sophisticated attacks such as tracking specific users in geographical areas. Rogue
BTS obtained an IMSI and IMEI of every device that has tried to connect to the network and
stored it in a configuration file where it could be easily viewed.
Current study shows that a major difficulty with this setup is to get phones to connect to the
rogue BTS due to rivaling faster networks available. However, once connected, a large plethora
of attacks can be deployed against the connected users. For further work, it would be interesting
to explore possibilities of attacks with software implementations that support faster and newer
generation networks. Additionally, it is possible to expand on the existing setup to see if it can
obtain IMSIs of not only the connected users but also the ones nearby.
46
References
[1] R. Simon, “WHY 2G WANTS TO LIVE FOREVER,” Feb. 14, 2022. [Online].
Available: https://www.cambridgewireless.co.uk/news/cw-journal/why-2g-wants-live-
forever/ (10.04.2023)
[2] K. van Rijsbergen, “The effectiveness of a homemade IMSI catcher build with YateBTS
and a BladeRF,” 2016 [Online]. Available: https://rp.os3.nl/2015-2016/p86/report.pdf
[3] “Meet the machines that steal your phone’s data.” [Online]. Available:
https://arstechnica.com/tech-policy/2013/09/meet-the-machines-that-steal-your-phones-
data/ (15.03.2023)
[4] DEF CON 18 - Chris Paget - Practical Cellphone Spying. [Online]. Available:
https://www.youtube.com/watch?v=fQSu9cBaojc&ab_channel=DEFCONConference
[9] S. Kumar and M. Meraj, “Evolution of Mobile Wireless Technology from 0G to 5G”
[Online]. Available:
https://ijcsit.com/docs/Volume%206/vol6issue03/ijcsit20150603123.pdf
[10] T. Veens, “Automated 2G Traffic Interception and Penetration Testing,” 2018 [Online].
Available: https://pure.tue.nl/ws/portalfiles/portal/130177228/Thomas_Veens.pdf
[12] “2G / 3G / 4G / 5G / NB-IoT / LTE-M – Which to Choose for Your IoT Project?”
[Online]. Available: https://1ot.mobi/resources/blog/gsm-3g-4g-lte-which-one-to-
choose-for-your-iot-project (05.03.2023)
47
[13] “Telia to close its 3G network, competitor Tele2 to wait a few years” [Online].
Available: https://news.err.ee/1608854372/telia-to-close-its-3g-network-competitor-
tele2-to-wait-a-few-years (20.03.2023)
[15] R. Lai, “3G GSM encryption cracked in less than two hours.” [Online]. Available:
https://www.engadget.com/2010-01-15-3g-gsm-encryption-cracked-in-less-than-two-
hours.html (17.04.2023)
[16] “Authentication and key agreement cheat sheets for 2G, 3G, 4G and 5G.” [Online].
Available: https://www.ericsson.com/en/blog/2021/9/authentication-and-key-
agreements (17.04.2023)
[19] M. Chlosta, D. Rupprecht, C. Pöpper, and T. Holz, “5G SUCI-Catchers: Still Catching
Them All?,” in Proceedings of the 14th ACM Conference on Security and Privacy in
Wireless and Mobile Networks, New York, NY, USA, 2021, pp. 359–364, doi:
10.1145/3448300.3467826 [Online]. Available:
https://doi.org/10.1145/3448300.3467826
[20] “CHECK IMEI NUMBER TO GET TO KNOW YOUR PHONE BETTER.” [Online].
Available: https://www.imei.info/ (25.03.2023)
[21] “HOW COPS CAN SECRETLY TRACK YOUR PHONE.” [Online]. Available:
https://theintercept.com/2020/07/31/protests-surveillance-stingrays-dirtboxes-phone-
tracking/ (18.04.2023)
[24] “Secret Service and ICE Did Not Always Adhere to Statute and Policies Governing Use
of Cell-Site Simulators” [Online]. Available:
https://www.oig.dhs.gov/sites/default/files/assets/2023-03/OIG-23-17-Feb23-
Redacted.pdf
[25] “ICE and the Secret Service Conducted Illegal Surveillance of Cell Phones” [Online].
Available: https://www.eff.org/deeplinks/2023/03/report-ice-and-secret-service-
conducted-illegal-surveillance-cell-phones (18.04.2023)
48
[26] “Russian special forces operate in Estonia” [Online]. Available:
https://www.aldrimer.no/claims-russian-special-forces-are-operating-inside-estonia/
(18.04.2023)
[27] “Experts say lion’s share of NATO leak is hot air” [Online]. Available:
https://news.postimees.ee/3680481/experts-say-lion-s-share-of-nato-leak-is-hot-air
(18.04.2023)
[28] “Understanding the difference between SDR and HDR.” [Online]. Available:
https://www.barrettcommunications.com.au/news/understanding-the-difference-
between-sdr-and-hdr/ (24.04.2023)
[32] “Setting up Yate and YateBTS with the bladeRF.” [Online]. Available:
https://github.com/Nuand/bladeRF/wiki/Setting-up-Yate-and-YateBTS-with-the-
bladeRF (18.04.2023)
[33] “Gotta Catch ’Em All: Understanding How IMSI-Catchers Exploit Cell Networks.”
[Online]. Available: https://www.eff.org/wp/gotta-catch-em-all-understanding-how-
imsi-catchers-exploit-cell-networks (10.03.2023)
[35] DragonOS Focal YateBTS Calls + SMS w/ BladeRFxA4 (Yate RC2). [Online].
Available: https://youtu.be/JGRWjo1Niho
49
[40] “HackRF FAQ.” [Online]. Available: https://hackrf.readthedocs.io/en/latest/faq.html
(18.04.2023)
[43] “bladeRF-cli - command line interface and test utility.” [Online]. Available:
https://manpages.ubuntu.com/manpages/bionic/man1/bladeRF-cli.1.html (25.04.2023)
[47] “pySim - Read, Write and Browse Programmable SIM/USIM Cards.” [Online].
Available: https://github.com/osmocom/pysim
[55] S. Mjølsnes and R. Olimid, “Easy 4G/LTE IMSI Catchers for Non-Programmers,” Feb.
2017, pp. 235–246, doi: 10.1007/978-3-319-65127-9_19.
[56] “Russia tracks visiting Finns via smartphone IMEI codes, Yle finds” [Online].
Available: https://yle.fi/a/74-20028795 (25.04.2023)
50
[57] “EFF praises Android’s new 2G kill switch, wants Apple to follow suit.” [Online].
Available: https://arstechnica.com/gadgets/2022/01/eff-praises-androids-new-2g-kill-
switch-wants-apple-to-follow-suit/ (25.04.2023)
51
Appendix
1. PySim Installation
52
License
2. I grant the University of Tartu a permit to make the work specified in p. 1 available
to the public via the web environment of the University of Tartu, including via
the DSpace digital archives, under the Creative Commons license CC BY NC
ND 3.0, which allows, by giving appropriate credit to the author, to reproduce,
distribute the work and communicate it to the public, and prohibits the creation of
derivative works and any commercial use of the work until the expiry of the term
of copyright.
3. I am aware of the fact that the author retains the rights specified in p. 1 and 2.
4. I certify that granting the non-exclusive license does not infringe other persons’
intellectual property rights or rights arising from the personal data protection
legislation.
Georg Šumailov
09/05/2023
53