รีวิวแพลตฟอร์มช่วยแฮก/ทดสอบเจาะระบบอัตโนมัติ Infection Monkey

จากกระแสของแนวคิดการทดสอบและประเมินความปลอดภัยของระบบด้วยการจำลองการโจมตีตามพฤติกรรมของภัยคุกคาม หรือในชื่ออย่างเป็นทางการคือการทดสอบเจาะระบบแบบ Intelligence-lead (iPentest) ในวันนี้ทีม Intelligent Response จะมานำเสนอและทดสอบใช้งานอีกหนึ่งโครงการโอเพนซอร์สที่น่าสนใจซึ่งช่วยในการประเมินความปลอดภัยของระบบในเบื้องต้นได้ โดยโครงการนี้เป็นผลงานจากบริษัท Guardicore ซึ่งมีชื่อว่า Infection Monkey ครับ

การใช้เครื่องมือหรือวิธีการใดๆ ที่นำเสนอในบทความมีจุดประสงค์เพื่อการทดสอบและประเมินความปลอดภัยระบบ ทีม Intelligent Response และบริษัท ไอ-ซีเคียว จำกัด ขอปฏิเสธความรับผิดชอบหากมีการเนื้อหาของบทความไปใช้เพื่อสร้างความเดือดร้อนหรือกระทำผิดตามบทบัญญัติซึ่งระบุไว้ในพระราชบัญญัติว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. 2550
ทำความรู้จักแนวคิดของ Automated Pentest ของ Infection Monkey
ก่อนที่เราจะไปดูฟีเจอร์ที่หวือหวาที่สุดของ Infection Monkey ซึ่งก็คือการทำงานโดยอัตโนมัติ ทีม Intelligent Response ต้องขอเล่าแนวคิดและเกร็ดเล็กน้อยเกี่ยวกับแนวคิดของ "ความอัตโนมัติ" ที่เกี่ยวข้องกับการหาและโจมตีช่องโหว่ความปลอดภัยกันซักหน่อยครับ

ไอเดียการพัฒนาแพลตฟอร์มแบบ Infection Monkey หรือการนำเอากระบวนการแบบอัตโนมัติเข้าไปครอบขั้นตอนของการประเมินความปลอดภัยระบบนั้นแท้จริงไม่ใช่เรื่องใหม่และมีมานานแล้วในแพลตฟอร์มประเมินความปลอดภัยระบบต่างๆ อาทิ

ในรุ่นโอเพนซอร์สของ Metasploit หรือที่รู้จักกันในชื่อ Metasploit Framework นั้น ผู้ทดสอบเจาะระบบสามารถเรียกใช้โมดูลระดับตำนานชื่อ db_autopwn ซึ่งจะดำเนินการเรียกใช้โค้ดสำหรับโจมตีช่องโหว่โดยอัตโนมัติ อ้างอิงจากผลลัพธ์การสแกนด้วย NMAP หรือ Nessus หรือโมดูล Browser Autopwn ซึ่งถูกพัฒนาเพื่อเลียนแบบการโจมตีในรูปแบบ Drive-by download ได้
เฟรมเวิร์คระดับตำนานสมัยยุค Backtrack "Armitage" ก็มีฟีเจอร์ Automatic Exploitation ซึ่งใช้แนวคิดเดียวกับ db_autopwn ในการโจมตีโดยอัตโนมัติด้วยเช่นกัน
(ไม่ได้ขายของ) ในยุคต่อมาฟีเจอร์ Auto-Exploitation ได้กลายมาเป็นฟีเจอร์หากินสำคัญของ Metasploit Pro ซึ่งผมเชื่อว่าเราจะได้ยินฟีเจอร์นี้ทุกครั้งจากฝ่ายขายของทาง Rapid 7

