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

    防火墻ALG技術之TFTP協議穿墻術

    VSole2021-09-09 08:00:00

    TFTP協議簡介

    TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)是TCP/IP協議族中的一個用來在客戶端與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。

    TFTP是一個傳輸文件的簡單協議,基于UDP協議而實現,但也不能確定有些TFTP協議是基于其他傳輸協議完成的。此協議設計之初是進行小文件傳輸的,一次發送數據塊不能超過512字節(注:關于一些高級功能,RFC 1783闡述了塊大小談判、RFC 1784闡述了超時談判和傳送大小談判,但是目前大多數TFTP服務器都還不支持),這也是服務器必須把文件切成小塊反復傳輸的原因。服務器向客戶端發送一個數據塊,再接收到客戶端發回的應答數據包前什么都不做,直到收到客戶端確定數據塊已經收到的應答后,它才發送下一個數據塊,這種方式使得數據傳輸效率不高,但確保數據傳輸流程足夠簡單,同時能保證傳輸出錯時,數據重傳很方便,同時客戶端也不用考慮數據塊不按次序抵達時,如何將數據塊進行正確組裝。如果一個數據包的大小小于512字節,則表示傳輸結束。如果數據包在傳輸過程中丟失,發出方會在超時后重傳最后一個未被確認的數據包(類似于TCP超時重傳機制)。通信雙方互為數據的發出者與接收者,一方發出數據接收應答、另一方發出應答接收數據。

    TFTP報文類型

    TFTP協議定義了6種類型的報文,類型的區分由數據包前兩個字節的Opcode字段進行區分,具體如下:

    讀請求包:Read Request,簡寫為RRQ,從TFTP服務器獲取數據的請求,Opcode字段值為1;

    寫請求包:Write Request,簡寫為WRQ,向TFTP服務器寫數據的請求,Opcode字段值為2;

    數據包:Data,簡寫為DATA,TFTP傳輸的文件數據,Opcode字段值為3;

    確認包:Acknowledgement,簡寫為ACK,對收到的傳輸文件數據的確認,Opcode字段值為4;

    差錯包:Error,簡寫為ERROR,錯誤消息,Opcode字段值為5;

    選項確認包:Option Acknowledgement,簡寫為OACK,用于確認收到的TFTP選項(后來協議才加上的,當客戶端的RRQ和WRQ包帶option字段時,服務器響應OACK),Opcode字段值為6。

    TFTP端口分配

    TFTP客戶端發送RRQ和WRQ報文的時候,缺省目的端口號為69;而DATA、ACK和ERROR報文不使用69端口,使用是1024~65535的隨機端口。

    TFTP報文分析

    為了更清楚地理解TFTP連接過程,下面通過抓取連接過程報文進行逐一分析(抓包文件見附件,如果附圖不清楚可打開源文件)。如圖1-1所示:包1-4為是文本模式上傳文件、包5-8是以二進制模式上傳文件、包9-11是以文本模式下載文件、包12-14是以二進制模式下載文件,下面以包1-4為例進行細節描述。

    • 包1:客戶端(52066端口)向服務器(69端口)發送符合TFTP請求格式的WriteRequest包,該UDP包的源端口由客戶端隨機選擇,而目標端口則是服務端的69;
    • 包2:收到上述請求包后服務器(62878端口)向客戶端(52066端口),發送Acknowledgement包,對于寫文件請求包,服務端發送的ACK包block為0;
    • 包3:客戶端(52066端口)向服務器(62878端口)發送Data數據,由于客戶端發送的Data數據長度小于512字節,服務器便認為這個包為客戶端發送的最后一個包(last)、這次Write Request請求已完成;
    • 包4:服務器(62878端口)接收數據并寫文件,然后向客戶端(52066端口)發送Acknowledgement包,并且ACK包block為1。

    圖1-1 TFTP文本模式上傳文件

    TFTP工作流程

    作為精簡版FTP協議,TFTP協議還是非常簡單的,當然為了便于理解和記憶,也會通過一組流程圖對其工作過程進行梳理總結,如圖1-2所示。

    圖1-2 TFTP協議工作流程

    通過上面的學習,我們清楚地看到TFTP協議也是屬于多通道協議,即控制通道與數據通道使用不同的連接。當TFTP流量經過防火墻時,控制通道建立連接成功之后,若無TFTP ALG功能,則防火墻無法識別后續TFTP協議的數據連接會話被攔截,數據傳輸將出現問題。下面就看看TFTP協議究竟是如何穿越防火墻的吧。

    TFTP協議穿越SNAT

    穿越SNAT主要用于TFTP服務器部署在公網場景,客戶端需要通過SNAT轉換后訪問外部服務器。如圖2-1所示,展示了TFTP穿越防火墻SNAT時的工作流程,此時需要開啟TFTP ALG功能才可以完成穿墻。

    圖2-1 TFTP穿越SNAT流程圖

    防火墻設備上配置了私網地址192.168.12.2到公網地址106.120.22.2/TFTP服務的映射,實現IP地址的轉換,以支持私網客戶端對公網服務器的訪問。組網中,若沒有開啟ALG功能,防火墻在將收到后續數據協商報文(如Acknowledgement包)時會將其識別為非法流量進行攔截、也就不會根據控制連接會話將數據連接的目的IP(106.120.22.2)進行SNAT還原為私網地址(192.168.12.2),從而導致私網客戶端訪問公網TFTP服務器失敗。如圖2-2-(a)和圖2-2-(b)所示,整個通信過程包括以下幾個階段(包1-5):

    • 192.168.12.2:49679→106.120.12.2:69,私網客戶端訪問公網服務器的69端口請求下載文件;
    • 106.120.22.2:2049→106.120.12.2:69,經過防火墻SNAT轉換后,公網服務器收到RRQ信息;
    • 106.120.12.2:58470→106.120.22.2:2049,公網服務器響應,另起端口返回數據;
    • 防火墻利用TFTP ACL ALG技術,安全策略檢查放行公網服務器響應包;
    • 106.120.12.2:58470→192.168.12.2:49679,防火墻利用TFTP NAT ALG技術完成SNAT還原;
    • 數據到達私網客戶端,返回ACK消息,數據傳輸成功。
    • 包6-9為私網客戶端訪問公網服務器的69端口請求上傳文件(WRQ)的過程,與請求下載文件(RRQ)類似,不再贅述。

    圖2-2-(a) TFTP穿越SNAT-Client

    圖2-2-(b) TFTP穿越SNAT-Server

    TFTP協議穿越DNAT

    穿越DNAT主要用于TFTP服務器部署在私網場景,客戶端需要通過DNAT轉換后訪問內部服務器。如圖3-1所示,展示了TFTP穿越防火墻DNAT時的工作流程,此時需要開啟TFTP ALG功能才可以完成穿墻。

    圖3-1 TFTP穿越DNAT流程圖

    防火墻設備上配置了私網地址192.168.12.2/UDP私網端口69到公網地址106.120.22.2/UDP公網端口6900的映射,實現IP地址的轉換,以支持公網客戶端對私網服務器的訪問。組網中,若沒有開啟ALG功能,防火墻在將收到后續數據協商報文(如Acknowledgement包)時不會根據控制連接會話將數據連接的源IP(192.168.12.2)進行DNAT還原為公網地址(106.120.22.2)、也就會將其識別為非法流量進行攔截,從而導致私網客戶端訪問公網TFTP服務器失敗。如圖3-2-(a)和圖3-2-(b)所示,整個通信過程包括以下幾個階段(包1-4):

    • 106.120.12.2:49758→106.120.22.2:6900,公網客戶端訪問公網服務器6900端口(私網服務器69端口映射為公網服務器6900端口)請求上傳文件;
    • 106.120.12.2:49758→192.168.12.2:69,經過防火墻DNAT轉換后,私網服務器收到WRQ信息;
    • 192.168.12.2:61107→106.120.22.2:49758,私網服務器另起端口進行響應(OACK);
    • 106.120.22.2:61107→106.120.12.2:49758,防火墻利用TFTP NAT ALG技術完成DNAT還原;
    • 防火墻利用TFTP ACL ALG技術,安全策略檢查放行服務器的響應包;
    • 數據到達公網客戶端,開始數據傳輸;私網服務器接收完畢后返回ACK確認消息,完成數據傳輸。
    • 包6-9為公網客戶端訪問私網服務器的69端口請求下載文件(RRQ)的過程,與請求上傳文件(WRQ)類似,不再贅述。

    圖3-2-(a) TFTP穿越DNAT-Client

    圖3-2-(b) TFTP穿越DNAT-Server

    附件—TFTP協議穿墻抓包

    · 01_無NAT時TFTP穿墻.pcap

    ·  02_SNAT時TFTP穿墻-Client.pcap

    ·  03_SNAT時TFTP穿墻-Server.pcap

    · 04_DNAT時TFTP穿墻-Client.pcap

    ·  05_DNAT時TFTP穿墻-Server.pcap

    下載方式

    北京威努特技術有限公司(簡稱:威努特)成立于2014年,專注于工控安全領域,以自主研發的全系列工控安全產品為基礎,為電力、軌道交通、石油石化、市政、煙草、智能制造、軍工等國家重要行業用戶提供全生命周期縱深防御解決方案和專業化的安全服務。憑借持續的研發創新能力和豐富的實戰經驗入選全球六家榮獲國際自動化協會ISASecure認證企業之一和亞太地區唯一全球網絡安全聯盟(GCA)創始成員。

    威努特秉承首創的工業網絡“白環境” 技術理念,迄今為國內及“一帶一路”沿線國家的2000多家客戶實現了業務的安全合規運行,已成為最受客戶信賴的工控安全領軍企業。同時,作為中國工控安全國家隊,積極推動產業集群建設構建生態圈發展,牽頭和參與工控安全領域國家、行業標準制定和重大活動網絡安全保障工作,致力于為國家關鍵信息基礎設施保駕護航。

    威努特始終以“專注工控,捍衛安全”為使命,致力于為我國關鍵信息基礎設施網絡空間安全保駕護航!

    防火墻tftp
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    TFTP(Trivial File Transfer Protocol,簡單文件傳輸協議)是TCP/IP協議族中的一個用來在客戶端與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷不大的文件傳輸服務。
    時光飛逝,轉眼間2021年已過大半,我們的“防火墻ALG技術”系列文章也已經更新到了第四期,之前推送的《防火墻ALG技術之安全策略》 《防火墻ALG技術之FTP協議穿墻術》 《防火墻ALG技術之TFTP協議穿墻術》 可點擊鏈接進行閱讀。本期介紹DNS協議穿越防火墻NAT,淺談個人理解與認知。
    1月12日,在數字世界的“疫情”防控體系——山石網科StoneOS 5.5R9線上發布會上,山石網科發布防火墻軟件版本StoneOS 5.5R9,以近300個功能特性全面升級,賦能企業可持續安全運營。
    今天分享一篇文章,涉及Redis未授權、SSRF漏洞、寬字節注入、JSONP劫持、CORS、CRLF注入等技能,并詳細講述了其原理和漏洞利用等。能夠回連且權限夠的話,寫crontab利用計劃任務執行命令反彈shell?圖片加載與下載:通過URL地址加載或下載圖片?禁用不需要的協議。禁止30x跳轉Java和PHP的SSRF區別PHP支持的協議:
    SYN FLOOD攻擊是在TCP三次握手過程中產生的。攻擊者通過發送大量偽造的帶有SYN標志位的TCP報文,與目標主機建立了很多虛假的半開連接,在服務器返回SYN+ACK數據包后,攻擊者不對其做出響應,也就是不返回ACK數據包給服務器,這樣服務器就會一直等待直到超時。這種攻擊方式會使目標服務器連接資源耗盡、鏈路堵塞,從而達到拒絕服務的目的。
    煙草行業不僅是國家稅收 的重要來源,而且可為煙農、煙草職工提供大量的就業崗位,其業務系統的安全穩定運行具有十分重要的意義。 近年來,國家煙草專賣局作為行業主管單位,按照中央網信辦、工業和信息化部、公安等國家相關部門要求,結合行業實際情況,相繼下發了一系列網絡安全建設指導文件,包括《中共國家煙草專賣局黨組關于印發煙草行業問責工作實施辦法(試行)的通知》、《煙草行業網絡安全問題整改工作指南》等。 要求
    常見端口滲透總結
    2022-01-16 22:32:17
    這樣,客戶端就能命令FTP服務器發一個文件給被攻擊的服務。基于Linux系統,配置方面很簡單。在nfs配置中,有不做任何限制的,有限制用戶,有限制IP,以及在版本2.x中我們還可以使用證書來驗證用戶。當然不同的限制可以采用的攻擊方式也不一樣;就目前而言網上關于nfs的攻擊還是比較少的!但是畢竟主流的攻擊方式仍舊是那些,比如注入,未授權等等;這些問題的出現也都是因為配置不當而造成的。
    100 個網絡基礎知識普及,看完成半個網絡高手!
    IP Spoofing也叫IP欺騙,其原理是攻擊者機器A利用軟件構造一個虛假不存在的IP地址,并以此不存在地址為源IP地址向受害者機器B發送SYN報文,請求建立TCP/IP連接。目標機器B接收到這個SYN報文后,會將收到的SYN報文中的源IP地址提取出來,并將此IP作為目的IP,回復一個ACK/SYN確認報文給B,并等待接收來自B的確認報文。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类