آموزش جامع تست امنیت اندروید با Kali Linux و ربات تلگرام

Comprehensive Android Security Testing with Kali Linux and a Telegram Bot
0 دیدگاه
۱۴۰۵-۰۷-۲۸ ۱۷:۳۰:۴۳

در این آموزش، از آماده‌سازی آزمایشگاه در Kali Linux شروع می‌کنیم، ربات تلگرام می‌سازیم، یک صفحه وب آزمایشی برای اندروید راه‌اندازی می‌کنیم، لینک را از طریق ربات ارسال می‌کنیم و در نهایت گزارش اختیاری کاربر را در تلگرام دریافت و تحلیل می‌کنیم.

این دوره ترکیبی از مفاهیم امنیت اندروید، مهندسی اجتماعی، امنیت لینک‌ها، برنامه‌نویسی Python، ساخت ربات تلگرام و تحلیل اپلیکیشن‌های موبایل است.

محدوده تمرین: تمام مراحل برای دستگاه شخصی، شبیه‌ساز اندروید یا شرکت‌کنندگان آگاه و موافق طراحی شده‌اند. بازکردن لینک نباید بهانه‌ای برای استخراج مخفیانه پیامک‌ها، مخاطبین، فایل‌ها، موقعیت مکانی، تصاویر یا اطلاعات حساب فرد مقابل باشد. برای دریافت اطلاعات واقعی دستگاه، به اپلیکیشن آزمایشی با مجوزهای شفاف و رضایت صریح نیاز است.

فهرست مطالب

۰۱

مبانی امنیت اندروید و معماری حمله

۰۲

آماده‌سازی Kali Linux و Python

۰۳

ساخت ربات تلگرام و دریافت توکن

۰۴

ساخت صفحه آزمایشگاهی اندروید

۰۵

ارسال لینک از طریق ربات

۰۶

دریافت گزارش و ارسال اطلاعات به تلگرام

۰۷

آزمایش عملی روی گوشی یا شبیه‌ساز

۰۸

تحلیل APK و مجوزهای اندروید

۰۹

تحلیل نتایج، خطاها و راهکارهای دفاعی

۱۰

چک‌لیست نهایی و تمرین‌های پیشرفته

فصل اول: شناخت امنیت اندروید

۱.۱. آیا می‌توان فقط با ارسال یک لینک گوشی اندرویدی را هک کرد؟

این سؤال، نقطه شروع دوره است.

لینک به‌خودی‌خود یک مجوز دسترسی به گوشی نیست. بااین‌حال، بسته به مقصد لینک، رفتار کاربر، مجوزهای داده‌شده و آسیب‌پذیری‌های احتمالی، خطرهای متفاوتی وجود دارد.

سناریو نتیجه احتمالی
بازکردن یک صفحه عادی نمایش محتوا و برقراری ارتباط با سرور
بازکردن صفحه فیشینگ فریب کاربر برای واردکردن اطلاعات
دانلود فایل APK دریافت فایل؛ نه لزوماً نصب یا اجرا
نصب اپلیکیشن مخرب احتمال سوءاستفاده از مجوزها یا آسیب‌پذیری‌ها
سوءاستفاده از آسیب‌پذیری مرورگر در شرایط خاص ممکن است به اجرای کد یا دسترسی غیرمجاز منجر شود
نصب اپلیکیشن آزمایشگاهی با رضایت امکان بررسی قابلیت‌هایی که کاربر صریحاً مجاز کرده است

نکته مهم این است که یک وب‌سایت معمولی نمی‌تواند صرفاً با اجرای JavaScript به تمام فایل‌ها، پیامک‌ها یا اطلاعات خصوصی گوشی دسترسی آزاد داشته باشد. مرورگر و سیستم‌عامل برای این دسترسی‌ها محدودیت‌هایی اعمال می‌کنند.

۱.۲. اجزای اصلی آزمایشگاه

