2017-2018-2 20179204《网络攻防实践》第六周学习总结
第1節 教材學習內容總結
本周學習了教材第五、六章的內容。
1.TCP/IP網絡協議攻擊
1.1 TCP/IP網絡協議棧攻擊概述
網絡安全屬性:機密性、完整性、可用性、真實性、不可抵賴性。
網絡攻擊模式:4種
| 被動攻擊 | 截獲 | 機密性 | 嗅探、監聽 |
| 主動攻擊 | 篡改 | 完整性 | 數據包篡改、中間人攻擊 |
| 主動攻擊 | 中斷 | 可用性 | 拒絕服務 |
| 主動攻擊 | 偽造 | 真實性 | 欺騙 |
- 安全缺陷與攻擊技術
- 原始報文偽造技術及工具
最流行的是欺騙技術——使用原始套接字(raw socket),繞過TCP/IP協議棧的報文封裝處理和驗證,構造出任意的數據報文。
工具包括netwox/netwag等。
1.2 網絡層協議攻擊
- ip源地址欺騙(ip spoofing)
原理:攻擊者偽造具有虛假源地址的ip數據包進行發送,以達到隱藏發送者身份、假冒其他計算機等目的。常用于拒絕服務攻擊,nmap的-D選項就是用來配置假冒源IP地址的,操作見149頁。
原因:ip協議在設計時只是用數據包中的目標地址進行路由轉發,而不對源地址進行真實性的驗證。
步驟:
1.對受信任主機進行拒絕服務攻擊,使其喪失工作能力,避免在接收到響應包之后影響欺騙過程;2.對目標主機的TCP初始序列號(ISN)進行取樣和猜測;3.偽造源地址為受信任主機IP的SYN數據包,發送給目標主機;4.等待目標主機將SYN/ACK包發送給已癱瘓的受信任主機;5.再次偽裝成被信任主機向目標主機發送ACK包;6.連接建立,假冒被信任主機與目標主機進行通信;防范:
1.隨機化初始序列;2.使用網絡安全傳輸協議(IPsec);3.避免基于IP地址信任策略;4.在路由器和網關上實施過濾包機制;"盲攻擊"的概念。
- ARP欺騙攻擊
概念:攻擊者在有線以太網或無線網絡上發送偽造ARP信息,對特定IP所對應的MAC地址進行假冒欺騙,從而達到惡意目的的攻擊技術。
ARP協議工作原理:將網絡主機的IP地址解析其MAC地址,然后在局域網內通過MAC地址進行通信。
ARP欺騙攻擊原理:認為局域網內的所有用戶都是可信的,是遵循協議規范的。
防范:靜態綁定關鍵主機IP地址和MAC地址映射關系、ARP防范工具、VLAN虛擬子網細分網絡拓撲、加密傳輸數據。
查找欺騙攻擊源工具:LANSEE、nbtscan、anti arp、sniffer。操作見154頁。
- ICMP路由重定向攻擊
概念:是指攻擊者偽裝成路由器發送虛假的ICMP路由路徑控制報文,使得受害主機選擇攻擊者制定的路由路徑,從而進行嗅探或假冒攻擊的一種技術。
步驟:
1.攻擊節點利用ip源地址欺騙技術,冒充網管ip地址,向被攻擊節點發送icmp重定向報文,并將制定的新路由器ip地址設置為攻擊節點;2.被攻擊節點在接收到該報文后,會進行限制條件檢查,由于該報文并不違背限制條件,因此會被接收,被攻擊節點選擇攻擊節點作為新路由器(即網關);3.攻擊節點可以開啟路由轉發,充當一個中間人,對被攻擊節點與外部網絡的通信進行全程嗅探監聽,達到與arp欺騙蕾絲的攻擊效果;4.在轉發過程中,根據icmp路由重定向機制的設計原理,由于從被攻擊節點到外部網絡存在更優的路由路徑,即直接通過原先的網關進行路由較重定向后的路由路徑少一跳,因此攻擊節點協議棧可能會向被攻擊節點發送一個icmp重定向報文,指定原先網關作為新路由器,這個報文將使欺騙路由路徑還原至原先正常狀態。防范:根據類型過濾一些icmp數據包,設置防火墻過濾,對于icmp重定向報文判斷是不是來自本地路由器等。
操作見159頁。
1.3 傳輸層協議攻擊
- TCP RST攻擊
又稱為偽造TCP重置報文攻擊,假冒干擾TCCP通信連接的技術。TCP重置報文將直接關閉掉一個TCP會話連接。
- TCP會話劫持攻擊
目標是劫持通信雙方已建立的TCP會話連接,假冒其中一方(通常是客戶端)的身份,與另一方進行進一步通信。為攻擊者提供了一種繞過應用層身份認證的技術途徑。
防范措施:禁用主機上的源路由;采用靜態綁定ip-mac映射表以避免arp欺騙;引用和過濾icmp重定向報文;采用網絡層加密機制,即ipsec協議是對抗tcp會話劫持攻擊最通用的辦法。
- TCP SYN洪泛拒絕服務攻擊
是目前比較有效而又非常難于防御的一種網絡攻擊方式,目的是使服務器不能夠為正常訪問的用戶提供服務。
TCP SYN Flood又稱泛洪攻擊,是目前最為有效和流行的一種拒絕服務攻擊形式,利用TCP三次握手協議的缺陷,向目標主機發送大量的偽造源地址的SYN連接請求,消耗目標主機的連接隊列資源,從而不能為正常用戶服務。
攻擊主機向受害主機發送大量偽造源地址的TCP SYN報文,受害主機分配必要的資源,然后向源地址返回SYN/ACK包,并等待源端返回ACK包。
利用Netwox進行TCP SYN Flood攻擊。
SYN Flood攻擊防范措施:SYN-Cookie技術、防火墻地址狀態監控技術
- UDP洪泛拒絕服務攻擊
向目標主機和網絡發送大量UDP數據包,造成目標主機顯著地計算負載提升,或者目標網絡的網絡擁塞,從而使目標主機和網絡陷入不可用的狀態,造成拒絕服務攻擊。
TCP/IP網絡協議棧攻擊防范措施
檢測、預防與安全加固網絡安全協議下一代互聯網協議
第2節 課堂測試——sql注入實驗
1.實驗準備
實驗需要三樣東西, Firefox、 apache、 phpBB2(鏡像中已有)。
- 運行 Apache Server:鏡像已經安裝,只需運行命令 sudo service apache2 start
- phpBB2 web 應用:鏡像已經安裝,通過 http://www.sqllabmysqlphpbb.com 訪問,應用程序源代碼位于/var/www/SQL/SQLLabMysqlPhpbb/
- 配置 DNS:上述的 URL 僅僅在鏡像內部可以訪問,原因是我們修改了/etc/hosts文件使 http://www.sqllabmysqlphpbb.com 指向本機 IP 127.0.0.1。如果需要在其他機器訪問,應該修改 hosts 文件,使 URL 映射到 phpBB2 所在機器的 IP。
- 關閉對抗措施:PHP 提供了自動對抗 SQL 注入的機制,被稱為 magic quote,我們需要關閉它。輸入命令sudo gedit /etc/php5/apache2/php.ini,將magic_quotes_gpc = On修改為magic_quotes_gpc = Off。 sudo service apache2 restart命令重啟 Apache。
2.對select語句的攻擊
首先訪問虛擬機內的URL:www.sqllabmysqlphpbb.com。在進入 phpBB之前系統會要求你登陸。這個登陸認證由服務器上的 login.php 實現,需要用戶輸入用戶名和密碼來通過認證。用戶鍵入用戶名和密碼后,login.php 會將它們與 mysql 數據庫中的 username 和user_password 字段進行比較,如果匹配就登陸主界面。和其他大多數 web 應用程序一樣,PHP程序使用 SQL 語言與背后的數據庫交互。在 phpBB2 中,下面的語句實現了對用戶的認證。
SELECT user_id,username,user_password,user_active,user_level,user_login_tries,user_last_login_tryFROMUSERS_TABLEWHERE username=?$username?ANDuser_password=?md5($password)?;if(foundonerecord) then{allowtheusertologin}正常情況下,如果輸入錯誤的用戶名或密碼,肯定是登錄不了的。但是對于有SQL注入漏洞的網站來說,只要構造特殊的“字符串”,就能夠成功登錄。如在用戶名輸入框中輸入' or 1=1#,密碼隨便輸入,此時合成的SQL查詢語句為:select * from users where username='' or 1=1#' and password=md5('')。
“#”在mysql中是注釋符,這樣井號后面的內容將被mysql視為注釋內容,不會去執行。即select * from users where username='' or 1=1#' and password=md5('')等價于select * from users where username='' or 1=1,因為1=1永遠成立的,即where子句總是為真,該sql語句進一步簡化之后,等價于select * from users。
因此,這里我們輸入ted'#,就可以在不知道ted密碼的情況下登錄了。
3.對 UPDATE 語句的攻擊
當用戶想要在 phpBB2 中修改他們的資料時,可以點擊 Profile,然后填寫表單修改。用戶發送修改請求后,會執行include/usercp_register.php中的一條 UPDATE SQL 語句。在這條語句中同樣有一個 SQL 注入漏洞。
下面演示以ted登陸,目標是修改admin的資料信息,包括他的密碼。攻擊成功后將可以登陸 Ted 的賬號。
點擊Memberlist查看admin的信息,可以看到一個帶參數的腳本,猜測admin的id為2。
- 我們再在interests欄中輸入1234'where user_id=2#,即將update語句中interests后的語句全部注釋掉,并將where條件設置成admin的id。
- 再次點擊Memberlist查看admin的信息,可以看到admin的interests改為1234。
Current password里輸入ted密碼(ted),New password里輸入1,即可將admin的密碼修改為1了。
4.對抗sql注入
- 使用magic_quotes_gpc避開特殊字符。修改/etc/php5/apache2/php.ini的magic_quotes_gpc = On,然后重啟Apache。
- 使用addslashes()來避開特殊字符
使用mysql_real_escape_string避開特殊字符
第3節 kali視頻(21-25)學習
21.密碼攻擊之在線攻擊工具
- Cewl
爬行網站獲取關鍵信息創建密碼字典。
- CAT
很小的安全審計工具,掃描Cisco路由器的一般性漏洞:例如默認密碼,SNMP community字串和一些老的IOS bug。
- Findmyhash
在線哈希破解工具,借助在線破解哈希網站的借口制作的工具。并不如國內的cmd5好用。
- 老牌破解工具HYDRA
破解單一用戶則使用小寫l,若要拆分用戶則用大寫L;同理若固定一個密碼使用寫小寫p,一個文件則使用大寫P。
使用參數簡單易懂:
破解FTP服務:hydra -L user.txt -F ftp://127.0.0.1:21破解SSH服務:hydra -L user.txt -F ssh://127.0.0.1:22SMB:hydra -L user.txt -F ssh://127.0.0.1破解MSSQL賬號密碼:hydra -L user.txt -F ssh://127.0.0.1:1433猜解到用戶名和密碼可看到高亮顯示。
service ssh status判斷ssh服務是否打開
使用指令打開ssh服務
1.修改sshd_config文件,命令為:vi /etc/ssh/sshd_config2.將#PasswordAuthentication no的注釋去掉,并且將NO修改為YES //我的kali中默認是yes3.將#PermitRootLogin yes的注釋去掉 //我的kali中默認去掉了注釋4.啟動SSH服務,命令為:/etc/init.d/ssh start // 或者service ssh start
hydra -l root -P -/pass.txt -F ssh://192.168.75.33:22 錯誤,沒有密碼表文件。
hydra-gtk圖形化界面
Medusa
Medusa類似于Hydra的一款工具,使用方法類似。
Medusa -h 192.168.235.96 -u root -P //wordlists rockyou.txt -M ssh //-h 目標IP地址
選擇不同服務只要修改-M后面的參數即可。
- NcRACK
NcRACK 相似的功能基本類似,但突出了RDP(3389)爆破功能,如使用命令:
ncrack -vv windows.pwd 192.168.1.101:3389,CL=1 -f
- onesixtyone
onesixtyone是一個snmp掃描工具,用于找出設備上的SNMP Comunity字串,掃描速度非常快。
- Patator
Patator是一款Python編寫的多服務破解工具,如枚舉一個服務用戶名密碼。
Patator ssh_login host=127.0.0.1 user=root password=FILE0 0=pass.txt -x ignore:mesg='Authenticaton failed.'
phrasen|drescher
phrasen|drescher多線程支持插件式的密碼破解工具THC-PPTP-Bruter
22.密碼攻擊之離線攻擊工具(一)
- creddump套件
Kali linux下離線攻擊工具中的cache-dump、lsadump與pwdump均為creddump套件的一部分,基于python的哈希抓取工具。
- Chntpw
用來修改Window SAM文件實現系統密碼修改、清除,亦可在kali作為啟動盤時作刪除密碼的的用途。
- Crunch
實用的密碼字典生成工具,可以指定位數生成暴力枚舉字典。
- Dictstat(新版改名為pack)
是一款字典分析工具,可以分析出一個現有字典分布情況,也可按照一定的過濾器提取字典。同一項目下的工具還有MaskGen與PolicyGEN。
- Fcrackzip
kali下一款ZIP壓縮包密碼破解工具。
- Hashcat
強大的密碼破解軟件,系列軟件包含Hashcat,oclHashcat,還有一個單獨新出的oclRausscrack,其區別為Hashcat不支持GPU加速,oclGausscrack則支持GPU加速,速度顯而易見,oclHashcat則分為AMD版和NAVID版。
- Hashid
簡單易用的哈希分析工具,可以判斷哈?;蚬N募呛畏N哈希算法加密的。
- HashIdentify
是一款Hashid類似的一款工具。
- John the ripper
老牌密碼破解工具,常用于Linux shadow中賬戶的密碼破解,社區版也支持MD5-raw等哈希的破解。有圖形化版johnny。
圖形化版本:
23.密碼攻擊之離線攻擊工具(二)
- Ophcrack
彩虹表(是一個用于加密散列函數逆運算的預先計算好的表)Windows密碼哈希破解工具,對應有命令行版的ophcrack-cli。
- pyrit
是一款無線網絡密碼破解工具,借助GPU加速,可以讓WPA2密碼破解更效率。
- Rcrack
彩虹表密碼哈希工具,使用了第一代彩虹表(RT格式),當然首先,我們要有足夠容量的彩虹表,使用很簡單,按照參數破解即可。
- rcracki_mt
又一款彩虹表哈希破解工具,不同的是此工具支持最新格式的彩虹表進行哈希破解。當然,彩虹表仍然是不可缺少的關鍵存在。
- rsmangler
字典處理工具,可以生成幾個字串的所有可能組合形式,在生成社工字典時亦可用到??梢杂羞x擇性的關閉某些選項。
- Samdump2與BKhive
- SIPCrack
SIPCrack是針對SIP protocol協議數據包的破解工具,支持PCAP數據包與字典破解。
- SUCrack
使用su命令進行本地root賬戶的密碼破解。
- Truecrack
一款針對TrueCrypt加密文件的密碼破解工具。
24.密碼攻擊之哈希傳遞攻擊
在Windows系統中,用戶口令都是以哈希值的方式存儲,在我們遠程登錄系統的時候,實際上向遠程傳輸的就是密碼的hash,當攻擊者獲取了存儲在計算機上的用戶名和密碼的hash值的時候,他雖然不知道密碼值,但是仍然可以通過直連遠程主機,通過傳送密碼的hash值來達到登陸的目的。
- PTH套件
要進行哈希傳遞攻擊,首先我們要有目標主機的哈希信息,以Pwdump7抓取hash為例,pth套件每個工具都針對win下響應的exe文件,如使用pth-winexe可以借助哈希執行程序得到一個cmdshell。
- Keimpx
一款Python編寫的哈希傳遞工具,通過已有哈希信息get一個后門shell。
使用PWDUMP7抓取哈希,將文件保存至根目錄,使用keimpx的-c參數作為文件憑據。
檢測到Adminstrator可以進行哈希傳遞攻擊,是否獲得shell。
得到shell的端口號,如2090,可以nc 2090獲得shell。
- Metasploit
模塊exploit/windows/smb/psexec亦可完成HAsh傳遞攻擊。
25.無線安全分析工具
Kali無線安全分析工具包括RFID/NFC工具集,軟件定義無線工具,藍牙Hack工具與常規無線網絡分析工具。
- Aircrack
是一個與802.11標準的無線網絡分析有關的安全軟件,主要功能:網絡偵測,數據包嗅探,WEP和WPA/WPA2-PSK破解,Aircrack-ng可以工作在任何支持監聽模式的無線網卡上并嗅探802.11a,802.11b,802.11g的數據。該程序可運行在Linux和Windows上,Linux版本已經被移植到了Zaurus和Maemo平臺上。
- Cowpatty
一款知名的WPA-PSK握手包密碼破解工具。
- eapmd5pass
針對EAP-MD5的密碼破解工具。
- 圖形化的Fern WiFi Cracker
無線網絡分析中如果要使用虛擬機中的kali Linux,則需要外置無線網卡。
- MDK3
是一款無線DOS攻擊測試工具,能夠發起Beacon Flood、Authentication DoS、Deauthentication/Disassociation Amok 等模式的攻擊。另外還有其他針對隱藏ESSID的暴力探測模式,802.1x滲透測試,WIDS干擾等功能。
- wifite
自動化的無線網審計工具,可以自動化破解,Python腳本編寫,結合Aircrack-ng套件與Reaver工具。
- Reaver
對開啟WPS的路由器PIN碼進行破解。
轉載于:https://www.cnblogs.com/20179204gege/p/8846792.html
總結
以上是生活随笔為你收集整理的2017-2018-2 20179204《网络攻防实践》第六周学习总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端开发:自定义搜索框(含联想搜索)
- 下一篇: 2017第8届中国中西部(昆明)医疗器械