20199102 2019-2020-2 《網絡攻防實踐》第二周作業
0 總體結構
本次作業屬於那個課程 | 《網絡攻防實踐》 |
---|---|
這個作業要求在哪里 | 第二次作業-實踐一 網絡攻防環境的搭建 |
我在這個課程的目標是 | 學習網絡攻防相關技術、掌握網絡攻防相關能力 |
這個作業在哪個具體方面幫助我實現目標 | 搭建相關網絡攻攻防實踐網絡環境 |
作業正文 | 下述正文,1,2,3部分 |
其他參考文獻 | 見正文最后部分 |
1.知識點梳理與總結
1. 主機放在學校實驗室,通過VPN+遠程桌面連接到實驗室的電腦,所以截圖可能有點怪異。
2.理論上來說,虛擬機的環境應該是VM虛擬化形成的,與物理機的硬件無關。但是在安裝的過程中觸發了老版本linux內核不兼容Ryzen2CPU的bug。在此推薦AMD RyzenCPU的同學安裝新版系統。
3.下面的實驗中使用的鏡像列表如下。感謝 @解建國 的整理
-----------------------------------------------------------
攻擊機Kail :https://www.offensive-security.com/kali-linux-vm-vmware-virtualbox-image-download/#1572305822805-d290939b-52dc
-----------------------------------------------------------
攻擊機windows XP:老師百度雲提供
-----------------------------------------------------------
seed Ubuntu16.04: https://pan.zju.edu.cn/share/6c72d40cdc0877833c6b96bd2d
-----------------------------------------------------------
linux靶機:https://sourceforge.net/projects/metasploitable/files/Metasploitable2/。
-----------------------------------------------------------
windows靶機:win2KServer,老師百度雲提供
-----------------------------------------------------------
蜜罐網關:老師百度雲提供
-----------------------------------------------------------
4.以上鏡像的百度雲盤鏈接:https://pan.baidu.com/s/1Pas88vWihh5RrSni1Y7C-w
提取碼:t0q6
5.老師通過百度雲分享的文件
鏈接:https://pan.baidu.com/s/1YkBZgynLFbqXe8gqHEbY6g
提取碼:ox7a
6.鏈接:[以下截圖的高清版](https://pan.baidu.com/s/1Ize01-r9AWoGdkbThyvzsQ)
提取碼:6sqh
7.感謝某不願提及姓名的小可愛的校對,如果還發現錯誤, 歡迎私聊
8.請按照下述步驟一步步執行,有不會的可以私聊我。
1.0 VM整體網絡架構
1.1 VM網絡設置
VMnet1與VMnet8設置如下,務必保證完全准確(VMnet0用不到,無需設置)
其中VMnet8的NAT和DHCP采用如下設置。
至此,網絡適配器設置完成。
x
1.2 linux攻擊機-Kail 安裝
kail以VM虛擬機vmx文件的形式提供,通過掃描虛擬機可以直接導入,如下圖
接下來設置Kali的網卡,這里選擇NAT模式,或者自定義VMnet8(兩者等價)
開機進入系統,進行軟件設置。Kali的默認用戶名為kali
,密碼kali
, root密碼kali
(先登錄kali,后使用su
進行提權,禁止直接root登錄)下圖顯示了登錄->提權->安裝net-tools(ifconfig包)->查看網絡信息。
至此, Kali設置完成,記住Kali的ip地址!
1.3 windows靶機-win2kServer安裝
win2kServer通過虛擬機鏡像給予,導入方式和上文的Kali相同,不再贅述。安裝之后通過VM的快捷鍵ALT+CTRL+DEL進入系統(直接發送會被主機攔截),賬號administrator,密碼mima1234。網卡設置如下
進入系統后的截圖
系統內網絡設置參數,務必保持絲毫不差
至此,windows靶機安裝完成。
1.4 windows攻擊機-windows Attacker安裝
WinXPattacker通過VM虛擬機鏡像給定,導入方式與Kali相同在此不在贅述。WinXPattacker的網卡設置如下
進入系統,截圖如下
此時系統已經通過DHCP獲得IP地址,不需要手動配置,但需要找到具體IP。
通過ipconfig獲得windowsattacker的ip地址
至此,windowsAttacker配置完成,記住IP!
1.5 Metasploitable2-Linux安裝
Metasploitable2-Linux通過VM虛擬機鏡像給定,導入方式與Kali相同在此不在贅述。Metasploitable2-Linux的網卡設置如下
進入系統,賬號msfadmin
,密碼msfadmin
。此處需要手動設置IP地址,具體命令如下:先通過sudo su
命令提升權限(密碼msfadmin
), 后執行如下命令
vim /etc/rc.local
按i鍵進入編輯模式,方向鍵控制光標方向(hjkl四個鍵也行)在文件倒數第二行exit0之前, 插入以下兩句
ifconfig eth0 192.168.200.125 netmask 255.255.255.128
route add default gw 192.168.200.1
現在按ESC鍵, 再按 :wq 然后回車。
之后`reboot`重啟
reboot
之前的效果圖
執行上述命令后, 通過ifconfig查看結果
至此,Metasploitable2-Linux配置完成,記住IP地址!!
1.6 SEEDUbuntu安裝配置
SEEDUbuntu通過VM虛擬機vmdk磁盤鏡像給定,選擇新建虛擬機->自定義安裝->兼容XX隨便選->稍后安裝系統->選擇linux、版本ubuntu->名稱位置看自己心情->連續6個下一步->使用現有虛擬磁盤!!!選擇seedubuntu的vmdk文件->無腦下一步。
SEEDUbuntu的網卡設置如下
開機, 賬戶為seed 密碼為dees, 開機后通過su
命令提權, 密碼為seedubuntu
ifconfig查看相關網絡信息。
至此,SEEDUbuntu安裝完成,記住IP地址!接下來進入安裝最難的部分
1.7 蜜罐網關安裝
在這里遇到的第一個陷阱是ryzen的CPU對老版本linux存在bug,通過相關查找,修改文件之后算是成功安裝了,這個問題不具有普遍性在這里不贅述。
接下來的第二個問題是roo-1.4給定的是ISO鏡像需要自己安裝,安裝過程中嚴格按照如下操作,不要自己修改!!(邏輯控制器和硬盤格式會引起系統的bug不知道是不是我電腦的問題)
這里必須選擇稍后安裝操作系統,不然默認安裝會然你輸入用戶名和密碼,導致安裝失敗
現在虛擬機新建完成,先別急着開機, 需要進行相關硬件設置,截圖如下。
第一步先添加開機安裝使用的鏡像
添加兩個網卡
兩個網卡的設置方式如下, 務必保證順序相同。這三個網卡不能顛倒順序
開機進入系統
登錄賬號roo , 密碼honey
使用su -
提權(注意,有個-
)密碼honey,此時應該能進入配置界面,如果進不去參考下面第二張圖,手動進入
如果再su -
后沒有進入配置界面。則通過如下命令進入(我也不能自動進入)
cd /usr/sbin
./menu
下面一步步按照截圖來做(相關配置項目的名稱再界面上有顯示)
第一次進入honeywall config的時候,應該要進行初始化設置選擇default就行(又忘了截圖了,最近腦子真不夠用)
現在回到上面提到的windowsAttacker中,瀏覽器打開https://192.168.200.8(注意這里是https!這里會告訴你證書過期存在風險, 選擇打開就行)。你將會看到如下的界面(第一次打開的賬號roo,密碼honey,然后重置密碼。但是我忘了截圖了,下面是重置密碼之后的截圖)
執行到這一步,基本就算是完工了,接下來就是一點測試
首先切換到roo中, 通過su -
提權(注意有橫線),運行命令tcpdump -i eth0 icmp
切換到任何一台攻擊機中, ping任何一台靶機。
切換到任何一台靶機中, ping任何一台攻擊機。
Kail ping win2KServer
winattacker ping win2KServer
SEEDUbuntu ping Metasploitable2-Linux
win2KServer ping windowsattacker
roo中tcpdump的信息,可以看到網橋的功能正常。
1.8 相關軟件介紹 && 更新實驗環境
-
蜜網(Honeynet)是在蜜罐技術上逐步發展起來的,又可稱為誘捕網絡。蜜網技術實質上還是一種高交互型、研究型的用來獲取廣泛的安全威脅信息的蜜罐技術,其主要目的是收集黑客的攻擊信息。在蜜網中充當網關的設備稱為蜜牆(Honeywall),是出入蜜網的所有數據的必經關卡。在蜜網內部,可以放置任何類型的系統來充當蜜罐(例如不同類型操作系統的服務器、客戶機或網絡設備)和應用程序供黑客探測和攻擊。
-
kali相關工具介紹及使用教程
-
名稱 類型 使用模式 功能 功能評價 dmitry 信息收集 whois查詢/子域名收集/端口掃描 whois並不簡單明了;子域名和郵箱依賴google;端口掃描速度一般 dnmap 信息收集 用於組建分布式nmap,dnmap_server為服務端;dnmap_client為客戶端 用起來並不是那么方便,不是實在不行不是很必要 ike-scan 信息收集 收集ipsec vpn server指紋信息 好像用於攻擊vpn,不太懂 maltegoce 信息收集 gui 域名/賬號等關聯性收集展示 關聯性展示功能確實很好,但效果可能沒有那么理想,特別是對國內而言 netdiscover 信息收集 主動發出arp包和截獲arp包 就arp探測功能就此功能本身而言做得算很好了 nmap 信息收集 cmd-line 端口服務探測和端口漏洞掃描 端口掃描集大成者 p0f 信息收集 cmd-line 監聽網卡收發的數據包,從數據包中讀取遠端機器操作系統服務版本等信息 畢竟只是截取數據 包中的版本信息,效果期望不要很大 regon-ng 信息收集 shell 模仿msf的信息偵查框架 類似將站長工具等東西命令行化,想法挺好但是用起來感覺不是那么直觀 sparta 暴力破解 gui 圖形版的hydra,加了端口服務掃描功能 還行圖形界面聊勝於無 zenmap 信息收集 gui 圖形界面版的nmap 還行圖形界面聊勝於無 golismero web掃描 cmd-line 就是一個文本版的類似awvs的web掃描器 感覺可以提升對掃描器原理的認識 lynis 系統審計 感覺有點像360首頁的“立即體驗”,不過只是掃描告警不能一鍵修復 shell腳本寫成頗為有趣 nikto web掃描 中間件掃描器,掃描tomcat等中間件的錯誤配置、存在漏洞等 就喜歡這種直接告漏洞的掃描器(不過事實上很少能有可用的漏洞) unix-privesc-check 系統審計 審計系統中的關鍵文件權限是否有異常 還是沒有總結性展示和修復功能 bed 系統掃描 通過發送各種模糊數據測試多種服務的緩沖區溢出漏洞的工具 可能還不錯 burpsuite web代理 常用web代理截包工具 功能強大不能要求更多 commix 注入檢測 sqlmap檢測sql注入此工具檢測系統命令注入 兩相搭配那注入基本覆蓋了 httrack 網站克隆 將網站克隆到本地 釣魚烏雲等可能有用 owasp-zap web代理 gui owasp組織開發的工具 和burpsuite相比弱化了截包功能,強化了web漏洞掃描功能,不過感覺也沒掃出什么東西 paros web掃描 gui 一個web爬行和漏掃工具 和owasp-zap差不多 skipfish web掃描 cmd-line 一個全自動化的web漏洞掃描工具 其工作一是爬行網站頁面,然后分析頁面漏洞,最后生html報告 sqlmap sql注入掃描 cmd-line 一個強大的sql注入掃描工具 w3af web掃描 shell/gui 一個web漏洞掃描框架 所謂框架就是有一堆掃描模塊,然后你選定其中一些模塊去掃描網站;感覺一般沒說的那么好 webscarab http代理 gui 更專業的網站樹型結構分析工具 wpscan web掃描 針對wordpress的漏洞掃描工具 bbqsql 盲注掃描 shell 一個高度可配置的交互式的sql盲注工具 hexorbase 數據庫管理 gui 一個支持多種數據庫的客戶端有多個數據庫的口令破解功能 作為客戶端只能將就着用。暴破口令需要自己准備字典 jsql 數據庫探測 gui 根據url探測數據庫類型/參數注入測試/探測后台頁而/探測重要文件 mdb-sql 數據庫管理 cmd-line 可用來連接access數據庫文件(mdb)然后通過sql語句查詢數據 oscaner 數據庫猜解 cmd-line 用字典探查oracle數據庫是否監聽及猜解服務名 參數很少。測試sid和默認用戶是可以的,默認的字典基本沒法看還是得自己寫字典 sidguesser 數據庫猜解 cmd-line 用字典探測oracle數據庫存在的sid 參數很少。測試驗證如果字典里有sid,可以探測出sid。基於字典的工具還是得自己准備字典 sqllite database 數據庫管理 gui sqlite數據庫客戶端 sqlinja 數據庫猜解 cmd-line 用於猜解ms sql sqlsus sql注入檢測 cmd-line 用於mysql的盲注檢測 tnscmd10g 數據庫探測 cmd-line 用於探測oracle是否監聽及其他一些信息 cewl 口令文件制作 cmd-line 爬取給定的URL並依據限制條件截取網頁中的單詞生成口令集合 這種想法是可取的。但有點遺憾只是截取網頁中的單詞,沒有a轉@等等智能變換 crunch 口令文件制作 cmd-line 依據限定的條件生成口令集合 hashcat hash爆破 cmd-line 多種hash的爆力猜解工具,速度快所耗CPU小(相對) john 系統口令破解 cmd-line 用於對系統口令文件的破解(如/etc/passwd)還原出密碼明文 johnny 系統口令破解 gui john的gui版本 medusa 口令猜解 cmd-line 可對IMAP, rlogin, SSH等進行口令猜解,類似hydra ncrack 口令猜解 cmd-line 可對IMAP, rlogin, SSH等進行口令猜解,類似hydra ophcrack 系統口令破解 gui 基於彩虹表的windows口令破解工具 pyrit wifi破解 cmd-line WPA/WPA2加密的wifi的密碼破解工具 rainbowcrack hash破解 cmd-line 具有彩虹表的生成、排序和使用排序好換彩虹表進行破解的功能 rcracki_mt hash破解 cmd-line 基於彩虹表的hash破解工具,可能蚲rainbowcrack一部份 wordlist 口令文件 cmd-line 打印kali自帶的一些口令文件存放的位置 aircrack-ng wifi破解 cmd-line 針對WEP、 WPA加密方式的wifi密碼破解套件 chirp 無線電攔截 gui 各種無線電數據包的攔截工具(?) cowpatty wifi破解 cmd-line 基於已捕獲握手包和密碼字典的WPA-PSK加密的wifi密碼的猜解 不能自己攔截數據包也只能破解WPA-PSK類加密方式功能有點弱 Fern WIFI Cracker wifi破解 gui 基於字典的WEP和WPA加密的wifi破解工具 能自動發現wifi能攔截數據包,圖形界面操作,簡單易用 Ghost Phiser AP假冒 gui 能發現AP並使與AP連接的設備斷開連接然后假冒AP讓設備重新連接 圖形界面除了AP外還有假冒DNS、http服務器等,較為好用 giskismet 可視化 gui Kismet輸出結果的可視化工具,即較成text、html等各種格式 kismet AP發現 shell 交互式的AP發現工具,列出周圍AP的各種信息 MDK3 AP擾亂 cmd-line 可向AP發送大量連接、斷開請求,可向周圍設備告知存在根本不存在的大量AP 這工具的攻擊方法簡直是發了瘋 mfor IC卡破解 cmd-line IC卡密鑰破解程序 各種免費吃飯充錢教程里用的工具你想不想學 mfterm IC卡破解 shell 交互式IC卡文件寫入工具 要修改卡內數據才是最終的IC卡破解 pixiewps wifi破解 cmd-line 針對開啟WPS的wifi利用WPS隨機數生成中的bug來破解 有說很快有說成功率比較低 reaver wifi破解 cmd-line 針對開啟WPS的wifi進行暴力破解的工具 aircrack-ng后排名第二的wifi破解工具 wifite wifi破解 cmd-line 較為自動化的wifi破解工具 apktool 安卓逆向 cmd-line 從apk文件中還原出xml和圖版等資源文件 clang 編譯器 cmd-line 類似gcc的編譯器,更輕量,可編譯c、c++、Objective-C clang++ 編譯器 cmd-line C++編譯器,與clang的關系類似gcc和g++的類系 dex2jar 安卓逆向 cmd-line apktool把apk還原成了資源文件和dex,dex2jar把dex還原成jar文件(.class) edb-debug 動態調試 gui 軟件逆向動態調試工具 Linux版Ollydbg flashm 反匯編 cmd-line .swf文件的反匯編工具可反匯編出.swf中的腳本代碼 jad 反編譯 cmd-line dex2jar把文件還原成了.class,jad進一步把文件還原成.java文件 javasnoop fuzz gui java程序漏洞評估工具 nasm shell 匯編 shell nasm是32位匯編編譯器,這是一個nasm的shell ollydbg 動態調試 gui windows平台大名鼎鼎的動態調試工具,Linux上是通過wine運行有點水土不服 radare2 靜態分析 cmd-line 類似ida的靜態反匯編分析工具,功能強大,開源 但是命令行操作這難度有點大 armitage 漏洞利用 gui measploit的gui界面 嗯好像是比原來的msf-gui好點,不過叫人自己去啟動msf還要登錄,還是不用算了 beef 漏洞利用 cmd-line 利用msf的exp結合xss構造有攻擊性的html頁面,當瀏覽器訪問即會受到攻擊並獲取shell 這可以啊,不過不懂對現在瀏覽器效果怎么樣 metasploit 漏洞利用 shell 就是啟動msfconsole咯 msf payload center 漏洞利用 cmd-line 生成包含exp的windows/android等各平台的可執行文件,木馬制作利器 那這東西和msfvenom的區別是什么 searchsploit 漏洞利用 cmd-line 用於搜索已從exploitdb下載到本地的漏洞利用腳本 可以理解msf都是ruby寫的可執行代碼,exploit不一定用ruby寫,也可能只是掃描述而非代碼 Social-Engineering 漏洞利用 shell 一般用於生成各種插入了exp的文件,誘使目標打開而中招 社會工程學總說得很厲害,不過我總覺得社會工程學和DDOS就是最名不副實的 termineter 漏洞利用 shell 智能電表攻擊框架 這需要硬件搭配吧,沒玩過 bdfproxy 中間人攻擊 處於中間人身份時可對經過的流量插入payload driftnet 圖版嗅探 cmd-line 用於嗅探流量中的圖版並展示到x-window上 配上arp欺騙作為中間人才能發揮威力,自己攔自己的就好玩而已 ettercap 流量攔截 gui 聽說可以截持同子網的流量,強無敵,原理是什么 hampster 代理 cmd-line 好像也是代理轉發流量的 macchanger mac欺騙 cmd-line 修改本機上網時的mac地址,一用作身份隱藏,二可用來繞過wifi mac黑名單 應該只是軟修改mac地址不可能可寫吧 mitmproxy 代理 cmd-line 好像也是代理轉發流量的 感覺沒什么特色啊 netsniff-ng 流量捕獲 cmd-line 高性能的流量捕獲套件,可能大流量時的捕獲效果比較穩定 responder 主機嗅探 cmd-line 被動嗅探與所在主機交互的主機的操作系統版本等信息 wireshark 流量捕獲 gui 攔截經過指定網卡的所有流量 sectools常年排行第一的工具,這就不用多說了吧 backdoor exe2hex 編碼轉換 cmd 顧名思義就是把exe文件轉成十六進制文件 不過這樣的意義是什么,不是以十六進制就能打開了嗎 Intersect 腳本生成 shell 感覺是SQL 有攻擊性Intersect語句的生成工具 mimikatz 密碼提取 cmd-line 用於從windows內存中提取密碼 nishang 后滲透 cmd-line 基於powershell的后滲透攻擊工具 PowerSploit 后滲透 cmd-line 也是一個基於powershell的后滲透攻擊工具 proxychains 多重代理 cmd-line 好像用來配置多種代理的 weevely webshell shell webshell連接工具不過好像要用自己生成的小馬 autopsy 網頁分析 web 啟動一個服務通過瀏覽器訪問使用,感覺是分析網頁各種元素的不是很懂 binwalk 文件識別 cmd-line 用於分析一個文件中是否其實有多個文件 ctf的key文件提取就常用到的 bulk_extractor 要素提取 cmd-line 掃描給定的目錄或文件,如果發現一些如電話號碼網址等關鍵的信息則輸出到文件 chkrootkit 系統檢查 cmd-line 掃描本機,查看本機是否存在受rootkit影響的地方 理解成360的木馬查殺也差不多 foremost 文件恢復 cmd-line 文件恢復工具,用於被刪除的文件的恢復,就是360等的那個文件恢復功能 galleta cookie文件 cmd-line 用於分析IE的cookie文件輸出其中的有用信息 hashdeep hash計算 cmd-line 用於計算文件hash值,支持多種散列算法 volafox 內存分析 cmd-line 針對Mac OS X的內存分析工具,可從其內存鏡像中讀取進程列表等各種主機信息 先用工具把當前內存抓取下來,然后再用來分析;內存數據容易被破壞所以這確實很有意義 volatility 內存分析 cmd-line volafox的擴展,支持Mac OS X/Linux/Windows casefile 報告編寫 gui 一個畫圖工具,packet tracer用來畫網絡拓撲,這用來畫場景拓撲 這寫出高大上的報告啊 cutycapt 網頁截屏 cmd-line 一個基於WebKit內核的網頁截圖工具,就是指定一個url它就能用解析url並把url界面截下來 各種掃描器中的截圖就是使用類似的工具完成的,並不會真用個瀏覽器訪問再截圖下來 dradis 報告生成 web 可解析burpsuite/nmap等生成的掃描文件,並可將掃描結果轉存為pdf或html faraday IDE 報告管理 gui keepnote 筆記本 gui 較之記事本,可建文件夾,支持富文本,可導出為其他格式 magictree 報告管理 gui pipal 詞頻統計 cmd-line 說詞頻統計並不是很准確,文命令可分析統計給定文件中的詞語的“各種最” recordmydesktop 屏幕錄制 cmd-line 屏幕錄制,輸出.ogv格式視頻 不過感覺這視頻格式占用磁盤有點大啊 maltegoce 關系分析 gui 通過網絡搜索,獲取某個IP或郵箱與其他IP或郵箱的拓撲關系 這東西有那么強,但社工的東西還是沒那么強,而且還是外國的工具在天朝的網絡
-
進入Kali-Linux-2020.1-vmware-amd64,sudo su
提權,密碼kali
。命令vim /etc/apt/sources.list
進入sources.list
i
鍵進入編輯模式, 將原有文件中的源使用#
注釋掉,添加以下兩行源,效果如下圖所示。
deb http://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
deb-src https://mirrors.tuna.tsinghua.edu.cn/kali kali-rolling main contrib non-free
ESC
鍵退出編輯模式, :wq
保存並退出。
運行命令apt-get update
后運行apt-get upgrade
2.學習中遇到的問題及解決
- 問題一:AMD Ryzen2再虛擬機中會顯示出莫名的bug,(roo安裝失敗或者進入系統后顯示
INIT:id"x"respawning too fast : disabled for 5 minutes
) - 問題一解決方案:google查到roo的相關討論,就此問題有解決方案。
- 問題二:roo下找不到menu
- 問題二解決辦法:提權的命令用
su -
而不是su
, 前一個命令會導入root的shell環境變量。我當時使用的方法是手動找到/usr/sbin/menu運行(roo實驗室給的教程上也是這個方法) - 問題三:kali中沒有相關的net-tools
- 問題三解決方案:換源, update,安裝。
3.學習感悟、思考
- 耐心試錯,一定能找到正確的解決辦法。
- 環境搭建相關博客內容較為零散,知識不成體系,還是要靠自己學習理解才能完全掌握相關方法。不能簡單照搬。
- 通過此次作業,提高了自己的動手能力