การผจญภัยของ Malvari ที่เข้าใจยาก ตอนที่ XNUMX

การผจญภัยของ Malvari ที่เข้าใจยาก ตอนที่ XNUMX

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

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

PowerShell ที่ยอดเยี่ยมและทรงพลัง

ฉันเคยเขียนเกี่ยวกับแนวคิดเหล่านี้มาก่อน ชุดการสร้างความสับสนของ PowerShellแต่เป็นไปตามแนวคิดทางทฤษฎีมากกว่า ต่อมาก็เจอ เว็บไซต์สำหรับการวิเคราะห์แบบไฮบริดซึ่งคุณสามารถค้นหาตัวอย่างมัลแวร์ที่ "ถูกจับได้" ในป่า ฉันตัดสินใจลองใช้ไซต์นี้เพื่อค้นหาตัวอย่างมัลแวร์ที่ไม่มีไฟล์ และฉันก็ทำสำเร็จ อย่างไรก็ตาม หากคุณต้องการออกสำรวจตามล่ามัลแวร์ด้วยตัวเอง คุณจะต้องได้รับการยืนยันจากไซต์นี้ เพื่อให้พวกเขารู้ว่าคุณกำลังทำงานเป็นผู้เชี่ยวชาญหมวกขาว ในฐานะบล็อกเกอร์ด้านความปลอดภัย ฉันผ่านมันไปโดยไม่มีคำถาม ฉันแน่ใจว่าคุณก็ทำได้เช่นกัน

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

ในกรณีของ PowerShell และสคริปต์ตัวอย่างอื่นๆ (Visual Basic, JavaScript ฯลฯ) ฉันสามารถดูโค้ดได้ ตัวอย่างเช่น ฉันเจออินสแตนซ์ PowerShell นี้:

การผจญภัยของ Malvari ที่เข้าใจยาก ตอนที่ XNUMX

คุณยังสามารถเรียกใช้ PowerShell ในการเข้ารหัส base64 เพื่อหลีกเลี่ยงการตรวจจับได้ สังเกตการใช้พารามิเตอร์ที่ไม่โต้ตอบและซ่อนไว้

หากคุณได้อ่านโพสต์ของฉันเกี่ยวกับการสร้างความสับสน คุณจะรู้ว่าตัวเลือก -e ระบุว่าเนื้อหามีการเข้ารหัส base64 อย่างไรก็ตาม การวิเคราะห์แบบไฮบริดยังช่วยในเรื่องนี้ด้วยการถอดรหัสทุกอย่างกลับคืนมา หากคุณต้องการลองถอดรหัส base64 PowerShell (ต่อไปนี้จะเรียกว่า PS) ด้วยตัวเอง คุณจะต้องเรียกใช้คำสั่งนี้:

 [System.Text.Encoding]::Unicode.GetString([System.Convert]::FromBase64String($EncodedText))

เจาะลึกลงไปอีก

ฉันถอดรหัสสคริปต์ PS ของเราโดยใช้วิธีนี้ ด้านล่างนี้เป็นข้อความของโปรแกรม แม้ว่าฉันจะแก้ไขเล็กน้อยก็ตาม:

การผจญภัยของ Malvari ที่เข้าใจยาก ตอนที่ XNUMX

โปรดทราบว่าสคริปต์เชื่อมโยงกับวันที่ 4 กันยายน 2017 และส่งคุกกี้เซสชัน

ฉันเขียนเกี่ยวกับรูปแบบการโจมตีนี้ใน PS ซีรี่ส์ที่ทำให้งงงวยซึ่งสคริปต์ที่เข้ารหัส base64 จะโหลดเอง หายไป มัลแวร์จากไซต์อื่นโดยใช้ออบเจ็กต์ WebClient ของไลบรารี .Net Framework เพื่อดำเนินการหนัก

มันทำอะไร?

สำหรับซอฟต์แวร์ความปลอดภัยที่สแกนบันทึกเหตุการณ์หรือไฟร์วอลล์ของ Windows การเข้ารหัส base64 จะป้องกันไม่ให้สตริง "WebClient" ตรวจพบโดยรูปแบบข้อความธรรมดาเพื่อป้องกันการร้องขอเว็บดังกล่าว และเนื่องจากมัลแวร์ “ชั่วร้าย” ทั้งหมดจะถูกดาวน์โหลดและส่งผ่านไปยัง PowerShell ของเรา วิธีการนี้จึงช่วยให้เราหลบเลี่ยงการตรวจจับได้อย่างสมบูรณ์ หรือค่อนข้างนั่นคือสิ่งที่ฉันคิดในตอนแรก

ปรากฎว่าเมื่อเปิดใช้งานการบันทึกขั้นสูงของ Windows PowerShell (ดูบทความของฉัน) คุณจะสามารถเห็นบรรทัดที่โหลดในบันทึกเหตุการณ์ ฉันชอบ อื่น ๆ ) ฉันคิดว่า Microsoft ควรเปิดใช้งานการบันทึกระดับนี้ตามค่าเริ่มต้น ดังนั้น เมื่อเปิดใช้งานการบันทึกแบบขยาย เราจะเห็นคำขอดาวน์โหลดที่เสร็จสมบูรณ์จากสคริปต์ PS ในบันทึกเหตุการณ์ Windows ตามตัวอย่างที่เรากล่าวถึงข้างต้น ดังนั้นจึงสมเหตุสมผลที่จะเปิดใช้งาน คุณเห็นด้วยไหม?

มาเพิ่มสถานการณ์เพิ่มเติม

แฮกเกอร์ซ่อนการโจมตี PowerShell อย่างชาญฉลาดในมาโคร Microsoft Office ที่เขียนด้วย Visual Basic และภาษาสคริปต์อื่นๆ แนวคิดก็คือเหยื่อจะได้รับข้อความ เช่น จากบริการจัดส่ง โดยมีรายงานแนบมาในรูปแบบ .doc คุณเปิดเอกสารนี้ที่มีมาโคร และสุดท้ายมันก็เปิด PowerShell ที่เป็นอันตรายขึ้นมาเอง

บ่อยครั้งที่สคริปต์ Visual Basic นั้นถูกทำให้สับสนเพื่อให้สามารถหลบเลี่ยงโปรแกรมป้องกันไวรัสและโปรแกรมสแกนมัลแวร์อื่น ๆ ได้อย่างอิสระ ตามเจตนารมณ์ข้างต้น ฉันจึงตัดสินใจเขียนโค้ด PowerShell ข้างต้นใน JavaScript เพื่อเป็นแบบฝึกหัด ด้านล่างนี้เป็นผลงานของฉัน:

การผจญภัยของ Malvari ที่เข้าใจยาก ตอนที่ XNUMX

JavaScript ที่สับสนซ่อน PowerShell ของเรา แฮกเกอร์ตัวจริงทำเช่นนี้ครั้งหรือสองครั้ง

นี่เป็นอีกเทคนิคหนึ่งที่ฉันเคยเห็นลอยอยู่ในเว็บ: การใช้ Wscript.Shell เพื่อเรียกใช้ PowerShell ที่เข้ารหัส อย่างไรก็ตาม JavaScript เองก็เป็นเช่นนั้น วิธี การส่งมัลแวร์ Windows หลายเวอร์ชันมีในตัว โฮสต์สคริปต์ Windowsซึ่งตัวมันเองสามารถเรียกใช้ JS ได้
ในกรณีของเรา สคริปต์ JS ที่เป็นอันตรายจะถูกฝังเป็นไฟล์ที่มีนามสกุล .doc.js โดยทั่วไป Windows จะแสดงเฉพาะส่วนต่อท้ายแรกเท่านั้น ดังนั้นเหยื่อจึงจะปรากฏเป็นเอกสาร Word

การผจญภัยของ Malvari ที่เข้าใจยาก ตอนที่ XNUMX

ไอคอน JS จะปรากฏเฉพาะในไอคอนเลื่อนเท่านั้น ไม่น่าแปลกใจเลยที่หลายๆ คนจะเปิดไฟล์แนบนี้โดยคิดว่าเป็นเอกสาร Word

ในตัวอย่างของฉัน ฉันแก้ไข PowerShell ด้านบนเพื่อดาวน์โหลดสคริปต์จากเว็บไซต์ของฉัน สคริปต์ PS ระยะไกลเพิ่งพิมพ์ "Evil Malware" อย่างที่คุณเห็นเขาไม่ได้ชั่วร้ายเลย แน่นอนว่าแฮกเกอร์ตัวจริงสนใจที่จะเข้าถึงแล็ปท็อปหรือเซิร์ฟเวอร์ผ่านเชลล์คำสั่ง ในบทความถัดไป ฉันจะแสดงวิธีดำเนินการนี้โดยใช้ PowerShell Empire

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

ที่มา: will.com

เพิ่มความคิดเห็น