Loading
May 27, 2024By samuel

Hướng dẫn cài đặt và sử dụng ngrok

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

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

chọn logo Linux để download ngrok
  • 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
chọn phiên bản ngrok phù hợp
  • 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

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 một webserver đơn giản bằ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
chạy lệnh ngrok để tạo một public ip

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

thông báo trước khi truy cập vào ip vừa tạo

Nhấn Visit Site và bạn sẽ được truy cập vào trang web

kết quả truy cập vào ip tạo bằng ngrok

Tại giao diện terminal của ngrok sẽ nhận được thông báo có Request đến

thông báo request đến tại giao diện terminal của ngrok
  • Tương tự với nginx
truy cập vào nginx webserver trong localhost bằng ngrok
  • Và Python
truy cập vào python webserver trong localhost bằng ngrok

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
dùng nc lắng nghe trên port 6969
  • khởi động ngrok để tạo một tunnel tới port đó qua giao thức tcp bằng lệnh
ngrok tcp 6969
mở một tunner đến port 6969 bằng giao thức tcp
  • 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.
nhận kết nối reverse shell từ máy mục tiêu

samuel

master of human stubid-ity

svg

What do you think?

It is nice to know your opinion. Leave a comment.

Leave a reply