安全界瑞士軍刀--Netcat常用命令

sherlockjjobs發表於2020-11-29

瑞士軍刀Netcat常用命令

1. 檢視目標IP地址的指定的埠是否開啟

如:
nc -nv 11.11.11.11 80 //判斷80埠是否開啟
-nv是資訊收集過程中經常使用的引數,在nmap也經常會用到
-n: 對IP地址進行探測,但不會對域名進行探測,即沒有DNS的解析

常見的埠的開啟特徵

110埠:
如果開啟,可以嘗試輸入USER 使用者名稱等命令
25埠:
如果開啟,可以先輸入helo指令進行對話,之後再輸入郵箱等
80埠:
如果開啟,可以輸入GET /命令或者 HEAD/ 命令

2. 利用netcat傳輸文字資訊

接收方:nc -l -p 1314 //開啟指定埠,並進行偵聽
連線方:nc -nv 11.11.11.11 1314 //連線指定IP的指定埠

如果不確定埠是否開啟,可以輸入netstat -pantu | grep 1314,來檢視埠的狀態

也可以利用傳shell,進行遠端控制

如:
接收方:nc -l -p 1314 -c bash //Windows可將bash改為cmd
連線方:nc -nv 11.11.11.11 1314

利用管道符傳遞資訊

接收方:nc -l -p 1314 > 1.txt
連線方:ps aux | nc -nv 11.11.11.11 1314 //將程式資訊通過nc傳給接收方
在使用nc傳遞時,可以加上-q引數(接收方和連線方都可以),如-q 1, 在命令完成後一秒,斷開連線

也可以利用<,>傳遞

接收方:nc -l -p 1314 > 520.mp4
連線方:nc -nv 11.11.11.11 1314 < 521.mp4

注意:反向連線也是可以的,即接收方變為了傳送方,傳送方變為了接收的一方

3. 利用netcat進行埠掃描

如:
nc -nvz 22.22.22.22 1-65535 //掃描1-65535個埠
nc -nvzu 22.22.22.22 1-1024 //掃描UDP的1-1024個埠
-z引數:只進行掃描,不進行互動
-u引數:進行UDP的掃描,預設為TCP掃描

Netcat的升級版–Ncat

netcat的傳遞的資訊都是以明文形式的(當然,也可以使用加密工具進行加密,如mcrypt),因此缺乏加密通訊和身份驗證的能力,ncat彌補了這些缺點

如:
接收方:ncat -c bash -allow 12.12.12.12 -vnl 121 --ssl
連線方:ncat -nv 11.11.11.11 121 --ssl
接收方的IP為11.11.11.11,傳送方為12.12.12.12,也就是說-allow引數規定接收方只允許12.12.12.12進行連線121埠,並且使用ssl加密

相關文章