當(dāng)我們通過 webshell 或者其它一些方式獲取到一臺可以訪問內(nèi)網(wǎng)的服務(wù)器權(quán)限后,如果要做進(jìn)一步的滲透,往往要訪問內(nèi)網(wǎng)中的其它主機(jī),但其它主機(jī)在內(nèi)網(wǎng)中,我們無法直接訪問。由于控制的服務(wù)器處于內(nèi)網(wǎng)中,所以我們可以通過這臺服務(wù)器作為跳板進(jìn)行內(nèi)網(wǎng)穿透。
這篇文章將會使用之前搭建的環(huán)境(搭建一個簡單的Windows域環(huán)境)對內(nèi)網(wǎng)穿透常用的技術(shù)及防御手段進(jìn)行介紹。這里需要再準(zhǔn)備多一臺 ubuntu 虛擬機(jī)作為 linux 服務(wù)器, kali 虛擬機(jī)作為攻擊機(jī)
內(nèi)網(wǎng)穿透使用的技術(shù)主要有下面幾種:
端口轉(zhuǎn)發(fā)
socks 代理
dns 隧道
icmp 隧道
端口轉(zhuǎn)發(fā)
端口轉(zhuǎn)發(fā)技術(shù)主要是把目標(biāo)內(nèi)網(wǎng)的主機(jī)的端口轉(zhuǎn)發(fā)到公網(wǎng)可以訪問的主機(jī)端口中。根據(jù)轉(zhuǎn)發(fā)的方向不同,也可以分成正向端口轉(zhuǎn)發(fā)和反向端口轉(zhuǎn)發(fā),但本質(zhì)是一樣的,都是把一臺主機(jī)的一個端口轉(zhuǎn)發(fā)到另一臺主機(jī)的一個端口。
正向端口轉(zhuǎn)發(fā)的情況一般用得比較少。
這種情況一般是獲得權(quán)限的公網(wǎng)Web服務(wù)器同時具有公網(wǎng) ip 和內(nèi)網(wǎng) ip。此時可以把內(nèi)網(wǎng)主機(jī)的一些端口轉(zhuǎn)發(fā)到 Web服務(wù)器的端口上。
示意圖中,Web服務(wù)器會在本地打開一個3389端口進(jìn)行監(jiān)聽,接著攻擊主機(jī)訪問了Web 服務(wù)器的3389端口,然后Web服務(wù)器作為中轉(zhuǎn),把 3389端口接收到的流量轉(zhuǎn)發(fā)到內(nèi)網(wǎng)主機(jī)B 的 3389。這樣就達(dá)到了訪問內(nèi)網(wǎng)主機(jī)B的目的。