จะขอความช่วยเหลือได้ที่ไหน : Rhino Security Labs Discord หรือ Stack Overflow
สถานที่ยื่นปัญหา : https://github.com/RhinoSecurityLabs/pacu/issues
ดูแลโดย : Rhino Security Labs
Pacu เป็นเฟรมเวิร์กการหาประโยชน์จาก AWS แบบโอเพ่นซอร์ส ออกแบบมาเพื่อการทดสอบความปลอดภัยเชิงรุกกับสภาพแวดล้อมคลาวด์ Pacu สร้างและดูแลโดย Rhino Security Labs ช่วยให้ผู้ทดสอบการเจาะระบบใช้ประโยชน์จากข้อบกพร่องในการกำหนดค่าภายในบัญชี AWS โดยใช้โมดูลเพื่อขยายฟังก์ชันการทำงานได้อย่างง่ายดาย โมดูลปัจจุบันเปิดใช้งานการโจมตีได้หลากหลาย รวมถึงการเพิ่มสิทธิ์ของผู้ใช้ แบ็คดอร์ของผู้ใช้ IAM การโจมตีฟังก์ชัน Lambda ที่มีช่องโหว่ และอื่นๆ อีกมากมาย
Pacu เป็นโปรแกรมที่ค่อนข้างเบา เนื่องจากต้องใช้เพียง Python3.7+ และ pip3 เพื่อติดตั้งไลบรารี Python จำนวนหนึ่ง
> pip3 install -U pip > pip3 install -U pacu > pacu
สำหรับชุดคำแนะนำผู้ใช้ที่มีรายละเอียดมากขึ้นและเป็นมิตรต่อผู้ใช้ โปรดดูคู่มือการติดตั้งของ Wiki
$ docker run -it Rhinosecuritylabs/pacu:latest
$ docker run -it --entrypoint /bin/sh Rhinosecuritylabs/pacu:latest
คำเตือน: การรันคำสั่งนี้จะเมานต์ไฟล์การกำหนดค่า AWS ภายในของคุณลงในคอนเทนเนอร์ Docker เมื่อเปิดใช้งาน ซึ่งหมายความว่าผู้ใช้ใดๆ ที่สามารถเข้าถึงคอนเทนเนอร์ได้จะสามารถเข้าถึงข้อมูลรับรอง AWS ของคอมพิวเตอร์โฮสต์ของคุณได้
$ docker run -it -v ~/.aws:/root/.aws Rhinosecuritylabs/pacu:latest
ครั้งแรกที่ Pacu เปิดตัว คุณจะได้รับแจ้งให้เริ่มและตั้งชื่อเซสชันใหม่ เซสชันนี้จะใช้เพื่อจัดเก็บคู่คีย์ AWS รวมถึงข้อมูลใดๆ ที่ได้รับจากการเรียกใช้โมดูลต่างๆ คุณสามารถมีเซสชันที่แตกต่างกันจำนวนเท่าใดก็ได้ใน Pacu โดยแต่ละเซสชันมีชุดคีย์ AWS และข้อมูลของตัวเอง และดำเนินการเซสชันต่อเมื่อใดก็ได้ (แม้ว่าในปัจจุบันจำเป็นต้องรีสตาร์ทเพื่อสลับระหว่างเซสชัน)
โมดูลต้องใช้คีย์ AWS ซึ่งให้สิทธิ์การเข้าถึงสภาพแวดล้อม AWS แก่คุณน้อยที่สุด และประกอบด้วย ID คีย์การเข้าถึงและคีย์การเข้าถึงที่เป็นความลับ หากต้องการตั้งค่าคีย์ของเซสชันของคุณ ให้ใช้คำสั่ง set_keys
จากนั้นปฏิบัติตามคำแนะนำเพื่อระบุนามแฝงของคีย์ (ชื่อเล่นสำหรับการอ้างอิง) ID คีย์การเข้าถึง AWS คีย์การเข้าถึงข้อมูลลับของ AWS และโทเค็นเซสชัน AWS (หากคุณใช้งานอยู่ ).
หากคุณติดขัด help
จะแสดงรายการคำสั่งที่ใช้ได้
list
จะแสดงรายการโมดูลที่มีอยู่สำหรับภูมิภาคที่ตั้งค่าไว้ในเซสชันปัจจุบัน
help module_name
จะส่งคืนข้อมูลความช่วยเหลือที่เกี่ยวข้องสำหรับโมดูลที่ระบุ
run module_name
จะรันโมดูลที่ระบุพร้อมกับพารามิเตอร์เริ่มต้น
run module_name --regions eu-west-1,us-west-1
จะรันโมดูลที่ระบุกับภูมิภาค eu-west-1 และ us-west-1 (สำหรับโมดูลที่รองรับอาร์กิวเมนต์ --regions)
pacu --help
จะแสดงเมนูช่วยเหลือ
pacu --session
ตั้งค่าเซสชันเพื่อใช้สำหรับคำสั่งที่ต้องการ
pacu --list-modules
จะแสดงรายการโมดูลทั้งหมดที่มีอยู่ (ไม่ต้องใช้เซสชัน)
pacu --pacu-help
จะแสดงรายการหน้าต่างวิธีใช้ pacu (ไม่ต้องใช้เซสชัน)
pacu --module-name
ชื่อของโมดูลที่จะดำเนินการ คุณสามารถดำเนินการหรือรับข้อมูลเกี่ยวกับโมดูล
pacu --exec
รันโมดูลที่ให้ไว้ใน --module-name
pacu --module-info
รับข้อมูลเกี่ยวกับโมดูลที่ให้ไว้ใน --module-name
pacu --data
ค้นหาฐานข้อมูล SQLAlchemy ในเครื่องเพื่อดึงข้อมูลที่ระบุ
pacu --module-args="
จัดหาอาร์กิวเมนต์โมดูลเสริมให้กับโมดูลที่กำลังดำเนินการ
pacu --set-regions
ตั้งค่าขอบเขตที่จะใช้ในเซสชัน แยกภูมิภาคด้วยช่องว่าง หรือป้อน all
สำหรับทุกภูมิภาค
pacu --whoami
รับข้อมูลเกี่ยวกับผู้ใช้ปัจจุบัน
Pacu ใช้โมดูลปลั๊กอินที่หลากหลายเพื่อช่วยผู้โจมตีในการแจงนับ การเพิ่มสิทธิ์ การขโมยข้อมูล การใช้ประโยชน์จากบริการ และการจัดการบันทึกภายในสภาพแวดล้อม AWS ยินดีสนับสนุนการมีส่วนร่วมหรือแนวคิดสำหรับโมดูลใหม่
เพื่อให้ทันกับการพัฒนาผลิตภัณฑ์ AWS อย่างต่อเนื่อง เราได้ออกแบบ Pacu ตั้งแต่ต้นจนจบโดยคำนึงถึงความสามารถในการขยาย ไวยากรณ์และโครงสร้างข้อมูลทั่วไปช่วยให้โมดูลสร้างและขยายได้ง่าย ไม่จำเป็นต้องระบุภูมิภาค AWS หรือทำการตรวจสอบสิทธิ์ซ้ำซ้อนระหว่างโมดูล ฐานข้อมูล SQLite ภายในถูกใช้เพื่อจัดการและจัดการข้อมูลที่ดึงมา โดยลดการเรียก API (และบันทึกที่เกี่ยวข้อง) การรายงานและการตรวจสอบการโจมตียังรวมอยู่ในกรอบงานด้วย Pacu ช่วยเหลือกระบวนการเอกสารผ่านการบันทึกคำสั่งและการส่งออก ซึ่งช่วยสร้างไทม์ไลน์สำหรับกระบวนการทดสอบ
เรายินดีเสมอที่ได้รับรายงานข้อผิดพลาดในเฟรมเวิร์ก Pacu รวมถึงการทดสอบและคำติชมเกี่ยวกับโมดูลต่างๆ และโดยทั่วไปแล้ว คำติชมที่สำคัญเพื่อช่วยปรับแต่งเฟรมเวิร์ก การสนับสนุน Pacu ผ่านการใช้งาน การทดสอบ การปรับปรุง หรือเพียงแค่การเผยแพร่ จะได้รับการชื่นชมอย่างมาก
หากคุณสนใจที่จะมีส่วนร่วมกับ Pacu Framework โดยตรง โปรดอ่านหลักเกณฑ์การสนับสนุนของเราสำหรับแบบแผนโค้ดและบันทึกเกี่ยวกับ git-flow
หากคุณสนใจที่จะเขียนโมดูลของคุณเองสำหรับ Pacu โปรดดูหน้าวิกิการพัฒนาโมดูลของเรา ขณะที่คุณพัฒนาความสามารถใหม่ๆ โปรดติดต่อเรา เรายินดีที่จะเพิ่มโมดูลใหม่ของคุณลงในคอลเลกชันหลักที่มาพร้อมกับ Pacu
ปรับปรุงการจัดรูปแบบอินเทอร์เฟซ
การส่งต่อฐานข้อมูลและการติดตามเวอร์ชัน
"Attack Playbooks" เพื่อให้ใช้งานห่วงโซ่การดำเนินการโมดูลที่ซับซ้อนได้ง่ายขึ้น
เอาต์พุตคอนโซลสี
ฟังก์ชันการทำงานของโมดูล Dry-Run
อนุญาตให้ใช้ไฟล์กำหนดค่าแบบสแตนด์อโลน
การปรับปรุงสถาปัตยกรรมปลั๊กอิน
Pacu ได้รับการรองรับอย่างเป็นทางการใน OSX และ Linux
Pacu เป็นซอฟต์แวร์โอเพ่นซอร์สและเผยแพร่พร้อมใบอนุญาต BSD-3-Clause
รายงานช่องโหว่ใน Pacu ให้เราทราบโดยตรงทางอีเมล: [email protected]
Pacu สร้างบันทึกข้อผิดพลาดภายในโฟลเดอร์ของแต่ละเซสชัน รวมถึงบันทึกข้อผิดพลาดส่วนกลางสำหรับข้อผิดพลาดนอกเซสชันซึ่งสร้างขึ้นในไดเร็กทอรีหลัก หากทำได้ โปรดรวมบันทึกเหล่านี้ไว้ในรายงานข้อบกพร่องของคุณ เนื่องจากจะทำให้กระบวนการแก้ไขข้อบกพร่องง่ายขึ้นอย่างมาก
หากคุณมีคำขอคุณลักษณะ แนวคิด หรือข้อบกพร่องที่ต้องรายงาน โปรดส่งมาที่นี่
โปรดใส่คำอธิบายที่เพียงพอที่จะจำลองจุดบกพร่องที่คุณพบ รวมถึงการย้อนกลับและขั้นตอนการทำซ้ำ และตรวจสอบรายงานอื่น ๆ เกี่ยวกับจุดบกพร่องของคุณก่อนที่จะยื่นรายงานจุดบกพร่องใหม่ อย่าส่งรายการที่ซ้ำกัน
สำหรับคำแนะนำแบบทีละขั้นตอนและเอกสารฉบับเต็ม โปรดไปที่วิกิ Pacu
เรายินดีรับฟังจากคุณ ไม่ว่าจะด้วยเหตุผลใดก็ตาม ติดต่อ Rhino Security Labs Discord
เท่าที่เราทราบ ความสามารถของ Pacu เป็นไปตามนโยบายการใช้งานที่ยอมรับได้ของ AWS แต่ในฐานะเครื่องมือที่ยืดหยุ่นและเป็นโมดูล เราไม่สามารถรับประกันได้ว่าสิ่งนี้จะเป็นจริงในทุกสถานการณ์ เป็นความรับผิดชอบของคุณโดยสิ้นเชิงในการตรวจสอบให้แน่ใจว่าวิธีที่คุณใช้ Pacu เป็นไปตามนโยบายการใช้งานที่ยอมรับได้ของ AWS
ขึ้นอยู่กับบริการของ AWS ที่คุณใช้และการทดสอบที่วางแผนไว้ของคุณ คุณอาจต้องตรวจสอบนโยบายการสนับสนุนลูกค้า AWS สำหรับการทดสอบการเจาะข้อมูลก่อนที่จะใช้งาน Pacu กับโครงสร้างพื้นฐานของคุณจริงๆ
เช่นเดียวกับเครื่องมือทดสอบการเจาะระบบอื่นๆ เป็นความรับผิดชอบของคุณที่จะต้องได้รับอนุญาตอย่างถูกต้องก่อนที่จะใช้ Pacu นอกสภาพแวดล้อมของคุณ
Pacu เป็นซอฟต์แวร์ที่ไม่มีการรับประกันใดๆ ทั้งสิ้น เมื่อใช้ Pacu คุณจะต้องรับผิดชอบอย่างเต็มที่ต่อผลลัพธ์ใดๆ ที่เกิดขึ้น