Kali Linux

Python، Flask و ابزارهای تحلیل

ربات تلگرام

ارسال لینک و دریافت گزارش

سرور آزمایشگاهی

صفحه آموزشی و فرم رضایت

اندروید آزمایشی

گوشی شخصی یا Android Emulator

در این معماری، ربات تلگرام وظیفه ارسال پیام و تحویل گزارش را دارد. سرور وب فرم را نمایش می‌دهد و اندروید مرورگر یا اپلیکیشن آزمایشی را اجرا می‌کند. این اجزا به‌صورت مستقل کار می‌کنند.

فصل دوم: آماده‌سازی Kali Linux

۲.۱. ساخت پوشه پروژه

ترمینال را باز کن و دستورات زیر را اجرا کن:

mkdir -p ~/android-security-lab
cd ~/android-security-lab

sudo apt update
sudo apt install python3 python3-venv -y

python3 -m venv venv
source venv/bin/activate

pip install flask requests

بررسی نصب:

python --version
pip show flask requests

اگر نام و نسخه بسته‌ها نمایش داده شد، محیط پایه آماده است.

۲.۲. ساختار پروژه

در پایان این دوره، ساختار پروژه به این شکل خواهد بود:

android-security-lab/
├── app.py
├── bot.py
├── requirements.txt
└── reports.log
  • app.py: صفحه وب و دریافت گزارش اختیاری.

  • bot.py: ارتباط با Telegram Bot API و ارسال لینک.

  • requirements.txt: فهرست وابستگی‌های Python.

  • reports.log: گزارش‌های آزمایشگاهی که باید از دسترسی غیرمجاز محافظت شوند.

فایل وابستگی‌ها را بساز:

pip freeze > requirements.txt

این دستور نسخه بسته‌های نصب‌شده در محیط فعلی را ثبت می‌کند.

فصل سوم: ساخت ربات تلگرام از صفر

۳.۱. ساخت ربات با BotFather

Creating a TeleBot | NUS Hackers Wiki

BotFather

ابزار رسمی تلگرام برای ساخت و مدیریت ربات‌هاست.

لینک: t.me/BotFather

مراحل کار:

  1. وارد BotFather شو.

  2. دستور زیر را ارسال کن:

/newbot

3. یک نام نمایشی انتخاب کن؛ برای مثال:

ZeroOne Cyber Lab
  1. یک نام کاربری یکتا که به bot ختم شود انتخاب کن.

  2. توکنی دریافت می‌کنی که ربات را به API تلگرام متصل می‌کند.

توکن را مانند رمز عبور در نظر بگیر. هر کسی که به آن دسترسی پیدا کند، ممکن است بتواند به‌جای ربات تو درخواست بفرستد.

۳.۲. دریافت شناسه گفت‌وگوی مدیر

برای اینکه ربات گزارش را برای خودت ارسال کند، باید شناسه گفت‌وگوی خودت را مشخص کنی.

  1. وارد گفت‌وگوی ربات تازه‌ساخته‌شده شو.

  2. روی Start بزن یا دستور /start را بفرست.

  3. در کد زیر، توکن خودت را به‌صورت متغیر محیطی تنظیم کن:

export BOT_TOKEN="توکن_واقعی_ربات"

4. پیام‌های دریافتی را با API رسمی بررسی کن:

python -c 'import os,requests; t=os.environ["BOT_TOKEN"]; r=requests.get(f"https://api.telegram.org/bot{t}/getUpdates",timeout=15); print(r.json())'

در خروجی، بخش message و سپس chat را بررسی کن. مقدار chat.id شناسه گفت‌وگو است.

این فرمان را فقط در ترمینال خصوصی خودت اجرا کن؛ خروجی کامل را عمومی نکن، چون ممکن است حاوی اطلاعات شناسایی گفتگوها باشد.

سپس:

export ADMIN_CHAT_ID="شناسه_گفتگوی_خودت"

