反彈shell是什麼?反彈shell有什麼用?

老男孩IT教育機構發表於2022-07-26

  相信大家一定聽過shell,但反彈shell你是否也聽過呢?它又有什麼作用呢?請看下文:

  簡單來說,Shell就是實現使用者命令的介面,透過這個介面我們就能實現對計算機的控制,比如我們常見的ssh就是執行的Shell命令實現對遠端對伺服器的控制。

  那反彈Shell是啥呢?其英文名叫做Reverse Shell,具體幹什麼的呢?就是控制端首先監聽某個TCP/UDP埠,然後被控制端向這個埠發起一個請求,同時將自己命令列的輸入輸出轉移到控制端,從而控制端就可以輸入命令來控制被控端了。

  比如說,我們有兩臺主機A、B,我們最終想實現在A上控制B。那麼如果用正向Shell,其實就是在A上輸入B的連線地址,比如透過ssh連線到 B,連線成功之後,我們就可以在A上透過命令控制B了。

  如果用反向Shell,那就是在A上先開啟一個監聽埠,然後讓B去連線A的這個埠,連線成功之後,A這邊就能透過命令控制B了。

  反彈shell有什麼用?

  還是原來的例子,我們想用A來控制B,如果想用ssh等命令來控制,那得輸入B的sshd地址或者埠對吧?但是在很多情況下,由於防火牆、安全組、區域網、NAT等原因,我們實際上是無法直接連線到B的,比如:

  A雖然有公網IP,但B是一個處於內網的機器,A就沒法直接連到B上。

  B上開了防火牆或者安全組限制,sshd的服務埠22被封閉了。

  B是一臺撥號主機,其IP地址經常變動。

  假如B被攻擊了,我們想讓B向A彙報自己的狀況,那自然就需要B主動去連線A。

  如果是這些情況,我們就可以用反彈Shell用A來控制B了。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2907634/,如需轉載,請註明出處,否則將追究法律責任。

相關文章