web滲透,獲取到了服務器的webshell權限,但是還有沒有其他的操作呢?
是,或者,否呢?
一、交代場景
記得在上大學那會就接觸了黑客技術,仗著初生牛犢不怕虎的無知精神,給很多網站上傳了很多菜刀小馬,玩的很開心.
msf一套走,那會以為只有獲取到了webshell,我就有了服務器的權限,回想起來,只能說一句,太年輕了。
那會并沒有意識到這個嚴肅的問題,只是獲取到了這個web站點的權限,后面有人問,3389可以使用嗎?
處于內網的機器,也就是這臺掛載有網站站點的服務器能不能遠程呢?
當然了,答案是肯定的,lcx內網轉發。
二、LCX
我們先來了解一個問題,NAT映射,這個有點頭疼,對于做網絡的工程師來說,倒是很常見。
先來看下面這段。
NAT:Network Address Translation,翻譯過來就是網絡地址轉換協議。
什么意思呢?
來看一個操作。
· 打開你的命令行輸入ipconfig查詢你的Ip地址
· 打開百度,輸入Ip查詢,查詢你的ip地址
ipconfig:
瀏覽器:
朋友們,看見沒有,地址不一樣哎。
發現了吧!同一臺機器居然呈現出兩個不一樣的地址,但是眾所周知,每個主機一般只有一個地址,不要抬杠,我知道服務器可以配置多個IP地址,電腦可以配置多個IP地址。
反正不是這個意思,就是我要表達的那個意思,只有一個地址,懂了吧!
網絡被分為私網和公網兩個部分,NAT網關設置在私網到公網的路由出口位置,雙向流量必須都要經過NAT網關。
這個就要提到公網IP和私網IP地址了,公網IP地址是Internet連接使用,私網IP地址一般不會對外傳播,所以相對是安全的。
說這么多,就想表達一個意思,你在公網看到的域名地址是做過nat轉換的,所以你看到的web站點是被映射以后的地址.
你通過滲透獲取到了webshell,但是你并不能開啟遠程3389端口,所以這時候就需要上傳一個LCX,端口轉發,把內網服務器的3389端口映射到外網,這樣就可以開啟3389遠程登錄了。
三、實驗
前提:已經獲取到了服務器的webshell。
LCX命令解析
Lcx -Listen <監聽slave請求的端口(對應slave的第二個參數)> <等待連接的端口>
Lcx -slave <你的ip> <監聽端口(對應listen的第一個參數)> <目標ip> <目標端口>
所以既然我們只需要連接那臺服務器,我們只需要設置目標ip參數為127.0.0.1就好了(127.0.0.1 Localhost即本機)因為別忘了slave是在對面服務器執行的。
當然了這里補充一點目標端口號是可以換的比如3306這樣你就可以連接對面的MySQL數據庫了。
有些人肯定要問了如果把這個127.0.0.1換成其他的ip會怎么樣,如果你嘗試過了那么恭喜你發現了新功能,你可以訪問更多的3389。
LCX實驗流程
上傳一個lcx.exe到肉雞上,在終端輸入
這里意思就是將內網192.168.10.3的3389端口轉發到外網113.47.x.x的51端口
然后再本機上(注意這里本機需要外網ip,否則會失敗)的終端輸入
這里意思是在本機上監聽51端口并連接到10000端口(可以用別的端口)
最后win+R,輸入mstsc打開遠程桌面,輸入127.0.0.1:10000就可以連接到肉雞了。
四、總結
端口轉發的時候需要一臺公網服務器,lcx是一款輕便的端口轉發工具,Lcx程序多用于被控制計算機處于內網的時候,被控制機可能中了木馬程序。
雖然能夠進行控制,但還是沒有使用遠程終端登錄到本機進行管理方便,因此在很多情況下,都會想方設法在被控制計算機上開啟3389端口.
然后通過lcx等進行端口轉發,進而在本地連接到被控制計算機的遠程終端并進行管理和使用。
在沒有端口轉發的情況下外網主機是不能直接連接內網主機的,但是lcx工具可以將內網主機(出入內網主機的需要能夠ping通互聯網)的某個端口抓發到外網的某個端口上面。
這樣的話處于外網的主機可以將映射到外網的端口再反彈到另一個外網的端口上面(用的最多的是3389),這樣我們就可以直接遠程連接反彈的端口就可以與內網主機進行通信。
故內網已經打通,說實話lcx的工具如同在路由器上面做了端口轉發。