Red Team Engagement: Phishing Techniques
โพสต์นี้เป็นอีกโพสต์หนึ่งซึ่งผมจะใช้มันเป็นโน้ตสั้น ๆ สำหรับทดสิ่งที่ได้รู้มาเผื่อซักวันนึงเราจะได้ใช้มันและก็หวังว่าคนอื่นจะได้รับประโยชน์เช่นกัน สำหรับเนื้อหาที่เราจะเลือกทดกันในวันนี้มาจาก SANS@MIC Webcast ในหัวข้อ Catch and release: phishing techniques for the good guys โดย Jan Kopřiva ครับ
ดาวโหลดสไลด์ประกอบการบรรยายหรือดู Webcast เต็มย้อนหลังได้ที่ SANS Webcast
- คีย์เวิร์ดสำคัญในการทำ content ของ phishing operation ให้มีโอกาสสำเร็จสูงคือการเล่นกับคนผ่านปัจจัยซึ่งทำให้การวิเคราะห์และตัดสินใจด้วยเหตุและผลถูกบั่นทอนลง ปัจจัยเหล่านั้นมีได้หลากหลาย แต่ในการบรรยายนี้จะเน้นไปที่ปัจจัยอยู่ 3 ลักษณะคือ Known, Trustoworthy และ Urgent ทั้ง 3 ปัจจัยนี้หากใช้อย่างถูกต้องก็จะสามารถช่วยเพิ่มอัตราความสำเร็จได้เป็นอย่างดี
- ขั้นตอนการ Recon ยังคงเป็นขั้นตอนที่สำคัญเพื่อให้รู้ Defensive mechanism ที่เป้าหมายมี อาทิ ผู้ให้บริการอีเมลของเป้าหมายน่าจะมีความสามารถในการตรวจจับและป้องกันอีเมลปลอมได้ดีแค่ไหน หรือในฝั่งของเป้าหมายเองมีการตั้งค่า SPF/DKIM/DMARC ไว้อย่างไรเพื่อป้องการโจมตีในลักษณะนี้
- เทคโนโลยีอย่าง SPF/DKIM/DMARC เป็นเทคโนโลยีซึ่งบางครั้งการเอามาใช้ให้ถูกต้องก็เป็นเรื่องที่ยาก ดังนั้นการนำผลลัพธ์จากการ Recon มาดูอาจช่วยให้เราพบอะไรที่น่าสนใจ และนำไปสู่การ bypass การป้องกันได้ ตัวอย่าง #56742 SPF whitelist of mandrill leads to email forgery
- เทคนิคการเล่นกับชื่อผู้ส่ง
- ปลอมทั้งหมดผ่าน SMTP server ของเราเองแต่อาจเจอปัญหาในการตรวจสอบย้อนกลับ หรือปัญหาเกี่ยวกับ reputation ของ SMTP server
- ใช้ทริคปลอมอีเมลแอดเดรส เช่น ระบุ Sender address ให้มี
First Last <[email protected]>
ไปด้วย
- เทคนิคการเล่นกับลิงค์ทั้งลิงค์ของ SMTP server หรือในเนื้อหาของอีเมล
- ใช้เทคนิค Character substituion โดยอาจลองหาผ่าน elceef/dnstwist
- ใช้เทคนิค IDN homograph โดยใช้ Homoglyph Attack Generator ช่วยสร้าง
- ใช้เทคนิค multi-level domain name เช่น ตัวอย่างในเคสของ DNC hack ตอนปี 2016
- ใช้เทคนิค Open redirect ให้ลิงค์ที่ไปยังเว็บไซต์ปลอมผ่านเว็บไซต์ที่น่าเชื่อถือก่อน
- ใช้การใส่ attribute
title
ในแท็ก<a>
กับเป้าหมายที่ใช้เว็บอีเมลเป็นไคล์เอนต์หลัก เช่น<a href="https://fake.com>" title="https://godd.com">link</a>
- เทคนิคการเล่นกับเนื้อหาของอีเมล
- หลีกเลี่ยงการใช้คีย์เวิร์ดยอดนิยมที่อาจถูกระบบตรวจจับแบบ keyword matching ตรวจเจอ เช่น Microsoft, Account, Urgent, Invoice
- ใช้เทคนิค Z-WASP ในการช่วยแตกคำเพื่อป้องกันการตรวจจับ
- ใช้เทคนิค Ropemaker ซึ่งมีการนำโค้ด CSS มาใช้ในการเปลี่ยนหน้าตาเนื้อหาเมื่ออีเมลถูกเปิดอ่าน
- ใช้เทคนิค Zerofont หรือการแทรกตัวอักษรขนาดเล็กระหว่างคำที่มักจะถูกตรวจจับโดยระบบ
อัปเดตเทคนิคเพิ่มเติมจากประสบการณ์การทำ Phishing simulation
- พิจารณาการใช้บริการอย่าง Mailchip หรือ Sendgrid ในการช่วยส่งอีเมลเนื่องจาก reputation ที่ดีกว่า
- ตั้งค่า
Return-Path
ให้ตรงกับอีเมลเป้าหมายเพื่อกำหนดปลายทางหากเกิดกรณี email bouncing - พิจารณาการตั้งค่าหรือเปลี่ยน A record ใน DNS หรือตั้ง TTL ให้ต่ำหลังจากมีการส่งอีเมลออกไปแล้ว เนื่องบริการอีเมลบางบริการจะมีการตรวจสอบอีเมลหลังจากที่มีการส่งออกไปและจะพบปัญหาในการตรวจสอบ ซึ่งอาจช่วยให้สามารถข้ามผ่านกระบวนการตรวจสอบได้
- หากเป็นไปได้ควรหลีกเลี่ยงลักษณะของเนื้อหาที่สามารถถูกตรวจสอบได้ด้วยวิธีการ pattern matching เช่น HTML หรือ text ทั่วไป และควรระมัดระวังเป็นอย่างยิ่งหากมีการใช้ payload ที่เป็นนิยม เช่น ไฟล์เอกสารแนบมาโครสคริปต์
- หากต้องมีการใส่ไฟล์แนบ วิธีการปลอดภัยที่สุดคือการอัปโหลดไฟล์แนบดังกล่าวไปยังบริการฝากไฟล์ที่มีความน่าเชื่อถือสูง หรือในระบบที่เราสามารถควบคุมได้ เพื่อลดความเสี่ยงในการที่จะถูกดึงไฟล์แนบออกไปตรวจสอบ
- ทำการปรับเปลี่ยนคำใน payload เพื่อป้องกันการทำ pattern matching ตัวอย่างเช่น หาก payload มีการใช้คำว่า
powershell.exe
เราอาจสามารถใช้สคริปต์อย่าง Invoke-Obfuscation มาช่วยในการปกปิด ให้ได้ผลลัพธ์ที่ไม่สามารถตรวจจับได้ทันที เช่น"po" & "w" & "er" & "s" & "he" & "l" & "l" & ".e" & "x" & "e" & " "
- ต้องตรวจสอบการเข้าถึงหน้าเว็บไซต์ปลอมเสมอ และใช้วิธีการ เช่น
<meta>
ในการเปลี่ยนเส้นทางความพยายามเข้าถึงที่ไม่ถูกต้องออก
แหล่งข้อมูลเพิ่มเติม: