從 NetCat 取得更多輸出

從 NetCat 取得更多輸出

目前我正在使用該標準netcat -e /bin/sh來提供遠端 shell 供其他電腦存取。

但問題是這個 shell 相當糟糕,因為它的輸出有限。例如,如果我發送一些無效的命令xxxxx,我將不會從機器得到任何回應,但在機器上,終端上會出現錯誤,提示/bin/sh: xxxxx: not found

如果我使用 shell 啟動控制台應用程序,通常我看不到控制台應用程式輸出的任何內容,並且我無法Ctrlz通過 shell,因為這會關閉電腦上的 netcat。這是一團糟,我希望它像 SSH 一樣工作(我不能使用)。

/bin/sh是否可以建立一個自訂應用程式來顯示終端機中的所有輸出,而不是像我使用 netcat 那樣將所有內容透過管道傳輸?是否有可能以某種方式從終端獲取文本,無論寫入的是什麼進程?

是否可以sshd在盒子上啟動,然後netcat -e "ssh root@localhost"這樣做? (我已經嘗試過這個,似乎不起作用)。

我正在尋找任何類型的解決方案。

答案1

建立「自訂應用程式」將重新實作 telnet / ssh。這當然是可能的,但不是必需的。

如果主機上有 sshd (或 telnetd),您可以使用 例如 從 netcat-shell 工作階段啟動它,/usr/sbin/sshd -p <port> -D 2>&1然後ssh -p <port> root@<host>在您的用戶端上執行此操作。您可能需要向 sshd 添加更多選項,也許創建一個設定檔並在命令列中給出它:/usr/sbin/sshd -f <config-file> ...

如果沒有,您可以使用 netcat 會話上傳 telnetd 或 sshd,設定所需的環境/配置並在某個連接埠上執行它。

您也可以在 shell 周圍建立一個包裝器,將 stderr 重定向到 stdout,例如/bin/sh 2>&1,這將允許您在 netcat 會話中看到 stderr,但不會為您提供「真正的終端」功能。

另一個選擇是DISPLAY=<client>:0 xtrem主機上有 xterm 或同等版本,客戶端上有 X Server。

相關內容