Thứ Năm, 21 tháng 3, 2019

Cyberpanel và những lỗ hổng bảo mật đã fix.

Tầm đầu tháng 1/2019 mình thấy đi group nào chuyên về thiết kế website, bán hosting,...Của facebook cũng có những comment khuyên nhau sử dụng Cyberpanel thay thế cho các Control Panel miễn phí, có phí để quản lý hosting...các thứ.

Thấy cũng tò mò nên mình có setup thử con VPS với Cyberpanel và tìm xem có gì hay ho không? Mục đích cũng để làm quen với nó cho biết với mọi người và kế đến là dòm ngó xem nó có gì hay hơn, dở hơn các panel khác không?

Mò mẫm thì thấy ngoài những cái mới, sài cũng lẹ hơn không ôm đồm, ỳ ạch  như VirtualMin, Webmin, VestaCP, KloxoMR, (đổi lại là thời gian phát triển của các panel trên lâu năm và an toàn hơn)...Nhưng tại thời điểm mình thử thì Cyberpanel tồn tại khá nhiều điểm yếu chết người về bảo mật, mình cũng report cho vendor những điểm yếu này đã được fix ở các version hiện tại.

Mình liệt kê ra một điểm yếu nhất, nguy hiểm nhất của Cyberpanel trước đây là ở mảng phân quyền những tập tin nhạy cảm của hệ thống (vd tập tin settings.py của Cyberpanel ) thật sự cẩu thả, cẩu thả đến mức chỉ cần các bạn có một user bất kỳ trên các server cài Cyberpanel thì các bạn có đủ quyền để nắm được:

- Tài khoản Root quản lý toàn bộ CSDL của hệ thống clients.
- Tài khoản root quản lý toàn bộ CSDL của hệ thống Cyberpanel

=> Vốn dĩ có tới tài khoản này là vì:
-  Cyberpanel sử dụng MariaDB để quản lý toàn bộ CSDL của các website trên hệ thống ở port:3306
-  Cyberpanel sử dụng MySQL để quản lý thông tin quản trị, domain, hosting, người dùng host, tài khoản FTP,.. ở Port:3307

Khỏi nói các bạn cũng có thể hình dung ra việc một người dùng nào đó mua host và có luôn quyền quản lý cái server đó của mình nó nguy hiểm ra sao rồi.

Ngoài trường hợp update hash:salt để chiếm quyền thì Mình cũng thử xem thuật toán mã hóa của các tài khoản hosting cũng như của admin trên Cyberpanel thì thấy khả năng có thể brute-force những hash password đó là khả thi nếu các bạn muốn có mật khẩu dạng text của target.

Thuật toán mã hóa nằm ở: https://github.com/usmannasir/cyberpanel/blob/v1.7.4/plogical/hashPassword.py

def hash_password(password):
    # uuid is used to generate a random number
    salt = uuid.uuid4().hex
    return hashlib.sha256(salt.encode() + password.encode()).hexdigest() + ':' + salt
.
Tức là chỉ cần có hash pass + salt thì có thể dùng hashcat với một option nhỏ để brute-force là: sha256($salt.$pass)

Đó chỉ là 1 trong những điểm yếu nguy hiểm nhất mà mình lấy để liệt kê ra đây làm ví dụ cho bài viết này, sau khi Cyberpanel đã fix nó, bằng cách phân quyền lại những tập tin có chứa những info nhạy cảm đó.

Kết luận:
- Cái gì mới ra và miễn phí thường không thật sự hoàn thiện và nó cần thời gian, cần đóng góp để hoàn thiện.
- Trước khi áp dụng công nghê hay công cụ nào đó cho hệ thống đang ổn định thì bạn nên kiểm thử nó xem có an toàn hay không.
- Hãy đóng góp cho nhà phát triển nếu bạn thấy những điểm yếu bảo mật nguy hiểm, có thể sẽ không có donate hay bounty đâu, nhưng nếu bạn thích thì hãy cứ làm thôi.

P/s: Mình trích lời của một người anh từng gởi cho mình: "Lòng tốt như thứ nước hoa quý. Có ai đem cho nó mà chẳng giữ được trên tay mình vài giọt thơm."

1 nhận xét:

Cyberpanel và những lỗ hổng bảo mật đã fix.

Tầm đầu tháng 1/2019 mình thấy đi group nào chuyên về thiết kế website, bán hosting,...Của facebook cũng có những comment khuyên nhau sử dụn...