<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技術之DNS協議穿墻術

    VSole2021-10-25 04:49:22

    時光飛逝,轉眼間2021年已過大半,我們的“防火墻ALG技術”系列文章也已經更新到了第四期,之前推送的《防火墻ALG技術之安全策略》 《防火墻ALG技術之FTP協議穿墻術》 《防火墻ALG技術之TFTP協議穿墻術》 可點擊鏈接進行閱讀。本期介紹DNS協議穿越防火墻NAT,淺談個人理解與認知。

    DNS協議學習

    DNS協議簡介

    DNS(Domain Name System,域名系統)是一個應用層協議,DNS 的作用是將人類可讀的域名(如:www.winicssec.com) 轉換為機器可讀的 IP 地址(如:123.56.238.105)。當前,對于每一級域名長度的限制是63個字符,域名總長度則不能超過253個字符。DNS協議建立在UDP或TCP協議之上,默認使用 53號端口。客戶端默認通過 UDP 協議進行通信,但是由于廣域網中不適合傳輸過大的 UDP 數據包,因此規定當報文長度超過了512字節時,應轉換為使用 TCP 協議進行數據傳輸。此時可能會出現如下的兩種情況:

    • 客戶端認為UDP響應包長度可能超過512字節,主動使用TCP協議;
    • 客戶端使用UDP協議發送DNS請求,服務端發現響應報文超過了 512 字節, 在截斷的 U DP響應報文中將TC設置為1,以通知客戶端該報文已經被截斷,客戶端收到之后再發起一次 TC P 請 求( 該特性通常也被安全廠商作為 一種有效防御DNS Query Flood攻擊的手段)。

    DNS服務類型

    DNS服務器按照配置和實現功能的不同,包括多種不同的類型。

    (1)授權型 DNS

    一種授權型DNS服務提供一種更新機制,供開發人員用于管理其公用 DNS 名稱。然后,它響應DNS查詢,將域名轉換為IP地址,以便計算機可以相互通信。授權型DNS對域有最終授權且負責提供遞歸型DNS服務器對IP地址信息的響應。

    (2)遞歸型 DNS

    客戶端通常不會對授權型DNS服務直接進行查詢。而是通常連接到稱為解析程序的其他類型DNS服務,或遞歸型DNS服務。遞歸型DNS服務就像是旅館的門童:盡管沒有任何自身的DNS記錄,但是可充當您獲得DNS信息的中間程序。如果遞歸型DNS擁有已緩存或存儲一段時間的DNS參考,那么它會通過提供源或IP信息來響應DNS查詢。如果沒有,則它會將查詢傳遞到一個或多個授權型 DNS 服務器以查找信息。

    DNS記錄類型

    DNS中,常見的資源記錄類型有:

    • A記錄(地址) ─ 指定域名對應的 IPv4 地址記錄。
    • AAAA記錄(地址) ─ 指定域名對應的 IPv6 地址記錄。
    • NS記錄(域名服務) ─ 指定解析域名或子域名的DNS服務器。
    • MX記錄(郵件交換) ─ 指定接收信息的郵件服務器。
    • CNAME(規范)─ 一個域名映射到另一個域名或 CNAME 記錄(www.winicssec.com指向 www.wnt.com )或映射到一個 A記錄。
    • PTR記錄(反向記錄) ─ PTR 記錄用于定義與 IP 地址相關聯的名稱。PTR 記錄是 A 或 AAAA 記錄的逆。PTR 記錄是唯一的,因為它們以 .arpa 根開始并被委派給 IP 地址的所有者。

    DNS工作流程

    在瀏覽器中輸入www.winicssec.com域名,操作系統會先檢查自己本地的hosts文件是否有這個域名映射關系。如果有這個域名的映射,就先調用這個IP地址映射,完成域名解析;如果沒有這個域名的映射,則查找本地DNS緩存,是否有這個域名映射關系,如果有,直接返回,完成域名解析。

    如果hosts與本地DNS緩存都沒有相應的域名映射關系,首先會找網絡配置參數中設置的首選DNS服務器(記為A-DNS服務器),此服務器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。

    如果要查詢的域名,不由A-DNS服務器區域解析,但該服務器已緩存了此網址映射關系,則調用這個IP地址映射,完成域名解析,此解析不具有權威性。

    如果A-DNS服務器本地區域文件與緩存解析都失效,則根據A-DNS服務器的設置(是否設置轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至根DNS服務器(記為B-DNS服務器),B-DNS服務器收到請求后會判斷這個域名(.com)是誰來授權管理,并會返回一個負責該頂級域名服務器的一個IP。A-DNS服務器收到IP信息后,將會聯系負責.com域的這臺服務器(記為C-DNS服務器)。C-DNS服務器收到請求后,如果自己無法解析,它就會找一個管理.com域的下一級DNS服務器地址(記為D-DNS服務器)給A-DNS服務器。當A-DNS服務器收到這個地址后,就會找D-DNS服務器,重復上面的動作,進行查詢,直至找到www.winicssec.com主機。

    如果用的是轉發模式,A-DNS服務器就會把請求轉發至上一級DNS服務器(記為E-DNS服務器),由E-DNS服務器進行解析;如果E-DNS服務器如果不能解析,那么會繼續找根DNS或把轉請求轉至上上級,以此循環。

    DNS報文分析

    DNS 分為查詢請求和查詢響應,請求和響應的報文結構基本相同。DNS 報文格式如表1-1所示:

    表1-1 DNS報文格式

    基礎結構部分:DNS 報文的基礎結構部分指的是報文首部,每個字段含義:上表中顯示了 DNS 的報文格式。其中,事務ID、標志、問題計數、回答資源記錄數、權威名稱服務器計數、附加資源記錄數這6個字段是DNS的報文首部,共12個字節。整個DNS 格式主要分為3部分內容,即基礎結構部分、問題部分、資源記錄部分,下面將詳細地介紹每部分的內容及含義:

    • 事務 ID:DNS 報文的 ID 標識。對于請求報文和其對應的應答報文,該字段的值是相同的。通過它可以區分 DNS 應答報文是對哪個請求進行響應的。
    • 標志:DNS 報文中的標志字段。
    • 問題計數:DNS 查詢請求的數目。
    • 回答資源記錄數:DNS 響應的數目。
    • 權威名稱服務器計數:權威名稱服務器的數目。
    • 附加資源記錄數:額外的記錄數目(權威名稱服務器對應 IP 地址的數目)。

    問題部分:問題部分指的是報文格式中查詢問題區域(Queries)部分。該部分是用來顯示 DNS 查詢請求的問題,通常只有一個問題。該部分包含正在進行的查詢信息,包含查詢名(被查詢主機名字)、查詢類型、查詢類。

    資源記錄部分:資源記錄部分是指 DNS 報文格式中的最后三個字段,包括回答問題區域字段、權威名稱服務器區域字段、附加信息區域字段。

    如圖1-1所示,DNS請求報文,問題計數為1、域名為www.baidu.com。

    圖1-1 DNS請求報文

    如圖1-2-(a) 所示,DNS響應報文,可以看出問題計數為1、也就是對應的請求報文中的問題,而回答計數為3個。

    圖1-2-(a) DNS響應報文

    分析Answers字段,如圖1-2-(b)所示:其中type A記錄是在穿越防火墻NAT網關時需要重點關注內容。

    1-2-(b) DNS響應報文-Answers

    分析Authoritative nameservers字段,如圖1-2-(c)所示:

    1-2-(c) DNS響應報文-Authoritative

    分析Additional records字段,如圖1-2-(d)所示:

    1-2-(d) DNS響應報文-Additional

    DNS協議穿越SNAT

    DNS協議穿越SNAT使用場景為私網的用戶訪問公網上的DNS服務器進行A查詢,根據DNS域名獲得內部服務器的私網IP地址。如圖2-1所示,Client A/B/C是DMZ區域內的主機,它們的域名在全網內是唯一的,但它們的地址是內部私有地址,其公網地址注冊到 Internet 上的DNS服務器上。如果trust區域內的User想用DNS域名訪問DMZ內部主機,它必須通過Internet 上的DNS服務器查詢內部服務器的域名以獲得其IP地址,但這個IP地址是公網地址,需要由DNS NAT應用級網關將其轉換為私網地址,這樣私網用戶就可以在私網內通過域名方式直接訪問內部服務器了。

    圖2-1 DNS服務器位于公網外部

    如圖2-2-(a)、2-2-(b)、2-2-(c)所示,為私網客戶端通過域名方式訪問私網WEB服務器過程中的抓包示例,其重點在于公網DNS服務器的響應報文中A記錄“123.56.238.105”在經過NAT后轉換為“192.168.13.2”。

    圖2-2-(a) SNAT時DNS穿墻-Client

    圖2-2-(b) SNAT時DNS穿墻-DNS-Server

    圖2-2-(c) SNAT時DNS穿墻-WEB-Server

    DNS協議穿越DNAT

    DNS協議穿越DNAT使用場景為公網的用戶訪問私網上的DNS服務器進行A查詢,根據DNS名獲得內部服務器的公網IP地址。如圖3-1所示,Client A/B/C是DMZ區域內的主機,它們的域名在全網內是唯一的,但它們的地址是內部私有地址,只有在內部的DNS服務器上才有其域名和IP地址對應的信息。如果外部主機想訪問DMZ區內的服務器,它必須通過內部DNS服務器查詢內部主機域名以獲得其IP地址,但這個IP地址是私有地址,需要由DNS NAT應用級網關將其轉換為公有地址,這樣外部主機可以通過域名訪問到內部服務器。DNS NAT應用級網關僅對DMZ區域內的內部服務器的進行地址轉換。

    圖3-1 DNS服務器位于私網內部

    附件—DNS協議穿墻抓包

    • 01_SNAT時DNS穿墻-WEB.pcap
    • 02_SNAT時DNS穿墻-DNS-Server.pcap
    • 03_SNAT時DNS穿墻-WEB-Server.pcap
    dnsdns協議
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    時光飛逝,轉眼間2021年已過大半,我們的“防火墻ALG技術”系列文章也已經更新到了第四期,之前推送的《防火墻ALG技術之安全策略》 《防火墻ALG技術之FTP協議穿墻術》 《防火墻ALG技術之TFTP協議穿墻術》 可點擊鏈接進行閱讀。本期介紹DNS協議穿越防火墻NAT,淺談個人理解與認知。
    一. 應用層隧道技術1. ssh隧道建立雙向安全隧道將其他TCP端口的通信通過SSH連接轉發用SSH作為傳輸層協議,對流量自動加解密突破防火墻訪問規則的限制SSH本地端口轉發本機偵聽端口
    由于單一端點上的終端安全防護軟件缺乏對威脅態勢的背景理解、對最新威脅缺乏感知。在遇到未知威脅時,很多終端安全防護軟件會將掃描文件的相關信息回傳給遠端服務,基于全球海量威脅的深度理解做出判斷,響應終端安全防護軟件進行相應的操作,如隔離或者清除惡意軟件。
    近年來,加密流量在攻防對抗中的使用頻率越來越高,針對攻防演練場景下的加密流量威脅,特別是資產失陷后的加密C&C通信的檢測,可以說是守護企業網絡的最后一道防線。這些Webshell既能在失陷的Web服務器與攻擊者之間維持命令執行通道,又能用來上傳具有更強大功能的平臺級木馬。
    TLS/SSL木馬回連出入企業網絡邊界最常見的加密協議是TLS/SSL,其廣泛應用于Web服務、郵件服務、文件傳輸、移動APP等應用領域,可以保護用戶通信數據的機密性和完整性。在2022年的攻防演練中,觀成瞰云-加密威脅智能檢測系統首次參與即有亮眼發揮,多次獨家檢出攻擊失陷階段的加密C&C通信行為,做到及時發現,及時預警,為客戶最大程度減少損失做出貢獻。
    DNS 層次結構中的域遍布全球,由世界各地的 DNS 名稱服務器托管。整個DNS協議長度一般不超過512字符。通過wireshark抓包,看到請求stage下發是通過txt記錄 在beacon上線之后,執行checkin,使beacon強制回連CS,beacon就會發送心跳到CS上。beacon收到應答之后,向CS 請求的TXT記錄,CS則以命令應答。beacon收到txt應答,解析出命令并執行,將結果以A請求的方式回傳CS。Refresh Number 從DNS服務器隔一定時間會查詢主DNS服務器中的序列號是否增加,即域文件是否有變化。
    OOB技術通常需要易受攻擊的實體生成出站TCP/UDP/ICMP請求,然后允許攻擊者泄露數據。OOB攻擊的成功基于出口防火墻規則,即是否允許來自易受攻擊的系統和外圍防火墻的出站請求。而從域名服務器中提取數據,則被認為是最隱蔽有效的方法。
    通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析。地址1.3 DNS 的功能每個 IP 地址都可以有一個主機名,主機名由一個或多個字符串組成,字符串之間用小數點隔開。主機名到 IP 地址映射的兩種方式靜態映射/etc/hosts文件在每臺設備上都有主機到IP的映射關系,只供此設備使用動態映射/etc/resolv.conf文件指通過DNS服務器配置主機到IP的映射關系#?
    嚴格來說,生成式人工智能已經存在了近十年,但最近這項技術的蓬勃發展激發了人們應用它來尋找潛在信息安全挑戰的新興趣。要想找到這些挑戰,就必須進行“大海撈針式”的搜索,而這其中包括每天都會涌入網絡的全新二進制文件、文檔、域名和其他工件,任務的艱巨性可想而知。
    CoreDNS 社區官方提供了 50 多種插件,開發者亦可根據需求開發個性化的外部插件。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类