drozer เป็นเฟรมเวิร์กการทดสอบความปลอดภัยสำหรับ Android
drozer ช่วยให้คุณค้นหาช่องโหว่ด้านความปลอดภัยในแอปและอุปกรณ์โดยสมมติบทบาทของแอปและโต้ตอบกับรันไทม์ของ Android, ตำแหน่งข้อมูล IPC ของแอปอื่นๆ และระบบปฏิบัติการที่เกี่ยวข้อง
drozer มีเครื่องมือที่จะช่วยให้คุณใช้งาน แบ่งปัน และทำความเข้าใจการหาประโยชน์จาก Android แบบสาธารณะ
drozer เป็นซอฟต์แวร์โอเพ่นซอร์ส ดูแลโดย WithSecure และสามารถดาวน์โหลดได้จาก: https://labs.withsecure.com/tools/drozer/
นี่คือรุ่นเบต้าของเวอร์ชัน drozer ที่เขียนใหม่ เวอร์ชันนี้ได้รับการอัปเดตเพื่อรองรับ python3
ในปัจจุบัน มีปัญหาที่ทราบต่อไปนี้:
เพื่อช่วยให้แน่ใจว่า drozer สามารถรันได้บนทุกระบบ จึงได้สร้างคอนเทนเนอร์ Docker ที่มีโครงสร้างเป็น drozer ที่ใช้งานได้
คุณสามารถใช้ pip
หรือ pipx
(ถ้ามี) เพื่อติดตั้ง drozer รุ่นล่าสุดจาก PyPI:
pipx install drozer
หรือคุณสามารถดาวน์โหลดแต่ละรุ่นได้จาก GitHub และเรียกใช้:
pipx install ./drozer- * .whl
หากคุณยังไม่ได้ดำเนินการ ให้พิจารณาดำเนินการ:
pipx ensurepath
เพื่อให้แน่ใจว่าแพ็คเกจที่ติดตั้ง pipx
จะปรากฏใน PATH
ของคุณ
หากต้องการสร้าง drozer จากแหล่งที่มา คุณสามารถเรียกใช้ได้
git clone https://github.com/WithSecureLabs/drozer.git
cd drozer
pip install .
หากต้องการสร้างคอมโพเนนต์เนทีฟของ Android เทียบกับ SDK เฉพาะ คุณสามารถตั้งค่าตัวแปรสภาพแวดล้อม ANDROID_SDK
ให้เป็นเส้นทางได้ ตัวอย่างเช่น:
ลินุกซ์/macOS:
export ANDROID_SDK=/home/drozerUser/Android/Sdk/platforms/android-34/android.jar
Windows - PowerShell:
New-Item - Path Env:ANDROID_SDK - Value ' C:UsersdrozerUserAppDataLocalAndroidsdkplatformsandroid-34android.jar '
Windows - cmd:
set ANDROID_SDK = " C:UsersdrozerUserAppDataLocalAndroidsdkplatformsandroid-34android.jar "
ตำแหน่งของเครื่องมือ d8
ที่ใช้สามารถเปลี่ยนได้โดยการตั้งค่า D8
drozer สามารถติดตั้งได้โดยใช้ Android Debug Bridge (adb)
ดาวน์โหลด drozer Agent ล่าสุดได้ที่นี่
adb install drozer-agent.apk
ตอนนี้คุณควรติดตั้ง drozer Console บนพีซีของคุณ และ Agent ทำงานบนอุปกรณ์ทดสอบของคุณ ตอนนี้ คุณต้องเชื่อมต่อทั้งสองอย่างเข้าด้วยกัน และคุณก็พร้อมที่จะเริ่มสำรวจแล้ว
เราจะใช้เซิร์ฟเวอร์ที่ฝังอยู่ใน drozer Agent เพื่อดำเนินการนี้ ขั้นแรก เปิด Agent เลือกตัวเลือก "เซิร์ฟเวอร์แบบฝัง" แล้วแตะ "เปิดใช้งาน" เพื่อเริ่มเซิร์ฟเวอร์ คุณควรเห็นการแจ้งเตือนว่าเซิร์ฟเวอร์เริ่มทำงานแล้ว
จากนั้น ทำตามตัวเลือกใดตัวเลือกหนึ่งด้านล่าง
ตามค่าเริ่มต้น ตัวแทน drozer จะรับฟังการเชื่อมต่อ TCP ขาเข้าบนอินเทอร์เฟซทั้งหมดบนพอร์ต 31415 ในการเชื่อมต่อกับตัวแทน ให้รันคำสั่งต่อไปนี้:
drozer console connect --server <phone's IP address>
หากคุณใช้คอนเทนเนอร์ Docker คำสั่งที่เทียบเท่าจะเป็น:
docker run --net host -it withsecurelabs/drozer console connect --server <phone's IP address>
ในบางสถานการณ์ การเชื่อมต่อกับอุปกรณ์ผ่านเครือข่ายอาจไม่สามารถทำงานได้ ในสถานการณ์เหล่านี้ เราสามารถใช้ประโยชน์จากความสามารถในการส่งต่อพอร์ตของ adb
เพื่อสร้างการเชื่อมต่อผ่าน USB
ขั้นแรก คุณต้องตั้งค่าพอร์ตที่เหมาะสมไปข้างหน้าเพื่อให้พีซีของคุณสามารถเชื่อมต่อกับซ็อกเก็ต TCP ที่เปิดโดยเอเจนต์ภายในโปรแกรมจำลองหรือบนอุปกรณ์ได้ ตามค่าเริ่มต้น drozer จะใช้พอร์ต 31415
adb forward tcp:31415 tcp:31415
ตอนนี้คุณสามารถเชื่อมต่อกับ drozer Agent ได้แล้วโดยการเชื่อมต่อกับ localhost
(หรือเพียงแค่ไม่ระบุ IP เป้าหมาย)
drozer console connect
คุณควรได้รับพร้อมท์คำสั่ง drozer:
Selecting ebe9fcc0c47b28da (Google sdk_gphone64_x86_64 12)
.. ..:.
..o.. .r..
..a.. . ....... . ..nd
ro..idsnemesisand..pr
.otectorandroidsneme.
.,sisandprotectorandroids+.
..nemesisandprotectorandroidsn:.
.emesisandprotectorandroidsnemes..
..isandp,..,rotecyayandro,..,idsnem.
.isisandp..rotectorandroid..snemisis.
,andprotectorandroidsnemisisandprotec.
.torandroidsnemesisandprotectorandroid.
.snemisisandprotectorandroidsnemesisan:
.dprotectorandroidsnemesisandprotector.
drozer Console (v3.0.0)
dz>
ข้อความแจ้งจะยืนยันรหัส Android ของอุปกรณ์ที่คุณเชื่อมต่อ พร้อมด้วยผู้ผลิต รุ่น และเวอร์ชันซอฟต์แวร์ Android
ตอนนี้คุณพร้อมที่จะเริ่มสำรวจอุปกรณ์แล้ว
สั่งการ | คำอธิบาย |
---|---|
วิ่ง | ดำเนินการโมดูล drozer |
รายการ | แสดงรายการโมดูล drozer ทั้งหมดที่สามารถดำเนินการได้ในเซสชันปัจจุบัน This hides modules that you do not have suitable permissions to run. |
เปลือก | Start an interactive Linux shell on the device, in the context of the Agent process. |
ซีดี | ติดตั้งเนมสเปซเฉพาะเป็นรากของเซสชัน เพื่อหลีกเลี่ยงการต้องพิมพ์ชื่อเต็มของโมดูลซ้ำๆ |
ทำความสะอาด | ลบไฟล์ชั่วคราวที่จัดเก็บโดย drozer บนอุปกรณ์ Android |
ผู้ร่วมให้ข้อมูล | แสดงรายการบุคคลที่มีส่วนร่วมในกรอบงาน drozer และโมดูลที่ใช้งานบนระบบของคุณ |
เสียงสะท้อน | พิมพ์ข้อความไปยังคอนโซล |
ออก | ยุติเซสชั่น drozer |
ช่วย | แสดงความช่วยเหลือเกี่ยวกับคำสั่งหรือโมดูลเฉพาะ |
โหลด | โหลดไฟล์ที่มีคำสั่ง drozer และดำเนินการตามลำดับ |
โมดูล | ค้นหาและติดตั้งโมดูล drozer เพิ่มเติมจากอินเทอร์เน็ต |
สิทธิ์ | แสดงรายการสิทธิ์ที่มอบให้กับตัวแทน drozer |
ชุด | เก็บค่าไว้ในตัวแปรที่จะถูกส่งผ่านเป็นตัวแปรสภาพแวดล้อมไปยังเชลล์ Linux ที่สร้างโดย drozer |
ไม่ได้ตั้งค่า | ลบตัวแปรที่มีชื่อซึ่ง drozer ส่งผ่านไปยังเชลล์ Linux ใดๆ ที่ตัวแปรนั้นวางไข่ |
drozer ได้รับการเผยแพร่ภายใต้ใบอนุญาต BSD 3 ข้อ ดูใบอนุญาตสำหรับรายละเอียดทั้งหมด
drozer เป็นซอฟต์แวร์โอเพ่นซอร์สที่ได้รับการสนับสนุนจากชุมชน
สำหรับซอร์สโค้ดแบบเต็ม หากต้องการรายงานข้อบกพร่อง แนะนำคุณสมบัติ และสนับสนุนแพตช์ โปรดดูโครงการ Github ของเรา:
https://github.com/withsecurelabs/drozer
รายงานข้อผิดพลาด คำขอคุณลักษณะ ความคิดเห็น และคำถามสามารถส่งได้ที่นี่