ऑफिस प्रिंटर में छिपा हुआ जीएसएम बेस स्टेशन


GSM बेस स्टेशन

दुनिया के विभिन्न देशों में विशेष सेवाओं और बुद्धिमत्ता के आधार पर फर्जी बेस स्टेशन (IMSI-traps, अमेरिकियों को StingRay) कहते हैं, जो निष्क्रिय या सक्रिय मोड में काम करते हैं निष्क्रिय मोड में, नकली स्टेशन केवल आसपास के बेस स्टेशनों से सिग्नल का विश्लेषण करता है। यह तब और अधिक दिलचस्प है जब डिवाइस को सक्रिय मोड में डाल दिया जाता है। इस स्थिति में, IMSI जाल सेलुलर ग्राहकों के उपकरणों को अपने आप से जुड़ने के लिए मजबूर करता है, उन्हें ऑपरेटर के बेस स्टेशन (MTS, Vimpelcom, आदि) से डिस्कनेक्ट करता है। यह कार्य आसपास के स्टेशनों की तुलना में अधिक शक्तिशाली सिग्नल प्रसारित करके किया जाता है (नकली बेस स्टेशनों के संचालन के बारे में अधिक जानकारी के लिए, लेख "सेल-साइट सिमुलेटर के बहादुर नई दुनिया" देखें) (अल्बानी लॉ स्कूल: 11–12। डोई: 10.2139 / ssrn.2440982)।

नकली बेस स्टेशनों का उपयोग न केवल विशेष सेवाओं द्वारा किया जाता है, बल्कि अन्य व्यक्तियों द्वारा भी किया जाता है। उदाहरण के लिए, पिछले सीजन में मि। रोबोट हैकर्स ने एफबीआई कार्यालय में एक फेम्टोकेल (एक कम-शक्ति और लघु सेलुलर संचार स्टेशन) स्थापित किया, जिससे उनकी बातचीत सुनने का अवसर मिला। व्यवसाय में, प्रतियोगी ऐसे उपकरण का उपयोग चुपचाप दूसरे पक्ष की बातचीत सुनने के लिए कर सकते हैं। रूस में, नताल्या कास्पर्सकाया व्यावसायिक कंपनियों के कार्यालयों में जासूसी महिलाटॉक स्थापित करने का सुझाव देती है ताकि प्रबंधन कर्मचारियों और आगंतुकों के बीच बातचीत को शांत कर सके।


डिवाइस एक नकली PRISM सेल स्टेशन से जुड़ा है : बीकन फ़्रेम। एक अनुसंधान परियोजना के हिस्से के रूप में, स्टेशन ग्राहक के फोन से कनेक्शन के बारे में एक सूचना भेजता है। विशेष सेवाओं का वास्तविक बुनियादी ढांचा सूचना भेजे बिना काम करता है।

इसी तरह के गैजेट्स आधुनिक युग में बहुत लोकप्रिय हैं, क्योंकि इतने सारे लोग लगातार सेलुलर संचार का उपयोग करते हैं, इन चैनलों के माध्यम से गोपनीय जानकारी को प्रसारित करते हैं, बिना एंड-टू-एंड एन्क्रिप्शन का उपयोग किए। अपने फोन नंबरों से लोगों की पहचान करना बहुत सुविधाजनक है।

श्रृंखला के हीरो मि। रोबोटराउटर के बगल में टेबल के नीचे फेमटोकेल रखो। जाहिर है, इस रूप में यह लंबे समय तक काम नहीं कर सकता है, क्योंकि जल्द ही या बाद में "अतिरिक्त" डिवाइस को एक सफाई महिला या एक यादृच्छिक एजेंट द्वारा देखा जाएगा जो नीचे झुक जाएगा। इसके अलावा, फेमटोकेल की एक बहुत छोटी सीमा होती है, इसलिए यह संभावना नहीं है कि यह पड़ोसी फर्श पर ग्राहक उपकरणों के लिए एक वास्तविक बेस स्टेशन के सिग्नल को बाधित करने में सक्षम होगा। यह एक ही कार्यालय में जब तक काम करने की गारंटी है, और फिर कितना भाग्यशाली है।

इस खामी को ठीक करने के लिए, एक कार्यालय को अधिक शक्तिशाली बेस स्टेशन स्थापित करना होगा। लेकिन इसका भेस कैसे करें? न्यूजीलैंड के इंजीनियर जूलियन ओलिवर द्वारा एक उत्कृष्ट समाधान प्रस्तावित किया गया था। उन्होंने बेस स्टेशन को एचपी ऑफिस प्रिंटर के रूप में प्रच्छन्न बनाया

सड़कों पर, बेस स्टेशन खुद को पर्यावरणीय वस्तुओं - पेड़ों या लालटेन के रूप में प्रच्छन्न करते हैं


सेलुलर स्टेशन एक ताड़ के पेड़ के रूप में खराब रूप से प्रच्छन्न। माराकेच, मोरक्को


एक लालटेन के रूप में प्रच्छन्न सेल स्टेशन, किसी कारण से, एक असली लालटेन के बगल में रखा गया है। मिल्टन कीन्स, यूके

द हेवलेट-पैकार्ड लेजरजेट 1320 ऑफिस प्रिंटर स्ट्रीट लैंप की तरह प्राकृतिक दिखता है। वह संदेह पैदा नहीं करेगा। कम से कम जब तक यह ठीक से काम करना जारी रखता है। प्रदर्शन उद्देश्यों के लिए, ओलिवर परियोजना में, प्रिंटर इन संदेशों के पाठ के साथ-साथ इंटरसेप्टेड कॉल और एसएमएस संदेशों के बारे में मेटाडेटा को स्वचालित रूप से प्रिंट करने के लिए कॉन्फ़िगर किया गया है।



