1. 程式人生 > >centos安裝netcat工具及測試——及使用方法舉例

centos安裝netcat工具及測試——及使用方法舉例

8,開啟一個shell

我們已經用過遠端shell-使用telnet和ssh,但是如果這兩個命令沒有安裝並且我們沒有許可權安裝他們,我們也可以使用netcat建立遠端shell。

假設你的netcat支援 -c -e 引數(預設 netcat)

Server

$nc -l 1567 -e /bin/bash -i
Client
$nc 172.31.100.7 1567
這裡我們已經建立了一個netcat伺服器並且表示當它連線成功時執行/bin/bash

假如netcat 不支援-c 或者 -e 引數(openbsd netcat),我們仍然能夠建立遠端shell

Server

$mkfifo /tmp/tmp_fifo
$cat /tmp/tmp_fifo | /bin/sh -i 2>&1 | nc -l 1567 > /tmp/tmp_fifo
這裡我們建立了一個fifo檔案,然後使用管道命令把這個fifo檔案內容定向到shell 2>&1中。是用來重定向標準錯誤輸出和標準輸出,然後管道到netcat 執行的埠1567上。至此,我們已經把netcat的輸出重定向到fifo檔案中。

說明:

從網路收到的輸入寫到fifo檔案中

cat 命令讀取fifo檔案並且其內容傳送給sh命令

sh命令程序受到輸入並把它寫回到netcat。

netcat 通過網路傳送輸出到client

至於為什麼會成功是因為管道使命令平行執行,fifo檔案用來替代正常檔案,因為fifo使讀取等待而如果是一個普通檔案,cat命令會盡快結束並開始讀取空檔案。

在客戶端僅僅簡單連線到伺服器

Client

$nc -n 172.31.100.7 1567
你會得到一個shell提示符在客戶端