ข้อแตกต่างที่เห็นได้อย่างชัดเจนของ Infection Monkey กับกลุ่มซอฟต์แวร์แบบโอเพนซอร์สด้านบนนั้นคือความสามารถในการทำ Automated Post Exploitation เบื้องต้น หรือกระบวนการหลังจากที่ผู้โจมตีสามารถเข้ายึดระบบได้สำเร็จ อาทิ Internal discovery และ Pivoting/Lateral movement ซึ่งในกรณีของกลุ่มซอฟต์แวร์อื่นๆ นั้น อาจจำเป็นต้องมีการใช้ฟีเจอร์เสริมหรือการพัฒนาส่วนเสริมเพื่อให้เกิดการทำงานในลักษณะนี้อีกทีหนึ่ง

ทั้งนี้ด้วยความที่เป็นโครงการโอเพนซอร์ส ความสามารถของ Infection Monkey จึงถูกจำกัดด้วยเทคนิคในการ Gaining access และ Post exploitation ซึ่งเราจะพูดถึงเทคนิคและช่องโหว่ซึ่ง Infection Monkey มีการใช้งานกันต่อในส่วนต่อไปครับ
การทำงานเบื้องต้นของ Infection Monkey
โครงการ Infecion Monkey จะประกอบไปด้วยสองโมดูลหลักๆ คือ Monkey และ Monkey Island

โมดูล Monkey คือไฟล์ประเภทไบนารีซึ่งถูกพัฒนาเพื่อทำหน้าที่เป็นมัลแวร์และสามารถแพร่กระจายได้ ในการใช้งานนั้นผู้ทดสอบจะต้องการเอ็กซีคิวต์เพื่อให้โมดูล Monkey เริ่มการทำงานที่ระบบเป้าหมาย โดยโมดูล Monkey จะเริ่มทำกระบวนการ Internal discovery และ Pivoting/Lateral movement โดยอัตโนมัติตามการตั้งค่า ในรุ่นล่าสุดของ Infection Monkey (1.6.3) ตัวโมดูลจะรองรับการทำงานเฉพาะในระบบปฏิบัติการ Windows (32-bit และ 64-bit) และ Linux (32-bit และ 64-bit)

โมดูล Monkey Island จะเป็นเว็บแอปพลิเคชันซึ่งทำหน้าที่เป็นเซิร์ฟเวอร์ Command & Control ซึ่งจะคอยแสดงสถานะและควบคุมการทำงานของ Monkey โดยผู้ทดสอบสามารถตรวจสอบและหยุดการทำงานของ Monkey ได้ผ่านหน้าแดชบอร์ด เมื่อดำเนินการจนเสร็จสิ้น เราจะทดสอบตรวจสอบ Security Report ได้จากโมดูลนี้ด้วย

สำหรับในรุ่นล่าสุด ผู้ทดสอบสามารถติดตั้ง Monkey Island ได้ทั้งในแพลตฟอร์มของ VMware, AWS, รูปแบบ container, GCP, Azure, Windows Server และแพ็คเกตสำหรับลินุกซ์ซึ่งใช้ Debain-based package managerpenetration testing

สำหรับในการใช้งานนั้น ผู้ทดสอบสามารถเริ่มใช้งานได้ตามขั้นตอนที่ Infection Monkey กำหนดไว้ ได้แก่

ติดตั้งเซิร์ฟเวอร์ Monkey Island
ตั้งค่ารูปแบบการทำงานของโมดูล Monkey
เลือกให้ Monkey เริ่มทำงานที่เซิร์ฟเวอร์ Monkey Island หรือระบบที่ต้องการ
นั่งดูผลลัพธ์การทำงานผ่าน Infection Map
เมื่อการทำงานเสร็จสิ้น ตรวจสอบปัญหาซึ่งพบได้จากหน้า Security Report

เราสามารถแอบดูการทำงานของ Monkey จากเป้าหมายซึ่งเรานำโมดูลไปรัน โดยจะพบกับบันทึกการทำงานของโมดูลในการค้นหาระบบอื่นๆ, ทำการเก็บข้อมูลและพยายามโจมตีระบบด้วยช่องโหว่ที่มากับแพลตฟอร์มครับ

การตั้งค่าการทำงานของ Monkey และการใช้งานช่องโหว่
เราสามารถกำหนดการทำงานหรือฟีเจอร์ของโมดูล Monkey ได้ตามรายการดังต่อไปนี้

