作者:hacker发布时间:2022-10-03分类:入侵网站浏览:153评论:4
众多被广泛报道的大型消费企业入侵事件凸显了系统安全管理的重要性。幸运的是,有许多不同的应用程序可以帮助保护计算机系统。其中一个是 Kali,一个为安全和渗透测试而开发的 Linux 发行版。本文演示了如何使用 Kali Linux 来审视你的系统以发现弱点。
Kali 安装了很多工具,它们都是开源的,默认情况下安装了它们会让事情变得更容易。
(LCTT 译注:Kali 及其携带工具只应该用于对自己拥有合法审查权利的系统和设备,任何未经授权的扫描、渗透和攻击均是违法的。本文作者、译者均不承担任何非授权使用的结果。)
本文使用的系统是:
我在上面列出了硬件规格,因为一些任务要求很高,尤其是在运行 WordPress 安全扫描程序(WPScan)时对目标系统 CPU 的要求。
首先,我会在目标系统上进行基本的 Nmap 扫描(你可以阅读 使用 Nmap 结果帮助加固 Linux 系统一文来更深入地了解 Nmap)。Nmap 扫描是一种快速的方法,可以大致了解被测系统中哪些端口和服务是暴露的。
默认扫描显示有几个你可能感兴趣的开放端口。实际上,任何开放端口都可能成为攻击者破坏你网络的一种方式。在本例中,端口 21、22、80 和 443 是不错的扫描对象,因为它们是常用服务的端口。在这个早期阶段,我只是在做侦察工作,尽可能多地获取有关目标系统的信息。
我想用 Nmap 侦察 80 端口,所以我使用 -p 80 参数来查看端口 80, -A 参数来获取操作系统和应用程序版本等信息。
关键信息有:
现在我知道了这是一个 WordPress 服务器,我可以使用 WPScan 来获取有关潜在威胁的信息。一个很好的侦察方法是尝试找到一些用户名,使用 --enumerate u 告诉 WPScan 在 WordPress 实例中查找用户名。例如:
这显示有两个用户: admin 和 pgervase 。我将尝试使用密码字典来猜测 admin 的密码。密码字典是一个包含很多密码的文本文件。我使用的字典大小有 37G,有 3,543,076,137 行。
就像你可以选择不同的文本编辑器、Web 浏览器和其他应用程序 一样,也有很多工具可以启动密码攻击。下面是两个使用 Nmap 和 WPScan 的示例命令:
这个 Nmap 脚本是我使用的许多脚本之一,使用 WPScan 扫描 URL 只是这个工具可以完成的许多任务之一。你可以用你喜欢的那一个。
WPScan 示例在文件末尾显示了密码:
在末尾的“找到有效组合”部分包含了管理员用户名和密码,3231 行只用了两分钟。
我还有另一个字典文件,其中包含 3,238,659,984 行,使用它花费的时间更长并且会留下更多的证据。
使用 Nmap 可以更快地产生结果:
然而,运行这样的扫描可能会在目标系统上留下大量的 HTTPD 日志消息:
为了获得关于在最初的 Nmap 扫描中发现的 HTTPS 服务器的信息,我使用了 sslscan 命令:
它显示了有关启用的 SSL 协议的信息,在最下方,是关于 Heartbleed 漏洞的信息:
有很多方法可以保护你的系统免受大量攻击。几个关键点是:
本文对安全工具及其使用方法的介绍只是冰山一角。深入了解的话,你可能需要查看以下资源:
via:
作者:Peter Gervase选题:lujun9972译者:MjSeven校对:wxy
先大概给你说说吧。因为这个每个程序不一样有没有被发现的漏洞,漏洞打了补丁了没,还有服务器安全性怎样,这个里面有很多不确定性。
首先要对你想要测试的web应用了解什么程序、用什么语言写的、使用的什么版本,什么架构的,服务器都开放了什么端口,用的是什么系统什么版本等等。
等踩点完毕以后,就要对以上信息的寻找突破口。没有什么基本都是用渗透测试工具来辅助完成。
因为这个太多细节了。给你看看这个套教材吧。
1.SQL Injection(SQL注入)
(1)如何进行SQL注入测试?
首先找到带有参数传递的URL页面,如 搜索页面,登录页面,提交评论页面等等.
注1:对 于未明显标识在URL中传递参数的,可以通过查看HTML源代码中的"FORM"标签来辨别是否还有参数传递.在FORM 和/FORM的标签中间的每一个参数传递都有可能被利用.
form id="form_search" action="/search/" method="get"
div
input type="text" name="q" id="search_q" value="" /
input name="search" type="image" src="" /
a href="/search/" class="774f-432d-23d9-84b9 fl"Gamefinder/a
/div
/form
注 2:当你找不到有输入行为的页面时,可以尝试找一些带有某些参数的特殊的URL,如
其 次,在URL参数或表单中加入某些特殊的SQL语句或SQL片断,如在登录页面的URL中输入 /INDEX.ASP?USERNAME='HI' OR 1=1
注1:根据实际情况,SQL注入请求可以使用以下语句:
' or 1=1- -
" or 1=1- -
or 1=1- -
' or 'a'='a
" or "a"="a
') or ('a'='a
注2:为什么是OR, 以及',
渗透测试,是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
渗透测试一定要遵循软件测试基本流程,要知道测试过程和目标特殊,在具体实施步骤上主要包含以下几步:
1、明确目标
当测试人员拿到需要做渗透测试的项目时,首先确定测试需求,如测试是针对业务逻辑漏洞,还是针对人员管理权限漏洞等;然后确定客户要求渗透测试的范围,如ip段、域名、整站渗透或者部分模块渗透等;最后确定渗透测试规则,如能够渗透到什么程度,是确定漏洞为止还是继续利用漏洞进行更进一步的测试,是否允许破坏数据、是否能够提升权限等。
2、收集信息
在信息收集阶段要尽量收集关于项目软件的各种信息。比如:对于一个Web应用程序,要收集脚本类型、服务器类型、数据库类型以及项目所用到的框架、开源软件等。信息收集对于渗透测试来说非常重要,只要掌握目标程序足够多的信息,才能更好地进行漏洞检测。
信息收集的方式可分为以下2种:主动收集、被动收集。
3、扫描漏洞
在这个阶段,综合分析收集到的信息,借助扫描工具对目标程序进行扫描,查找存在的安全漏洞。
4、验证漏洞
在扫描漏洞阶段,测试人员会得到很多关于目标程序的安全漏洞,但这些漏洞有误报,需要测试人员结合实际情况,搭建模拟测试环境对这些安全漏洞进行验证。被确认的安全漏洞才能被利用执行攻击。
5、分析信息
经过验证的安全漏洞就可以被利用起来向目标程序发起攻击,但是不同的安全漏洞,攻击机制不同,针对不同的安全漏洞需要进一步分析,制定一个详细的攻击计划,这样才能保证测试顺利执行。
6、渗透攻击
渗透攻击实际是对目标程序进行的真正攻击,为了达到测试的目的,像是获取用户账号密码、截取目标程序传输数据等。渗透测试是一次性测试,在攻击完成后能够执行清理工作。
7、整理信息
渗透攻击完成后,整理攻击所获得的信息,为后边编写测试报告提供依据。
8、编写报告
测试完成之后要编写报告,阐述项目安全测试目标、信息收集方式、漏洞扫描工具以及漏洞情况、攻击计划、实际攻击结果等。此外,还要对目标程序存在的漏洞进行分析,提供安全有效的解决办法。
实验要求
很简单,攻进操作系统,使用msfconsole进行渗透测试,夺取控制权或者命令电脑做一些动作。
需要达到的效果是使用系统漏洞对操作系统进行渗透测试,再针对一个软件漏洞实现对操作系统的攻击。
实验操作
1、MS08-067漏洞使用
2、浏览器漏洞测试
3、软件漏洞测试
标签:如何编写渗透测试工具
已有4位网友发表了看法:
访客 评论于 2022-10-03 13:14:54 回复
要编写报告,阐述项目安全测试目标、信息收集方式、漏洞扫描工具以及漏洞情况、攻击计划、实际攻击结果等。此外,还要对目标程序存在的漏洞进行分析,提供安全有效的解决办法。怎么用console进行渗透测试实验要求很简单,攻进操作系统,使用msfconsole进行渗透测试,夺取控制权或者命令电脑做一些动作。
访客 评论于 2022-10-03 12:13:25 回复
动作。需要达到的效果是使用系统漏洞对操作系统进行渗透测试,再针对一个软件漏洞实现对操作系统的攻击。实验操作1、MS08-067漏洞使用2、浏览器漏洞测试3、软件漏洞测试
访客 评论于 2022-10-03 18:32:39 回复
使用 Nmap 和 WPScan 的示例命令: 这个 Nmap 脚本是我使用的许多脚本之一,使用 WPScan 扫描 URL 只是这个工具可以完成的许多任务之一。你可以用你喜欢的那一个。 W
访客 评论于 2022-10-03 14:22:32 回复
、22、80 和 443 是不错的扫描对象,因为它们是常用服务的端口。在这个早期阶段,我只是在做侦察工作,尽可能多地获取有关目标系统的信息。 我想用 Nmap 侦察 80 端口,所以我使用 -p 80 参