लेखक ने विस्तार से बताया कि नकली बेस स्टेशन कैसे काम करता है। BladeRF प्रोग्रामेबल SDR ट्रांसीवर को प्रिंटर केस में रखा गया था (यह अद्भुत उपकरण हैबे पर वर्णित किया गया था )। फोटो में, यह शीर्ष दाईं ओर तय किया गया है। ट्रांसीवर मिनी रास्पबेरी पाई 3 बोर्ड (नीचे बाएं) से कनेक्ट होता है, और सभी हैकर इलेक्ट्रॉनिक्स प्रिंटर के मदरबोर्ड (फोटो में सबसे बड़ा बोर्ड) से जुड़े होते हैं।



पावर के लिए, एक कार यूएसबी एडाप्टर का उपयोग किया जाता है जो प्रिंटर को 21-22 वी को 5 वी में परिवर्तित करता है, जो ट्रांसीवर और रास्पबेरी के लिए आवश्यक है। ऐसे एडेप्टर आमतौर पर पोर्टेबल इलेक्ट्रॉनिक्स को बिजली देने के लिए एक कार (12-24 वी) के सिगरेट लाइटर में डाले जाते हैं।



कारतूस कम्पार्टमेंट को एक SMA केबल द्वारा BladeRF ट्रांसीवर से जुड़ा दो सर्वदिशात्मक एंटेना (TX और AX) फिट करने के लिए थोड़ा संशोधित किया गया है।

काम के लेखक का कहना है कि उन्होंने कई कारणों से हेवलेट-पैकार्ड लेजरजेट 1320 प्रिंटर को चुना। सबसे पहले, यह एक हड़ताली अगोचर उपस्थिति है - एक पूरी तरह से फेसलेस डिज़ाइन जो ध्यान आकर्षित नहीं करता है। दूसरे, आवास में आंतरिक गुहा सभी इलेक्ट्रॉनिक्स और केबलों को समायोजित करने के लिए आदर्श हैं। कोई भी हिस्सा बाहर नहीं निकलता है और बाहर से दिखाई नहीं देता है, सिवाय एक मानक बिजली केबल के। जब एक यूएसबी एडाप्टर एक मानक कनेक्टर से जुड़ा होता है, तो हेवलेट-पैकार्ड लेजरजेट 1320 सामान्य कार्यालय प्रिंटर की तरह सामान्य रूप से कार्य करता है।

कार्यक्रम नियंत्रक बेस स्टेशनों YateBTS के स्थिर संचालन को सुनिश्चित करने के असफल प्रयासों के बाद रास्पबेरी पाई 3 को चुना गया थाइंटेल एडिसन, बीगलबोन ब्लैक और यहां तक ​​कि आई-एमएक्स 6 मार्सबोर्ड के तहत। प्राचीन OpenBTS के विपरीत, YateBTS प्रोसेसर प्रदर्शन पर अधिक मांग है।

प्रिंटर में नकली बेस स्टेशन सॉफ्टवेयर ओपन सोर्स YateBTS कोड के शीर्ष पर चलता है। प्रदर्शन उद्देश्यों के लिए, कई स्क्रिप्ट विकसित की गई हैं। उदाहरण के लिए, उनमें से एक लॉग को फ़िल्टर करता है, एक पीडीएफ दस्तावेज़ बनाता है और इसे प्रिंट करने के लिए भेजता है।

#!/bin/bash

readonly FH=/home/pi/yate.log
rm -f $FH
# Start the BTS, log to $FH and background
yate 2>&1 -l $FH &
sleep 1
echo "Starting up..."
last=" "

while true;
    do
        # Poll every 10 seconds
        sleep 10
        # Check log for new sniffed 'call route' entries and do some subbing
        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"
                # Test to see if an IMSI is in the string. If not, look it up and put it in
                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
                # Make it all uppercase
                event=$(echo -e \\n"$cur" | tr 'a-z' 'A-Z')
                echo "printing file..."
                echo "$event" > printme
                # Format a postscript file with enscript
                enscript -r --header='SMS EVENT RECORD|%W|%* UTC' -i2cm --margins=10:10:30:10 \
                -o printme.ps -f Courier@15/12 printme
                # Convert to PDF
                ps2pdfwr printme.ps printme.pdf
                # Send it to the print queue for immediate processing
                lp -U pi -o a4 -q 100 -d hp_LaserJet_1320_2 printme.pdf 
            fi
            last=$cur
        fi
done

एक अन्य स्क्रिप्ट बेतरतीब ढंग से उन फोन नंबरों में से एक का चयन करती है, जो बेस स्टेशन से जुड़ते हैं, इसे कॉल करते हैं और स्टीवी वंडर की क्लासिक हिट "आई जस्ट कॉलिंग टू सा आई लव यू" बजाते हैं

#!/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 #MSISDN prefix, matching that of definition in yate conf.

callone () {
  # Play "I Just Called To Say I Love You" by Stevie Wonder, on pickup 
  echo "call wave/play/$DATA $mt" | netcat -i 1 -q 1 $HOST $PORT
  # Or, setup channel and route to IAX/SIP
  # echo "call 'iax/iax:$PORT@11.22.33.44/$PORT' $mt" | netcat -q 1 $HOST $PORT
}

callall() {
  for mt in ${UES[@]} #override $mt
    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

रास्पबेरी पाई 3 के लिए संकलित बायनेरिज़: yate_r-pi3_4.4.11-v7_debian-8.0.tar.gz

अपने प्रयोगों के साथ शुभकामनाएँ!

Source: https://habr.com/ru/post/hi398893/


All Articles