针对Office软件的渗透攻击实例MS10-087安全漏洞分析学习(index: metasploit)
针对Office软件的渗透攻击实例——MS-安全漏洞分析与学习
在Metasploit中搜索“ms_”,加载该模块并显示基本信息。该漏洞的原因是Office程序在处理特殊构造的RTF文件时,相应解析程序在处理名为pFragments的参数时存在栈缓冲区溢出错误,导致异常发生。RTF格式文件属于Word应用程序所处理的微信浏览器 源码文件格式,一个后缀名为rtf的文件在更改后不影响其使用。Office 默认启用了DEP,同时存在ASLR机制,这使得对Office +Windows 7中该漏洞的利用变得更加困难,但并非不可能。利用MS-漏洞的实验并未以Win7为目标。
设置渗透模块的攻击载荷为运行一个计算器,以便于观察。在Metasploit中使用命令“use exploit/windows/fileformat/ms__rtf_pfragments_bof”加载模块,设置攻击载荷为“set payload windows/exec”并设置命令为“set CMD calc.exe”。设置文件名为“ms.rtf”并执行“exploit”。将生成的文件复制给目标机器,双击打开。
深入研究MS-漏洞的渗透攻击模块源代码。该模块范围从到,是一个典型的利用SEH(Structured Exception Handling)的方式,包含Ret和偏移量。变量sploit被填充到名为pFragments的属性参数中,导致缓冲区溢出。逆向分析该漏洞的机理,打开OD(OllyDbg)工具,打开Word进程(winword.exe)并设置断点,观察具体执行过程。
启动IDA Pro,加载mso.dll文件进行反汇编分析。在函数入口处设置断点,运行Word进程并打开测试文件。在函数执行过程中,观察到的数据复制指令会导致栈溢出。利用IDA Pro的图形反汇编视图查看关键信息,发现函数主要功能是复制字符串,涉及三个参数:数据源位置、复制次数和数据源寻址。
通过研究函数的反汇编代码,发现程序没有对输入参数进行检查或限制,这是产生漏洞的根本原因。修改mso.dll文件设置软件断点,观察测试文件利用SEH的过程。在经过超长的数据复制后,栈底附近的SEH链被修改。运行程序时,由于断点的saas php 源码设置或调试过程中的问题,导致报错并跳转到不可达地址。
文件格式分析部分详细介绍了RTF文档格式,包括文档头、图形相关信息、绘图属性、属性名和属性值等。分析了RTF漏洞的原因:在进行复制时未对复制次数进行检测,导致栈溢出。通过源代码展示了RTF解析pFragments属性的部分过程,揭示了复制次数控制的实现方式以及漏洞产生的原理。
基于Metasploit的POC(Proof of Concept)展示了漏洞利用原理,包括栈溢出导致SEH机制触发、异常处理和shellcode执行的过程。具体过程涉及栈溢出时将基本信息压入栈、后续压入直接跳转和执行shellcode的地址。通过构建RTF文档,设置了恰当的pFragments属性值,填充shellcode、directe和Ret等关键信息,最终实现攻击目的。
文件的基本格式构造强调了在构造RTF文档时,正确设置pFragments属性的重要性。构造过程涉及到属性值的前部填充、复制次数、shellcode填充、直接跳转和shellcode执行的地址构建。通过实验和分析,揭示了如何利用MS-漏洞进行渗透攻击。
渗透测试章节-Metasploit(二)
接上渗透测试章节-Metasploit(一)继续更新。
一、情报搜集(需足够耐心)
目的:获取渗透目标的准确信息,了解组织运作方式,确定最佳攻击路径,确保悄无声息,获取所需数据。
被动信息搜集
公开渠道情报(OSINT)用于检索和筛选公开信息,获取目标情报。工具如Yeti和whois可用。假设针对 testfire.net网站进行测试,搜集其所属公司系统和可攻击系统,需在遵守网络规范下进行。
1.whois查询:查找testfire.net域名服务器(DNS)。
·DNS服务器部署在公司内部,是攻击点。拓展更多信息。
·msf下直接使用whois查询,发现DNS服务器由AKAM.NET提供。word文档源码这是未授权系统,不可攻击。
2.Netcraft网页界面工具:发现网站承载服务器IP地址。
知道IP地址后再次使用whois工具确认:
·发现testfire.net子网范围不在注册名下,可能是第三方网络托管服务。
3.nslookup:获取服务器附加信息。
·查询结果显示DNS由第三方运维,不在渗透测试范围内。
4.Google Hacking:快速搜集目标网站信息,使用搜索引擎。
·输入site:testfire.net admin,快速发现管理员登录后台。
·输入site:testfire.net login,快速发现ASP源码泄露,文件包含和SQL注入漏洞。
注:ASP是一种动态网页生成环境,生成的HTML代码由浏览器端显示。
主动信息搜集
执行端口扫描确定目标系统开放端口和服务(需小心,避免触发IDS或IPS)。使用Windows XP虚拟机作为攻击对象。
·扫描显示开放端口信息。
·获取更多信息:执行渗透测试,记录多个测试目标。
·开启数据库子系统:/etc/init.d/postgresql start
·使用Metasploit连接数据库实例:msf > db_connect postgres:toor@.0.0.1/msf (Kali中默认用户名和密码)
·确认数据库连接成功:msf > db_status
可利用Metasploit对NAT后主机进行攻击,通过已攻陷主机作为跳板,将流量传送到网络内部主机。
·查看Metasploit框架提供的端口扫描工具:search portscan
·使用Metasploit的SYN端口扫描器对单个主机进行简单扫描,显示开放端口(需耐心等待)
含义:寻找目标网络中存在的漏洞或可轻松获取后门的系统、服务、软件和配置缺陷,提供五种扫描方法。
利用Metasploit的smb_version模块遍历网络,获取Windows系列版本信息。
·扫描显示攻击对象是Windows XP系统,已安装三个补丁。
使用mssql_ping模块,使用UDP协议监听同一局域网中的TCP端口或随机动态TCP端口。
·扫描结果提供目标服务器上运行的SSH版本信息。
FTP协议复杂且安全性低。
·扫描器识别FTP服务器,检测匿名用户登录权限。
简单网管协议(SNMP)通常用于网络设备报告信息。可访问的SNMP服务器能泄露系统信息,导致远程攻陷。
编写自定义扫描器非易事,挑战仍在前方。下次再见!源码安装django
安全性测试工具有哪些
安全性测试工具主要包括:漏洞扫描工具、渗透测试工具、代码审计工具以及模拟攻击工具。 以下是各类安全性测试工具的详细介绍: 漏洞扫描工具:这类工具主要用于发现系统中的潜在漏洞。它们通过自动化的手段对系统进行检查,寻找可能被恶意利用的安全漏洞,包括但不限于常见的漏洞类型如跨站脚本攻击(XSS)、SQL注入等。一旦发现漏洞,这些工具就会生成报告以供开发人员修复。常用的漏洞扫描工具有Nessus、OpenVAS等。 渗透测试工具:渗透测试是对系统安全防护的一次模拟攻击,目的在于验证系统对真实攻击的防御能力。渗透测试工具能够对系统进行深度的安全分析,通过模拟黑客的攻击手段来检验系统的安全性能。这类工具可以帮助发现系统在实际攻击环境下的脆弱性,并提供修复建议。常见的渗透测试工具有Metasploit、Nmap等。 代码审计工具:代码审计是对源代码的深入检查,以发现可能存在的安全缺陷和错误。这类工具主要针对软件开发的源代码进行安全性分析,可以发现代码中潜在的安全风险并进行修复。它们能够帮助开发者在编码阶段就识别并解决安全问题,避免后续的安全风险。常用的代码审计工具有SonarQube、FindBugs等。 模拟攻击工具:模拟攻击工具主要用于模拟各种网络攻击场景,以测试系统的安全性和稳定性。这类工具可以模拟各种攻击方式,如钓鱼攻击、恶意软件攻击等,帮助组织评估其在面对实际攻击时的防御能力。一些综合性的安全测试平台也会包含模拟攻击工具的功能。 这些安全性测试工具能够在不同的阶段和层面为系统提供全面的安全评估,帮助组织及时发现并解决潜在的安全风险。Gitlab Cookie 反序列化漏洞研究
Gitlab Cookie 反序列化漏洞研究
在hackthebox的Laboratory靶机中,我遇到了一个利用Gitlab任意文件读取漏洞进行getshell的过程。尽管很多walkthrough提到了漏洞利用,但对getshell原理的解释不够详尽,这让我感到疑惑。因此,我决定深入探究。 漏洞源头始于Hackone上William Bowling (vakzz)的报告,指出UploadsRewriter函数的文件名验证漏洞,导致了任意文件读取。源码分享免费Gitlab最初评估该漏洞价值美元。然而,作者发现当cookies_serializer默认设置为:hybrid时,可能导致远程命令执行漏洞。他提供了一个代码示例,但对不熟悉Ruby的我来说,操作起来并不顺利。 作者通过发送数据包执行命令,结果在带有Gitlab的rails console上实现了命令执行。阅读作者的PDF文档,虽然英文有些吃力,但了解到cookie被分为两部分,第一部分是Base编码的session哈希,第二部分是用secret_token生成的签名。关键在于,客户端控制的cookie允许用户输入自定义序列化对象,只要能伪造签名,攻击者就能在服务器上执行任意代码。而secret_token的存在使这一过程变得可能,但其安全性取决于开发者是否妥善保管。 在Metasploit源码中,我寻找关于Gitlab cookie反序列化攻击的资料,但未果。最终,我直接分析了msf模块multi/http/gitlab_file_read_rce的执行过程。源码中的exploit函数和build_payload函数构建了反弹shell。经过多次测试和解码,我提炼出了Ruby生成payload的简化脚本,最终成功构造了能够执行命令的Cookie。 通过这次研究,我深刻认识到技术能力的不足耗费了大量时间。经过两天两夜的努力,我才解决了这个问题,也更加理解了Gitlab Cookie反序列化漏洞的原理。网络安全渗透测试工具有哪些
网络安全渗透测试工具有Wireshark、Google Hacking、whatweb、Metasploit、AppScan。
1. Wireshark:作为网络协议和数据包分析工具,Wireshark能够实时识别和消除安全漏洞。它适用于分析Web应用程序中发布的信息和数据所固有的安全风险,能够捕获和分析蓝牙、帧中继、IPsec、Kerberos、IEEE.等协议的数据包。其强大的分析功能和清晰的分析结果使得Wireshark成为网络数据包分析的利器。
2. Google Hacking:利用谷歌的强大搜索能力,Google Hacking可以帮助渗透测试人员发现目标网站上的各种安全漏洞。通过不同级别的搜索,可以找到遗留的后门、未授权的后台入口、用户信息泄露、源代码泄露等重要信息。轻量级的搜索可能揭示一些基本的安全问题,而重量级的搜索则可能发现网站配置密码、数据库文件下载、PHP远程文件包含等严重漏洞。
3. whatweb:whatweb是Kali Linux中的一个网站指纹识别工具,它使用Ruby语言开发。whatweb能够识别多种Web技术,包括博客平台、JavaScript库、内容管理系统、统计/分析包、Web服务器和嵌入式设备等。它拥有超过个插件,每个插件都能够识别不同的技术或特征。Whatweb还能识别版本号,如账户ID、电子邮件地址、SQL错误、Web框架模块等。
4. Metasploit:作为一款功能强大的渗透测试框架,Metasploit是网络安全专业人士和白帽子黑客的常用工具。它集成了多种渗透测试工具,并不断更新以适应网络安全领域的最新发展。Metasploit的PERL语言支持使其能够模拟各种渗透测试场景,为安全测试提供全面的解决方案。
5. AppScan:IBM开发的Web安全测试工具AppScan,虽然价格不菲,但其强大的功能使它成为Web安全测试的首选。它采用黑盒测试方法,能够自动爬取网站的所有可见页面和后台,通过SQL注入和跨站脚本攻击测试来检测网站的安全漏洞。此外,AppScan还能检测cookie、会话周期等常见的Web安全问题,并提供详细的检测结果报告,包括漏洞详情、修
网络安全课程主要学习哪些内容?
课程有:1、PKI技术:
本课程不仅适合于信息安全专业的学生专业学习,也适合金融、电信等行业IT人员及有关业务人员的学习。随着计算机安全技术的发展,PKI在国内外已得到广泛应用。它是开展电子商务、电子政务、网上银行、网上证券交易等不可缺少的安全基础设施。主要内容有,从PKI的概念及理论基础、PKI的体系结构、PKI的主要功能、PKI服务、PKI实施及标准化,以及基于PKI技术的典型应用,全面介绍PKI技术及其应用的相关知识。学生通过本课程的学习,能够了解PKI的发展趋势,并对其关键技术及相关知识有一定认识和掌握。
2、安全认证技术:
安全认证技术是网络信息安全的重要组成部分之一,同时也是信息安全专业高年级开设的专业课程,针对当前网络电子商务的广泛使用。主要学习验证被认证对象的属性来确认被认证对象是否真实有效的各种方法,主要内容有网络系统的安全威胁、数据加密技术、生物认证技术、消息认证技术、安全协议等,是PKI技术、数据加密、计算机网络安全、数据库安全等课程的综合应用,对于学生以后更好的理解信息安全机制和在该领域实践工作都打下了很好的基础作用。
3、安全扫描技术:
本课程系统介绍网络安全中的扫描技术,使学生全面理解安全扫描技术的原理与应用。深入了解网络安全、漏洞以及它们之间的关联,掌握端口扫描和操作系统指纹扫描的技术原理,懂得安全扫描器以及扫描技术的应用,了解反扫描技术和系统安全评估技术,把握扫描技术的发展趋势。
4、防火墙原理与技术:
本课程深入了解防火墙的核心技术,懂得防火墙的基本结构,掌握防火墙的工作原理,把握防火墙的基本概念,了解防火墙发展的新技术,熟悉国内外主流防火墙产品,了解防火墙的选型标准。
5、入侵检测技术:
掌握入侵检测的基本理论、基本方法和在整体网络安全防护中的应用,通过分析网络安全中入侵的手段与方法,找出相应的防范措施;深入理解入侵检测的重要性及其在安全防护中的地位。课程内容包括基本的网络安全知识、网络攻击的原理及实现、入侵检测技术的必要性、信息源的获取、入侵检测技术以及入侵检测系统的应用。
6、数据备份与灾难恢复:
本课程系统讲解数据存储技术、数据备份与灾难恢复的相关知识与实用技术,介绍数据备份与恢复的策略及解决方案、数据库系统与网络数据的备份与恢复,并对市场上的一些较成熟的技术和解决方案进行了分析比较。全面了解数据备份与恢复技术,掌握常用的数据备份和灾难恢复策略与解决方案,熟悉市场上的一些比较成熟的技术和解决方案。
7、数据库安全:
从基本知识入手,结合典型的系统学习,介绍数据库安全理论与技术,包括数据库安全需求,安全防范措施,安全策略,安全评估标准等等。
8、数据文件恢复技术:
本课程系统讲解数据存储技术、数据备份与灾难恢复的相关知识与实用技术,介绍数据备份与恢复的策略及解决方案、数据库系统与网络数据的备份与恢复,并对市场上的一些较成熟的技术和解决方案进行了分析比较。全面了解数据备份与恢复技术,掌握常用的数据备份和灾难恢复策略与解决方案,熟悉市场上的一些比较成熟的技术和解决方案。
9、算法设计与分析:
本课程首先介绍算法的一般概念和算法复杂性的分析方法,旨在使学生学会如何评价算法的好坏;接着重点介绍常用的算法设计技术及相应的经典算法,旨在帮助学生完成从“会编程序”到“编好程序”的角色转变,提高学生实际求解问题的能力。
要求学生在非数值计算的层面上,具备把实际问题抽象描述为数学模型的能力,同时能针对不同的问题对象设计有效的算法,用典型的方法来解决科学研究及实际应用中所遇到的问题。并且具备分析算法效率的能力,能够科学地评估有关算法和处理方法的效率。
扩展资料:
信息安全主要包括以下五方面的内容,即需保证信息的保密性、真实性、完整性、未授权拷贝和所寄生系统的安全性。信息安全本身包括的范围很大,其中包括如何防范商业企业机密泄露、防范青少年对不良信息的浏览、个人信息的泄露等。
网络环境下的信息安全体系是保证信息安全的关键,包括计算机安全操作系统、各种安全协议、安全机制(数字签名、消息认证、数据加密等),直至安全系统,如UniNAC、DLP等,只要存在安全漏洞便可以威胁全局安全。
信息安全是指信息系统(包括硬件、软件、数据、人、物理环境及其基础设施)受到保护,不受偶然的或者恶意的原因而遭到破坏、更改、泄露,系统连续可靠正常地运行,信息服务不中断,最终实现业务连续性。
信息安全学科可分为狭义安全与广义安全两个层次:
狭义的安全是建立在以密码论为基础的计算机安全领域,早期中国信息安全专业通常以此为基准,辅以计算机技术、通信网络技术与编程等方面的内容;
广义的信息安全是一门综合性学科,从传统的计算机安全到信息安全,不但是名称的变更也是对安全发展的延伸,安全不在是单纯的技术问题,而是将管理、技术、法律等问题相结合的产物。
本专业培养能够从事计算机、通信、电子商务、电子政务、电子金融等领域的信息安全高级专门人才。
参考资料:
信息安全百度百科实用教程:手动安卓应用中注入msf后门
在移动安全评估中,我们尝试将一些常用的应用程序加载上后门,并且加上后门之后应用程序毫无异常。这就可以用来证明如果使用的应用程序被种上后门,使用者会毫无知觉。
在安卓手机中,恶意软件传播迅速的原因之一是大多数安卓应用程序对底层二进制文件缺乏足够的防护。攻击者可以很简单的将带有后门的应用程序转换为合法的。
在本教程中,我们将通过手工将后门注入到应用程序中,避免使用脚本将msf后门注入到安卓程序中的方式。
首先,生成攻击载荷。使用metasploit中的msfvenom可以生成多种类型的攻击载荷,这里使用它来生成一个包含msf后门的apk。
接下来,逆向apk文件。使用apktool将目标文件以及生成的apk文件进行反编译,将反编译出来的代码保存到一个后缀名为smail的文件中。
然后,将从产生的apk中后门文件放置到目标文件中。具体方式是将后门文件内容替换到目标文件的相应位置。
在注入hook时,必须检测安卓应用程序清单文件,确定在打开安卓应用程序时进行了那些活动,进而确定后门程序会不会执行。将主函数中的代码内容用后门代码替换,使得在程序启动时,执行后门。
给予应用程序权限是使后门能够更有效工作的关键步骤。将额外的权限添加到安卓清单文件中,这样当用户同意时,应用程序就能获取后门应有的权限。
完成权限设置后,对源代码进行编译,同样使用apktool。最后,对apk进行签名,确保apk可以正常安装在手机中。
当用户安装并打开存在后门的应用程序时,我们就能通过meterpreter获取到会话。请注意,如果需要转载此教程,请注明原作者链接。
2024-11-20 23:42
2024-11-20 23:19
2024-11-20 22:47
2024-11-20 22:12
2024-11-20 22:09