محطة GSM الأساسيةالخدمات الخاصة والاستخبارات في بلدان مختلفة من العالم تستخدم محطات قاعدة مزيفة (مصائد IMSI ، يسميها الأمريكيون StingRay) ، والتي تعمل في الوضع السلبي أو النشط . في الوضع السلبي ، تقوم المحطة المزيفة ببساطة بتحليل الإشارة من محطات القاعدة المحيطة. إنه أكثر إثارة للاهتمام عندما يتم وضع الجهاز في الوضع النشط. في هذه الحالة ، يجبر فخ IMSI أجهزة العميل الخلوية المحيطة على الاتصال بنفسها ، ويفصلها عن المحطة الأساسية للمشغل (MTS ، VimpelCom ، إلخ.). يتم تنفيذ المهمة عن طريق بث إشارة أكثر قوة من المحطات المحيطة (لمزيد من التفاصيل حول تشغيل المحطات القاعدية المزيفة ، راجع مقالة "عالم جديد شجاع لمحاكاة مواقع الخلايا" (Albany Law School: 11–12. Doi: 10.2139 / ssrn.2440982).لا يتم استخدام المحطات القاعدية المزيفة من قبل الخدمات الخاصة فحسب ، بل أيضًا من قبل أشخاص آخرين. على سبيل المثال ، في الموسم الأخير من السيد قام قراصنة الروبوت بتثبيت femtocell (محطة اتصالات خلوية منخفضة الطاقة ومنمنمة) مباشرة في مكتب مكتب التحقيقات الفدرالي ، مع إتاحة الفرصة للاستماع إلى محادثاتهم. في مجال الأعمال التجارية ، يمكن للمنافسين استخدام مثل هذا الجهاز للاستماع بهدوء إلى محادثات الجانب الآخر. في روسيا ، تقترح ناتاليا كاسبرسكايا تثبيت فيمتوسيلس التجسس في مكاتب الشركات التجارية حتى تتمكن الإدارة من تسجيل المحادثات بين الموظفين والزوار بهدوء.
الجهاز متصل بمحطة خلوية وهمية PRISM: The Beacon Frame. كجزء من مشروع بحثي ، ترسل المحطة إشعارًا حول الاتصال بهاتف المشترك. تعمل البنية التحتية الحقيقية للخدمات الخاصة دون إرسال إشعارات.تحظى هذه الأدوات بشعبية كبيرة في العصر الحديث ، لأن الكثير من الناس يستخدمون باستمرار الاتصالات الخلوية ، وينقلون المعلومات السرية من خلال هذه القنوات ، دون استخدام التشفير من طرف إلى طرف. من السهل جدًا تحديد الأشخاص من خلال أرقام هواتفهم.أبطال مسلسل السيد روبوتضع femtocell تحت الطاولة بجانب جهاز التوجيه. من الواضح أنه في هذا الشكل لا يمكن أن يعمل لفترة طويلة ، لأنه عاجلاً أم آجلاً ستلاحظ سيدة التنظيف أو عامل عشوائي أن الجهاز "الإضافي" سوف ينحني. بالإضافة إلى ذلك ، يحتوي femtocell على نطاق صغير جدًا ، لذلك من غير المحتمل أن يتمكن من مقاطعة إشارة محطة قاعدة حقيقية لأجهزة المشتركين في الطوابق المجاورة. إنه مضمون للعمل إلا في نفس المكتب ، ثم كم هو محظوظ.لإصلاح هذا العيب ، يحتاج المكتب إلى تثبيت محطة أساسية أكثر قوة. لكن كيف تخفيه؟ تم اقتراح حل ممتاز من قبل المهندس النيوزيلندي جوليان أوليفر. قام بتصميم المحطة الأساسية متنكرا في صورة طابعة مكتبية من HP .في الشوارع ، تخفي محطات القاعدة نفسها كأشياء بيئية - أشجار أو فوانيس .
محطة خلوية متنكرة بشكل سيئ كشجرة نخيل. مراكش ، المغرب تم وضع
محطة خلوية مقنعة على شكل فانوس ، لسبب ما ، بجوار فانوس حقيقي. ميلتون كينز ، المملكة المتحدةتبدو طابعة مكتب Hewlett-Packard Laserjet 1320 طبيعية تمامًا مثل مصابيح الشوارع. لن يثير الشك. على الأقل طالما استمر في العمل بشكل صحيح. لأغراض العرض التوضيحي ، في مشروع Oliver ، تم تكوين الطابعة لطباعة البيانات الوصفية تلقائيًا حول المكالمات التي تم اعتراضها ورسائل SMS ، جنبًا إلى جنب مع نص هذه الرسائل.
وأوضح المؤلف بالتفصيل كيف تعمل محطة قاعدة وهمية. تم وضع جهاز إرسال واستقبال SDR قابل للبرمجة BladeRF في علبة الطابعة (تم وصف هذا الجهاز الرائع في حبري). في الصورة ، يتم إصلاحه في أعلى اليمين. يتصل جهاز الإرسال / الاستقبال بلوحة Raspberry Pi 3 المصغرة (أسفل اليسار) ، وجميع إلكترونيات القراصنة متصلة باللوحة الأم للطابعة (أكبر لوحة في الصورة).
للحصول على الطاقة ، يتم استخدام محول USB للسيارة الذي يحول الطابعة من 21-22 فولت إلى 5 فولت ، وهو ضروري لجهاز الإرسال والاستقبال والتوت. عادة ما يتم إدخال هذه المحولات في ولاعة السجائر في السيارة (12-24 فولت) لتشغيل الإلكترونيات المحمولة.
تم تعديل حجرة الخرطوشة بشكل طفيف لتناسب هوائيين شامل الاتجاهات (TX و AX) متصل بواسطة كابل SMA بجهاز الإرسال والاستقبال BladeRF.يقول مؤلف العمل أنهم اختاروا طابعة Hewlett-Packard Laserjet 1320 لعدة أسباب. أولاً ، له مظهر غير واضح بشكل لافت للنظر - تصميم بدون وجه تمامًا لا يجذب الانتباه. ثانيًا ، تعتبر التجاويف الداخلية في السكن مثالية لاستيعاب جميع الإلكترونيات والكابلات. لا يخرج أي جزء ولا يكون مرئيًا من الخارج ، باستثناء كبل الطاقة القياسي. عند توصيل محول USB بموصل قياسي ، تعمل طابعة Hewlett-Packard Laserjet 1320 عادةً مثل طابعة مكتبية عادية.تم اختيار Raspberry Pi 3 بعد محاولات فاشلة لضمان التشغيل المستقر للمحطات الأساسية لوحدة التحكم في البرنامج YateBTSتحت Intel Edison و Beaglebone Black وحتى I-MX6 Marsboard. على عكس OpenBTS القديم ، YateBTS أكثر تطلبًا على أداء المعالج.يعمل برنامج المحطة الأساسية المزيف في الطابعة فوق رمز YateBTS مفتوح المصدر. لأغراض العرض التوضيحي ، تم تطوير العديد من النصوص. على سبيل المثال ، يقوم أحدهم بتصفية السجل ، وتشكيل مستند PDF وإرساله للطباعة.#!/bin/bash
readonly FH=/home/pi/yate.log
rm -f $FH
yate 2>&1 -l $FH &
sleep 1
echo "Starting up..."
last=" "
while true;
do
sleep 10
cur=$(cat $FH | grep -A 16 "Sniffed\ 'call.route'" | sed -e "s/param\['//" \
-e "s/'\]//" -e 's/thread.*//' -e 's/time\=[0-9].*//' \
-e 's/\ data=(.*//' -e 's/\ retval=.*//' \
-e 's/\ tmsi.*//' -e 's/ybts/Stealth\ Cell\ Tower/' \
-e 's/Sniffed/Monitored\ =/' -e '/^\s*$/d' \
-e 's/^\s*//' | tail -n 13)
if [ "$cur" != "$last" ]; then
if [ ${#cur} -gt 1 ]; then
echo "New SMS events detected"
if [[ $cur != *imsi* ]]; then
caller=$(echo "$cur" | grep "caller" | awk '{ print $3 }' | sed "s/'//g" \
| tr -cd '[:print:]')
imsi=$(cat /usr/local/etc/yate/tmsidata.conf | grep "$caller" \
| cut -d '=' -f 1)
cur=$(echo "$cur" | sed -e "s/\ called\ .*/imsi\ =\ '$imsi'/" )
fi
event=$(echo -e \\n"$cur" | tr 'a-z' 'A-Z')
echo "printing file..."
echo "$event" > printme
enscript -r --header='SMS EVENT RECORD|%W|%* UTC' -i2cm --margins=10:10:30:10 \
-o printme.ps -f Courier@15/12 printme
ps2pdfwr printme.ps printme.pdf
lp -U pi -o a4 -q 100 -d hp_LaserJet_1320_2 printme.pdf
fi
last=$cur
fi
done
يختار نص برمجي آخر أحد أرقام الهاتف التي تتصل بمحطة القاعدة بشكل عشوائي ، ويدعوها ويلعب أغنية Stevie Wonder الكلاسيكية "لقد اتصلت فقط لأقول أحبك" .#!/bin/bash
readonly HOST=127.0.0.1
readonly PORT=5038
readonly DATA=/usr/local/share/yate/sounds/stevie.au
readonly TMSI=/usr/local/etc/yate/tmsidata.conf
readonly CC=49
callone () {
echo "call wave/play/$DATA $mt" | netcat -i 1 -q 1 $HOST $PORT
}
callall() {
for mt in ${UES[@]}
do
echo "calling $mt"
callone
done
}
while true;
do
tmsilen=$(wc -l $TMSI | awk '{ print $1 }')
ues=($(cat $TMSI | grep -A $tmsilen ues | sed 's/\[ues\]//' | cut -d ',' -f 3))
if [ ! -z $ues ]; then
ueslen=${#ues}
RANGE=$ueslen
select=$RANDOM
let "select%=$RANGE"
mt=${ues[$select]}
callone
fi
sleep 30
done
ثنائيات مجمعة لـ Raspberry Pi 3: yate_r-pi3_4.4.11-v7_debian-8.0.tar.gz .حظا سعيدا في تجاربك!