Exploit user/password list หรือรายการของชื่อบัญชีและรหัสผ่านซึ่งจะถูกใช้ในการขั้นตอนของการ Gaining access
Distance from Island คือจำนวน Hop ของระบบซึ่ง Monkey จะสามารถกระโดดและแพร่กระจายไปได้
Network segmentation/exclusion คือรายการของหมายเลขไอพีแอดเดรสหรือ subnet ซึ่งจะถูกยกเว้นจากการพยายามเข้าถึง
Custom post breach command คือรายการของคำสั่งทั้งในระบบ Linux/Windows ซึ่งจะถูกเอ็กซีคิวต์หลังจากที่ Monky สามารถเข้าถึงระบบได้สำเร็จ
TCP scanner คือการตั้งค่าเกี่ยวกับการทำงานในขั้นตอน Discovery ทั้งรูปแบบการสแกนและรายการพอร์ต พอร์ตที่จะตรวจสอบว่าเป็นเซิร์ฟเวอร์ HTTP หรือไม่
Exploits คือรายการของโค้ด/วิธีในการโจมตีช่องโหว่และการตั้งค่าต่างๆ ซึ่งจะใช้ในกระบวนการ Gaining access ได้แก่ Exploiter สำหรับ SMB, WMI, MSSQL, RDP, MS08-067, SSH, ShellShock, SambaCry, ช่องโหว่ ElasticGroovy, ช่องโหว่ Struts2, ช่องโหว่ Oracle Web Logic และช่องโหว่ Hadoop/Yarn

ประเมินการทดสอบด้วย Security Report
เมื่อกระบวนการ Infection เสร็จสิ้น ผู้ทดสอบสามารถตรวจสอบการทำงานรวมไปถึงการค้นพบช่องโหว่ได้จากฟีเจอร์ Securty Report

โดยในตัวอย่างของ Security Report ด้านบนนั้น Infection Monkey จะมีการระบุว่าสามารถโจมตีด้วยช่องโหว่ ShellShock ด้านในระบบใดบ้าง พร้อมข้อมูลสำหรับยืนยันตัวตนซึ่งสามารถขโมยมาได้จากระบบต่างๆ ด้วย
สรุป
เรามองว่า Infection Monkey เป็นแพลตฟอร์มที่ใช้งานได้ง่ายและมีประสิทธิภาพมากพอในการทดสอบและประเมินความปลอดภัยในบางสภาพแวดล้อม ด้วยรายการของช่องโหว่ที่เป็นที่รู้จักและมีผลกระทบค่อนข้างสูง และฟีเจอร์ในการแพร่กระจายโดยอัตโนมัติ ทำให้ Infection Monkey เป็นอีกหนึ่งแพลตฟอร์มที่น่าสนใจในการทดสอบและพัฒนาต่อครับ

ขอให้สนุกกับการแฮกนะครับ 🙂

รีวิวเฟรมเวิร์คจำลองการโจมตีตามพฤติกรรมของภัยคุกคามเพื่อการทดสอบในรูปแบบ iPentest

บทความนี้จัดทำโดย เนติวัฒน์ วงศ์ยะรา นักศึกษาฝึกงาน และเรียบเรียงโดยทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) บริษัท ไอ-ซีเคียว จำกัด

ในบทความนี้ ทีม Intelligent Response จะทำการรีวิวโอเพนซอร์สเฟรมเวิร์คซึ่งช่วยให้ผู้ที่ทำงานในสายงานด้านความมั่นคงปลอดภัยไซเบอร์สามารถทำการจำลองพฤติกรรมของภัยคุกคามเพื่อใช้ในการทดสอบและประเมินความปลอดภัยระบบตามแนวทาง iPentest ของธนาคารแห่งประเทศไทยได้

เนื้อหาภายในบทความจะมีตามหัวข้อดังต่อไปนี้ครับ

ทำความรู้จักแนวปฏิบัติการทดสอบเจาะระบบแบบ Intelligence-lead (iPentest)
TTP คืออะไร? นำมาใช้ยังไงได้บ้าง?
จากพฤติกรรมของผู้บุกรุก สู่ Machine-readable Data
แนะนำโอเพนซอร์สเฟรมเวิร์คสำหรับการจำลองพฤติกรรมของภัยคุกคาม
ผลการรีวิวเฟรมเวิร์คสำหรับการจำลองพฤติกรรมของภัยคุกคาม
สรุป

ทำความรู้จักแนวปฏิบัติการทดสอบเจาะระบบแบบ Intelligence-lead (iPentest)
เมื่อวันที่ 4 กันยายนที่ผ่านมา ธนาคารแห่งประเทศไทยออกประกาศภายใต้เรื่องแนวปฏิบัติการทดสอบเจาะระบบแบบ Intelligence-lead (iPentest) ซึ่งรูปแบบของการทดสอบเจาะระบบใหม่โดยเน้นไปที่การทดสอบภายใต้สถานการณ์เสมือนจริงในลักษณะ Red Teaming

ใจความสำคัญของ iPentest นั้นคือการทดสอบเจาะระบบที่มีการใช้ข้อมูล Threat intelligence ในกำหนดสถานการณ์จำลองเพื่อใช้ในการทดสอบเจาะระบบ สถานการณ์จำลองดังกล่าวจะต้องสอดคล้องกับโอกาสและภาพรวมของภัยคุกคามที่สถาบันการเงินจะเผชิญ แนวปฏิบัติยังเปิดช่องทางให้สถานการณ์จำลองถูกดำเนินการได้ในลักษณะของการ Capture the Flag (CTF) ด้วย

การนำข้อมูลภัยคุกคาม (Threat intelligence) มาใช้เพื่อทำการทดสอบเจาะระบบนั้นมีความสำคัญอย่างยิ่งต่อการประเมินและจัดการความเสี่ยง เพราะถึงแม้ในสถาบันการเงินโดยส่วนใหญ่จะมีการทดสอบเจาะระบบในรูปแบบของ Penetration testing โดยทั่วไปอยู่ก่อนแล้ว การเกิดขึ้นของ iPentest ได้เข้ามาเติมเต็มส่วนสำคัญที่การทดสอบเจาะระบบในรูปแบบทั่วไปนั้นไม่สามารถสร้างคุณค่าได้ เพราะในขณะที่ Penetration testing โฟกัสไปที่การค้นหาและจัดการช่องโหว่เพื่อลดความเสี่ยง รูปแบบของ iPentest มองภาพกว้างกว่าช่องโหว่ ซึ่งอาจรวมไปถึงข้อผิดพลาดหรือจุดอ่อนเพียงเล็กน้อยที่หากถูกโจมตีอยากถูกต้อง มันอาจนำไปสู่ความเสียหายที่ใหญ่หลวงได้

เทรนด์ด้านการทดสอบและประเมินความมั่นคงปลอดภัยในลักษณะของ iPentest นั้นเป็นหนึ่งในเทรนด์ด้านความปลอดภัยที่ได้รับความนิยมสูงขึ้นในแวดวงความปลอดภัยไซเบอร์ทั่วโลก กระบวนการดังกล่าวถูกเรียกด้วยชื่อที่แตกต่างกันในหลายรูปแบบ อาทิ Red teaming, Adversary simulation, Adversary emulation, Threat emulation และอื่นๆ ในขณะเดียวกันสายงาน อาทิ Red team, Threat hunter หรือ Purple team ก็เกิดขึ้นและได้รับความนิยมสูงไม่แพ้กัน
TTP คืออะไร? นำมาใช้ยังไงได้บ้าง?
เมื่อพูดถึงการใช้งาน Threat intelligence เพื่อการจำลองพฤติกรรมของผู้โจมตีจริง เราจำเป็นต้องเข้าใจประเภทของ Threat intelligence ที่สามารถนำไปใช้งานได้ก่อน หนึ่งในวิธีการจำแนกประเภทของ Threat intelligence ที่ง่ายและได้รับความนิยมรูปแบบหนึ่งคือ The Pyramid of Pain ซึ่งเป็นผลงานของ David J. Bianco

