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 ফোন/এমুলেটর ও কম্পিউটারের মধ্যে যোগাযোগের জন্য ব্যবহৃত হয়।
✅ ইনস্টল:
bashsudo apt install adb
✅ সংযোগ যাচাই:
bashadb devices
2. jadx – Decompile APK
APK ফাইলের সোর্স কোড দেখতে কাজে লাগে।
✅ ইনস্টল (Linux):
bashsudo snap install jadx
✅ রান:
bashjadx-gui
APK ফাইল ওপেন করে Java সোর্স কোড দেখে hardcoded credentials, API keys খুঁজুন।
3. Frida – Dynamic Instrumentation Toolkit
Runtime-এ অ্যাপের আচরণ modify করার জন্য ব্যবহৃত হয়।
✅ ইনস্টল (PC):
bashpip install frida-tools
✅ Frida-server মোবাইলে push করুন:
bashadb push frida-server /data/local/tmp/
adb shell "chmod 755 /data/local/tmp/frida-server"
adb shell "/data/local/tmp/frida-server &"
✅ টেস্ট:
bashfrida-ps -U
4. Burp Suite (Mobile Proxy Setup)
📱 মোবাইলে Proxy সেট করুন:
-
Proxy: IP address of your PC
-
Port: 8080
📥 Burp CA Certificate ইনস্টল করুন:
-
মোবাইলের ব্রাউজারে Burp Proxy দিয়ে
http://burp
এ যান -
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
এসব ফাইলে খোঁজ করুন:
javaString API_KEY = "sk_test_xxx";
✅ 4. Frida দিয়ে Function Hook করা
যদি অ্যাপে Root Detection থাকে:
javascriptJava.perform(function () {
var rootChecker = Java.use("com.example.check.RootCheck");
rootChecker.isDeviceRooted.implementation = function () {
return false;
};
});
রান করুন:
bashfrida -U -n app.package.name -l bypass-root.js
🛠️ বাস্তব কৌশল ও অভ্যাস
লক্ষ্য | কৌশল |
---|---|
Sensitive Data Leak | Burp দিয়ে all requests capture করুন |
Obfuscation Bypass | jadx + jadx-gui ব্যবহার করে বোঝার চেষ্টা করুন |
Root Detection Bypass | Frida দিয়ে hooking |
Certificate Pinning Bypass | Objection / Frida Scripts |
Dynamic Analysis | Frida / 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
আপনি কি চান পরবর্তী টিউটোরিয়াল সেইভাবে সাজিয়ে দিই? ✅