Mobile App Pentesting: মোবাইল অ্যাপের দুর্বলতা কিভাবে খুঁজবেন (Android Edition)


মোবাইল অ্যাপ পেন-টেস্টিং মানে হলো একটি অ্যান্ড্রয়েড অ্যাপের ভেতর থেকে নিরাপত্তাজনিত দুর্বলতা খুঁজে বের করা — যেমন API তে ডেটা লিক, টোকেন হাইজ্যাক, হার্ডকোড পাসওয়ার্ড, বা ইনজেকশন।

এই গাইডে আমরা আলোচনা করব:

  • Pentesting কীভাবে শুরু করবেন

  • কী কী টুল লাগবে (ADB, Frida, jadx, Burp Suite)

  • API sniffing ও token manipulation

  • Real-World Tricks


🧰 প্রাথমিক টুলস ও সেটআপ

1. ADB (Android Debug Bridge)

এটি Android ফোন/এমুলেটর ও কম্পিউটারের মধ্যে যোগাযোগের জন্য ব্যবহৃত হয়।

✅ ইনস্টল:

bash
sudo apt install adb

✅ সংযোগ যাচাই:

bash
adb devices

2. jadx – Decompile APK

APK ফাইলের সোর্স কোড দেখতে কাজে লাগে।

✅ ইনস্টল (Linux):

bash
sudo snap install jadx

✅ রান:

bash
jadx-gui

APK ফাইল ওপেন করে Java সোর্স কোড দেখে hardcoded credentials, API keys খুঁজুন।


3. Frida – Dynamic Instrumentation Toolkit

Runtime-এ অ্যাপের আচরণ modify করার জন্য ব্যবহৃত হয়।

✅ ইনস্টল (PC):

bash
pip install frida-tools

✅ Frida-server মোবাইলে push করুন:

bash
adb push frida-server /data/local/tmp/ adb shell "chmod 755 /data/local/tmp/frida-server" adb shell "/data/local/tmp/frida-server &"

✅ টেস্ট:

bash
frida-ps -U

4. Burp Suite (Mobile Proxy Setup)

📱 মোবাইলে Proxy সেট করুন:

  • Proxy: IP address of your PC

  • Port: 8080

📥 Burp CA Certificate ইনস্টল করুন:

  1. মোবাইলের ব্রাউজারে Burp Proxy দিয়ে http://burp এ যান

  2. Certificate (.cer) ডাউনলোড করে ইনস্টল করুন


🔍 টেস্ট করার বিষয়গুলো

✅ 1. API Sniffing (Man-in-the-middle attack)

Burp দিয়ে HTTP/HTTPS traffic sniff করুন:

  • Login credentials leak হচ্ছে?

  • API token কোথায় যাচ্ছে?

  • HTTPS প্রপারলি এনক্রিপ্টেড কি না?


✅ 2. Token Manipulation / Replay

  • Intercept করে access_token modify করুন

  • আবার সেই modified request পাঠিয়ে দেখুন কি হয়?

  • ব্যবহারকারী ছাড়াই sensitive data পাচ্ছেন কিনা যাচাই করুন


✅ 3. Hardcoded Credentials খোঁজা

jadx দিয়ে APK ডিকম্পাইল করে config, Constants.java, BuildConfig.java এসব ফাইলে খোঁজ করুন:

java
String API_KEY = "sk_test_xxx";

✅ 4. Frida দিয়ে Function Hook করা

যদি অ্যাপে Root Detection থাকে:

javascript
Java.perform(function () { var rootChecker = Java.use("com.example.check.RootCheck"); rootChecker.isDeviceRooted.implementation = function () { return false; }; });

রান করুন:

bash
frida -U -n app.package.name -l bypass-root.js

🛠️ বাস্তব কৌশল ও অভ্যাস

লক্ষ্যকৌশল
Sensitive Data LeakBurp দিয়ে all requests capture করুন
Obfuscation Bypassjadx + jadx-gui ব্যবহার করে বোঝার চেষ্টা করুন
Root Detection BypassFrida দিয়ে hooking
Certificate Pinning BypassObjection / Frida Scripts
Dynamic AnalysisFrida / Runtime function hooking

📦 বোনাস: Pentesting Lab সেটআপ (Virtual)

  • Genymotion/Android Emulator + Rooted Android ROM

  • Custom Burp CA install করে proxy test practice

  • অ্যাপ: Try Hack Me – Android Room / Vuln APK


🧠 উপসংহার

মোবাইল অ্যাপ পেন-টেস্টিং শেখার জন্য সবচেয়ে গুরুত্বপূর্ণ হলো: নিজে অ্যাপ বানান → সেটি টেস্ট করুন → রিপোর্ট তৈরি করুন।

এটি শুধু স্কিল নয়, এটি Bug Bounty ও Freelancing-এর জন্য দরজাও খুলে দেয়।


📌 চাইলে পরবর্তী গাইডে দিতে পারি:

  • Android App Root Detection Bypass Techniques

  • Certificate Pinning কীভাবে Bypass করবেন

  • Custom Android Malware Analysis

আপনি কি চান পরবর্তী টিউটোরিয়াল সেইভাবে সাজিয়ে দিই? ✅

Next Post Previous Post
No Comment
Add Comment
comment url