<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原理及隱蔽攻擊的方式

    VSole2021-11-26 06:38:49

    一、ICMP隧道技術解析

    1.icmp協議

    Internet Control Message Protocol Internet控制報文協議。它是TCP/IP協議簇的一個子協議,用于在IP主機、路由器之間傳遞控制消息。控制消息是指網絡通不通、主機是否可達、路由是否可用于網絡本身的消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用

    ICMP協議主要提供兩種功能,

    一種是差錯報文,一種是信息類報文。信息類報文包括回顯請求和回顯應答,以及路由器通告和路由器請求。常見的差錯報文類型包括目的不可達、重定向、超時和參數問題。

    主要特點:

    確認IP數據包是否成功到達目的地
    通知源主機發送IP數據包丟失的原因
    ICMP是基于IP協議工作的
    ICMP只能作用于IPV4,IPV6下,使用ICMPv6

    報文格式:

    ping一下8.8.8.8,然后使用wireshark進行抓包看看。

    過程:ping 命令使用了兩個ICMP 報文

    1、向目標服務器發送回送請求

    首先,向目標服務器發出回送請求(類型是8,代碼是0)報文。在這個回送請求報文里,除了類型和代碼字段,還被追加了標識符和序號字段。標識符和序號字段分別是16 位的字段。ping 命令在發送回送請求報文時,在這兩個字段里填入任意的值。對于標識符,應用程序執行期間送出的所有報文里填入相同的值。對于序號,每送出一個報文數值就增加1。而且,回送請求的選項數據部分用來裝任意數據。這個任意數據用來調整ping 的交流數據包的大小。

    2、返回的回應,做出答復。

    計算機送出的回送請求到達目標服務器后,服務器回答這一請求,向送信方發送回送請求(類型是0,代碼是0)。這個ICMP 回送回答報文在IP 層來看,與被送來的回送請求報文基本上一樣。不同的只是,源和目標IP 地址字段被交換了,類型字段里填入了表示回送回答的0。也就是,從送信方來看,自己送出的ICMP 報文從目標服務器那里象鸚鵡學舌那樣原樣返回了。

    送信方的計算機可以通過收到回送回答報文,來確認目標服務器在工作著。進一步,記住發送回送請求報文的時間,與接收到回送回答報文的時間一比較,就能計算出報文一去一回往復所需要的時間。但是,收到的回送回答報文里寫的只是類型和代碼的話,發送方計算機將無法判斷它是否是自己發出去請求的回答。因此,前面說到的標識符和序號字段就有它的意義了。將這兩個值與回送回答報文中的相同字段值一比較,送行方計算機就能夠簡單地檢測回送回答是否正確了。執行ping 命令而調查的結果沒什么問題的話,就將目標服務器的IP 地址,數據大小,往復花費的時間打印到屏幕上。

    2、ICMP隧道

    (1)原理:

    由于ICMP報文自身可以攜帶數據,而且ICMP報文是由系統內核處理的,不占用任何端口,因此具有很高的隱蔽性

    通常ICMP隧道技術采用ICMP的ICMP_ECHO和ICMP_ECHOREPLY兩種報文,把數據隱藏在ICMP數據包包頭的選項域中,利用ping命令建立隱蔽通道。簡單說就是,改變操作系統默認填充的Data,替換成我們自己的數據。

    所以現在的ICMP隧道技術,基本采用修改ICMPECHO和ICMPECHOREPLY兩種報文,把消息隱藏在數據中,利用ping或 tracert 命令建立隱蔽通道。

    優缺點

    優點:

    防火墻對ICMP_ECHO數據包是放行的,并且內部主機不會檢查ICMP數據包所攜帶的數據內容,隱蔽性高

    缺點:

    ICMP隱蔽傳輸是無連接的,傳輸不是很穩定,而且隱蔽通道的帶寬很低
    利用隧道傳輸時,需要接觸更低層次的協議 ,這就需要高級用戶權限。

    二、隧道搭建

    方法1:使用icmpsh搭建

    1.首先使用git下載:https://github.com/jamesbarlow/icmptunnel

    2.然后安裝依賴庫,apt-get install python3-impacket

    3.使用sysctl -w net.ipv4.icmp_echo_ignore_all=1 ,將icmp的程序替換

    4.輸入./run.sh啟用

    5.輸入目標ip

    6.成功連接。

    7.查看目錄。

    方法2:pingtunnel

    1.在官網進行下載:http://freshmeat.sourceforge.net/projects/ptunnel/

    2.進入文件目錄,然后使用make && make install 進行編譯安裝。

    3.然后安裝缺少的依賴文件pcap.h.

    4.使用tar命令進行解壓。

    5.然后使用ptunnel -x 進行測試。

    下面是我用win7做邊界web服務器,然后把內網的域控3389端口轉發到外網的kali上面。

    這是win7的內外網ip

    win7內網ip:1.1.1.11

    外網ip:192.168.2.183

    windos也可使用此工具,不過需要在內網windows機器上安裝wincap類庫。

    域內主機:winserver12:1.1.1.2

    攻擊機IP:192.168.2.181

    kali的IP

    -x 指定ICMP隧道連接的密碼 -lp 指定要監聽的本地TCP端口 -da 指定要轉發的目標機的IP -dp 指定要轉發的目標機的TCP端口 -p 指定ICMP另一端機器的IP

    攻擊機開啟隧道 ptunnel -x abc

    實驗過程:在跳板機執行 ptunnel -x 密碼

    在目標機執行:

    windows版本

    ptunnel -p 192.168.1.4 -lp 1080 -da 1.1.1.2 -dp 3389 -x abc

    然后使用遠程連接:

    rdesktop -g 1440x900 -u saul -p saul 127.0.0.1:1080

    linux版本:

    連接22端口

    ptunnel -p x.x.x.x -lp 1080 -da x.x.x.x -dp 22 -x abc

    三防御ICMP隧道攻擊的方式:

    1、檢測同一源的ICMP數據包的流量。一個ping命令每秒發送2個數包,而使用ICMP隧道的瀏覽器會發送上千個ICMP數據包

    2、注意那些payload大于64bit的ICMP數據包

    3、尋找響應數據包的payload與請求數據包的payload不一致的ICMP數據包

    4、檢查ICMP數據包的協議與標簽。例如,icmptunnel會在所有的ICMP payload前添加”TUNL”標記來識別隧道。

    總結

    這篇文章主要簡單分析了一下Icmp協議的簡單通信原理以及ICmp通信過程,還包含了使用icmpsh和pingtunnel這2種工具進行建立隱藏隧道進行隱蔽攻擊。

    icmpicmp重定向
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    在現實世界中,DDoS攻擊的發展趨勢是和攻擊目的和商業活動結合,一般用來幫助攻擊競爭對手或者勒索被攻擊對象,這導致DDoS攻擊發生的頻度越來越高,攻擊的流量越來越大,流量高達100Gbps的攻擊已經非常常見。另外,隨著技術的不斷演進以及網上免費的可用DDoS工具增多,發起DDoS攻擊的技術難度在降低,DDoS的攻擊類型也在不斷變化,慢速攻擊和應用層DDoS攻擊等也會提升識別和防護的難度。因此DDo
    隧道與端口轉發
    2021-11-18 08:26:13
    如果想獲得課程報名資格,請添加文末小助手微信咨詢。查看是否禁止了出站ip或者禁止了出站端口或者禁止了出站協議。情況1:目標禁止出站ip如果目標主機設置了嚴格的策略,防火墻只允許目標內網機器主動連接公網指定的ip。這樣的話,沒法反彈shell。情況2:禁止出站端口Linux系統使用Linux系統自帶命令探測出網端口。
    你加密的壓縮包比你想象中的還不安全! 哪怕對于信息安全人員來說,很多時候給壓縮包加上一個密碼就以為的是萬事大吉了。但事實是,很多情況下,你的加密壓縮包,遠遠沒有你想象的安全。
    用戶名:加密密碼:密碼最后一次修改日期:兩次密碼的修改時間間隔:密碼有效期:密碼修改到期到的警告天數:密碼過期之后的寬限天數:賬號失效時間:保留。查看下pid所對應的進程文件路徑,
    它是TCP/IP協議簇的一個子協議,用于在IP主機、路由器之間傳遞控制消息。這些控制消息雖然并不傳輸用戶數據,但是對于用戶數據的傳遞起著重要的作用ICMP協議主要提供兩種功能,一種是差錯報文,一種是信息類報文。標識符和序號字段分別是16 位的字段。對于標識符,應用程序執行期間送出的所有報文里填入相同的值。例如,icmptunnel會在所有的ICMP payload前添加”TUNL”標記來識別隧道。
    紅藍對抗—藍隊手冊
    2022-03-18 14:22:22
    紅藍對抗的主要目的在于,提高公司安全成熟度及其檢測和響應攻擊的能力。
    ping 能夠以毫秒為單位顯示發送請求到返回應答之間的時間量。共發送了四個測試數據包,正確接收到四個數據包。但如果收到 0 個回送應答,那么表示子網掩碼不正確或網卡配置錯誤或電纜系統有問題。最好與對某臺 “設置良好” 主機的 ping 結果進行對比。
    需要這種特殊權限的場景在Linux下很常見。ping需要發送ICMP報文,而這個操作需要發送Raw Socket。比如,/bin/ping這個程序的所有者是root,它設置了s位,那么普通用戶在運行ping時其Effective UID就是0,等同于擁有了root權限。這里引入了一個新的概念Effective UID。第一部分指定用戶,第二部分指定可充當用戶,第三部分指定 sudo 可運行的命令。
    需要這種特殊權限的場景在Linux下很常見。已知的可以用來提權的Linux可執行文件有:CopyNmap、Vim、find、Bash、More、Less、Nano、cp比如常用的ping命令。
    Linux|suid提權總結
    2021-09-15 09:38:59
    suid即set user id,是一種授予文件的權限類型,它允許用戶使用者以文件所有者的權限來執行文件。需要這種特殊權限的場景在Linux下很常見。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类