Well-Known Port ที่ต้องรู้สำหรับสอบ OSCP

Datafarm
3 min readAug 14, 2024

สวัสดีครับ วันนี้ผมจะพามาทำความรู้จัก 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 ครับ!!!

--

--

No responses yet