اگر getUpdates پیام مورد انتظار را برنمی‌گرداند، بررسی کن که ربات قبلاً با یک webhook پیکربندی نشده باشد و توکن صحیح باشد. برای یک ربات ساده، از یک روش دریافت به‌روزرسانی استفاده کن، نه polling و webhook به‌صورت هم‌زمان.

۳.۳. آزمودن ارتباط با تلگرام

این فرمان باید اطلاعات پایه ربات را برگرداند:

python -c 'import os,requests; t=os.environ["BOT_TOKEN"]; r=requests.get(f"https://api.telegram.org/bot{t}/getMe",timeout=15); print(r.json())'

اگر مقدار ok برابر true بود، ارتباط برقرار است.

برای ارسال پیام آزمایشی:

python -c 'import os,requests; t=os.environ["BOT_TOKEN"]; c=os.environ["ADMIN_CHAT_ID"]; r=requests.post(f"https://api.telegram.org/bot{t}/sendMessage",json={"chat_id":c,"text":"آزمایشگاه امنیت اندروید فعال است."},timeout=15); print(r.json())'

مستندات رسمی: Telegram Bot API.

فصل چهارم: ساخت صفحه وب آزمایشگاهی

در این فصل صفحه‌ای می‌سازیم که روی گوشی اندرویدی باز می‌شود و توضیح می‌دهد چه داده‌ای قرار است ارسال شود. کاربر اطلاعات را خودش وارد می‌کند و با زدن دکمه ارسال، گزارش را برای مدیر می‌فرستد.

۴.۱. کد کامل app.py

فایل app.py را بساز و کد زیر را داخل آن قرار بده:

