ใบโกงการทดสอบการเจาะแอปพลิเคชันมือถือ
แอพมือถือ Pentest Cheat Sheet ถูกสร้างขึ้นเพื่อจัดทำคอลเลกชันข้อมูลที่มีมูลค่าสูงในหัวข้อการทดสอบการแทรกซึมและรายการตรวจสอบของแอปพลิเคชันมือถือที่เฉพาะเจาะจง
- การแจกแจงการทดสอบความปลอดภัยของแอปพลิเคชันมือถือ
- เฟรมเวิร์กความปลอดภัยมือถือแบบ all-in-one
- การทดสอบการเจาะแอปพลิเคชัน Android
- วิศวกรรมย้อนกลับและการวิเคราะห์แบบคงที่
- การวิเคราะห์แบบไดนามิกและรันไทม์
- การวิเคราะห์เครือข่ายและการทดสอบด้านเซิร์ฟเวอร์
- บายพาสตรวจจับรูทและการตรึง SSL
- ห้องสมุดความปลอดภัย
- การทดสอบการเจาะแอปพลิเคชัน iOS
- เข้าถึงระบบไฟล์บน iDevice
- วิศวกรรมย้อนกลับและการวิเคราะห์แบบคงที่
- การวิเคราะห์แบบไดนามิกและรันไทม์
- การวิเคราะห์เครือข่ายและการทดสอบด้านเซิร์ฟเวอร์
- บายพาสตรวจจับรูทและการตรึง SSL
- ห้องสมุดความปลอดภัย
- ห้องปฏิบัติการทดสอบการเจาะมือถือ
- ผลงาน
- ใบอนุญาต
การแจกแจงการทดสอบความปลอดภัยของแอปพลิเคชันมือถือ
- Appie - แพ็คเกจซอฟต์แวร์แบบพกพาสำหรับ Android Pentesting และทางเลือกที่ยอดเยี่ยมสำหรับเครื่องเสมือนที่มีอยู่
- Android Tamer - Android Tamer เป็นแพลตฟอร์มเสมือนจริง / สดสำหรับผู้เชี่ยวชาญด้านความปลอดภัย Android
- Androl4b - เครื่องเสมือนสำหรับการประเมินแอปพลิเคชัน Android, วิศวกรรมย้อนกลับและการวิเคราะห์มัลแวร์
- Vezir Project - แอปพลิเคชันมือถือ pentesting และสภาพแวดล้อมการวิเคราะห์มัลแวร์
- Mobexler - Mobexler เป็นเครื่องเสมือนที่กำหนดเองออกแบบมาเพื่อช่วยในการทดสอบการเจาะแอปพลิเคชัน Android & iOS
เฟรมเวิร์กความปลอดภัยมือถือแบบ all-in-one
- Mobile Security Framework-MOBSF-เฟรมเวิร์กความปลอดภัยของมือถือเป็นแอปพลิเคชันโอเพนซอร์สโอเพนซอร์สที่ชาญฉลาด (Android/iOS) เฟรมเวิร์กการทดสอบปากกาอัตโนมัติที่สามารถทำการวิเคราะห์แบบคงที่และแบบไดนามิกได้
-
python manage.py runserver 127.0.0.1:1337
- เข็ม - เข็มเป็นโอเพ่นซอร์สกรอบแบบแยกส่วนเพื่อปรับปรุงกระบวนการประเมินความปลอดภัยของแอพ iOS รวมถึงการวิเคราะห์แบบไบนารีการวิเคราะห์รหัสแบบคงที่การจัดการรันไทม์โดยใช้ Cycript และ Frida
- การคัดค้าน - การคัดค้านเป็นชุดเครื่องมือสำรวจมือถือรันไทม์ขับเคลื่อนโดย Frida มันถูกสร้างขึ้นโดยมีจุดประสงค์เพื่อช่วยประเมินแอปพลิเคชันมือถือและท่าทางความปลอดภัยของพวกเขาโดยไม่จำเป็นต้องใช้อุปกรณ์มือถือที่ถูกคุมขังหรือรูท
- RMS-Runtime-Mobile-Security-Runtime Mobile Security (RMS) ซึ่งขับเคลื่อนโดย Frida เป็นเว็บอินเตอร์เฟสที่ทรงพลังที่ช่วยให้คุณจัดการแอพ Android และ iOS ได้ที่รันไทม์
การทดสอบการเจาะแอปพลิเคชัน Android
วิศวกรรมย้อนกลับและการวิเคราะห์แบบคงที่
- Apktool - เครื่องมือสำหรับวิศวกรรมย้อนกลับที่ 3, ปิดแอพแอพ Android ไบนารี มันสามารถถอดรหัสทรัพยากรเป็นรูปแบบดั้งเดิมเกือบใหม่และสร้างใหม่หลังจากทำการดัดแปลงบางอย่าง
- ถอดชิ้นส่วนไฟล์ Android APK
- การสร้างทรัพยากรที่ถอดรหัสใหม่กลับไปเป็น APK/JAR แบบไบนารีด้วยการลงนามใบรับรอง
-
apktool b <modified folder> -
keytool -genkey -v -keystore keys/test.keystore -alias Test -keyalg RSA -keysize 1024 -sigalg SHA1withRSA -validity 10000 -
jarsigner -keystore keys/test.keystore dist/test.apk -sigalg SHA1withRSA -digestalg SHA1 Test
- Bytecode Viewer - Bytecode Viewer เป็นตัวชม Java Bytecode ที่มีน้ำหนักเบาขั้นสูงมันเขียนขึ้นอย่างสมบูรณ์ใน Java และเปิดแหล่งที่มา
- JADX - DEX ถึง Java Decompiler: คำสั่งสายและเครื่องมือ GUI สำหรับการผลิตซอร์สโค้ด Java จากไฟล์ Android Dex และ APK
- APK Studio-Open-Source, Cross Platform QT ที่ใช้ IDE สำหรับแพ็คเกจแอปพลิเคชัน Android แบบย้อนกลับ
- OAT2DEX - เครื่องมือสำหรับการแปลงไฟล์. ooat เป็นไฟล์. dex
- deoptimize คลาสบูต (เอาต์พุตจะอยู่ในโฟลเดอร์ "odex" และ "dex")
-
java -jar oat2dex.jar boot <boot.oat file>
- แอปพลิเคชัน deoptimize
-
java -jar oat2dex.jar <app.odex> <boot-class-folder output from above>
- รับ odex จากข้าวโอ๊ต
-
java -jar oat2dex.jar odex <oat file>
- รับ odex smali (พร้อม opcode ที่ดีที่สุด) จาก Oat/Odex
-
java -jar oat2dex.jar smali <oat/odex file>
- SpotBugs - SpotBugs เป็นผู้สืบทอดของ FindBugs เครื่องมือสำหรับการวิเคราะห์แบบคงที่เพื่อค้นหาข้อบกพร่องในรหัส Java
- QARK - เครื่องมือนี้ออกแบบมาเพื่อค้นหาช่องโหว่แอปพลิเคชัน Android ที่เกี่ยวข้องกับความปลอดภัยหลายแห่งไม่ว่าจะเป็นในซอร์สโค้ดหรือ APK ที่บรรจุ
- Super - Super เป็นแอปพลิเคชันบรรทัดคำสั่งที่สามารถใช้ใน Windows, MacOS X และ Linux ซึ่งวิเคราะห์ไฟล์. APK ในการค้นหาช่องโหว่ มันทำสิ่งนี้โดยการบีบอัด APKs และใช้ชุดของกฎเพื่อตรวจจับช่องโหว่เหล่านั้น
- Androbugs - Androbugs Framework เป็นเครื่องสแกนช่องโหว่ Android ที่มีประสิทธิภาพซึ่งช่วยให้นักพัฒนาหรือแฮ็กเกอร์ค้นหาช่องโหว่ด้านความปลอดภัยที่อาจเกิดขึ้นในแอปพลิเคชัน Android ไม่จำเป็นต้องติดตั้งบน Windows
- Simplify-เครื่องมือสำหรับแพ็คเกจ Android แบบ de-obfuscating ลงในคลาส DEX ซึ่งสามารถใช้ DEX2JAR และ JD-GUI เพื่อแยกเนื้อหาของไฟล์ Dex
-
simplify.jar -i "input smali files or folder" -o <output dex file>
- classnamedeobfuscator - สคริปต์ง่าย ๆ ที่จะแยกวิเคราะห์ผ่านไฟล์. smali ที่ผลิตโดย apktool และแยกสายคำอธิบายประกอบ. source
- Android Backup Extractor - ยูทิลิตี้เพื่อแยกและนำการสำรองข้อมูล Android ที่สร้างขึ้นด้วย ADB Backup (ICS+) ส่วนใหญ่ขึ้นอยู่กับ backupmanagerservice.java จาก AOSP เคล็ดลับ !! คำสั่ง "ADB Backup" สามารถใช้สำหรับการแยกแพ็คเกจแอปพลิเคชันด้วยคำสั่งต่อไปนี้:
-
adb backup <package name> -
dd if=backup.ab bs=1 skip=24 | python -c "import zlib,sys;sys.stdout.write(zlib.decompress(sys.stdin.read()))" > backup.tar
- GDA (Gjoy dex analysizer) - GDA, dalvik bytecode decompiler ใหม่ถูกนำไปใช้ใน C ++ ซึ่งมีข้อดีของการวิเคราะห์ที่เร็วขึ้นและการบริโภคหน่วยความจำและดิสก์ที่ต่ำกว่า
การวิเคราะห์แบบไดนามิกและรันไทม์
- Cydia Substrate - Cydia Substrate สำหรับ Android ช่วยให้นักพัฒนาสามารถเปลี่ยนแปลงซอฟต์แวร์ที่มีอยู่ด้วยส่วนขยายของสารตั้งต้นที่ถูกฉีดเข้าไปในหน่วยความจำของกระบวนการเป้าหมาย
- XPosed Framework - Xposed Framework ช่วยให้คุณสามารถปรับเปลี่ยนระบบหรือแอปพลิเคชันและพฤติกรรมที่รันไทม์โดยไม่ต้องแก้ไขแพ็คเกจแอปพลิเคชัน Android ใด ๆ (APK) หรือการแฟลชใหม่
- PID CAT - การอัปเดตสคริปต์สี logcat ที่ยอดเยี่ยมของ Jeff Sharkey ซึ่งแสดงเฉพาะรายการบันทึกสำหรับกระบวนการจากแพ็คเกจแอปพลิเคชันเฉพาะ
- Inspeckage - Inspeckage เป็นเครื่องมือที่พัฒนาขึ้นเพื่อนำเสนอการวิเคราะห์แบบไดนามิกของแอปพลิเคชัน Android ด้วยการใช้ตะขอกับฟังก์ชั่นของ Android API การตรวจสอบจะช่วยให้คุณเข้าใจว่าแอปพลิเคชัน Android กำลังทำอะไรอยู่ที่รันไทม์
- Frida - ชุดเครื่องมือใช้งานได้โดยใช้โมเดลไคลเอนต์ - เซิร์ฟเวอร์และช่วยให้คุณฉีดเข้าสู่กระบวนการไม่เพียง แต่บน Android แต่ยังอยู่ใน iOS, Windows และ Mac
- Diff -Gui - เฟรมเวิร์กเว็บเพื่อเริ่มเครื่องมือด้วยโมดูลที่ใช้งานได้, การเชื่อมต่อบนพื้นเมือง, ฉีดจาวาสคริปต์โดยใช้ Frida
- Fridump - Fridump ใช้เฟรมเวิร์ก Frida เพื่อทิ้งที่อยู่หน่วยความจำที่เข้าถึงได้จากแพลตฟอร์มใด ๆ ที่รองรับ สามารถใช้ได้จากระบบ Windows, Linux หรือ Mac OS X เพื่อทิ้งหน่วยความจำของแอปพลิเคชัน iOS, Android หรือ Windows
- House - ชุดเครื่องมือวิเคราะห์แอปพลิเคชันมือถือ Runtime พร้อมเว็บ GUI ซึ่งขับเคลื่อนโดย Frida ได้รับการออกแบบมาเพื่อช่วยประเมินแอปพลิเคชันมือถือโดยใช้การเชื่อมต่อฟังก์ชั่นแบบไดนามิกและการสกัดกั้นและตั้งใจที่จะทำให้การเขียนสคริปต์ Frida ง่ายที่สุดเท่าที่จะทำได้
- Andbug - Andbug เป็นตัวดีบั๊กที่กำหนดเป้าหมายไปที่เครื่องเสมือนของ Dalvik แพลตฟอร์ม Android ที่มีไว้สำหรับวิศวกรและนักพัฒนาย้อนกลับ
- การระบุกระบวนการสมัครโดยใช้ ADB Shell
-
adb shell ps | grep -i "App keyword"
- การเข้าถึงแอปพลิเคชันโดยใช้ ANDBUG เพื่อระบุคลาสที่โหลด
-
andbug shell -p <process number>
- ติดตามคลาสเฉพาะ
- การดีบักด้วย JDB
-
adb forward tcp:<port> jdwp:<port> -
jdb -attach localhost:<port>
- Cydia Substrate: Introspy -Android - เครื่องมือ Blackbox เพื่อช่วยให้เข้าใจว่าแอปพลิเคชัน Android กำลังทำอะไรอยู่ที่รันไทม์และช่วยในการระบุปัญหาความปลอดภัยที่อาจเกิดขึ้น
- Drozer - Drozer ช่วยให้คุณค้นหาช่องโหว่ด้านความปลอดภัยในแอพและอุปกรณ์โดยสมมติว่าบทบาทของแอพและโต้ตอบกับ Dalvik VM จุดสิ้นสุด IPC ของแอพอื่น ๆ และระบบปฏิบัติการพื้นฐาน
- เริ่มเซสชัน
-
adb forward tcp:31415 tcp:31415 -
drozer console connect
- ดึงข้อมูลแพ็คเกจ
-
run app.package.list -f <app name> -
run app.package.info -a <package name>
- ระบุพื้นผิวการโจมตี
-
run app.package.attacksurface <package name>
- กิจกรรมที่ใช้ประโยชน์
-
run app.activity.info -a <package name> -u -
run app.activity.start --component <package name> <component name>
- ใช้ประโยชน์จากผู้ให้บริการเนื้อหา
-
run app.provider.info -a <package name> -
run scanner.provider.finduris -a <package name> -
run app.provider.query <uri> -
run app.provider.update <uri> --selection <conditions> <selection arg> <column> <data> -
run scanner.provider.sqltables -a <package name> -
run scanner.provider.injection -a <package name> -
run scanner.provider.traversal -a <package name>
- การใช้ประโยชน์จากตัวรับสัญญาณออกอากาศ
-
run app.broadcast.info -a <package name> -
run app.broadcast.send --component <package name> <component name> --extra <type> <key> <value> -
run app.broadcast.sniff --action <action>
- บริการใช้ประโยชน์
-
run app.service.info -a <package name> -
run app.service.start --action <action> --component <package name> <component name> -
run app.service.send <package name> <component name> --msg <what> <arg1> <arg2> --extra <type> <key> <value> --bundle-as-obj
การวิเคราะห์เครือข่ายและการทดสอบด้านเซิร์ฟเวอร์
- TCPDUMP - ยูทิลิตี้การจับแพ็คเก็ตบรรทัดคำสั่ง
- Wireshark - เครื่องวิเคราะห์แพ็คเก็ตโอเพนซอร์ส
- แพ็คเก็ตสดจับภาพแบบเรียลไทม์
-
adb shell "tcpdump -s 0 -w - | nc -l -p 4444" -
adb forward tcp:4444 tcp:4444 -
nc localhost 4444 | sudo wireshark -k -S -i –
- มัลลอรี่ - ชายในเครื่องมือกลาง (MITM) ที่ใช้ในการตรวจสอบและจัดการการรับส่งข้อมูลบนอุปกรณ์มือถือและแอปพลิเคชัน
- Burp Suite - Burp Suite เป็นแพลตฟอร์มแบบบูรณาการสำหรับการทดสอบความปลอดภัยของแอปพลิเคชัน
- การติดตั้ง CA ที่เชื่อถือได้ที่ระดับ Android OS (อุปกรณ์รูท/ตัวจำลอง) สำหรับ Android N+ ดังต่อไปนี้:
-
openssl x509 -inform PEM -subject_hash -in BurpCA.pem | head -1 -
cat BurpCA.pem > 9a5ba580.0 -
openssl x509 -inform PEM -text -in BurpCA.pem -out /dev/null >> 9a5ba580.0 -
adb root -
abd remount -
adb push 9a5ba580.0 /system/etc/security/cacerts/ -
adb shell “chmod 644 /system/etc/security/cacerts/9a5ba580.0” -
adb shell “reboot” - ตรวจสอบการตั้งค่า> ความปลอดภัย> ข้อมูลรับรองที่เชื่อถือได้> ระบบเพื่อยืนยัน CA ที่เพิ่มขึ้นใหม่ของคุณอยู่ในรายการ
- Burp Suite Mobile Assistant - Burp Suite Mobile Assistant เป็นเครื่องมือในการอำนวยความสะดวกในการทดสอบแอพ iOS ด้วย Burp Suite; มันสามารถปรับเปลี่ยนการตั้งค่าพร็อกซีทั่วทั้งระบบของอุปกรณ์ iOS เพื่อให้การรับส่งข้อมูล HTTP (S) สามารถเปลี่ยนเส้นทางไปยังอินสแตนซ์ของ Burp ได้อย่างง่ายดายมันสามารถพยายามหลีกเลี่ยงใบรับรอง SSL ในแอพที่เลือกได้
- OWASP ZAP - OWASP ZED Attack Proxy Project เป็นเครื่องสแกนความปลอดภัยเว็บโอเพนซอร์ซ มีจุดประสงค์เพื่อใช้งานโดยทั้งผู้ที่เพิ่งเริ่มใช้งานเพื่อความปลอดภัยของแอปพลิเคชันรวมถึงผู้ทดสอบการเจาะมืออาชีพ
- Proxydroid - แอพพร็อกซีระดับโลกสำหรับระบบ Android
- MITMProxy - เป็นพร็อกซีอินเทอร์แอคทีฟ SSL/TLS ที่มีความสามารถพร้อมกับอินเทอร์เฟซคอนโซลสำหรับ HTTP/1, HTTP/2 และ WebSockets
บายพาสตรวจจับรูทและการตรึง SSL
- Magisk - Magisk Suites ให้การเข้าถึงรูทไปยังอุปกรณ์ของคุณความสามารถในการปรับเปลี่ยนพาร์ติชันแบบอ่านอย่างเดียวโดยการติดตั้งโมดูลและซ่อน Magisk จากการตรวจจับรูท/การตรวจสอบความสมบูรณ์ของระบบ
- โมดูล XPosed: แค่เชื่อใจฉัน - โมดูล XPosed เพื่อข้ามการปักหมุดใบรับรอง SSL
- โมดูล XPosed: SSLUNPINNING - Android XPosed Module เพื่อบายพาสการตรวจสอบใบรับรอง SSL (การตรึงใบรับรอง)
- โมดูลสารตั้งต้น Cydia: Android SSL Trust Killer - เครื่องมือ Blackbox เพื่อข้ามใบรับรอง SSL Pinning สำหรับแอปพลิเคชันส่วนใหญ่ที่ทำงานบนอุปกรณ์
- โมดูลสารตั้งต้น Cydia: Rootcoak Plus - การตรวจสอบรูทแพทช์สำหรับการบ่งชี้ที่รู้จักกันทั่วไปของรูท
- Android-SSL-BYPASS-เครื่องมือการดีบัก Android ที่สามารถใช้สำหรับการข้าม SSL ได้แม้ว่าจะมีการใช้การปักหมุดใบรับรองเช่นเดียวกับงานการดีบักอื่น ๆ เครื่องมือทำงานเป็นคอนโซลแบบโต้ตอบ
- APK -MITM - แอปพลิเคชัน CLI ที่เตรียมไฟล์ Android APK โดยอัตโนมัติสำหรับการตรวจสอบ HTTPS
- Frida Codeshare - โครงการ Frida Codeshare ประกอบด้วยนักพัฒนาจากทั่วโลกที่ทำงานร่วมกับเป้าหมายเดียว - ผลักดัน Frida ให้ถึงขีด จำกัด ในรูปแบบใหม่และนวัตกรรม
- บายพาสตรวจจับรูท
-
frida --codeshare dzonerzy/fridantiroot -f YOUR_BINARY
- บายพาส SSL Pinning
-
frida --codeshare pcipolloni/universal-android-ssl-pinning-bypass-with-frida -f YOUR_BINARY
ห้องสมุดความปลอดภัย
- PublicKey Pinning - Pinning ใน Android สามารถทำได้ผ่าน X509TrustManager ที่กำหนดเอง X509TrustManager ควรทำการตรวจสอบ X509 ตามธรรมเนียมนอกเหนือจากการกำหนดค่าการตรึง
- Android Pinning - โครงการไลบรารีแบบสแตนด์อโลนสำหรับใบรับรองการตรึงบน Android
- Java AES Crypto - คลาส Android ที่เรียบง่ายสำหรับการเข้ารหัสและการถอดรหัสสตริงโดยมีจุดประสงค์เพื่อหลีกเลี่ยงความผิดพลาดแบบคลาสสิกที่ชั้นเรียนส่วนใหญ่ต้องทนทุกข์ทรมาน
- Proguard - Proguard เป็นไฟล์ Shrinker คลาส Java ฟรี, Optimizer, Obfuscator และ Preverifier มันตรวจจับและลบคลาสที่ไม่ได้ใช้ฟิลด์วิธีการและคุณลักษณะ
- SQL Cipher - SQLCipher เป็นส่วนขยายโอเพ่นซอร์สไปยัง SQLite ที่ให้การเข้ารหัส AES 256 บิตโปร่งใสของไฟล์ฐานข้อมูล
- การตั้งค่าที่ปลอดภัย - wrapper การตั้งค่าที่ใช้ร่วมกันของ Android มากกว่าเข้ารหัสคีย์และค่าของการตั้งค่าที่ใช้ร่วมกัน
- เจตนาที่เชื่อถือได้ - ห้องสมุดสำหรับการโต้ตอบที่เชื่อถือได้ระหว่างแอพ Android
- Rootbeer - ไลบรารีและแอปตัวอย่างที่อร่อย
- การเข้ารหัสแบบ end-to-end-Capillary เป็นห้องสมุดเพื่อลดความซับซ้อนของการส่งข้อความพุชที่เข้ารหัสแบบ end-to-end จากเซิร์ฟเวอร์แอปพลิเคชันที่ใช้ Java ไปยังไคลเอนต์ Android
การทดสอบการเจาะแอปพลิเคชัน iOS
เข้าถึงระบบไฟล์บน iDevice
- Filezilla - รองรับ FTP, SFTP และ FTPS (FTP ผ่าน SSL/TLS)
- Cyberduck - Libre FTP, SFTP, WebDav, S3, Azure & Openstack Swift เบราว์เซอร์สำหรับ Mac และ Windows
- iTunnel - ใช้เพื่อส่งต่อ SSH ผ่าน USB
- iProxy - ให้คุณเชื่อมต่อแล็ปท็อปของคุณกับ iPhone เพื่อท่องเว็บ
- IFUNBOX - เครื่องมือการจัดการไฟล์และแอพสำหรับ iPhone, iPad และ iPod Touch
วิศวกรรมย้อนกลับและการวิเคราะห์แบบคงที่
- Otool - คำสั่ง otool แสดงส่วนที่ระบุของไฟล์วัตถุหรือไลบรารี
- คลัทช์ - ถอดรหัสแอปพลิเคชันและทิ้ง BundleID ที่ระบุไว้ในไฟล์ไบนารีหรือ. IPA
- Dumpdecrypted - ทิ้งไฟล์ Mach -O ที่ถอดรหัสจากแอปพลิเคชัน iPhone ที่เข้ารหัสจากหน่วยความจำไปยังดิสก์ เครื่องมือนี้จำเป็นสำหรับนักวิจัยด้านความปลอดภัยที่จะสามารถดูภายใต้ประทุนของการเข้ารหัส
-
iPod:~ root# DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /var/mobile/Applications/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Scan.app/Scan
- Class-Dump-ยูทิลิตี้บรรทัดคำสั่งสำหรับการตรวจสอบข้อมูลรันไทม์ Objective-C ที่เก็บไว้ในไฟล์ Mach-O
- DSDUMP - การปรับปรุง NM + OBJC/SWIFT class -dump
- Weak ClassDump - สคริปต์ Cycript ที่สร้างไฟล์ส่วนหัวสำหรับคลาสที่ส่งผ่านไปยังฟังก์ชัน มีประโยชน์มากที่สุดเมื่อคุณไม่สามารถ classdump หรือ dumpdecrypted เมื่อ binaries ถูกเข้ารหัส ฯลฯ
-
iPod:~ root# cycript -p Skype weak_classdump.cy; cycript -p Skype -
#cy weak_classdump_bundle([NSBundle mainBundle],"/tmp/Skype")
- FRIDPA - สคริปต์ wrapper อัตโนมัติสำหรับการแก้ไขแอปพลิเคชัน iOS (ไฟล์ IPA) และทำงานบนอุปกรณ์ที่ไม่ใช่เจลเบรค
- Frida-Ios-Dump-ดึง IPA ที่ถอดรหัสจากอุปกรณ์เจลเบรค
- BAGBAK - อีกหนึ่ง FRIDA ที่ใช้ iOS DumpDecrypted รองรับส่วนขยายแอป Decrypting และไม่จำเป็นต้องใช้ SSH
- bfinject - bfinject โหลด dylibs โดยพลการลงในแอพแอพสโตร์ มันมีการสนับสนุนในตัวสำหรับการถอดรหัสแอพแอพสโตร์และมาพร้อมกับ ISPY และ Cycript
- การทดสอบอย่างง่าย
-
bash bfinject -P Reddit -L test
- ถอดรหัสแอพ App Store
-
bash bfinject -P Reddit -L decrypt
- ไซคริค
-
bash bfinject -P Reddit -L cycript
- HopperApp - Hopper เป็นเครื่องมือทางวิศวกรรมย้อนกลับสำหรับ OS X และ Linux ที่ช่วยให้คุณถอดแยกชิ้นส่วนถอดรหัสและดีบัก 32/64bits Intel Mac, Linux, Windows และ iOS Executables
- Hopperscripts - Hopperscripts สามารถใช้เพื่อทำลายชื่อฟังก์ชั่น Swift ใน HopperApp
- radare2 - radare2 เป็นกรอบวิศวกรรมย้อนกลับแบบ UNIX และเครื่องมือ Commandline
- XRESIGN - XRESIGN ช่วยให้คุณสามารถลงนามหรือลาออกจาก IPA -FILE ที่ไม่ได้เข้ารหัสด้วยใบรับรองที่คุณถือคีย์ส่วนตัวที่เกี่ยวข้อง ตรวจสอบสำหรับนักพัฒนา Ad-Hoc และ Enterprise Distribution
การวิเคราะห์แบบไดนามิกและรันไทม์
- Cycript - Cycript อนุญาตให้นักพัฒนาสำรวจและแก้ไขแอปพลิเคชันที่รันอยู่บน iOS หรือ Mac OS X โดยใช้ไฮบริดของ Objective -C ++ และ JavaScript ไวยากรณ์ผ่านคอนโซลอินเทอร์แอคทีฟ
- แสดงคอนโทรลเลอร์มุมมองที่มองเห็นได้ในปัจจุบัน
-
cy# UIApp.keyWindow.rootViewController.visibleViewController
- แสดง View Controller ที่ด้านบนของการนำทาง
-
cy# UIApp.keyWindow.rootViewController.topViewController
- รับอาร์เรย์ของวัตถุที่มีอยู่ของคลาสที่แน่นอน
-
cy# choose(UIViewController)
- UI Dump ตัดคำอธิบายมากมายของ UIViews
-
cy# [[UIApp keyWindow] _autolayoutTrace].toString()
- ข้าม uiviews และ nextresponders เพื่อรับ viewControllers โดยตรง
-
cy# [[[UIApp keyWindow] rootViewController] _printHierarchy].toString()
- วิธีรายการที่รันไทม์
-
cy# classname.messages หรือ cy# function printMethods(className, isa) { var count = new new Type("I"); var classObj = (isa != undefined) ? objc_getClass(className)->isa : objc_getClass(className); var methods = class_copyMethodList(classObj, count); var methodsArray = []; for(var i = 0; i < *count; i++) { var method = methods[i]; methodsArray.push({selector:method_getName(method), implementation:method_getImplementation(method)}); } free(methods); return methodsArray; }
-
cy# printMethods("<classname>")
- พิมพ์ตัวแปรอินสแตนซ์ทั้งหมด
-
cy# a=#0x15d0db80 -
cy# *a หรือ -
cy# function tryPrintIvars(a){ var x={}; for(i in *a){ try{ x[i] = (*a)[i]; } catch(e){} } return x; } -
cy# a=#0x15d0db80 -
cy# tryPrintIvars(a)
- การจัดการผ่านทรัพย์สิน
-
cy# [a pinCode] -
cy# [a setPinCode: @"1234"] หรือ cy# a.setPinCode= @"1234"
- วิธีการเลื่อนตัวอย่างเช่นวิธีการ
-
cy# [a isValidPin] -
cy# <classname>.prototype.isValidPin = function(){return 1;}
- วิธีการเลื่อนสำหรับวิธีการเรียน
-
cy# [Pin isValidPin] -
cy# Pin.contructor.prototype.['isValidPin'] = function(){return 1;}
- Inalyzer - AppSec Labs Inalyzer เป็นกรอบสำหรับการจัดการแอปพลิเคชัน iOS โดยการดัดแปลงพารามิเตอร์และวิธีการ
- เกรฟฟรุ๊ต - เครื่องมือแอปพลิเคชันรันไทม์สำหรับ iOS, Passionfruit ก่อนหน้านี้
- Introspy -IOS - เครื่องมือ Blackbox เพื่อช่วยให้เข้าใจว่าแอปพลิเคชัน iOS กำลังทำอะไรอยู่ที่รันไทม์และช่วยในการระบุปัญหาความปลอดภัยที่อาจเกิดขึ้น
- Apple Configurator 2 - ยูทิลิตี้ที่สามารถใช้ในการดูบันทึกระบบสดบน iDevice
- Keychaindumper - เครื่องมือในการตรวจสอบรายการพวงกุญแจใดที่มีให้สำหรับผู้โจมตีเมื่ออุปกรณ์ iOS ถูกเจลเบรค
- BinaryCookiereader - เครื่องมือในการทิ้งคุกกี้ทั้งหมดจากไฟล์ Binary.BinaryCookies
การวิเคราะห์เครือข่ายและการทดสอบด้านเซิร์ฟเวอร์
- มัลลอรี่ - ชายในเครื่องมือกลาง (MITM) ที่ใช้ในการตรวจสอบและจัดการการรับส่งข้อมูลบนอุปกรณ์มือถือและแอปพลิเคชัน
- Burp Suite - Burp Suite เป็นแพลตฟอร์มแบบบูรณาการสำหรับการทดสอบความปลอดภัยของแอปพลิเคชัน
- OWASP ZAP - OWASP ZED Attack Proxy Project เป็นเครื่องสแกนความปลอดภัยเว็บโอเพนซอร์ซ มีจุดประสงค์เพื่อใช้งานโดยทั้งผู้ที่เพิ่งเริ่มใช้งานเพื่อความปลอดภัยของแอปพลิเคชันรวมถึงผู้ทดสอบการเจาะมืออาชีพ
- Charles Proxy - HTTP Proxy / HTTP Monitor / Reverse Proxy ที่ช่วยให้นักพัฒนาสามารถดูการรับส่งข้อมูล HTTP และ SSL / HTTPS ทั้งหมดทั้งหมดระหว่างเครื่องและอินเทอร์เน็ต
บายพาสตรวจจับรูทและการตรึง SSL
- SSL Kill Switch 2 - เครื่องมือ BlackBox เพื่อปิดใช้งานการตรวจสอบใบรับรอง SSL - รวมถึงการตรึงใบรับรอง - ภายในแอพ iOS และ OS X
- iOS TrustMe - ปิดการใช้งานการตรวจสอบความน่าเชื่อถือของใบรับรองบนอุปกรณ์ iOS
- TSProtector - เครื่องมืออื่นสำหรับการข้ามการตรวจจับการแหกคุก
- Jailprotect - นอกเหนือจากการผ่านการตรวจจับการแหกคุกมันยังช่วยให้คุณปลอมแปลงเวอร์ชันเฟิร์มแวร์ iOS ของคุณได้อย่างง่ายดาย
- Shadow - Shadow เป็นการปรับแต่งเพื่อบายพาสการตรวจจับการแหกคุกที่เอาชนะวิธีการตรวจจับขั้นพื้นฐานที่ใช้โดยแอพ App Store จำนวนมาก
- Frida Codeshare - โครงการ Frida Codeshare ประกอบด้วยนักพัฒนาจากทั่วโลกที่ทำงานร่วมกับเป้าหมายเดียว - ผลักดัน Frida ให้ถึงขีด จำกัด ในรูปแบบใหม่และนวัตกรรม
- บายพาส SSL Pinning
-
frida --codeshare lichao890427/ios-ssl-bypass -f YOUR_BINARY -
frida --codeshare dki/ios10-ssl-bypass -f YOUR_BINARY
ห้องสมุดความปลอดภัย
- PublicKey Pinning - การตรึง iOS จะดำเนินการผ่าน nsurlconnectiondelegate ผู้แทนจะต้องใช้การเชื่อมต่อ: CanauthenticateAgainstProtectionsPACE: และการเชื่อมต่อ: DidReceiveAuthenticationChallenge: ภายในการเชื่อมต่อ: DidReceiveAuthenticationChallenge:, ผู้แทนจะต้องโทรหา SecTrustEvaluate เพื่อทำการตรวจสอบ X509 ตามธรรมเนียม
- SwiftShield - SwiftShield เป็นเครื่องมือที่สร้างชื่อที่ไม่สามารถย้อนกลับได้และเข้ารหัสสำหรับวัตถุโครงการ iOS ของคุณ (รวมถึงพ็อดและกระดานเรื่องราวของคุณ) เพื่อปกป้องแอพของคุณจากเครื่องมือ
- iOssecuritySuite-iOS Security Suite เป็นห้องสมุดความปลอดภัยแพลตฟอร์มขั้นสูงและง่ายต่อการใช้งานและห้องสมุดต่อต้านการดัดแปลงที่เขียนด้วย Pure Swift! หากคุณกำลังพัฒนาสำหรับ iOS และคุณต้องการปกป้องแอปของคุณตามมาตรฐาน OWASP MASVS บทที่ V8 ห้องสมุดนี้สามารถประหยัดเวลาได้มาก
- OWASP IMAS - IMAS เป็นโครงการวิจัยร่วมกันจาก MITER Corporation ที่มุ่งเน้นไปที่การควบคุมความปลอดภัยของโอเพนซอร์ส iOS
ห้องปฏิบัติการทดสอบการเจาะมือถือ
- WATF BANK-แอปพลิเคชั่นธนาคารบนมือถือที่ไม่น่ากลัว (WATF-BANK) ที่เขียนด้วย Java, Swift 4, Objective-C และ Python (Flask Framework) เป็นเซิร์ฟเวอร์แบ็กเอนด์ได้รับการออกแบบมาเพื่อจำลองแอปพลิเคชั่นธนาคารบนมือถือ
- ไม่ปลอดภัย BANKV2 - แอปพลิเคชั่น Android ที่มีช่องโหว่ที่มีช่องโหว่มีชื่อว่า "ไม่ปลอดภัย BANKV2" และสร้างขึ้นสำหรับผู้ที่ชื่นชอบการรักษาความปลอดภัยและนักพัฒนาเพื่อเรียนรู้ความไม่มั่นคงของ Android โดยการทดสอบแอปพลิเคชันที่มีช่องโหว่นี้ ส่วนประกอบเซิร์ฟเวอร์แบ็คเอนด์ถูกเขียนใน Python
- DVIA -V2 - แอพ iOS ที่มีช่องโหว่ (DVIA) เป็นแอปพลิเคชัน iOS ที่มีความเสี่ยง เป้าหมายหลักคือการจัดหาแพลตฟอร์มให้กับผู้ที่ชื่นชอบการรักษาความปลอดภัยมือถือ/มืออาชีพหรือนักเรียนเพื่อทดสอบทักษะการทดสอบการเจาะ iOS ของพวกเขาในสภาพแวดล้อมทางกฎหมาย
- Diva Android - Diva (แอพที่ไม่ปลอดภัยและมีช่องโหว่) เป็นแอพที่ออกแบบมาโดยเจตนาให้ไม่ปลอดภัยเป้าหมายของแอพนี้คือการสอนนักพัฒนา/QA/ผู้เชี่ยวชาญด้านความปลอดภัย
- DVHMA - แอพไฮบริดมือถือที่มีช่องโหว่ (DVHMA) เป็นแอพมือถือไฮบริด (สำหรับ Android) ที่มีช่องโหว่โดยเจตนา วัตถุประสงค์คือเพื่อให้ผู้เชี่ยวชาญด้านความปลอดภัยสามารถทดสอบเครื่องมือและเทคนิคของพวกเขาอย่างถูกกฎหมายช่วยให้นักพัฒนาเข้าใจข้อผิดพลาดทั่วไปในการพัฒนาแอพมือถือไฮบริดอย่างปลอดภัย
- MSTG Hacking Playground - นี่คือคอลเลกชันของแอพ iOS และ Android Mobile ที่สร้างความไม่ปลอดภัยโดยเจตนา แอพเหล่านี้ใช้เป็นตัวอย่างเพื่อแสดงช่องโหว่ที่แตกต่างกันที่อธิบายไว้ในคู่มือการทดสอบความปลอดภัยของ OWASP Mobile
- แอพมือถือที่ไม่สามารถแยกได้ - แอพที่ไม่สามารถแยกได้สำหรับ Android และ iOS ซึ่งเป็นคอลเลกชันของความท้าทายทางวิศวกรรมย้อนกลับมือถือ ความท้าทายเหล่านี้ใช้เป็นตัวอย่างตลอดคู่มือการทดสอบความปลอดภัยมือถือ
- OWASP IGOAT - แพะเป็นเครื่องมือการเรียนรู้สำหรับนักพัฒนา iOS (iPhone, iPad, ฯลฯ ) และแอพมือถือ pentesters มันได้รับแรงบันดาลใจจากโครงการ WebGoat และมีความคิดที่คล้ายกัน
ผลงาน
ยินดีต้อนรับการมีส่วนร่วมและข้อเสนอแนะของคุณ
ใบอนุญาต
งานนี้ได้รับใบอนุญาตภายใต้ใบอนุญาต Creative Commons Attribution 4.0 International