MSITBlog

1 minute reading time (290 words)

Winbox Exploit 2018

 

ความเป็นมา

 

               เมื่อวันที่ 23 เมษายน 2018 ทาง Mikrotik ได้มีการประกาศอุดช่องโหว่งของ RouterOS ของอุปกรณ์ mikrotik ช่องโหว่งนี้จะเข้าทำการโจมตีผ่านทาง port ของโปรแกรม winbox โดยอนุญาติให้โปรแกรมภายนอกเข้ามาอ่านข้อมูล username และ password ในฐานข้อมูลไปได้ และภายหลังได้มีประกาศเป็นมาตราฐานการกำหนดชื่อช่องโหว่ CVE รหัส CVE-2018-14847 ซึ่งโปรแกรม Winbox Exploit นี้เขียนโดยภาษา python  ซึ่งจะทำงานตามรูปแบบของช่องโหว่งนี้ (proof of concept)

 

RouterOS ที่ได้รับผลกระทบ

 

               RouterOS version: 6.29 - 6.42 (ช่วงเวลา 28/05/2015 – 20/04/2018) แบ่งได้ ดังนี้

 

  •          Long-term version: 6.30.1 - 6.40.7
  •          Stable version: 6.29 – 6.42
  •           Beta version: 6.29rc1 – 6.43rc3

 

โปรแกรมที่เกี่ยวข้อง

 

-            Python version 3

 

วิธีการใช้งาน

  • เข้าไปตาม path ที่เก็บโปรแกรมไว้อยู่ แล้วพิมพ์เรียกโปรแกรม Winbox Exploit โดยพิมพ์คำสั่ง ดังนี้

 

WinboxExploit.py IP_ADDRESS [PORT]

 

WinboxExploit.py

: ชื่อโปรแกรมที่เรียกใช้งาน

IP_ADDRESS

: IP Address ของอุปกรณ์ Mikrotik

[PORT]

: Port การใช้งานของโปรแกรม Winbox ถ้าไม่ใส่จะเป็นค่า default port คือ 8291

 


  • เมื่อหาค่า IP Address ของอุปกรณ์ mikrotik ได้ก็พิมพ์คำสั่งตามดังที่อธิบายไว้ข้างต้น ก็จะดึงข้อมูล username และ password แสดงได้ตามภาพ

 

  • นำ username และ password มา login ในโปรแกรม winbox หรือผ่าน browser ก็จะเข้าได้ตามภาพ

 

 

ภาพเข้าผ่านโปรแกรม winbox

  • เมื่อลองดู traffic จากโปรแกรม Wireshark จะเห็นได้ว่า โปรแกรม winbox สามารถเข้าถึง path ที่เก็บ user โดยไม่มีการป้องกัน

 

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

  • อัพเกรด RouterOS ใหม่หรือเวอร์ชั่น bug fixed

 

  • เปลี่ยน password

 

  • เปลี่ยนหรือปิด port ของ winbox

 

  • กำหนดสิทธิอนุญาติเฉพาะ address ที่ระบุไว้เข้าถึงได้ โดยกำหนดผ่าน Winbox service

 

  • กำหนด firewall rule ไม่อนุญาติให้ port 8291 (หรือตาม winbox port ที่เปลี่ยน) access เข้าจากภายนอก ดังตัวอย่างคำสั่งข้างล่างนี้ ซึ่งแสดงผลตามรูป

 

  • ทำ port knocking  ซึ่งเป็นวิธีการเปิด firewall ให้ access จากภายนอก โดยใช้วิธีการพยายาม connect ผ่าน port ที่ไม่ได้ใช้งานตามลำดับที่กำหนด ดังตัวอย่างคำสั่งข้างล่างนี้ ซึ่งแสดงผลตามรูป

 

          หลังจากตั้งค่า port knocking แล้วก็จะไม่สามารถเข้าผ่าน IP ได้ ตามภาพ

 

          การใช้งาน port knocking โดยไปที่ browser พิมพ์

 

http://router_ip_address:Port1 และ http://router_ip_address:Port2

 

router_ip_address

: IP ของอุปกรณ์ mikrotik

Port1, Port2

: ค่า Port ที่ตั้งไว้ใน firewall rule ตามลำดับ

 

 

เมื่อทำงานวิธีข้างต้นแล้วก็จะสามารถเข้าหน้า login ผ่าน IP address ได้ ดังภาพ

 

 

อ้างอิง

 

-            https://n0p.me/winbox-bug-dissection/

 

-            https://www.cvedetails.com/cve/CVE-2018-14847/

 

-            https://www.youtube.com/watch?v=eCkox0GyoiI&t=730s

 

-            https://blog.mikrotik.com/security/winbox-vulnerability.html

 

-            https://github.com/BasuCert/WinboxPoC

 

-            https://www.youtube.com/watch?v=vWK2AQJEu4g

 

 

Strategic Alignment Maturity Model (SAMM)
Mikrotik Exploit 2018

Related Posts

 

Comments

No comments made yet. Be the first to submit a comment
Already Registered? Login Here
Guest
Thursday, 20 February 2020