The Pyramid of Pain จำแนกประเภทของ Threat intelligece ด้วยขั้นของความพยายามที่ผู้โจมตีต้องใช้เพื่อแก้ไข/เปลี่ยนแปลงตัวบ่งชี้ภัยคุกคาม (indicator) ในแต่รูปแบบเพื่อให้สามารถหลบหลีกการตรวจจับและการป้องกันได้

เราสามารถตีความ The Pyramid of Pain ในอีกความหมายหนึ่งได้ว่า หากสถาบันการเงินสามารถตรวจจับและป้องกันความพยายามของผู้บุกรุกด้วยตัวบ่งชี้ภัยคุกคามที่เป็นหมายเลขไอพีแอดเดรสที่มัลแวร์ทำการติดต่อด้วยและค่าแฮชของไฟล์มัลแวร์ดังกล่าว มันง่ายและง่ายมากที่ผู้โจมตีจะทำการเปลี่ยนตัวบ่งชี้ดังกล่าวเป็นค่าใหม่เพื่อทำการตรวจจับและป้องกันหมดฤทธิ์

หากเราไล่ไปถึงยอดของพีระมิด เราจะพบว่าสิ่งที่ผู้โจมตีเปลี่ยนแปลงได้ยากที่สุดนั้นคือสิ่งที่เรียกว่า Tactics,Techniques and Procedures หรือ TTP ซึ่งมีความหมายดั้งเดิมที่เกี่ยวข้องกับการรักษาความมั่นคงจากภัยก่อการร้ายก่อนจะถูกนำมาใช้ในการรักษาความปลอดภัยไซเบอร์ TTP อธิบายถึงรูปแบบหรือลักษณะพฤติกรรมที่ผู้บุกรุกจะทำเมื่อจะสร้างความเสียหายหรือโจมตี พฤติกรรมอาจมีความเหมือนกันในหลายกลุ่มผู้บุกรุก แต่หากเราสามารถรวบรวมรูปแบบหรือลักษณะของพฤติกรรมดังกล่าว ไปจนถึงตัวบ่งชี้ภัยคุกคามในระดับที่ต่ำลงมาได้ การระบุกลุ่มผู้บุกรุกจากพฤติกรรมก็สามารถทำได้อย่างมีประสิทธิภาพเช่นเดียวกัน
จากพฤติกรรมของผู้บุกรุก สู่ Machine-readable Data
ในช่วงหลายปีที่ผ่านมา ความพยายามในการอธิบายรูปแบบหรือลักษณะพฤติกรรมของผู้บุกรุกให้อยู่ในรูปแบบของข้อมูลที่สามารถถูกประมวลผลและใช้งานได้โดยคอมพิวเตอร์เกิดขึ้นในหลายรูปแบบ เราจะมาดูกันครับว่าในทุกวันนี้เรามีวิธีในการอธิบายพฤติกรรมของผู้บุกรุกเพื่อนำข้อมูลไปใช้กันอย่างไรบ้าง
เฟรมเวิร์คตระกูล STIX/MAEC/CYBOX
STIX/MAEC/CyBox คือความพยายามจาก OASIS Cyber Threat Intelligence (CTI) TC ในการพัฒนากรอบและมาตรฐานเพื่ออธิบายพฤติกรรมของผู้โจมตี ตัวบ่งชี้ภัยคุกคามรวมไปถึงสิ่งที่ตรวจพบอื่นๆ (Observable) โดย STIX เน้นไปที่การอธิบายข้อมูลภัยคุกคามทั้งช่องโหว่, ผู้กระทำ, เป้าหมาย, จุดมุ่งหมาย, ตัวบ่งชี้ภัยคุกคามและอื่นๆ ด้วยความสัมพันธ์ระหว่างกัน

MAEC เน้นไปที่การอธิบายข้อมูลจำเพาะที่เกี่ยวกับมัลแวร์ทั้งคุณลักษณะของไฟล์, ความเกี่ยวข้องกับกลุ่มผู้โจมตีรวมไปถึงสายพันธุ์ของมัลแวร์

ท้ายที่สุด CyBox เน้นไปที่การอธิบายและให้ความหมายของทุกข้อมูลที่ตรวจพบ (Observable) โดยไม่จำกัดว่าสิ่งนั้นจะเป็นตัวบ่งชีภัยคุกคามหรือไม่ ไม่ว่าจะเป็นค่ารีจิสทรี, พฤติกรรมการลบไฟล์หรือข้อมูลในโปรโจตอล HTTP GET

ในปัจจุบันองค์กรหลายแห่งมีการเผยแพร่ตัวบ่งชี้ภัยคุกคามในรูปแบบของไฟล์ STIX รวมไปถึงเปิดให้องค์กรสามารถเข้าถึงและใช้งานข้อมูลในฟอร์แมตของ STIX ได้ผ่านเซิร์ฟเวอร์ TAXII ตัวอย่างเช่น ประกาศล่าสุดจาก US-CERT ว่าด้วยเรื่องของมัลแวร์ ELECTRICFISH จากกลุ่มแฮกเกอร์ Lazarus
เฟรมเวิร์คตระกูล MITRE ATT&CK
MITRE ATT&CK สามารถถูกเรียกได้ว่าทั้งเฟรมเวิร์คและแหล่งข้อมูล TTP ที่ดีที่สุดแหล่งหนึ่งของโลก มันได้ทำการรวบรวมและอธิบาย TTP ไว้ในรูปแบบเดียวกับที่ Cyber Kill Chain ของ Lockheed Martin เคยทำแต่ด้วยรายละเอียดที่เยอะกว่า รวมไปถึงการเชื่อมโยงระหว่าง TTP, กลุ่มผู้โจมตี, เครื่องมือที่ใช้และคำแนะนำในการตรวจจับและบรรเทาผลกระทบที่เกิดขึ้นจากเทคนิคที่ผู้บุกรุกกระทำ

ความนิยมของ MITRE ATT&CK ทำให้มันถูกนำไปปรับใช้กับผลิตภัณฑ์ด้านความปลอดภัยหลายรายการ รวมไปถึงการนำไปใช้ในการอธิบายพฤติกรรมของผู้บุกรุกใหม่ๆ ยกตัวอย่างเช่น ผลิตภัณฑ์ในกลุ่ม Endpoint Detection & Response "CrowdStrike" ซึ่งนำข้อมูลจาก MITRE ATT&CK มาใช้เพื่อช่วยในการตรวจจับ

ทีม Intelligent Response ยังได้เคยนำแนวคิดของ MITRE ATT&CK มาใช้ในการอธิบายความเชื่อมโยงระหว่างพฤติกรรมของผู้โจมตีและกลุ่มผู้โจมตีในงาน MissConf(SP)#5 ภายใต้หัวข้อ APT-Based Security Assessment and Detection (ดูสไลด์)
แนะนำโอเพนซอร์สเฟรมเวิร์คสำหรับการจำลองพฤติกรรมของภัยคุกคาม
ด้วยข้อมูลที่ได้มาจากฐานข้อมูล TTP ในรูปแบบต่างๆ ทีม Intelligent Response จึงได้มีการรวบรวมและทดสอบโอเพนซอร์สเฟรมเวิร์คที่สามารถนำข้อมูลดังกล่าวมาจำลองเป็นพฤติกรรมจริงๆ ในสภาพแวดล้อมที่ต้องการได้ ความสามารถในการจำลองพฤติกรรมของภัยคุกคามนอกจากจะช่วยในการประเมินความเสี่ยงด้านความปลอดภัยแล้ว มันยังมีส่วนสำคัญในการพัฒนาศักยภาพในการรับมือและตอบสนองภัยคุกคาม และการใช้เพื่อทดสอบความสามารถของผลิตภัณฑ์ด้านความปลอดภัยด้วย

จากรายการของเฟรมเวิร์คที่ได้มีการรวบรวมไว้ ทีม Intelligent Response ได้มีการเลือกเฟรมเวิร์คซึ่งจะนำมาทดสอบตามรายการดังต่อไปนี้

Red Team Automation (RTA) จาก Endgame โดยเป็นเฟรมเวิร์คซึ่งนำพฤติกรรมของผู้โจมตีตามที่ระบุไว้ใน MITRE ATT&CK มารวบรวมไว้ให้อยู่ในรูปแบบของสคริปต์ ซึ่งสามารถตั้งค่าและเรียกใช้เพื่อจำลองพฤติกรรมของผู้โจมตีจริงๆ ขึ้นมาได้
APT Simulator จาก Nextron Systems เป็นเฟรมเวิร์คในการจำลองพฤติกรรมของภัยคุกคามในกลุ่ม APT ให้อยู่ในรูปแบบของสคริปต์ Batch สำหรับระบบปฏิบัติการ Windows พฤติกรรมซึ่งมีการจำลองนั้นเป็นพฤติกรรมที่ไม่ได้อิงจาก MITRE ATT&CK แต่มีบางส่วนคล้ายคลึงกัน
Atomic Red Team จาก Red Canary เป็นเฟรมเวิร์คซึ่งทำการรวบรวม TTP ของผู้บุกรุกอ้างอิงจาก MITRE ATT&CK ไว้ในรูปแบบของ atomic test case ซึ่งทำให้ผู้ทดสอบสามารถนำแต่ละเทคนิคมาทำการปรับแต่งและควบคุมพฤติกรรมที่จะทำการจำลองได้
CALDERA จาก MITRE เป็นโครงการจากผู้ดูแล MITRE ATT&CK ซึ่งถูกพัฒนาขึ้นเพื่อจำลองพฤติกรรมของผู้โจมตีแบบครบวงจร พร้อมทั้งมีรูปแบบของมัลแวร์เสมือนภายในตัวเฟรมเวิร์คเอง

โดยในการรีวิวนั้น ทีม Intelligent Response มีการตั้งคุณสมบัติที่ต้องการไว้ตามรายการดังต่อไปนี้

เฟรมเวิร์คที่เหมาะสมจะต้องมีความครบถ้วนตามฐานข้อมูลภัยคุกคาม MITRE ATT&CK เพื่อให้เกิดความครอบคลุมในการทดสอบภายใต้จุดประสงค์ที่แตกต่างกันให้มากที่สุด
เฟรมเวิร์คจะต้องมีความยืดหยุ่นมากพอให้ทีม Intelligent Response สามารถแก้ไขการตั้งค่าได้ตามต้องการ เช่น การแก้ไข Payload ที่จะถูกเอ็กซีคิวต์ในแต่ละเทคนิคการโจมตี รวมไปถึงเปลี่ยนแปลงรูปแบบและลักษณะของการจำลอง
เฟรมเวิร์คจะต้องสามารถถูกปรับแต่งให้สามารถทำงานโดยอัตโนมัติได้อย่างมีประสิทธิภาพและง่ายดาย ยกตัวอย่างเช่น ผู้ทดสอบสามารถบันทึกรายการของพฤติกรรมที่ต้องการไว้ในรูปแบบของ Playbook และสั่งให้เฟรมเวิร์คจำลองพฤติกรรมตามที่ระบุในช่วงหรือระยะเวลาที่กำหนดได้
เฟรมเวิร์คจะต้องรองรับระบบปฏิบัติการที่หลากหลาย

ผลการรีวิวเฟรมเวิร์คสำหรับการจำลองพฤติกรรมของภัยคุกคาม
Red team automation (RTA)
Red Team Automation หรือ RTA มีการรวบรวมเทคนิคจาก MITRE ATT&CK ไว้ทั้งหมดประมาณ 42 รายการ โดยเน้นไปที่การกลุ่ม Defense evasion, Execution และ Persistence การใช้งานสามารถทำได้ทั้งในรูปแบบของการเรียกใช้โมดูลแยกสำหรับแต่ละเทคนิค, รันทุกเทคนิคโดยอัตโนมัติผ่านทางสคริปต์ run_all.