import osimport jsonfrom datetime import datetime, timezonefrom pathlib import Pathimport requestsfrom flask import Flask, request, render_template_stringapp = Flask(__name__)BOT_TOKEN = os.environ["BOT_TOKEN"]ADMIN_CHAT_ID = os.environ["ADMIN_CHAT_ID"]REPORTS_FILE = Path("reports.log")PAGE = """<!doctype html><html lang="fa" dir="rtl"><head>  <meta charset="utf-8">  <meta name="viewport"        content="width=device-width, initial-scale=1">  <title>آزمایشگاه امنیت اندروید | صفر و یک سایبر</title>  <style>    * { box-sizing: border-box; }    body {      margin: 0;      padding: 24px 16px;      background: #080b10;      color: #e6edf3;      font-family: Tahoma, sans-serif;      line-height: 2;    }    main {

چرا این نسخه از نمونه آموزشی قوی‌تر است؟

  • طول ورودی‌ها را بررسی می‌کند.

  • برای ارسال گزارش، رضایت صریح لازم دارد.

  • اطلاعات حساس گوشی را درخواست نمی‌کند.

  • گزارش را با قالب JSON Lines در فایل ذخیره می‌کند.

  • خطای ارتباط با تلگرام را ثبت می‌کند.

  • حالت Debug را غیرفعال نگه می‌دارد.

توجه: برای استفاده واقعی روی اینترنت، علاوه بر HTTPS باید محدودیت نرخ درخواست، کنترل حجم ورودی، محافظت در برابر درخواست‌های خودکار، سیاست نگهداری گزارش و کنترل دسترسی مدیر را هم اضافه کنی. این کد نمونه آموزشی است و هنوز سامانه آماده بهره‌برداری عمومی محسوب نمی‌شود.

فصل پنجم: ساخت ربات برای ارسال لینک و دریافت گزارش

اکنون سرور وب آماده است. در این مرحله، ربات تلگرام را طوری برنامه‌نویسی می‌کنیم که مدیر با دستور /link لینک آزمایشگاه را دریافت کند و گزارش‌هایی که کاربران با رضایت می‌فرستند به همان گفت‌وگو برسند.

۵.۱. کد کامل bot.py

import osimport timeimport requestsTOKEN = os.environ["BOT_TOKEN"]ADMIN_CHAT_ID = str(os.environ["ADMIN_CHAT_ID"])LAB_URL = os.environ["LAB_URL"].rstrip("/")API = f"https://api.telegram.org/bot{TOKEN}"offset = 0session = requests.Session()def send_message(chat_id, text):    response = session.post(        f"{API}/sendMessage",        json={            "chat_id": chat_id,            "text": text        },        timeout=15    )    response.raise_for_status()    result = response.json()    if not result.get("ok"):        raise RuntimeError("ارسال پیام از طرف تلگرام تأیید نشد.")def handle_update(update):    message = update.get("message", {})    chat = message.get("chat", {})    text = message.get("text", "").strip()    chat_id = str(chat.get("id", ""))

این ربات صرفاً به فرمان مدیر پاسخ می‌دهد. برای استفاده گروهی، باید احراز هویت مدیر با شناسه عددی معتبر، مدیریت خطا و جلوگیری از اجرای هم‌زمان چند نسخه ربات را جدی بگیری.

۵.۲. تنظیم متغیرها و اجرای پروژه

در همان محیط مجازی Python:

export BOT_TOKEN="توکن_ربات"
export ADMIN_CHAT_ID="شناسه_مدیر"
export LAB_URL="https://lab.example.com"

در محیط آزمایش محلی، ابتدا سرور را اجرا کن:

python app.py

در ترمینال دوم:

source ~/android-security-lab/venv/bin/activate
python bot.py

در گفت‌وگوی تلگرام با ربات خودت:

/start

سپس:

/link

ربات باید لینک را برای مدیر ارسال کند.

مهم: اگر از آدرس 127.0.0.1:5000 استفاده می‌کنی، آن آدرس فقط روی همان دستگاه در دسترس است. گوشی اندرویدی نمی‌تواند با بازکردن آدرس localhost رایانه به سرور رایانه دسترسی پیدا کند. برای تست روی شبکه داخلی، سرور را فقط در شبکه مورد اعتماد در دسترس قرار بده؛ برای استفاده از اینترنت، از HTTPS و زیرساخت امن استفاده کن.

۵.۳. مسیر انتقال گزارش

۱. مدیر /link را ارسال می‌کند

۲. ربات لینک را در تلگرام نمایش می‌دهد

۳. شرکت‌کننده صفحه آزمایشگاه را باز می‌کند

۴. کاربر فرم را خودش تکمیل و ارسال می‌کند

۵. سرور گزارش را ثبت می‌کند و به تلگرام می‌فرستد

این فرایند، ارتباط میان ربات، سرور و گوشی را به‌صورت قابل مشاهده و قابل تکرار آزمایش می‌کند.

فصل ششم: آزمایش عملی روی اندروید

۶.۱. آزمایش روی همان رایانه

برای شروع، نیازی به انتشار عمومی سایت نداری.

  1. app.py را اجرا کن.

  2. در مرورگر همان رایانه آدرس زیر را باز کن:

http://127.0.0.1:5000
  1. یک نام مستعار آزمایشی وارد کن.

  2. مدل گوشی و نسخه اندروید را می‌توانی با اطلاعات ساختگی پر کنی.

  3. گزینه رضایت را فعال کن و گزارش را ارسال کن.

  4. گفت‌وگوی مدیر با ربات را بررسی کن.

۶.۲. آزمایش روی گوشی واقعی یا شبیه‌ساز

برای آزمایش واقعی:

  • از گوشی خودت یا دستگاهی استفاده کن که اجازه آزمایش آن را داری.

  • سرور را روی شبکه آزمایشگاهی اجرا کن.

  • برای دسترسی از خارج شبکه، سرویس HTTPS معتبر راه‌اندازی کن.

  • لینک را از ربات دریافت و در مرورگر گوشی باز کن.

  • گزارش را فقط پس از تکمیل فرم و تأیید رضایت ارسال کن.

برای نمونه، اگر IP رایانه در شبکه آزمایشگاهی 192.168.1.10 باشد، گوشی ممکن است از آدرس زیر به سرور دسترسی پیدا کند:

http://192.168.1.10:5000

این آدرس فقط در صورت وجود مسیر شبکه مناسب، فعال‌بودن سرویس و مجازبودن ارتباط کار می‌کند. برای شبکه عمومی، از HTTP استفاده نکن؛ اطلاعات فرم باید از طریق HTTPS منتقل شود.

۶.۳. بررسی گزارش ذخیره‌شده

پس از ارسال فرم، فایل reports.log را بررسی کن:

cat reports.log

نمونه خروجی:

{"time_utc":"2026-10-20T14:30:00+00:00","alias":"android-lab-01","device":"Test Device","android_version":"15","consent":true}

این خروجی شامل اطلاعاتی است که کاربر در فرم وارد کرده؛ نه اطلاعاتی که به‌صورت مخفیانه از سیستم‌عامل خوانده شده‌اند.

اگر ارسال به تلگرام ناموفق باشد، گزارش محلی ممکن است ذخیره شده باشد، اما ارسال مجدد خودکار در این نمونه پیاده‌سازی نشده است. در نسخه پیشرفته‌تر می‌توان صف ارسال، شناسه یکتای گزارش و سیاست نگهداری محدود را اضافه کرد.

فصل هفتم: دریافت اطلاعات فنی واقعی از دستگاه اندرویدی

این بخش تفاوت مهمی را روشن می‌کند: اطلاعاتی که کاربر در فرم وارد می‌کند با اطلاعاتی که اپلیکیشن از خود سیستم‌عامل می‌خواند یکسان نیستند.

یک صفحه وب معمولی، به‌صورت آزاد به اطلاعات سیستمی گوشی دسترسی ندارد. اگر هدف دوره، آموزش دریافت مشخصات فنی واقعی دستگاه باشد، باید یک اپلیکیشن اندرویدی آزمایشگاهی طراحی شود که دسترسی‌های موردنیازش را شفاف اعلام کند و کاربر قبل از ارسال گزارش، آن را تأیید کند.

۷.۱. چه اطلاعاتی را می‌توان در آزمایشگاه بررسی کرد؟

داده روش مناسب بررسی
نسخه اندروید اپلیکیشن آزمایشی با استفاده از APIهای رسمی
مدل دستگاه APIهای مجاز اندروید، با توجه به محدودیت‌های نسخه
وضعیت مجوزهای اپلیکیشن بررسی تنظیمات و مجوزهای اعلام‌شده
وضعیت اتصال شبکه APIهای استاندارد و مجاز
فهرست فایل‌های خصوصی برنامه فقط در محدوده مجاز و فضای اختصاصی برنامه
مخاطبین و پیامک‌ها داده حساس؛ نیازمند توجیه، مجوز مناسب و رضایت صریح
موقعیت مکانی نیازمند مجوزهای مربوط و رضایت کاربر
دوربین و میکروفون دسترسی کنترل‌شده و آشکار، با مجوزهای مربوط
رمز عبور و کدهای احراز هویت نباید برای گزارش آزمایشگاهی جمع‌آوری شوند

برای یک دوره مقدماتی، پیشنهاد می‌کنم دریافت گزارش را به نسخه اندروید، مدل دستگاه در صورت مجازبودن، وضعیت مجوزهای اپلیکیشن و وضعیت اتصال محدود کنی.

۷.۲. چرا ربات تلگرام نمی‌تواند مستقیماً گوشی را بخواند؟

ربات تلگرام یک سرویس پیام‌رسان است. توکن ربات اجازه ارسال و دریافت پیام از طریق API تلگرام را می‌دهد؛ این توکن مجوز دسترسی به سیستم‌عامل گوشی مخاطب نیست.

برای نمونه، این سه قابلیت کاملاً متفاوت‌اند:

  • ارسال لینک توسط ربات؛

  • ثبت بازشدن صفحه در سرور؛

  • خواندن اطلاعات سیستمی از طریق یک اپلیکیشن اندرویدی.

قابلیت سوم به کد سمت اندروید، APIهای مناسب، مجوزهای لازم و رضایت کاربر نیاز دارد. افزودن JavaScript به یک صفحه وب یا ساخت یک ربات تلگرام به‌تنهایی این محدودیت را برطرف نمی‌کند.

۷.۳. مسیر توسعه اپلیکیشن آزمایشگاهی

برای ادامه عملی این بخش می‌توانی از Android Studio و مستندات رسمی استفاده کنی:

معماری پیشنهادی:

  1. کاربر اپلیکیشن آزمایشگاهی را خودش نصب می‌کند.

  2. برنامه مشخصات فنی مجاز را نمایش می‌دهد.

  3. کاربر می‌بیند چه داده‌هایی قرار است ارسال شوند.

  4. با فشردن دکمه «ارسال گزارش»، اطلاعات انتخاب‌شده به سرور فرستاده می‌شود.

  5. سرور گزارش را از طریق ربات تلگرام به مدیر آزمایشگاه تحویل می‌دهد.

این ساختار برای آموزش جمع‌آوری داده مجاز، طراحی API و ارزیابی امنیت اپلیکیشن مناسب است.

فصل هشتم: تحلیل APK و مجوزهای خطرناک

در تست نفوذ اندروید، فقط ساخت ابزار مهم نیست؛ باید بتوانی اپلیکیشن‌های مشکوک را نیز بررسی کنی.

۸.۱. نصب ابزارهای تحلیل

در Kali Linux:

sudo apt update
sudo apt install apktool jadx adb -y

برای تحلیل پیشرفته‌تر می‌توانی از MobSF نیز استفاده کنی:

مخزن رسمی Mobile Security Framework (MobSF).

ابزارها کاربردهای متفاوتی دارند:

  • Apktool: بازسازی منابع و بررسی Manifest.

  • JADX: مشاهده کد decompileشده اپلیکیشن.

  • ADB: ارتباط و اشکال‌زدایی دستگاه آزمایشی.

  • MobSF: تحلیل ایستا و در شرایط مناسب تحلیل پویا.

این ابزارها به‌تنهایی ثابت نمی‌کنند که یک برنامه مخرب است؛ نتیجه باید با شواهد فنی بررسی شود.

۸.۲. بررسی APK

فایل APK آزمایشی خودت را با نام lab-app.apk در پوشه پروژه قرار بده.

بررسی نوع فایل:

file lab-app.apk

بررسی امضا، در صورت نصب ابزار مناسب:

apksigner verify --verbose --print-certs lab-app.apk

استخراج منابع و Manifest:

apktool d lab-app.apk -o decoded-apk

سپس:

less decoded-apk/AndroidManifest.xml

برای مشاهده کد قابل‌خواندن:

jadx -d jadx-output lab-app.apk

این دستورات را روی APKهایی اجرا کن که اجازه بررسی آن‌ها را داری. فایل APK را صرفاً به دلیل ناشناس‌بودن روی گوشی اصلی نصب نکن.

۸.۳. در Manifest دنبال چه چیزی بگردیم؟

برای مثال، وجود مجوزهای زیر ممکن است در بعضی اپلیکیشن‌ها توجیه‌شده باشد، اما باید با کارکرد برنامه مطابقت داشته باشد:

<uses-permission
    android:name="android.permission.CAMERA" />

<uses-permission
    android:name="android.permission.RECORD_AUDIO" />

<uses-permission
    android:name="android.permission.ACCESS_FINE_LOCATION" />

این قطعه صرفاً نمونه آموزشی است؛ اضافه‌کردن مجوز در Manifest به معنی اعطای خودکار دسترسی نیست. رفتار واقعی برنامه، نحوه درخواست مجوز، نسخه اندروید و رضایت کاربر نیز اهمیت دارند.

هنگام تحلیل بررسی کن:

  • آیا برنامه واقعاً به این قابلیت نیاز دارد؟

  • آیا مجوز هنگام استفاده از قابلیت درخواست می‌شود؟

  • آیا کاربر می‌تواند دسترسی را رد کند؟

  • آیا داده حساس بدون نیاز ارسال می‌شود؟

  • آیا ارتباط شبکه از رمزنگاری مناسب استفاده می‌کند؟

  • آیا اطلاعات محرمانه در Log یا فایل‌های ناامن ذخیره می‌شوند؟

۸.۴. تحلیل پویا در شبیه‌ساز

تحلیل ایستا کافی نیست؛ در محیط آزمایشگاهی می‌توان رفتار برنامه را هنگام اجرا نیز بررسی کرد.

ابتدا وضعیت دستگاه را ببین:

adb devices

اگر شبیه‌ساز یا دستگاه آزمایشی متصل باشد، در فهرست نمایش داده می‌شود.

برای بررسی نسخه اندروید:

adb shell getprop ro.build.version.release

برای بررسی سطح API:

adb shell getprop ro.build.version.sdk

برای مشاهده گزارش‌های سیستم:

adb logcat

در خروجی Logcat به خطاها، درخواست‌های مجوز، استثناها و پیام‌های تشخیصی برنامه آزمایشگاهی توجه کن. لاگ‌ها ممکن است حاوی اطلاعات حساس باشند؛ آن‌ها را پیش از انتشار پاک‌سازی کن.

فصل نهم: تحلیل نتایج و عیب‌یابی

بعد از اجرای آزمایشگاه، باید بتوانی تشخیص بدهی مشکل از کدام بخش است: ربات تلگرام، سرور وب، شبکه یا خود گوشی.

۹.۱. خطاهای رایج

خطا علت احتمالی اقدام اصلاحی
401 Unauthorized از تلگرام توکن نامعتبر یا لغوشده توکن را در BotFather بررسی کن
chat not found شناسه گفت‌وگو اشتباه یا گفت‌وگوی آغازنشده ابتدا در گفت‌وگوی خصوصی ربات /start را بفرست
Connection refused سرور اجرا نیست یا پورت در دسترس نیست وضعیت Flask و اتصال شبکه را بررسی کن
صفحه روی رایانه باز می‌شود اما روی گوشی نه آدرس localhost یا مشکل شبکه از IP درست شبکه آزمایشگاهی استفاده کن
502 هنگام ارسال فرم ارتباط سرور با تلگرام ناموفق است اتصال اینترنت و خطای ثبت‌شده در سرور را بررسی کن
گزارش در تلگرام نیست شناسه مدیر اشتباه یا ارسال ناموفق پاسخ API و لاگ سرور را بررسی کن
مجوز در برنامه کار نمی‌کند مجوز درخواست نشده یا کاربر آن را رد کرده چرخه درخواست مجوز را بررسی کن

برای دیدن خطاهای سرویس Flask، ترمینالی را که سرور در آن اجرا شده بررسی کن. توکن، رمزها و اطلاعات خصوصی را در گزارش خطا قرار نده.

۹.۲. سناریوی عملی برای کاربران

فرض کن شرکت‌کننده‌ای لینک آزمایشگاه را دریافت کرده و فرم را تکمیل کرده است.

مراحل تحلیل:

  1. بررسی کن که صفحه بدون خطا باز شده باشد.

  2. بررسی کن که کاربر با اطلاع از مقصد داده‌ها، فرم را ارسال کرده باشد.

  3. فایل reports.log را بررسی کن.

  4. گفت‌وگوی مدیر در تلگرام را بررسی کن.

  5. زمان ثبت محلی و پیام دریافتی را مقایسه کن.

  6. مشخص کن چه داده‌ای ثبت شده و چه داده‌ای عمداً ثبت نشده است.

  7. گزارش نهایی را همراه با شواهد و راهکار اصلاح بنویس.

معیار موفقیت: یک گزارش اختیاری، با رضایت روشن کاربر، از صفحه وب به سرور برسد و از طریق ربات تلگرام تحویل مدیر آزمایشگاه شود.

این موفقیت به معنی هک‌شدن گوشی نیست؛ نشان‌دهنده عملکرد صحیح زنجیره ارسال و دریافت داده‌های مجاز است.

فصل دهم: ایمن‌سازی و آماده‌سازی برای انتشار

اگر قصد داری همین پروژه را به‌عنوان یک آزمایشگاه آنلاین برای کاربران «صفر و یک سایبر» منتشر کنی، پیش از انتشار این موارد را اجرا کن.

چک‌لیست انتشار امن

0/10

نکته مهم درباره انتشار عمومی

کد آموزشی این دوره هنوز به کنترل‌های لازم برای یک سرویس عمومی کامل مجهز نیست. به‌خصوص، ربات تلگرام باید در برابر اجرای هم‌زمان چند نسخه، ارسال هرزنامه و دسترسی غیرمجاز محافظت شود. سرور وب نیز به محدودیت نرخ، کنترل اندازه درخواست، سیاست نگهداری داده و مدیریت امن خطاها نیاز دارد.

برای آزمایش اولیه، سرویس را محلی نگه دار. برای انتشار در وب‌سایت، ابتدا یک محیط staging جداگانه بساز و تست‌های امنیتی را روی همان محیط انجام بده.

پروژه نهایی دوره: از لینک تا گزارش امنیتی

در پایان این آموزش، باید بتوانی تمام مراحل زیر را روی آزمایشگاه خودت اجرا کنی:

  1. ساخت ربات تلگرام با BotFather و نگهداری امن توکن.
  2. راه‌اندازی محیط Python در Kali Linux.
  3. ساخت صفحه آزمایشگاهی با Flask.
  4. ارسال لینک صفحه با دستور /link.

  5. بازکردن لینک روی دستگاه آزمایشی.
  6. تکمیل فرم توسط شرکت‌کننده و تأیید رضایت.
  7. ثبت گزارش در فایل محلی و ارسال آن به تلگرام.
  8. بررسی APK و مجوزهای اندروید با ابزارهای تحلیل.
  9. نوشتن گزارش نهایی شامل شواهد، ریسک‌ها و راهکارهای اصلاح.

جمع‌بندی تخصصی

برای یادگیری واقعی تست نفوذ اندروید، باید سه مهارت را هم‌زمان توسعه بدهی: شناخت محدودیت‌های امنیتی سیستم‌عامل، تحلیل فنی اپلیکیشن‌ها و ساخت زیرساخت آزمایشگاهی قابل‌تکرار.

ربات تلگرام در این پروژه کانال انتقال پیام و گزارش است؛ لینک، نقطه ورود به آزمایش است؛ و اپلیکیشن اندرویدی آزمایشگاهی، در صورت نیاز به اطلاعات واقعی سیستم، باید با مجوزهای مناسب و رضایت کاربر طراحی شود. این تفکیک باعث می‌شود آموزش هم از نظر فنی دقیق باشد و هم اصول امنیت و حریم خصوصی را رعایت کند.

برای مطالعه تکمیلی، این منابع رسمی را دنبال کن:

این ساختار می‌تواند پایه یک دوره اختصاصی «صفر و یک سایبر» باشد که از ساخت ربات و صفحه آزمایشگاهی شروع می‌کند و به تحلیل APK، بررسی مجوزها و تهیه گزارش تست نفوذ اندروید می‌رسد.

آنچه در این مقاله میخوانید

دیدگاه شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *