สวัสดีครับ วันนี้ผมจะพามาทำความรู้จัก Well-known port และ common port to attack เพื่อเตรียมตัวสอบ OSCP กันครับ เมื่อถึงเวลาเข้าไปในห้องสอบเราจะได้ไม่นั่งงงกันในห้องสอบกันนะครับ Hahahahaha
มาเริ่มกันที่ Well-known port ทั้ง 15 ports กันครับ ซึ่งจะมีตามรูปเลยครับ
ไม่รอช้า เรามาทำความรู้จักว่าแต่ละ Port คืออะไร และทำหน้าที่อะไรกันบ้าง รวมไปวิธีการ Enumeration ครับ
1. พอร์ต 20 & 21
- **File Transfer Protocol (FTP)**:
- **พอร์ต 20** ใช้สำหรับการถ่ายโอนข้อมูล (Data Transfer) ในการส่งหรือรับไฟล์ระหว่างเครื่องลูกข่าย (Client) และเครื่องเซิร์ฟเวอร์ (Server)
- **พอร์ต 21** ใช้สำหรับการควบคุมคำสั่ง (Control Command) ในการจัดการการถ่ายโอนไฟล์ เช่น การเชื่อมต่อ การยืนยันตัวตน และการส่งคำสั่งต่าง ๆ
มาในส่วนของการ Enumeration กันครับ
เมื่อพอร์ตนี้เปิดให้เราดูว่ามีการเปิดให้เข้าใช้งานด้วย Username และ Password
anonymous/anonymous
หรือ
admin/admin
หากเข้าใช้งานได้ให้ทำการ Enumeration ในส่วนต่อ ๆ ไป
2. พอร์ต 22
- **Secure Shell (SSH) Secure Login**: ใช้สำหรับการเข้าสู่ระบบจากระยะไกลอย่างปลอดภัย SSH จะเข้ารหัสข้อมูลที่ส่งผ่านเครือข่าย เพื่อป้องกันการถูกดักฟังหรือโจมตี
ต่อมา port 22 นะครับในส่วนของ SSH
ซึ่งพอร์ตนี้เราจะไม่สามารถทำการเข้าใช้งานได้หากไม่มี Username และ Password ให้เราข้ามไปนะครับ
3. พอร์ต 23
- **Telnet Remote Login (Unsecured)**: ใช้ในการเข้าสู่ระบบระยะไกลแบบไม่เข้ารหัส Telnet มักถูกใช้เพื่อควบคุมอุปกรณ์เครือข่ายจากระยะไกล แต่มันไม่ปลอดภัยเพราะข้อมูลที่ส่งผ่านไม่ได้เข้ารหัส
4. พอร์ต 25
- **Simple Mail Transfer Protocol (SMTP)**: ใช้สำหรับการส่งอีเมลจากเครื่องหนึ่งไปยังอีกเครื่องหนึ่ง โดยเซิร์ฟเวอร์เมลจะใช้พอร์ตนี้ในการส่งต่ออีเมลไปยังปลายทาง
และในส่วนของพอร์ต 25/587, 465, 587 ซึ่งเป็นพอร์ตของ SMTP
ให้ทำการลองเชื่อมต่อด้วยคำสั่ง
nc -vn <IP> 25
ซึ่งถ้าหากเชื่อมต่อได้ให้ทำการ Enumeration ในขั้นตอนต่อๆไปครับ
5. พอร์ต 53
- **Domain Name System (DNS) Service**: ใช้สำหรับการแปลงชื่อโดเมนเป็นที่อยู่ IP ซึ่งเป็นการทำให้ผู้ใช้งานสามารถเข้าถึงเว็บไซต์ผ่านชื่อโดเมนที่เข้าใจง่ายแทนการใช้ที่อยู่ IP
6. พอร์ต 135, 139, 445 — SMB
7. พอร์ต 80, 443
- **Hypertext Transfer Protocol (HTTP)**: ใช้ในการส่งข้อมูลเว็บเพจจากเว็บเซิร์ฟเวอร์ไปยังเว็บเบราว์เซอร์ HTTP เป็นโปรโตคอลหลักที่ทำให้เว็บทำงานได้
**พอร์ต 443**:
- **HTTP Secure (HTTPS)**: ใช้ในการส่งข้อมูลเว็บเพจอย่างปลอดภัย HTTPS จะเข้ารหัสข้อมูลที่ส่งผ่านระหว่างเบราว์เซอร์และเว็บเซิร์ฟเวอร์ ทำให้ข้อมูลที่ส่งมีความปลอดภัยจากการถูกโจมตีหรือดักฟัง
และต่อไปมาที่พอร์ต 80, 8080, 443 ซึ่งเป็นในส่วนของ HTTP, HTTPS
ให้เราทำการ Enumeration เบื้องต้น ดังนี้
- Default password
- Check version
- Hidden information on webpage
- Brute path
8. พอร์ตที่ 88
Kerberos ถูกใช้โดย Kerberos ซึ่งเป็นโปรโตคอลสำหรับการพิสูจน์ตัวตนแบบเข้ารหัสในเครือข่ายคอมพิวเตอร์ โดยเฉพาะในระบบที่ต้องการความปลอดภัยสูง เช่น ระบบเครือข่ายองค์กร
การ Enumeration เบื้องต้นให้ใช้คำสั่งต่าง ๆ ดังนี้
./kerbrute userenum <UserList> — dc <IP> — domain <Domain>
with a list of users
.\Rubeus.exe brute /users:<UserList> /passwords:<Wordlist> /domain:<Domain>
Check all domain users again password list
.\Rubeus.exe brute /passwords:<Wordlist>
Ref: https://github.com/ropnop/kerbrute
9. พอร์ต 123
- **Network Time Protocol (NTP)**: ใช้ในการซิงโครไนซ์เวลาของคอมพิวเตอร์หรืออุปกรณ์เครือข่ายต่างๆ ให้ตรงกับเวลามาตรฐาน
10. พอร์ต 143
- **Internet Message Access Protocol (IMAP)**: ใช้ในการเข้าถึงอีเมลบนเซิร์ฟเวอร์โดยไม่ต้องดาวน์โหลดมาเก็บไว้ที่เครื่องของผู้ใช้ IMAP เหมาะกับการใช้งานบนหลายอุปกรณ์เพราะข้อมูลยังคงอยู่บนเซิร์ฟเวอร์
11. พอร์ต 161, 162 — SNMP (UPD)
- **Simple Network Management Protocol (SNMP)**: ใช้สำหรับการจัดการและตรวจสอบอุปกรณ์ในเครือข่าย เช่น เราเตอร์, สวิตช์, และเซิร์ฟเวอร์ เพื่อให้แน่ใจว่าทำงานได้อย่างมีประสิทธิภาพ
ให้เราใช้คำสั่งเพื่อสแกน UDP Port ด้วยคำสั่ง
nmap -sU — open -p 161 <IP>
หากพบว่ามีการเปิดพอร์ตนี้ให้ทำการใช้คำสั่ง
snmpwalk -v <version> -c <credential> <ip>
ใช้ในการดึงข้อมูลจากอุปกรณ์เครือข่ายโดยใช้โปรโตคอล SNMP (Simple Network Management Protocol)
12. พอร์ต 3306
MySQL ในส่วนของพอร์ตนี้ให้เราทำการตรวจสอบเวอร์ชัน เพื่อหาเวอร์ชันที่มีประกาศช่องโหว่เป็นสาธารณะ และสามารถใช้โจมตีต่อไปได้
13. พอร์ต 3389
RDP เป็นพอร์ตการเชื่อมต่อในส่วนของ Windows แต่ในส่วนนี้เราต้องมี Username และ Password เพื่อใช้ในการเชื่อมต่อ หากมี username และ password ให้ใช้คำสั่งด้านล่างในการเชื่อมต่อ
xfreerdp /v:[IP] /u:[user] /p:[password]
14. พอร์ต 5985, 5986 — winrm
เป็นการเชื่อมต่อใน Service ของ winrm หากมีการเปิดพอร์ตนี้และมี username และ password ให้เราใช้คำสั่งด้านล่างในการเชื่อมต่อ
“evil-winrm -u user -i IP”
15. พอร์ต กลุ่มของ Ldap. Ldaps นั่นคือ พอร์ต 389, 636, 3268, 3269
ให้เราใช้คำสั่งในการ Enumeration ด้วยคำสั่ง ในการ Get all users
ldapsearch -x -H ldap://<IP> -D ‘<Domain>\<User>’ -w ‘<Password>’ -b ‘DC=<DCfront>,DC=<DCback>’
หากได้ข้อมูลก็สามารถทำการโจมตีต่อไปได้ครับ
เป็นยังไงกันบ้างครับ หากลองทำแล้วจะพบว่าไม่ยากเลยใช่ไหมครับกับการที่เราจะสามารถ hack เข้าไปในเครื่องของใครสักคนด้วยการ Enumeration เล็ก ๆ น้อย ๆ ด้วย Common Ports แต่ในชีวิตจริงมันจะไม่ง่ายแบบงี้น่ะสิครับ เพราะจะมีการป้องกันอีกหลายรูปแบบมาก ๆ ทำให้การที่เราจะสามารถ hack หรือโจมตีคน ๆ นึงนั้นเป็นไปได้ค่อนข้างยากครับ สำหรับวันนี้ผมขอตัวลาไปก่อน ไว้พบกันรอบหน้านะครับ Enjoy Hacking ครับ!!!