เรื่องเล่าจากการทดสอบช่องโหว่ CVE-2019-2725 ใน Oracle WebLogic

จากเมื่อวันที่ 21 เมษายน 2019 ทีม KnownSec 404 จาก ZoomEye ประกาศการค้นพบช่องโหว่ระดับวิกฤติใน Oracle WebLogic Server ได้รับ CVE-2019-2725 ช่องโหว่ดังกล่าวกระทบ Oracle WebLogic Server รุ่น 10.x และรุ่น 12.1.3.0 เป็นช่องโหว่ที่สามารถรันคำสั่งจากระยะไกลได้ (remote code-execution) โดยที่ผู้โจมตีไม่จำเป็นต้องทำการเข้าสู่ระบบดังกล่าว ด้วยความร้ายแรงของช่องโหว่นี้ทำให้ Oracle ได้ออกแพตช์เฉพาะกิจมาเพื่อแก้ไขช่องโหว่ดังกล่าวในวันที่ 26 เมษายน 2019

โดยหลังจากที่ออกแพตช์ไม่นาน (2 พฤษภาคม 2019) นักวิจัยจากบริษัทรักษาความปลอดภัยทางไซเบอร์หลายบริษัทพบการโจมตี Oracle WebLogic Server รวมถึงมีการเผยแพร่ POC สำหรับค้นหาและโจมตีช่องโหว่ CVE-2019-2725 จำนวนมาก รวมถึงมีข่าวการโจมตีผ่านช่องโหว่ CVE-2019-2725 ด้วยมัลแวร์หลายครั้ง

หลังจากที่ได้ทำการศึกษาและทดสอบช่องโหว่ สำหรับในบล็อกนี้ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จากบริษัท ไอ-ซีเคียว จำกัด จะมาเล่าการทดสอบช่องโหว่ดังกล่าวให้ฟังกันโดยแบ่งเนื้อหาออกเป็นหัวข้อดังต่อไปนี้

รายละเอียดเกี่ยวกับช่องโหว่ CVE-2019-2725
สมมติฐานในการทดสอบช่องโหว่ CVE-2019-2725
วิธี setup เพื่อทดสอบช่องโหว่ CVE-2019-2725 
ปัญหาในการทดสอบช่องโหว่ CVE-2019-2725 
การทดสอบช่องโหว่ CVE-2019-2725  และ
สรุปการทดสอบช่องโหว่ CVE-2019-2725

คำเตือน: การทดสอบนี้เป็นไปเพื่อการศึกษาเท่านั้น 
รายละเอียดเกี่ยวกับช่องโหว่ CVE-2019-2725
ช่องโหว่ CVE-2019-2725 ถูกพูดถึงครั้งแรกใน CHINA NATIONAL VULNERABILITY DATABASE ใช้ชื่อว่า CNTA-2019-0014 เมื่อวันที่ 17 เมษายน 2019 ส่งผลกระทบกับ Oracle WebLogic Server  10.X และ Oracle WebLogic Server  12.1.3

KnownSec 404 Team ซึ่งเป็นหนึ่งในผู้แจ้งช่องโหว่ดังกล่าวไปยัง Oracle ได้เขียนสรุปรายละเอียดเกี่ยวกับช่องโหว่ว่าเกิดจากส่วนประกอบ wls9_async และ wls-wsat ซึ่งทำให้เกิดช่องโหว่ Deserialization Remote Command Execution ผู้โจมตีสามารถรันคำสั่งจากระยะไกลไปยังระบบที่มีช่องโหว่ได้ โดยที่ผู้โจมตีไม่จำเป็นต้องทำการเข้าสู่ระบบดังกล่าวและคำสั่งดังกล่าวจะรันด้วยสิทธิ์เดียวกันกับสิทธิ์ของ Oracle WebLogic Server

ด้วยความร้ายแรงของช่องโหว่นี้ทำให้ Oracle ได้ออกแพตช์เฉพาะกิจมาเพื่อแก้ไขช่องโหว่ดังกล่าวในวันที่ 26 เมษายน 2019 โดยอัปเดตเป็น Oracle WebLogic Server รุ่น 12.2.1

หลังจากที่มีการประกาศการแก้ไขช่องโหว่ได้ไม่นานได้มีผู้เผยแพร่ POC ออกมาเป็นจำนวนมาก รวมถึงมีการเขียน Exploits สำหรับ Metasploit ออกมาอีกด้วย รวมถึงมีข่าวการโจมตีผ่านช่องโหว่ CVE-2019-2725 ด้วยมัลแวร์หลายครั้ง เช่น โจมตีด้วย Sodinokibi ransomware

ไม่ใช่ทุก POC และ Exploits ที่เผยแพร่จะใช้ได้เสมอไป
อ้างอิงจากที่ทีม KnownSec 404 ได้เล่ารายละเอียดเพิ่มเติมเกี่ยวกับการค้นพบช่องโหว่ดังกล่าวใน WebLogic RCE (CVE-2019-2725) Debug Diary ว่า CVE-2019-2725 ที่เกิดจากความสำเร็จในการ bypass ตัว blacklist ที่ Oracle ใช้ป้องกัน CVE 2017-10271

ทำให้สามารถสรุปได้ว่า WebLogic 10.X จะมีทั้งช่องโหว่ CVE 2017-10271 และ CVE-2019-2725 แต่ WebLogic 12.1.3 จะมีช่องโหว่แค่ช่องโหว่ CVE-2019-2725 เท่านั้น

ซึ่งบาง POC และบาง Exploits ที่ถูกเผยแพร่ออกมาจะใช้ได้กับ CVE 2017-10271 ซึ่งใช้กับ WebLogic 12.1.3 ไม่ได้

