Windows操做系统基于引用监控器模型来实现基本的对象安全模型。系统中全部主体对客体的访问都经过引用监控器做为中介,由引用监控器根据安全访问控制策略来进行受权访问,全部访问记录也都由引用监控器生成审计日志。html
Windows操做系统实现基础的安全机制,其中最核心的是位于内核的SRM安全引用监控器,以及位于用户态的LSASS安全服务,它们与Winlogon/Netlogon及Eventlog等服务一块儿,实现了对主体用户的身份认证机制,对全部资源对象的访问控制机制,以及对访问的安全审计机制。python
Windows操做系统中以安全主体概念来包含全部进行系统资源访问请求的实体对象,有用户、用户组和计算机三大类,对于每一个安全主体,以时间和空间上都全局惟一的SID安全标识符来进行标识。帐户权限的根本做用就是限制这些帐户内运行程序对系统资源对象的访问。git
Windows系统中拥有一些内建帐户,如拥有最高权限的本地Administrator帐户,做为自动运行系统进程环境的SYSTEM/LocalSystem帐户,具备相对极少权限的Guest匿名访问用户,以及IUSR_Machinename IIS服务的匿名网络访问帐户等。而这些帐户在黑客眼中,本地Administrator和SYSTEM帐户拥有最高的权限,是他们攻击的终极目标。github
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存有副本。web
Windows域帐户口令信息则保存在域控制器的活动目录AD中,加密方式与单机平台一致,存储文件系统位置是域控制器的%systemroot%\ntds\ntds.dit路径。sql
Windows支持本地身份认证和网络身份认证两种方式,分别对在本地系统登陆和远程网络访问的主主体进行合法性验证。网络身份认证过程由LSASS服务的Netlogon模块主导完成。shell
Windows进程、GINA图形化登陆窗口,与LSASS服务经过协做来完成本地身份认证过程。数据库
Windows受权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施。在Windows服务器操做系统中,用户能够执行内建的whoami命令来查看当前用户的访问令牌信息。Windows对于系统中全部需保护的资源都抽象成对象,具体类型包括文件、目录、注册表键值、内核对象、同步对象、私有对象、管道、内存、通讯接口等,而对每一个对象会关联一个SD安全描述符。windows
1.包括远程口令猜解攻击、windows网络服务攻击,windows客户端和用户攻击。api
2.生命周期:
3.远程口令猜解攻击:
4.网络服务远程渗透攻击:针对NETBIOS服务的著名漏洞和攻击、针对SMB服务的著名漏洞和攻击、针对MSRPC服务的著名漏洞和攻击、针对windows系统上微软网络的远程渗透攻击、针对windows系统上第三方服务的远程渗透攻击。
防范措施:最基本的是尽可能避免与消除这些渗透攻击所依赖的服务软件安全漏洞。
受限用户权限尝试得到特权帐户的攻击技术也被称为特权提高,业内简称为“提权”。Windows系统上进行特权提高的攻击途径主要是经过DLL注入和破解本地程序安全漏洞。
searchsploit能够借助关键词搜索漏洞信息以及漏洞对应的exp。
searchsploit wordpress列出了漏洞和文件地址。
Metasploitable在渗透测试中常常被用到,实际上这套软件包括了不少工具,这些工具组成了一个完整的攻击框架。
先使用命令service postgresql start开启PostgreSQL数据库服务,而后使用msfconsole开启metasploit服务。
测试,首先使用nmap扫描目标主机开启的服务,这里选择21号端口做为攻击目标:
使用search命令查找该服务对应的攻击文件:
选择一个攻击文件用use命令启动:
使用show options
查看帮助,设置是须要设置的选项,这里设置主机监听端口和目标地址IP:
设置payload:
可使用msfpayload生成payload或者shellcode,也可使用预制的payload。
搜索的时候能够用msfpayload -l |grep "windows"这样的命令查询。-o 选项能够列出payload所需的参数。
Meterpreter是metasploit框架中的一个扩展模块,做为溢出成功之后的攻击载荷使用,攻击载荷在溢出攻击成功之后绐咱们返回一个控制通道。使用它做为攻击载荷可以得到目标系统的—个meterpretershell的连接。
打开MSF,开启监听(选择exploit/multi/handler)。
在指定目录,生成exe后门:
在跳板机获取必定权限后,须要积极地向内网主机权限发展,获取指定的目标信息,探查系统的漏洞,借助Msf已经获得的Meterpreter后门,可使后续操做更容易。
在Kali下,BeeF是一个不逊色于XSS平台的工具。Beef是浏览器攻击框架的简称,是一款专一于浏览器端的渗透测试工具。官网http://beefproject.com/
命令行下启动Beef:
输入用户名和密码登陆:
主界面:
咱们假设被测试主机因为XSS漏洞请求到页面http://127.0.0.1:3000/demod/basic.html,这是一个测试页面,若是经过XSS把该页面加入页面请求中,也就是说每一个访问某个页面的人都会访问该页面,则访问者就会被BeEF hook 到,即加入到 Online Browsers中。
能够查看详细信息:
HOOK持续的时间为关闭测试页面为止,在此期间,至关于被控制了,能够发送攻击命令(js代码)。
咱们以MISC下的Raw JavaScript模块为例进行测试,右端输入 Javascript code 给目标弹出窗口,点击Excute进行攻击。
被攻击方显示以下:
BeFF还有Proxy功能,右键目标主机:
来到以下界面:
点击send,在history中能够查看历史:
以上就是依赖目标作一个代理,而后请求一个特定页面的过程。BeEF还可以配合Metasploit进一步渗透主机。BeEF 默认不加载 Metasploit,若是要使用 Metasploit 丰富的攻击模块,须要作如下配置:
课上已完成
第六章代码用到的Jyphon包不支持python3版本,所以本次代码均使用书中原版代码(小幅修改)。
首先配置好jyphon包的路径,以后将bhp_fuzz.py文件加入到工具:
模拟运行结果以下:
成功添加该工具:
运行结果:
能够看到并无查询获得结果。首先bing search API的网址已经变了,如今网址为:https://api.cognitive.microsoft.com/bing/v7.0/。
其次,新版的API已经取消了该搜索功能(至少我是没找到,在bing搜索中按照IP:XXX.XXX.XXX.XXX的方式也得不到有效结果,结果为Ref A: 2EBF0909B997498C843D95CDC73B2946 Ref B: BJ1EDGE0307 Ref C: 2019-04-12T01:19:46Z
),所以经过本扩展实现反查域名已经不可行了。须要另求它法。
首先由host地址发现拓扑结构:
生成字典:
结果以下:
IE浏览器是目前市场占有率最高的浏览器,为了在ie浏览器完成此实验,不得不重装一个win7虚拟机进行此实验。此部分代码使用python3重写。
书中让我观察浏览器是否有难以理解的动做,确实有,当我进入程序中target_site中的登陆界面后,或者我自己就在登陆状态,浏览器会不停的刷新回输入帐户的界面···
本代码要求比较复杂,首先须要使用keygen.py生成RSA公私钥对,而后使用ie_exfil.py将明文文件名加密后在目标网站以标题的形式发出,以后还能够用decryptor.py解密。
在修改过程当中其余的不谈,原程序使用win32com这个包来进行浏览器操做,对于目标网站来讲存在如下几个问题:
所以在个人视角中使用书中的win32com包来完成这项工做几乎是不可能的。
所以我用selenium包重写了这个程序,在程序连接中命名为ie_exfil_new.py。更换工具包后一切都变得简单了起来,运行结果以下:
仍须要注意的是,selenium操做浏览器须要下载对应浏览器的驱动文件,在64位的iedriver中存在bug,在想IE11浏览器中输入英文字母和数字时会很是缓慢,大约5s才能输入一个字符。
据悉对IE浏览器进行降级或者换用32位的驱动能够解决这个问题,可是我将IE11降级为IE10后依然存在这个问题,也有多是iedriver和selenium版本不匹配的问题?我只是单纯的下载了最新版没有注意版本是否对应。不过具体怎样其实也不重要了,由于selenium只要有对应浏览器的驱动,能够操做任何浏览器,谁还会去用集万千缺点于一身的IE呢?