2017-2018-2 20179202《網絡攻防技術》第二周作業
一、黑客信息
袁仁廣,中國國家信息安全漏洞庫特聘專家,北京奧運會特聘信息安全專家,現任騰訊湛瀘實驗室負責人。其領銜的360漏洞研究實驗室被譽為“東半球最強大的白帽子軍團”。他在windows系統方面的造詣,在國內應該是絕對一流。(詳見 黑客袁哥:關於我的幾個故事)
凱文·米特尼克(Kevin Mitnick)被稱為世界上“頭號電腦黑客”。他是第一個在美國聯邦調查局“懸賞捉拿”海報上露面的黑客。他闖入了“北美空中防務指揮系統”的計算機主機內,和另外一些朋友翻遍了美國指向前蘇聯及其盟國的所有核彈頭的數據資料。後來他還推出了一本暢銷書《欺騙的藝術》。
二、KaliSecurity(1-5)
1.滲透測試流程:
Back Track 給出的滲透測試流程圖如下:
一個完整的授權安全滲透測試流程:
- 信息搜集:選擇目標的過程,也是對目標信息進行收集整理的過程。搜集過程包括但不限於目標在線主機、域名信息等
- 漏洞分析:在收集了足夠的信息之後要判斷目標可能存在哪些漏洞,需要搜索引擎搜索或借助漏洞掃描器來完成
- 漏洞利用:對現有漏洞進行利用,得到一定權限,並提升自己的權限
- 權限維持:成功攻破系統後,繼續保持對系統權限的控制,俗稱“留後門”
- 文檔編輯:滲透測試最終需要將得到的信息、漏洞歸檔化,從而形成知識的積累
- 其他相關項:無線攻擊、密碼攻擊、嗅探攻擊、逆向工程、數字取證等,多為整個滲透測試流程填磚
2.信息搜集之“Google Hack”
信息收集的方式:
- 主動:直接訪問、掃描網站(將流量流經網站的行為)
- 被動:利用第三方的服務對目標進行訪問了解,比例:Google搜索。
目標存在於互聯網,從互聯網中收集測試目標的有效信息是Kali Linux 信息收集的重要一步:
(1)通過互聯網網站搜集信息
子域名信息、
Shodan大數據搜索、同IP網站反查、IP信息掃描、網站指紋信息、WHOIS查詢
(2)Google Hack
詳見《文獻管理與信息分析》第二章
(3)theharvester
theharvester是一個社會工程學工具,它通過搜索引擎、PGP服務器以及SHODAN數據庫收集用戶的email,子域名,主機,雇員名,開放端口和banner信息。
theharvester -d baidu.com -l 100 -b all
-d 後接欲探測域名
-l 限制搜索數目
-b 設定調用的搜索引擎
(4)metagoofil
metagoofil可以收集 word、ppt、Excel、PDF 類型的信息
(5)recon-ng
根據收集方式不同分為偵察Reconnaissance、發現Discovery與匯報reporting模塊:
- 偵察:被動的信息收集方式,例如通過搜索引擎google hacker技巧收集目標的敏感信息
- 發現:主動的信息收集方式,例如通過發送http請求包探測web服務指紋
- 匯報:提供html和csv兩種格式的報
偵察板塊中有一個 Profiler 模塊,用來查詢某個用戶名在哪些網站(知名)有註冊,命令使用方法:
search profiler 查詢在具體路徑
use recon/profiles-profiles/profiler 使用模塊
show info 查看用法
set SOURCE Jspo 設置SOURCE選項
run 運行
show profiles 查看結果(更新了的profiles表)
最後結果如下(Jspo是本人用戶名):
其他模塊使用方法同上。(參考信息收集工具recon-ng詳細使用教程)
3.信息收集之目標獲取
DNS(Domain Name System,域名系統)作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住IP數串。當用戶輸入域名時,DNS服務可以將該域名解析為與之相關的信息,如IP地址。DNS協議運行在UDP協議之上,使用端口號53。從給定的一個簡單的主域名(主域名漏洞較少),到目標子域名的信息收集更有利於發現漏洞。
(1) Dig 進行域名解析
中間的5指的是ttl,表示這次請求會在服務器上保存多久時間(單位:秒)
IN是固定關鍵詞
A 地址列出特定主機名的 IP 地址。這是名稱解析的重要記錄
CNAME 指定標準主機名的別名
NS名稱服務器指定負責給定區域的名稱服務器
QUESTION SECTION 顯示要查詢的域名
ANSWER SECTION 顯示查詢到的域名對應的IP
AUTHORITY SECTION顯示的是直接提供這個域名解析的DNS服務器,不包括更高級DNS服務器
ADDITIONAL SECTION 顯示的是直接提供域名解析的DNS服務器的IP地址
最後面是統計信息,SERVER指的是本地DNS服務器的IP
解析過程說明:
- DNS客戶端發包到DNS服務端請求www.baidu.com的IP地址
- 由於有一條CNAME記錄,DNS客戶端會訪問www.a.shifen.com的域名服務器
- www.a.shifen.com的域名服務器是一個負責DNS查詢流量均衡的調度器,負責把DNS請求調度到ns1.a.shifen.com、ns2.a.shifen.com等域名服務器上
- 最後這些標記了NS的域名服務器會把百度的IP返回給DNS客戶端,從而得到www.baidu.com的IP地址
可以看到,在解析一個域名的時候,往往會有多個DNS服務器提供解析服務,這是因為DNS服務器要求一般至少有兩個,以防發生服務器宕機無法提供域名解析的情況。(參考Linux命令:使用dig命令解析域名)
- DNS客戶端發包到DNS服務端請求www.baidu.com的IP地址,由於有一條CNAME記錄;
- DNS客戶端會訪問www.a.shifen.com的域名服務器(相當於是訪問www.baidu.com的域名服務器);
- 在這裏www.a.shifen.com的域名服務器是一個負責DNS查詢流量均衡的調度器,負責把DNS請求調度到ns5.a.shifen.com、ns6.a.shifen.com等域名服務器上
- 最後這些標記了NS的域名服務器會把百度的IP返回給DNS客戶端
- 然後我們就得到了www.baidu.com的IP地址
(2) Dig 進行域傳送漏洞測試
DNS服務器分為:主服務器、備份服務器和緩存服務器。
域傳送是指後備服務器從主服務器拷貝數據,並用得到的數據更新自身數據庫。 很多DNS服務器被錯誤地配置成只要有client發出請求,就會向對方提供一個域數據庫的詳細信息。一旦黑客列出某個特定域的所有主機,收集域信息,找出未公開使用的IP地址,繞過基於網絡的訪問控制。
在主備服務器之間同步數據庫,需要使用“DNS域傳送”。
域傳送(axfr)能夠一次性獲取整個域名服務器的所有記錄,如果成功執行,僅通過一個簡單的命令就可以列出域名服務器上的所有信息。
dig NS baidu.com 獲取目標域名使用的DNS服務器
dig @ns7.baidu.com baidu.com axfr 選取ns7.baidu.com進行測試
如果沒有漏洞:
如果有漏洞,顯示傳送成功並顯示所有子域的信息
(3)子域名枚舉工具
在得到主域名信息之後,如果能通過主域名得到所有子域名信息,在通過子域名查詢其對應的主機IP,這樣我們能得到一個較為完整的信息。
fierce 是快速有效地DNS暴力破解工具。先通過查詢本地DNS服務器來查找目標DNS服務器,然後使用目標DNS服務器來查找子域名,然後利用字典進行攻擊:
輸出結果表明,程序首先進行了域傳送測試,域傳送通過一條命令就能獲取服務器上所有的域名信息。如果一次就能簡單獲取服務器上所有記錄域名信息,那麽就沒有必要進行暴力破解了。 但從結果上看,“Unsucessful in zone transfer”, 域傳送測試是失敗了。接著執行暴力破解。這都可以在下一步用nmap進行詳細掃描。一個內部網絡的DNS域名服務器可以提供大量信息,這些信息可以在以後評估網絡漏洞。
dnsmap可以自行指定子域名字典進行枚舉:
dnsenum速度快,分類明顯:
dnsdict6 攜帶多個不同級別的爆破字典,並且最大支持16個進程同時爆破。
三、網絡攻防環境搭建
1.網絡環境配置
宿主+VMware 虛擬機軟件
- vmnet1 -主機模式
- vmnet8 - NAT模式,連接宿主物理網卡,通過 NAT 後連接外網
虛擬機-蜜網網關
- eth0 (外網口)- 連接 vmnet8: NAT 模式
- eth1 (內網口)- 連接 vmnet1 :主機模式
- eth0 和 eth1 構成一個透明網橋
- eth2 (管理口)- 連接 vmnet8 : NAT 模式。宿主通過 vmnet8 的虛擬網卡對蜜網網關進行管理
虛擬機一靶機
- eth0 - 連接 vmnet1:主機模式
虛擬機一攻擊機
- eth0 - 連接 vmenet8 : NAT 模式
2.網絡拓撲結構
3.VMware 網絡環境配置
打開虛擬網絡編輯器,VMnet1 設置如下:
VMnet8 設置如下:
VMnet8 中的 NAT 設置如下:
VMnet8 中的 DHCP 設置如下(為了留一些IP給靶機,這裏沒有把設為192.168.200.126):
3.安裝攻擊機虛擬機
攻擊機:kali、WinXPattacker
網絡連接:NAT
查看攻擊機虛擬機的ip:
4.安裝靶機虛擬機
靶機:Metasploitable2_Linux、Win2kServer_SP0_target
網絡連接:僅主機模式
配置靶機虛擬機的ip和網關:找一個在192.168.200.0/25網段的,且不在的DHCP設置分配範圍的ip,這裏選擇192.168.200.125 和 192.168.200.125
註:此時 Metasploitable2_Linux 內的ip設置則是需要在命令行下輸入 sudo vim/etc/network/interfaces
命令,修改/etc/network/interfaces
網卡配置文件如下:
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 192.168.200.125
netmask 255.255.255.128
network 192.168.200.127
broadcast 192.168.200.127
修改後配置成功:
Windows下配置;
4.安裝密網網關虛擬機
添加兩塊網卡,網絡適配器2設為僅主機模式, 網絡適配器3設為NAT:
蜜網網關軟件安裝完畢,進入登錄界面。以roo/honey缺省用戶/口令登錄,使用 su - 提升到root帳號,缺省口令也為honey :
命令行輸入 menu 進入蜜網網關配置界面,選擇 HoneyWall Configuration ,再選擇 Mode and IP Information ,再選擇 Honeypot IP Address 設置蜜罐 IP 信息:
選擇 LAN Broadcast Address 設置蜜網網段的廣播IP地址:
選擇 LAN CIDR Prefix 進行蜜網網段配置:
下面進行蜜網網關管理配置。蜜網網關配置主界面中選擇 HoneyWall Configuration ,再選擇 Remote Management,再選擇 Management IP Address 設置管理口的IP地址:
選擇 Management Netmask 設置管理口
IP 地址的掩碼:
選擇 Management Gateway 設置管理口的網關:
選擇 Manager,設置可以管理蜜網網關的遠程控制端IP範圍,以CIDR格式填寫,可有多個IP網段,中間用空格分隔:
下面進行 Sebek 服務器端配置。
蜜網網關配置主界面中選擇 HoneyWall Configuration 再選擇 Sebek。Sebek服務器端IP地址,設置為管理口IP:
目標端口選擇為1101,Sebek 數據包處理選項選擇為 Drop 。
5.測試虛擬機蜜罐和攻擊機主機之間的網絡連接 (以Linux為例)
測試攻擊機到靶機的連通性:
測試靶機到攻擊機的連通性:
在蜜網網關上監聽ICMP ping包是否通過內網口和外網口。攻擊機 ping 靶機時tcpdump -i eth1 icmp
:
攻擊機 ping 靶機時tcpdump -i eth0 icmp
:
靶機 ping 攻擊機時,tcpdump -i eth1 icmp
靶機 ping 攻擊機時,tcpdump -i eth0 icmp
通過測試後,說明虛擬機蜜罐和外部網絡之間的網絡連接(通過蜜網網關 eth0 和 eth1 所構成的網橋)沒有問題。
最後也檢測了一下Windows下靶機和攻擊機的連通性,以及Windows和Linux下攻擊機和靶機的相互連通性:
四、讀書筆記
2017-2018-2 20179202《網絡攻防技術》第二周作業