ดังนั้นเมื่ออยากจะทำการทดสอบ CVE-2019-2725 จึงควรใช้ WebLogic 12.1.3 เพื่อให้มั่นใจว่า POC ที่นำมาทดสอบสามารถใช้ได้จริง

โดยการโจมตี CVE-2019-2725 จะเกิดจากการส่ง http request ที่ทำเป็นพิเศษไปยังส่วนที่มีช่องโหว่คือ wls9_async และ wls-wsat ซึ่ง https://sissden.

อธิบายรายละเอียด 4 ช่องโหว่ใหม่ในซีพียู Intel อ่านข้อมูลได้ไม่จำกัดขอบเขต

ในช่วงสัปดาห์ที่ผ่านมาถือว่าเป็นสัปดาห์ที่มีการเกิดขึ้นของหลายช่องโหว่ที่น่าสนใจ เช่น ไล่ไปตั้งแต่ช่องโหว่บนฟีเจอร์ RDP ในระบบปฏิบัติการวินโดวส์ที่ได้คะแนน CVSSv3 ไปถึง 9.8 คะแนน, ช่องโหว่ในโค้ดที่เกี่ยวข้องกับฟีเจอร์ VoIP ของ WhatsApp ที่ติดตั้งมัลแวร์ได้จากระยะไกล, ความปลอดภัยของ SHA1 และสี่ช่องโหว่บนซีพียูของ Intel นี้

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

เนื่องจากเนื้อหาที่อาจมีเป็นจำนวนมาก ทีมตอบสนองการโจมตีและภัยคุกคามจะขอสรุปเนื้อหาไว้ในรูปแบบของการตั้งคำถามและให้คำตอบเกี่ยวกับช่องโหว่แต่ละรายการไป หากใครมีคำถามเกี่ยวกับช่องโหว่เหล่านี้เพิ่มเติมสามารถส่งคำถามมาได้ที่เพจ i-secure Co., Ltd.

จับข่าวคุย: เพราะอะไรกลุ่มแฮกเกอร์จีนถึงใช้ช่องโหว่ลับของอเมริกาได้ก่อนมีการเปิดเผย?

ในช่วงสัปดาห์ทีผ่านมา ข่าวใหญ่ข่าวหนึ่งซึ่งเกี่ยวข้องกับการทำสงครามไซเบอร์ได้ถูกเปิดเผยโดย Symantec และสำนักข่าวหลายแห่งในต่างประเทศ เมื่อมีการเปิดเผยว่ากลุ่มแฮกเกอร์ซึ่งคาดว่าได้รับการสนับสนุนจากรัฐบาลจีนที่รู้จักกันในชื่อ APT3 มีการใช้ช่องโหว่ลับที่ถูกค้นพบและพัฒนาเป็นเครื่องมือในการโจมตีโดย National Security Agency (NSA) ของสหรัฐอเมริกาในการโจมตี ซึ่งเป็นเหตุการณ์ที่เกิดขึ้นก่อนที่จะมีการการรั่วไหลของข้อมูลของ NSA โดย The Shadow Brokers

แฮกเกอร์จีนนำช่องโหว่ลับของอเมริกาไปใช้ทำอะไร? ช่องโหว่ดังกล่าวเป็นช่องโหว่เดียวกันหรือไม่? และคำถามสำคัญคือถ้าช่องโหว่ที่ถูกใช้เป็นช่องโหว่เดียวกัน กลุ่มแฮกเกอร์จีนสามารถเข้าถึงช่องโหว่และเครื่องมือสำหรับโจมตีนี้ได้อย่างไร? ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จากบริษัท ไอ-ซีเคียว จำกัด จะมาสรุปเหตุการณ์โดยย่อเพื่อให้ผู้อ่านชาวไทยได้รับทราบข้อมูลกันครับ
Timeline
เพื่อให้เกิดความเข้าใจที่ถูกต้องและรวบรัด เราขอสรุปไทม์ไลน์ของเหตุการณ์เอาไว้เบื้องต้นก่อน ตามรายการดังนี้ครับ

March 2016 กลุ่ม APT3 จากจีนใช้ช่องโหว่และเครื่องมือของ Equation Group ซึ่งมีความเกี่ยวข้องกับหน่วย Tailored Access Operation (TAO) ของ NSA ในการโจมตี มีเป้าหมายอยู่ในประเทศฮ่องกงและเบลเยี่ยม
September 2016 มัลแวร์ Bemstour ที่ถูกใช้โดยกลุ่ม APT3 ที่มีการใช้เครื่องมือ DoublePulsar ของ Equation Group ถูกพัฒนาเป็นเวอร์ชันใหม่ และใช้ในการโจมตีโดยมีเป้าหมายอยู่ในประเทศฮ่องกง
March 2017 มีใครบางคนแจ้งไมโครซอฟต์ก่อนจะมีการรั่วไหลของข้อมูล ไมโครซอฟต์จึงมีการออกแพตช์ป้องกันช่องโหว่ก่อนจะมีการรั่วไหลจริง (คาดว่าเป็น NSA)
April 2017 กลุ่มแฮกเกอร์ The Shadow Brokers มีการปล่อยช่องโหว่และเครื่องมือของ Equation Group โดยอ้างว่าเป็นข้อมูลที่รั่วไหลออกมา
June 2017 กลุ่ม APT3 ใช้มัลแวร์ Bemstour ที่มีการใช้แบ็คดอร์ DoublePulsar เพื่อโจมตีเป้าหมายในลักซ์เซมเบิร์กและฟิลิปปินส์
August 2017 กลุ่ม APT3 โจมตีเป้าหมายในเวียดนาม
November 2017 มีการจับกุมและส่งมอบสมาชิกของกลุ่มแฮกเกอร์ APT3 มายังสหรัฐฯ
September 2018 มีการแจ้งเตือนการค้นพบช่องโหว่เพิ่มเติมจากมัลแวร์ Bemstour จาก Symantec ซึ่งต่อมาถูกแพตช์โดยไมโครซอฟต์
March 2019 มีการตรวจพบมัลแวร์ Bemstour รุ่นใหม่

