我想是的,因為必須解析 DNS,而verse_tcp 使用 IP 位址。
我想知道它們之間的所有區別,因為雖然我喜歡reverse_tcp_dns,但如果它更好的話我仍然會選擇reverse_tcp。
答案1
是的,你是對的。 reverse_tcp_dns 建立連線的速度比reverse_tcp 慢。這兩個有效負載之間的唯一區別是,由於網域解析,reverse_tcp_dns 需要額外的時間來連接回,並且reverse_tcp_dns 有效負載比reverse_tcp 有效負載大約大 70 個位元組。
答案2
Metasploit 的reverse_tcp_dns
負載不會解析 DNS 查詢以連接回攻擊者,除非您為其提供了 FQDN 作為 LHOST 值(您也可以提供 IP 位址作為 LHOST)。
相反,它使用 DNS 查詢作為受害者電腦和攻擊者電腦之間的通訊模式。您輸入的命令meterpreter
會偽裝成 DNS 記錄傳送到受害者計算機,而回應會偽裝成 DNS 查詢傳送回您的電腦。
總之,資料交換在 中透過 TCP 進行reverse_tcp
,在 中透過 DNS+TCP 進行reverse_tcp_dns
。所以,是的,在 DNS 資料包內傳輸資料(這些資料將被製成 TCP 資料包)而不是透過 TCP 資料包傳輸,會產生很大的開銷。