ngrok – engine rock, en-grok, ngờ rốc, nờ gờ rờ ô kê, đồ ngok 👉🏿👈🏿… là một công cụ giúp bạn có thể mở ra một kết nối giữa localhost và public internet (tunneling).
ngrok hỗ trợ các giao thức như HTTP, TLS và TCP, thường được sử dụng để làm server cá nhân: mở kết nối từ ngoài internet tới các dịch vụ trong localhost, hoặc tổ chức thực hiện các cuộc tấn công Out-Of-Band
Nếu bạn cần thêm nhiều thông tin hơn về ngrok và cách nó hoạt động, vui lòng tham khảo TẠI ĐÂY
Mục lục
Hướng dẫn cài đặt ngrok trên Linux
Sử dụng Apt
sẽ hoạt động với đa phần các distro Linux sử dụng nhân Debian
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc |
sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null &&
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" |
sudo tee /etc/apt/sources.list.d/ngrok.list &&
sudo apt update &&
sudo apt install ngrok
Sử dụng snap
hoạt động tốt trên Ubuntu
snap install ngrok
Cài đặt ngrok theo cách thủ công
sử dụng cách này nếu như 2 cách trên không thành công
- Bước 1: truy cập https://ngrok.com/download
- Bước 2: chọn logo Linux (tương tự với các hệ điều hành khác)
- Bước 3: Nhấn Select và chọn phiên bản phù hợp với hệ điều hành của bạn, sau đó nhấn Download
- Bước 4: Sau khi tập tin cài đặt được tải về, chạy lệnh sau để thực hiện cài đặt ngrok
sudo tar xvzf ~/Downloads/ngrok-v3-stable-linux-amd64.tgz -C /usr/local/bin
Hướng dẫn thiết lập authtoken cho ngrok
- Bước 1: Đăng nhập hoặc đăng ký 1 tài khoản tại trang web https://ngrok.com
- Bước 2: Truy cập vào trang https://dashboard.ngrok.com/get-started/setup/linux và copy câu lệnh thiết lập authtoken, sau đó chạy trong terminal
Lệnh thiết lập authtoken sẽ có dạng:
ngrok config add-authtoken <token>
Hướng dẫn sử dụng ngrok
Dựng một Public Webserver
Tạo một địa chỉ có thể truy cập từ public internet cho trang web của bạn ở localhost, hoặc tạo một server nhận data cho các cuộc tấn công Out Of Band
- Dựng một webserver ở cổng 80 sử dụng Apache
- Dùng ngrok để tạo một địa chỉ ip public trỏ tới cổng 80 trong localhost bằng lệnh
ngrok http 80
Khi truy cập vào link được tạo ra bởi ngrok, ban đầu trình duyệt sẽ hiện thông báo như này
Nhấn Visit Site và bạn sẽ được truy cập vào trang web
Tại giao diện terminal của ngrok sẽ nhận được thông báo có Request đến
- Tương tự với nginx
- Và Python
Lưu ý: để gửi các POST Request tới webserver, yêu cầu trên localhost phải có sẵn code back-end và cấu hình hợp lý để xử lý các Request từ phía server (tùy thuộc vào webserver và ngôn ngữ back-end bạn sử dụng). Nếu không có code back-end hoặc không cấu hình webserver, thông tin sẽ chỉ được lấy bằng phương thức GET
Hỗ trợ tạo reverse shell
Mọi người có thể đọc qua bài viết Khai thác SQL Injection bằng phương thức Out-of-Band và bài viết Khai thác CVE-2023-42793 để tham khảo ứng dụng của ngrok trong quá trình tạo reverse shell nhé!
- lắng nghe trên 1 port ở localhost
- khởi động ngrok để tạo một tunnel tới port đó qua giao thức tcp bằng lệnh
ngrok tcp 6969
- Khi kết nối từ máy mục tiêu được gửi tới, trên terminal sẽ hiển thị như này.
What do you think?
It is nice to know your opinion. Leave a comment.