History of Leaked NSA Tools

ชุดโปรแกรมของ Equation Group เป็นชุดของเครื่องมือที่ใช้ในการโจมตีช่องโหว่รวมไปถึงเครื่องมืออื่นๆ ในการช่วยเจาะระบบที่ถูกพัฒนาโดยกลุ่มแฮกเกอร์ Equation Group โดยเครื่องมือที่ใช้ในการโจมตีช่องโหว่ชื่อดังที่อยู่ในชุดโปรแกรมนี้ อาทิ โปรแกรมสำหรับโจมตีช่องโหว่ EternalBlue, แบ็คดอร์ DoublePulsar และชุดโปรแกรมควบคุมปฏิบัติการไซเบอร์ FuzzBench (อ่านเพิ่มเติมได้จากบทวิเคราะห์ของไอ-ซีเคียว)

ช่องโหว่ EternalBlue และแบ็คดอร์ DoublePulsar ต่อมาเมื่อมีการรั่วไหลจาก The Shadow Brokers ได้ถูกนำมาใช้กับมัลแวร์หลายประเภท และมีส่วนสำคัญต่อการโจมตีและแพร่กระจายของมัลแวร์ WannaCry ซึ่งทำให้สามารถโจมตีและรันโค้ดที่เป็นอันตรายได้จากระยะไกล

สำหรับกลุ่มแฮกเกอร์ Equation Group นั้น ถือว่าเป็นกลุ่มแฮกเกอร์ที่มีศักยภาพสูงสุดอันดับต้นๆ ของโลก โดยจากหลักฐานที่รวบรวมมาจากการโจมตีหลายครั้ง เป็นที่เชื่อกันว่ากลุ่มแฮกเกอร์ Equation Group เกิดขึ้นจากการรวมตัวของแผนก Tailored Access Operation (TAO) ภายใต้สังกัดของสำนักงานความมั่นคงแห่งชาติสหรัฐฯ (National Security Agency - NSA) และรัฐบาลอิสราเอลบางส่วน หนึ่งในผลงานซึ่งเชื่อกันว่าเป็นของ Equation Group นอกเหนือจากเครื่องมือในการโจมตีช่องโหว่นั้นยังได้แก่

มัลแวร์ Stuxnet หนึ่งในมัลแวร์ที่ถูกพูดถึงมากที่สุด ถูกพัฒนาเพื่อชะลอการวิจัยและพัฒนาทางด้านนิวเคลียร์ของอิหร่าน
มัลแวร์ Flame มัลแวร์ซึ่งใช้วิธีการโจมตีอัลกอริธึมแฮช MD5 เพื่อให้สามารถสร้างค่าแฮชเดียวกันจากข้อมูลที่ต่างกันได้ (MD5 Hash Collision) ซึ่งเป็นครั้งแรกที่มีการใช้ช่องโหว่นี้ในการโจมตีจริง

จากประวัติที่ได้กล่าวมา เราคงไม่อาจไม่ปฏิเสธได้ว่าชุดของเครื่องมือที่ใช้ในการโจมตีช่องโหว่รวมไปถึงเครื่องมืออื่นๆ ในชุดโปรแกรมของ Equation Group นั้นสามารถถูกเรียกได้ว่าเป็น Cyber Weapon ที่น่าสะพรึงกลัว
ทำความรู้จักกลุ่มแฮกเกอร์จีน APT3
กลุ่มแฮกเกอร์จีน APT3 หรือในชื่อ GothicPanda เป็นกลุ่มแฮกเกอร์ซึ่งเชื่อกันว่าได้รับการสนับสนุนจากรัฐบาลจีน โดยมีเป้าหมายสำคัญในการขโมยข้อมูลด้วยการโจมตีบริษัทผู้ผลิตเทคโนโลยีด้านการบินและการป้องกันประเทศ รวมไปถึงกลุ่มบริษัทด้านเทคโนโลยีและการสื่อสาร
พฤติกรรมการโจมตี
เมื่ออ้างอิงจากข้อมูลของ MITRE ATT&CK framework เราสามารถระบุเทคนิคที่กลุ่ม APT3 ใช้ในการโจมตีได้ตามรูปภาพด้านล่าง

มัลแวร์/ซอฟต์แวร์ที่ใช้ในการโจมตี
เมื่ออ้างอิงจากข้อมูลของ MITRE ATT&CK framework เราสามารถระบุเครื่องมือที่กลุ่ม APT3 ใช้ในการโจมตีได้ตามรูปภาพด้านล่าง

LaZagne
OSInfo
PlugX
RemoteCMD
schtasks
SHOTPUT

แล้วสรุปแฮกเกอร์จีน APT3 เข้าถึงช่องโหว่ของ NSA ได้อย่างไร?
แม้ในตอนนี้จะยังไม่มีรายงานอย่างเป็นทางการรวมไปถึงการวิเคราะห์การโจมตีซึ่งบ่งชี้ให้เห็นทำไมแฮกเกอร์จีนกลุ่ม APT3 ถึงสามารถเข้าถึงช่องโหว่ลับซึ่งถูกค้นพบและพัฒนาโดย NSA ได้ แต่สื่อหลายสำนักก็ได้มีการตั้งสมมติฐานที่น่าสนใจไว้ดังนี้

เป็นไปได้ไหมที่ NSA จะถูกแฮกหรือถูกโจมตีจนเกิดเป็นการรั่วไหลของข้อมูลเช่นเดียวกับกรณีที่ The Shadow Brokers ดำเนินการ?
หรือว่าเมื่อ The Shadow Brokers สามารถเข้าถึงชุดโปรแกรมดังกล่าวได้แล้ว จีนจึงทำการแฮกและขโมยข้อมูลที่อยู่ในมือ The Shadow Brokers ต่อ?
หรือฝั่งจีนสามารถตรวจจับการโจมตีที่มีการใช้ช่องโหว่เหล่านี้ได้ หรืออาจค้นพบเครื่องมือเหล่านี้โดยบังเอิญในระบบใดระบบหนึ่งซึ่งเคยถูกโจมตีโดย NSA แล้วมีการนำเครื่องมือที่ค้นพบมาใช้งาน?

ยังไม่มีใครสามารถยืนยันประเด็นเหล่านี้ได้และคงเป็นไปได้ยากที่จะยืนยันข้อเท็จจริงให้ได้
แหล่งอ้างอิง

Buckeye: Espionage Outfit Used Equation Group Tools Prior to Shadow Brokers Leak
Stolen NSA hacking tools were used in the wild 14 months before Shadow Brokers leak
How Chinese Spies Got the N.S.A.’s Hacking Tools, and Used Them for Attacks

รู้จัก ThreatIngestor เครื่องมือรวบรวมภัยคุกคามจากแหล่งข้อมูลสาธารณะ

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

เพื่อให้การสกัดเอาข้อมูลภัยคุกคามจากแหล่งข้อมูลสาธารณะสามารถทำได้ง่ายขึ้น ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จะมาแนะนำเครื่องมือสำหรับสกัดและรวบรวมข้อมูลภัยคุกคามจากแหล่งข้อมูลสาธารณะ โดยเครื่องมือนี้มีชื่อว่า ThreatIngestor
ThreatIngestor คืออะไร

ThreatIngestor คือเครื่องมือสำหรับสกัดและรวบรวมข้อมูลภัยคุกคามจากข้อความภายในแหล่งข้อมูลสาธารณะ เช่น RSS feed, Twitter และแหล่งข้อมูลอื่นๆ ถูกสร้างโดย InQuest

ThreatIngestor สามารถรวบรวมข้อมูลได้ทั้งหมด 6 รูปแบบ ได้แก่

Domains ที่เกี่ยวข้องกับภัยคุกคาม
Hashes ที่เกี่ยวข้องกับภัยคุกคาม
IP Addresses ที่เกี่ยวข้องกับภัยคุกคาม โดยรองรับทั้ง IPv4 และ IPv6
URLs ที่เกี่ยวข้องกับภัยคุกคาม
YARA Signatures สำหรับตรวจจับภัยคุกคาม และ
Tasks ซึ่งเป็นการรวบรวมข้อมูลภัยคุกคามที่จำเป็นต้องใช้นักวิเคราะห์ในการสกัดข้อมูลเอง เช่น ข้อมูลที่อาจมีการฝังอยู่ใน PDF File ทำให้ ThreatIngestor ไม่สามารถสกัดข้อมูลออกมาได้

โดยข้อมูลที่รวบรวมมานั้นสามารถตั้งค่าเพื่อนำไปใช้ต่อได้อย่างหลากหลาย เช่น เขียนลงไฟล์ csv , เชื่อมต่อกับ MISP, เขียนลง database เพื่อนำไปแสดงผลในรูปแบบหน้าเว็บ เป็นต้น

สามารถดูรายละเอียดเกี่ยวกับแหล่งข้อมูลที่ ThreatIngestor รองรับและการนำข้อมูลที่ได้ไปใช้ต่อได้จากหน้า GitHub ของ ThreatIngestor และ คู่มือการใช้งาน ThreatIngestor  
วิธีการติดตั้ง ThreatIngestor
ThreatIngestor ถูกเขียนด้วย Python ทำให้สามารถติดตั้งได้ง่ายผ่านเมนู pip โดยต้องการ Python 3.6+ และ Python development headers จากนั้นใช้คำสั่ง
pip install threatingestor

หรือ

pip install threatingestor[all]
เพื่อติดตั้ง plugin พร้อมกับ ThreatIngestor 

นอกจากนี้หากต้องการให้ ThreatIngestor ดึงค่าจาก RSS Feed ต้องติดตั้ง feedparser เพิ่มเติมด้วย
pip install feedparser
และหากต้องการนำผลลัพธ์ไปแสดงผลในรูปแบบหน้าเว็บ web interface ที่มาพร้อมกับ ThreatIngestor ต้องติดตั้ง hug เพิ่มเติมด้วย
pip install hug
ซึ่งสามารถศึกษาวิธีติดตั้งได้จากคู่มือการติดตั้ง
วิธีการใช้งาน ThreatIngestor
ThreatIngestor ทำงานร่วมกับไฟล์ config.

ทำความรู้จัก Sysmon เครื่องมือการทำ Endpoint Detection ด้วยตัวเอง

Sysmon คืออะไร ?
Sysmon เป็นคำเรียกแบบย่อๆ ที่มาจากคำว่า “System Monitor” เป็น Windows system service ที่ถูกพัฒนาขึ้นมาของ Microsoft และเป็นเครื่องมือตัวหนึ่งในชุดเครื่องมือ Sysinternals Suite ของ Microsoft เมื่อติดตั้งบนเครื่องเรียบร้อยแล้ว จะมีหน้าที่ในการช่วยบันทึกพฤติกรรมต่างๆ ที่เกิดขึ้นบนเครื่องคอมพิวเตอร์ตามเงื่อนไข (Event Filtering) ที่ระบุไว้ในไฟล์ Configuration ที่กำหนดไว้ ซึ่งโดยส่วนมากเงื่อนไขที่ถูกสร้างขึ้นมาจะเป็นพฤติกรรมน่าสงสัยที่อาจเกี่ยวข้องกับภัยคุกคามทางไซเบอร์หรือมัลแวร์ และข้อมูลพฤติกรรมที่เกิดขึ้นนี้จะถูกเก็บในรูปแบบของ Log ไว้ที่ “Windows event log” ซึ่งมีอยู่แล้วบนเครื่องคอมพิวเตอร์ทุกเครื่องที่เป็นระบบปฏิบัติการ Windows โดย Log ต่างๆ ที่ถูกเก็บบันทึกไว้ใน Windows event log นี้ สามารถถูกส่งต่อไปเก็บยังอุปกรณ์ที่เรียกว่า SIEM (Security Information and Event Management) และจะถูกเก็บไว้เป็นฐานข้อมูลในลักษณะข้อมูลที่มีโครงสร้าง ส่งผลให้สามารถค้นหาเฉพาะข้อมูลที่ได้รับความสนใจเป็นพิเศษ (Retrieval) ผ่านการใช้คำสั่ง (Query) ที่เหมาะสมในการประมวลผลและแสดงผลข้อมูลให้ได้ผลลัพธ์ตามที่ต้องการ หรือแจ้งเตือนเมื่อพบพฤติกรรมที่ตรงกับเงื่อนไขภัยคุกคามที่สนใจ

รูปที่ 1: แสดงตัวอย่างการออกแบบระบบการทำงานร่วมกันระหว่าง sysmon และ splunk

Sysmon มีการแบ่งชนิดของเหตุการณ์ (Event) ที่สามารถตรวจจับได้เป็นทั้งหมด 22 เหตุการณ์ โดยแต่ละชนิดของเหตุการณ์จะมีเลข Event ID กำกับไว้เช่นเดียวกับ Windows event log ปกติ ดังต่อไปนี้

Event ID 1: Process creation
บันทึกข้อมูลเมื่อพบว่ามีโปรเซสถูกสร้างขึ้นใหม่บนเครื่อง โดยมีการเก็บข้อมูลของ command line ที่ถูกเรียก, ProcessGUID, ค่า Hash ของไฟล์ที่ถูกโปรเซสเรียกมารัน

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image, FileVersion, Description, Product, Company, CommandLine, CurrentDirectory, User, LogonGuid, LogonId, TerminalSessionId, IntegrityLevel, Hashes, ParentProcessGuid, ParentProcessId, ParentImage, ParentCommandLine

Event ID 2: A process changed a file creation time
บันทึกข้อมูลเมื่อพบว่ามีไฟล์บนเครื่องถูกเปลี่ยนเวลาการสร้าง (creation time)

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image, TargetFilename, CreationUtcTime, PreviousCreationUtcTime

Event ID 3: Network connection
บันทึกข้อมูลเมื่อพบว่ามีโปรเซสบนเครื่องที่มีการเชื่อมต่อผ่าน TCP/UDP โดยจะมีการเก็บข้อมูลของ ProcessId, ProcessGUID, Source host name, Source IP address, Destination host name และ Destination IP address

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image, User, Protocol, Initiated, SourceIsIpv6, SourceIp, SourceHostname, SourcePort, SourcePortName, DestinationIsIpv6, DestinationIp, DestinationHostname, DestinationPort, DestinationPortName

Event ID 4: Sysmon service state changed
บันทึกข้อมูลเมื่อพบว่า sysmon service มีการ start/stop เกิดขึ้น

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, State, Version, SchemaVersion

Event ID 5: Process terminated
บันทึกข้อมูลเมื่อพบว่ามีโปรเซสใดๆ บนเครื่องถูกสั่งให้หยุดทำงาน

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image

Event ID 6: Driver loaded
บันทึกข้อมูลเมื่อพบว่ามีการเรียกใช้งาน driver บนเครื่อง โดยจะมีการเก็บข้อมูลค่า hash ของไฟล์ที่ถูกเรียกด้วย

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ImageLoaded, Hashes, Signed, Signature, SignatureStatus

Event ID 7: Image loaded
บันทึกข้อมูลเมื่อพบว่าโปรเซสใดๆ มีการเรียกใช้งาน module (dll) เพิ่มเติม โดยจะมีการเก็บข้อมูลค่า hash ของ module ไฟล์ที่ถูกเรียก

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, ProcessGuid, ProcessId, Image, ImageLoaded, FileVersion, Description, Product, Company, Hashes, Signed, Signature, SignatureStatus

Event ID 8: CreateRemoteThread
บันทึกข้อมูลเมื่อพบว่าโปรเซสใดๆ มีการสร้าง Thread บนโปรเซสอื่นๆ เพิ่มเติม โดยจะมีการเก็บข้อมูลของทั้งโปรเซสที่ทำการเรียก (source) และโปรเซสที่ถูกเรียก (target)

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, UtcTime, SourceProcessGuid, SourceProcessId, SourceImage, TargetProcessGuid, TargetProcessId, TargetImage, NewThreadId, StartAddress, StartModule, StartFunction

Event ID 9: RawAccessRead
บันทึกข้อมูลเมื่อพบว่าโปรเซสใดๆ มีความพยายามเข้าถึงไฟล์บนเครื่องผ่านการใช้ \\.\ ซึ่งมักเป็นพฤติกรรมของมัลแวร์ในการพยายามเข้าถึงไฟล์สำคัญบนเครื่องที่มีการป้องกัน เพื่อขโมยข้อมูล โดยจะมีการเก็บข้อมูลของโปรเซสต้นทางที่พยายามจะเข้าถึง และอุปกรณ์ปลายทางที่พยายามเข้าถึง

มี Field name ประกอบด้วย Log Name, Source, Date, Event ID, Task Category, Level, Keywords, User, Computer, Description, RawAccessRead, UtcTime: Time event occurred, ProcessGuid: The GUID of the process that generated the event, ProcessID: ID of the process that generated the event, Image: File used to generate the event, Device

Event ID 10: ProcessAccess
บันทึกข้อมูลเมื่อพบว่าโปรเซสใดๆ พยายามที่จะเรียกหรือเข้าถึงโปรเซสอื่นๆ ซึ่งอาจเป็นพฤติกรรมที่น่าสงสัยของมัลแวร์ในการพยายามอ่านข้อมูลที่อยู่บนโปรเซสสำคัญอื่นๆ เช่น Lsass.

อธิบายเจาะลึกเทคนิคยกระดับสิทธิ์ใหม่บนลินุกซ์ “SUDO_INJECT”

เมื่อช่วงสงกรานต์ที่ผ่านมา นักวิจัยด้านความปลอดภัย chaignc จากทีม HexpressoCTF ได้มีเปิดเผยเทคนิคใหม่ในการโจมตี sudo ในระบบปฏิบัติการลินุกซ์เพื่อช่วยยกระดับสิทธิ์ของบัญชีผู้ใช้งานปัจจุบันให้มีสิทธิ์สูงขึ้นภายใต้ชื่อการโจมตีว่า SUDO_INJECT

ในบล็อกนี้ ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จะมาอธิบายถึงรายละเอียดการทำงานของ sudo ซึ่งทำให้เกิดเป็นช่องโหว่แบบ In-depth Vulnerability Analysis เพื่อความเข้าใจในสาเหตุการเกิดขึ้นของช่องโหว่นี้กันครับ

ทำความเข้าใจ Exploit
จากไฟล์ exploit ซึ่งปรากฎในโครงการของผู้ค้นพบช่องโหว่ เราจะมาทำความเข้าใจ exploit ซึ่งทำให้เราได้สิทธิ์ root ที่อยู่ในไฟล์ exploit.

Read more 1 Comment

รู้จักแพลตฟอร์มแชร์ข้อมูลภัยคุกคาม Malware Information Sharing Platform (MISP) และการตั้งค่าเบื้องต้น

คำว่า Threat Intelligence หรือ ข้อมูลภัยคุกคาม นั้นมักเป็นคำที่ถูกใช้และพูดถึงกันอย่างแพร่หลายในแวดวงความปลอดภัยไซเบอร์ การครอบครองข้อมูลภัยคุกคามนั้นยิ่งข้อมูลมีคุณภาพมากเท่าไหร่และมาถึงเราเร็วมากเท่าไหร่ ความเป็นต่อในการรักษาความมั่นคงปลอดภัยของระบบยิ่งมีมากขึ้นเท่านั้น

อย่างไรก็ตาม Threat Intelligence หรือ ข้อมูลภัยคุกคามมักถูกมองว่าเป็นโซลูชันหรือผลิตภัณฑ์ที่มีราคาแพง โดยเฉพาะข้อมูลภัยคุกคามเฉพาะภาคส่วนหรือข้อมูลภัยคุกคามที่มีที่มาจาก Dark Web ดังนั้นในบทความนี้ทีมตอบสนองการโจมตีและภัยคุกคาม (Intelligent Response) จะมานำเสนออีกด้านหนึ่งของการรับและใช้งานข้อมูลภัยคุกคามที่ฟรีและยังการันตีได้ถึงคุณภาพอีกด้วย ผ่านแพลตฟอร์มที่ชื่อว่า Malware Information Sharing Platform หรือ MISP ครับ

MISP คืออะไร?
MISP คือโครงการโอเพนซอร์สที่ทำให้เราสามารถรับ ส่งและเผยแพร่ข้อมูลของภัยคุกคามได้ระหว่างระบบ MISP ด้วยกัน รวมไปถึงมีฟีเจอร์ที่ทำให้เราสามารถส่งข้อมูลภัยคุกคามไปยังระบบหรืออุปกรณ์อื่นๆ ระบบ MISP ยังสามารถถูกใช้เพื่อจัดเก็บ ค้นหาและเชื่อมความสัมพันธ์โดยใช้ตัวบ่งชี้ภัยคุกคาม (Indicator of Compromise - IOC) เพื่อค้นหาความสัมพันธ์ระหว่างเหตุการณ์การโจมตีที่เกิดขึ้นได้ด้วย
ติดตั้ง MISP ได้อย่างไรบ้าง?
MISP สามารถติดตั้งได้จากหลายช่องทาง ได้แก่

ติดตั้ง MISP โดยใช้ Vagrant
ติดตั้ง MISP โดยใช้ Docker 
ติดตั้ง MISP โดยใช้ Puppet
ติดตั้ง MISP โดยใช้ Ansible
ติดตั้ง MISP แบบอัตโนมัติด้วยสคริปต์ AutoMISP
ใช้ Cloud Image (เฉพาะ AWS)
ติดตั้งแบบ manual โดยใช้คู่มือของแต่ละระบบปฏิบัติการ

สำหรับใครที่แค่อยากลองใช้เฉยๆ ไม่อยากติดตั้งอะไรมากมาย ก็สามารถเลือกใช้ MISP ในรูปแบบของ virtual machine ซึ่งซัพพอร์ตทั้ง VMware และ VirtualBox ได้จากที่นี่
เริ่มดึงข้อมูลจากฟีดภัยคุกคามฟรี
ทุกๆ MISP instance ที่ติดตั้งจะมีรายการของฟีดภัยคุกคามฟรีพร้อมใช้งานมาให้ ซึ่งผู้ใช้งานสามารถทำการ Cache ข้อมูลที่มีอยู่แล้วมาอยู่บน instance ของเราและใช้งานต่อได้ทันที โดยดำเนินการตามขั้นตอนดังต่อไปนี้

เลือก Sync Actions ที่ Menu Bar จากนั้นเลือกที่แท็บ List Feeds
ที่หน้าต่าง Feeds - MISP จะมีรายการของฟีดที่เราสามารถดึงข้อมูลมาใช้งานได้อยู่ โดยทั่วไปนั้นจะไม่มีการดึงฟีดใดๆ มาเป็นค่าเริ่มต้น
ผู้ใช้งานสามารถเลือกดึงข้อมูลจากฟีดได้ โดยทำการเลือกแหล่งของฟีดที่ต้องการเปิด หลังจากนั้นจะปรากฎตัวเลือกให้เปิดการดึงฟีดขึ้นมา ทำการเลือก Enable selected และ Enable caching for selected เมื่อเลือกฟีดที่ต้องการใช้งานเสร็จสิ้น
คลิก Fetch and store all feed data ระบบ MISP จะเริ่มทำการดึงข้อมูลจากฟีดที่เราเลือกมาบนระบบ หรือ instance ของเรา

การตั้งค่าเกี่ยวกับ Feeds เพิ่มเติมสามารถดูได้จาก Managing Feeds
สร้างข้อมูลภัยคุกคามเพื่อเผยแพร่
ภายใต้ระบบของ MISP นั้น ตัวบ่งชี้ภัยคุกคามซึ่งโดยส่วนมากเป็นข้อมูลในลักษณะของ machine-readable นั้นจะถูกผูกภายใต้เหตุการณ์ (Event) ซึ่งแตกต่างกับข้อมูลภัยคุกคามแบบไร้รูปแบบที่ตัวบ่งชี้ภัยคุกคามจะถูกเผยแพร่เพียงอย่างเดียว ไม่มีข้อมูลแวดล้อมอื่นๆ ประกอบแต่อย่างใด

ดังนั้นหากเราต้องการเผยแพร่ข้อมูลภัยคุกคามที่เราเจอบ้าง เราสามารถทำได้โดย

ที่ Menu Bar เลือก Add Event
ที่หน้าต่าง Add Event ให้ทำการระบุข้อมูลเกี่ยวกับเหตุการณ์ที่เราพบตามหัวข้อดังต่อไปนี้

วันที่และเวลา (Date)
รูปแบบการเผยแพร่ข้อมูล (Distribution) โดยสามารถเลือกได้ว่าจะเผยแพร่เฉพาะภายในองค์กร เผยแพร่เฉพาะให้กับกลุ่มที่มีการเชื่อมต่อหรือเผยแพร่แบบไม่มีข้อจำกัด
ระดับของภัยคุกคาม (Threat Level)
สถานะการวิเคราะห์ (Analysis)
รายละเอียดของเหตุการณ์ (Event Info)

เพิ่มข้อมูลตัวบ่งชี้ภัยคุกคามหรือ Attribute ให้แก่ Event นั้นๆ โดยเลือกที่เครื่องหมายบวกบริเวณรายการ Attributes
ที่หน้า Add Attribute ให้ทำการระบุข้อมูลที่เกี่ยวข้องกับตัวบ่งชี้ภัยคุกคามตามหัวข้อดังต่อไปนี้

กลุ่มของ Attribute (Category)
ประเภทของ Attribute (Type) ซึ่งจะขึ้นอยู่กับกลุ่มของ Attribute ที่เลือก
รูปแบบการเผยแพร่ข้อมูล (Distribution) โดยสามารถตั้งค่าให้เหมือนหรือแตกต่างกับการตั้งค่าของเหตุการณ์ได้
ระบข้อมูลตัวบ่งชี้ภัยคุกคามลงในช่อง Value
ระบุรายละเอียดเพิ่มเติมเกี่ยวกับตัวบ่งชี้ภัยคุกคามได้ในช่อง Contextual Comment

หากต้องการให้เหตุการณ์และข้อมูลที่เราเพิ่มเข้าไปนั้นสามารถถูกแชร์และเข้าถึงได้ ให้ทำการเผยแพร่เหตุการณ์และข้อมูลที่เราเพิ่มเข้าไปด้วยตัวเลือก Publish event ด้วย
รับ-ส่งข้อมูลระหว่าง MISP Instance
ความสามารถที่โดดเด่นอย่างหนึ่งของ MISP คือการเป็นตัวกลางในการเชื่อมต่อเพื่อรับ-ส่งข้อมูลภัยคุกคามกับ MISP instance อื่นๆ

ในตัวอย่างด้านล่างนั้นองค์กร B (OrgB) ได้มีการสร้าง MISP instance เป็นของตนเองในชื่อ ServerB และต้องการที่จะ synchronize กับ ServerA ซึ่งเป็นขององค์กร A (OrgA) ดังนั้นจะต้องมีการดำเนินการดังต่อไปนี้

ที่ ServerA ให้ผู้ดูแลระบบทำการเพิ่ม Organization ใหม่สำหรับ OrgB ไว้ภายใต้ ServerA
ทำการสร้างบัญชีผู้ใช้งานใหม่เพื่อเป็น Sync User ซึ่งผูกไว้กับ OrgB บน ServerA
ที่ ServerB ทำการเพิ่ม MISP instance ปลายทางที่เราจะเชื่อมต่อด้วย (ในกรณีนี้คือ ServerA) โดยใช้ AuthKey ของ Sync User บน ServerA ในการยืนยันตัวตน

เมื่อดำเนินการตามขั้นตอนด้านบนเสร็จสิ้น ฝั่ง ServerB จะมีการปรากฎของปุ่มเพื่อทดสอบการเชื่อมต่อ หากการตั้งค่าทุกอย่างถูกต้องและเชื่อมต่อถึงกันได้ สถานะของระบบปลายทางจะปรากฎตามตัวอย่างด้านล่าง

ในกรณีที่ ServerA มีการดึงข้อมูลจาก MISP instance อื่นมา หากการตั้งค่า Distribution ของเหตุการณ์หรือข้อมูลภัยคุกคามนั้นไม่จำกัดเฉพาะภายใน Organization ปัจจุบันของเรา ServerB ซึ่งเชื่อมต่อเข้ามาก็จะดึงข้อมูลไปได้เช่นเดียวกัน

ทั้งนี้รูปแบบของการดึงข้อมูลจะเสมือนกับการสร้างสำเนาของข้อมูลที่มีค่า UUID เดียวกัน การแก้ไขใดๆ กับข้อมูลภัยคุกคามซึ่งอยู่ MISP instance เรานั้นจะไม่กระทบกับข้อมูลที่ผู้สร้างกำหนดไว้ตั้งแต่แรก จนกว่าเราจะทำการ Propose การแก้ไขของเราไปยังต้นน้ำ
สรุป
Malware Intelligence Sharing Platform (MISP) เป็นแพลตฟอร์มอย่างง่ายที่ช่วยให้ผู้ใช้งานหรือองค์กรเข้าถึงข้อมูลที่เกี่ยวข้อบกับภัยคุกคามได้แบบไม่เสียค่าใช้จ่าย รวมไปถึงสามารถใช้เป็นส่วนหนึ่งของระบบ Threat Intelligence ภายในองค์กรได้อย่างประสิทธิภาพ อย่างไรก็ตามนอกจากเทคโนโลยีแล้ว องค์กรควรมีการคำนึงถึงกระบวนการที่เกี่ยวข้องกับข้อมูลภัยคุกคามและการนำไปใช้เพื่อให้เกิดประโยชน์สูงสุดต่อไปด้วย

รู้จัก “Dirty Sock” ช่องโหว่ยกระดับสิทธิ์ (Privilege Escalation) บน Linux (CVE-2019-7304)

สรุปย่อ
เมื่อช่วงกลางเดือนกุมภาพันธ์ที่ผ่านมา Canonical บริษัทผู้พัฒนา Ubuntu ได้ปล่อยแพตช์เพื่อแก้ไขช่องโหว่ที่ได้รับชื่อเรียกว่า Dirty Sock ค้นพบโดย Chris Moberly นักวิจัยจาก Shenanigans Labs ช่องโหว่ไม่ได้เป็นปัญหาของระบบปฏิบัติการ Linux โดยตรง แต่เป็นปัญหาในส่วนของ service ที่มีชื่อว่า Snapd ซึ่งถูกติดตั้งเป็น service พื้นฐานบนระบบปฎิบัติการ Linux หลายตัว เช่น Ubuntu, Debian, Arch Linux, OpenSUSE. Solus และ Fedora ถูกใช้เพื่อจัดการเกี่ยวกับการดาวโหลดและติดตั้งไฟล์ที่เป็น snaps (.snap) แพ็กเกจ ส่งผลให้ผู้ไม่หวังดีสามารถสร้างบัญชีที่มีสิทธิ์ระดับ root (Privilege Escalation) บนเครื่องได้ ผ่านช่องโหว่ใน API ของ Snapd

(ที่มา: https://www.

ทำความรู้จักช่องโหว่ Zero-day ใหม่บน Windows อ่านไฟล์ได้แม้ไม่มีสิทธิ์

สรุปย่อ
เมื่อวันที่ 19 ธันวาคม 2018 ตามเวลาประเทศไทย นักวิจัยด้านความปลอดภัยที่ใช้ชื่อบนทวิตเตอร์ว่า SandboxEscaper ได้เผยแพร่ Proof-of-Concept (PoC) ของช่องโหว่ Zero-day ในระบบปฏิบัติการวินโดวส์ เป็นช่องโหว่ที่ทำให้ผู้ใช้งานที่มีสิทธิ์ต่ำหรือโปรแกรมอันตรายสามารถอ่านไฟล์ใดๆ บนเครื่องได้แม้แต่ไฟล์ที่ให้สิทธิ์เฉพาะผู้ใช้งานระดับ Administrator ผลกระทบที่อาจเกิดจากช่องโหว่นี้คือ ผู้ใช้งานที่มีสิทธิ์ต่ำหรือโปรแกรมอันตรายสามารถอ่านและสามารถคัดลอกไฟล์ได้แม้ไม่มีสิทธิ์เข้าถึงไฟล์เหล่านั้น
รายละเอียดของช่องโหว่

นักวิจัยด้านความปลอดภัยที่ใช้ชื่อบนทวิตเตอร์ว่า SandboxEscaper ได้เผยแพร่ Proof-of-Concept (PoC) ของช่องโหว่ Zero-day ในระบบปฏิบัติการวินโดวส์ นับเป็นช่องโหว่ที่สามแล้วที่มีการเผยแพร่ในปีนี้ โดยช่องโหว่ทั้งสามมีลักษณะคล้ายกันที่เป็นช่องโหว่ที่ทำให้สามารถยกระดับสิทธิ์ได้ (Elevation of Privilege) ซึ่งสามารถอ่านรายละเอียดของช่องโหว่ที่ผ่านมาได้จาก ทำความรู้จักช่องโหว่ zero-day ใหม่ ใน Task Scheduler บน Windows และ Microsoft Windows zero-day disclosed on Twitter, again, impacts Windows 10, Server 2016, and Server 2019 only.