文章目录
七、Phpsploit-Framework软件的实战演示(CTF竞赛方向)
本文章仅提供学习,切勿将其用于不法手段!
无论是在渗透测试或安全审计方面,还是在安全运维和系统管理等方面, Phpsploit-Framework软件的Security (加解密)模块都为我们提供了较为丰富且实用的相关功能。
在我们进行CTF竞赛时,或多或少的会遇到需要对相关数据进行加密或者解密的情况。
而在Phpsploit-Framework软件出现之前,当我们需要对相关数据进行加解密操作时,往往需要在专业加解密功能平台或网站上输入相关数据以获得加密或者解密结果。但这样做,是并不安全的!我们输入的数据,可能会被相应的平台或者网站记录!那么,有没有更好的办法呢?
Phpsploit-Framework软件的出现,为我们提供了这方面的便利!在Phpsploit-Framework软件的 (Security) 加解密功能模块中提供了丰富的各类型算法的加解密工具。在进行Web安全的审计工作时,我们可能经常需要对传递的请求参数进行Base64或Url等方式的安全加密,在进行SQL注入类的渗透测试行为时,我们可能会经常用到此类情况!在进行相关校验工作时,sha1、md5、crc32、hash等加密算法也具有丰富的CTF应用场景。除此之外,crypt、openssl等子模块的相应加解密功能也为一些特殊情况提供了一些数据安全方面的技术支持。
当我们在对Web应用进行渗透测试或安全审计行为时,如果能够对被审计目标的数据库环境有所了解,那么将有效提升进行渗透测试或安全审计行为的相应战果!了解的越多,那么能够有效挖掘出的安全漏洞或风险问题的几率也就越高!只有先于恶意黑客之前发现并修复安全问题,才能更加有效地提升被审计目标环境的多方面安全水平(0day漏洞的存在,对于Web类应用和操作系统环境会产生严重威胁!因此,先于对手之前,发现并修复0day漏洞是非常有必要的,也是非常重要的)!在Phpsploit-Framework软件的 (Database) 数据库功能模块中,提供了专用于(Query)查询和(Exec)更新操作的相应子模块功能。我们可以考虑借助这两个子模块的实用功能对被审计目标的数据库环境进行相关操作(但您须认识到,对于数据库环境进行查询或更新类操作是存在安全风险的!在进行针对数据库环境的安全审计工作前,您必须要先行获得被审计方关于被审计目标的数据库环境方面的安全审计事项的书面合法授权!这点是非常重要的!任何未经合法授权的安全审计行为都是非法的!如果您在进行渗透测试或安全审计行为时,并未得到被审计方的书面合法授权,那么您可能会因此而需要面对的由于未获得合法授权下安全行为而产生的相应法律纠纷风险)。
Phpsploit-Framework软件的(Query)查询和(Exec)更新子模块是如何在CTF竞赛中绕过CTF对手的WAF防御规则的呢?
Phpsploit-Framework软件的(Query)查询和(Exec)更新子模块会在正式创建相应的SQL请求之前先行生成一个具有一次性时效的安全密钥(Encode Key)和安全密钥向量(Encode IV),在网页浏览器将SQL请求内容正式发送到CTF目标之前,Phpsploit-Framework软件的(Query)查询和(Exec)更新子模块会对通信请求的相应数据进行加密,在到达CTF目标之后再使用匹配的安全密钥(Encode Key)和安全密钥向量(Encode IV)信息对SQL请求内容进行解密!当SQL请求执行完毕之后,SQL请求的执行结果将同样会进行相应的加密操作,在加密后的SQL请求执行结果被发送回浏览器之后,Phpsploit-Framework软件的(Query)查询和(Exec)更新子模块会将加密后的SQL请求的执行结果进行解密处理,并将还原后的原文数据显示在相应的容器之中!
由于安全密钥(Encode Key)和安全密钥向量(Encode IV)信息的时效性为当次有效,因此即使SQL请求被恶意劫持,那么遭到恶意利用的风险也并不是很高(原因是新的SQL请求会使用新的安全密钥,旧的密钥将被失效!况且如果网络通信使用的是HTTPS协议,那么除非遇到中间人攻击,否则被恶意利用的风险将会很低!还有一条最为重要的决定因素,中间人攻击一般只发生在局域网络或代理网络环境内,除非渗透测试或安全审计人员自身的网络环境存在严重安全问题(比如使用了不受信任的局域网络通信环境或恶意的VPN网络通信环境),否则SQL请求的通信环境还是较为安全的!我们都知道,绝对安全的网络环境并不存在,而我们所能做的,也仅仅是尽可能地去使用较为安全的网络环境)!
在抓包Phpsploit-Framework软件的通信请求时,你会发现,Phpsploit-Framework软件的很多通信数据是经过安全加密的!一次性的密钥,将使通信请求遭到劫持后被恶意利用的风险降到最低!
在进行CTF竞赛时,我们如何知道CTF目标的数据库环境的一些重要信息呢?
Phpsploit-Framework软件为我们提供了相应的(File)文件功能模块,Phpsploit-Framework软件提供的(File)文件功能模块下存在包括 (search)文件搜索、(explorer)目录浏览、(detail)文件内容查看、(create)创建新文件、(upload)上传新文件、(clear)清理新文件等在内的非常实用且强大的相关功能子模块。功能完善而强大的(File)文件功能模块将使我们的渗透测试工作变得轻松且愉快!首先,当Phpsploit-Framework软件自身不具备相关功能时,我们可以很方便地通过Phpsploit-Framework软件提供的(File)文件功能模块来更加方便地利用第三方软件的相关功能来实现我们的目的(有一点前提,是十分重要的!我们使用的第三方软件或工具,必须是我们自身可以进行安全控制的)!
当我们并不知道自己想要找到的文件处于CTF目标的哪个路径中时,Phpsploit-Framework软件提供的(File)文件功能模块中的(search)子功能模块可以帮我们实现目的!(search)子功能模块支持搜索进度显示,同时也会根据搜索进度实时显示出已经被找到的匹配筛选条件的相关文件信息(例如,我们最为关注的文件路径信息)!
当我们想要了解CTF目标的文件系统结构时,Phpsploit-Framework软件提供的(File)文件功能模块中的(explorer)子功能模块可以帮我们实现目的!(explorer)子模块可以非常便捷地显示出指定目录下的所有的文件和子目录信息!我们可以通过点击任意子目录的路径信息进行更深一层的目录结构查看,也可以点击任意文件的路径信息来进一步了解对应的文件大小、文件权限、文件所有者、文件内容等重要信息。
当我们想要了解指定文件的相关信息时,Phpsploit-Framework软件提供的(File)文件功能模块中的(detail)子功能模块可以帮我们实现目的!目前,Phpsploit-Framework软件支持两种对于文件内容的查看方式,分别为以二进制格式查看和以纯文本格式查看!这样的设计,是为了可以很方便地查看二进制文件和纯文本文件中的相关内容。同时,为了支持对于稍大文件的内容浏览(例如,文件体积超过1M)需求,Phpsploit-Framework软件对于稍大体积文件的内容查看,还增加了分页浏览功能,以此来达到不错的文件内容浏览体验)等信息!
当Phpsploit-Framework软件的自身功能不足以满足我们的渗透测试或安全审计需求时,我们可以使用Phpsploit-Framework软件提供的(File)文件功能模块中的(create)和(upload)等子功能模块来帮助我们更好地实现审计目的!Phpsploit-Framework软件提供的(File)文件功能模块中的(create)子功能,可以帮助我们在线创建指定格式的文件(二进制格式或纯文本格式的文件)!
注意,使用Phpsploit-Framework软件提供的(File)文件功能模块中的(create)子模块功能来创建二进制格式文件,使用的是标准的shellcode代码格式(例如,\x90\x00等)!而创建纯文件格式文件,则使用较为通用的纯文本格式内容录入方式!在使用Phpsploit-Framework软件提供的(File)文件功能模块中的(create)子模块功能进行文件创建时,要注意不同内容格式的选择对应着不同格式内容的输入,不匹配的格式内容输入将可能导致意想不到的结果(尽管很大程度上,不匹配的内容格式输入将可能直接导致文件被创建失败)!
使用Phpsploit-Framework软件提供的(File)文件功能模块中的(upload)子模块功能来上传文件时,我们应注意,必须保证被上传的文件是在我们的安全可控范围内的!这点十分重要!不安全的文件可能导致CTF目标被其它对手攻占,或者被不法黑客用来进行恶意攻击!请您一定要谨慎对待!请务必不要将无法安全控制的相关文件上传到CTF目标中!
在我们完成CTF竞赛或者渗透测试行为时,对于CTF/被审计目标上的垃圾文件进行相应清理是非常有必要的!Phpsploit-Framework软件的作者在进行Phpsploit-Framework软件的设计研发工作时,已经考虑到了这点!使用Phpsploit-Framework软件创建、上传、下载的相应文件的文件名中都会存在".phpsploit"标识!我们可以通过Phpsploit-Framework软件提供的(File)文件功能模块中的(clear)子模块来对垃圾文件进行相应清理(注意,对于并非使用Phpsploit-Framework软件上传、下载、创建的相应文件,Phpsploit-Framework软件可能无法对其进行相应清理(除非文件名称中包含有".phpsploit"标识)!这一点,笔者认为,Phpsploit-Framework软件的作者可能是出于安全性考虑,出于对CTF/被审计目标中系统环境的保护而进行了这样的设定。毕竟,Phpsploit-Framework软件的设计初衷是为了使白帽黑客们能够更好地、更高效地进行漏洞挖掘和安全审计工作,而不是去让脚本小子们进行恶意的系统破坏行为)!
未完待续