可能大家对于行业存在食物链这一说法,印象最深的往往是编制行业,所谓的等级主义在那里确实更为明显。但实际上,各行各业都或多或少存在这种层级结构,网络安全领域也不例外,毕竟都是一些所谓的“人情世故”。那么就网络安全技术岗而言,这个领域是否也有"食物链"的存在呢?答案是肯定的。
在网络安全这个领域里,技术岗位确实存在着一种隐形的层级结构。最底层可能是安全运维和普通安服,他们负责日常的安全维护工作。往上是安全分析员和经验丰富的安全工程师,能够处理较为复杂的安全问题。再往上走,就到了安全架构师和高级渗透测试专家的层次,他们能设计整体安全方案或模拟高级攻击。在这个"食物链"的顶端,是那些能发现零日漏洞的顶尖安全研究员,以及能应对国家级网络威胁的专家。不过,这个结构并非一成不变,在这个快速发展的领域里,每个人都有可能通过不断学习和积累经验,在这个"食物链"中向上攀升。
那么渗透测试属于食物链什么级别呢?
渗透测试这个岗位其实挺有意思的。它不能说是处于网络安全行业的最顶端,但也绝对不是底层。
渗透测试从业人员在网络安全的生态系统中扮演着一个相当重要的角色。他们就像是模拟"好黑客"的存在,负责找出系统中的漏洞和弱点。这需要相当丰富的知识储备和实战经验。一般来说,资深的渗透测试专家会处于食物链的中上层。他们比普通的安全工程师要高一些,因为他们不仅要懂防御,还得精通攻击技巧。但他们可能又不如那些顶级的漏洞研究员或安全架构师。
不过,这种排位也不是绝对的。有些特别厉害的渗透测试大牛,他们的技术水平和影响力可能会达到很高的程度,甚至能跟顶级安全研究员平起平坐。
那么,接下来我们就来详细了解一下什么是渗透测试。
渗透测试其实就是通过一些手段来找到网站APP,网络服务,软件,服务器等网络设备和应用的漏洞,告诉管理员有哪些漏洞,怎么填补,从而防止黑客的入侵。
渗透测试分为 白盒测试 和 黑盒测试
白盒测试就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,有点类似于代码分析;
黑盒测试就是只告诉我们这个网站的url,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透。
白盒测试侧重于代码内部的验证,确保代码的正确性和质量;黑盒测试侧重于系统功能的验证,确保系统按预期工作并满足用户需求。正常情况下需要综合实用这两种方法,以确保系统的全面性和可靠性。
接下来,我就给大家分享下黑盒渗透测试的流程和思路。
一般来说,渗透测试的基本流程如下:
- 确认目标
- 信息收集
- 漏洞探测
- 漏洞利用getshell
- 内网转发
- 内网渗透
- 痕迹清除
- 撰写渗透测试报告
一 确定目标
这个没什么好说的就是确定你的渗透目标是什么。
二 信息收集
信息收集是整个渗透测试中最重要的一步,你要把你要攻击的目标全部探测清楚,才能更好的攻击。信息收集的越丰富,内容或情报收集的越多,攻击的成功率就越高。
而信息收集到底要收集哪些信息呢?接下来我就给大家整理了一下,渗透测试中常见的一些需要收集的信息。
1.主机扫描(Nessus)
对目标主机进行扫描,而不仅仅是对网站进行扫描,扫描目标主机开放了哪些端口,扫描端口运行的服务,目标主机上有哪些漏洞,主机扫描的工具也有很多,比如:Nessus。
2.端口扫描(nmap)
需要知道目标服务器开放了哪些端口,常见的如135、137、138、139、445,这几个端口经常爆发漏洞。以下是一些服务端口的漏洞:
- 22-->ssh弱口令
- 873-->rsync 未授权访问漏洞
- 3306-->mysql弱口令
- 6379-->redis未授权访问漏洞
端口扫描工具有nmap和masscan。nmap扫描的准确性较高,但是扫描的比较慢。masscan扫描的比较快,但是准确性较低。
三 网站敏感目录和文件
扫描网站目录结构,看看是否可以遍历目录或者敏感文件泄漏
- 后台目录:弱口令,万能密码,爆破
- 安装包:获取数据库信息,甚至是网站源码
- 上传目录:截断、上传图片马等
- mysql管理接口:弱口令、爆破,万能密码,然后脱裤,甚至是拿到shell
- 安装页面:可以二次安装进而绕过
- Phpinfo:会把你配置的各种信息暴露出来
- 编辑器:fck、ke、等
- is短文件利用:条件比较苛刻 windows、apache等
既然提到了网站敏感目录,那我们就不得不提 robots.txt文件了,robots.txt 文件是专门针对搜索引擎机器人robot 编写的一个纯文本文件。我们可以在这个文件中指定网站中不想被robot访问的目录这样,我们网站的部分或全部内容就可以不被搜索引擎收录了,或者让搜索引擎只收录指定的内容。因此我们可以利用以利用robots.txt让Google的机器人访问不了我们网站上的重要文件,GoogleHack的威胁也就不存在了。
举个例子,假如编写的robots.txt文件内容如下:
其中“Disallow”参数后面的是禁止robot收录部分的路径,例如我们要让robot禁止收录网站目录下的“data”文件夹,只需要在Disallow参数后面加上 /data/ 即可。如果想增加其他目录只需按此格式继续添加。文件编写完成后将其上传到网站的根目录,就可以让网站远离Google Hack了。
虽然robots文件目的是让搜索蜘蛛不爬取想要保护的页面,但是如果我们知道了robots文件内容的话,我们就可以知道目标网站哪些文件夹不让访问,从侧面说明这些文件夹是很重要的了。
探测目标网站后台目录的工具有:wwwscan御剑、dirbuster、cansina 等。
四 旁站和C段扫描
旁站指的是同一服务器上的其他网站,很多时候,有些网站可能不是那么容易入侵。那么可以查看该网站所在的服务器上是否还有其他网站。如果有其他网站的话,可以先拿下其他网站的webshell,然后再提权拿到服务器的权限,最后就自然可以拿下该网站了。
对于红蓝对抗和护网,C段扫描比较有意义。对于单独网站的渗透测试,C段扫描意义不大。C段指的是同一内网段内的其他服务器,每个IP有ABCD四个段,举个例子,192.168.0.1,A段就是192,B段是168,C段是0,D段是1,而C段嗅探的意思就是拿下它同一C段中的其中一台服务器,也就是说是D段1-255中的一台服务器,然后利用工具嗅探拿下该服务器。
五 网站漏洞扫描
网站漏洞扫描就是直接对网站进行漏洞探测了。网站漏洞扫描也有很多工具。比如AWVS、AppScan、OWASP-ZAP、nessuss等等。但是需要注意的是,使用漏扫工具直接对网站进行扫描,因为一下子流量过大,有些网站可能会崩溃。所以一般最好不要使用漏洞扫描工具对网站进行扫描。并且如果未经授权就用漏扫对网站进行扫描还是违法的。
六 网站指纹识别
在渗透测试中,对目标服务器进行指纹识别是相当有必要的,因为只有识别出相应的Web容器或者CMS,才能查找与其相关的漏洞,然后才能进行相应的渗透操作。CMS又称整站系统。常见的CMS有:WordPress、Dedecms、Discuz、PhpWeb、PhpWind、Dvbbs、PhpCMS、ECShop、、SiteWeaver.AspCMS、帝国、Z-Blog等。
常见的网站指纹识别工具有:whatweb等。
七 公司敏感信息网上搜集
当确定了公司后,我们可以去互联网上查询与该公司有关的任何信息。比如,公司的邮箱格式,公司的员工姓名,以及与该公司有关的任何信息。并且,我们还可以去Github、码云等代码托管平台上查找与此有关的敏感信息,有些粗心的程序员在将代码上传至代码托管平台后,并没有对代码进行脱敏处理。导致上传的代码中有包含如数据库连接信息、邮箱密码还有可能有泄露的源代码等。
八 域名信息的收集
当我们确定了要渗透的目标,并知道了其域名后,接下来需要收集一系列与该域名相关的信息,包括域名对应的IP、域名的WHOIS信息、子域名等。
那么我们该如何判断域名对应的IP呢?
首先,我们要判断该域名是否存在CDN的情况。为此,我们可以使用在线CDN查询网站进行检测,如站长工具中的“多个地点Ping服务器”和“网站测速”功能。如果查询出的IP数量大于一个,则说明该IP地址可能并不是真实的服务器地址。
从事网络安全行业的朋友应该都明白吧,如果查询结果中显示2个或3个IP,并且这些IP地址位于同一地区但属于不同运营商,那么这些IP地址很有可能属于CDN节点,而非目标服务器的真实IP地址。我们需要进一步分析和确认,才能准确定位目标服务器的真实IP。
在了解了什么是渗透测试以及其基本流程后,你是不是觉得渗透测试非常具有挑战性呢?
其实,尽管渗透测试在网络安全行业的岗位“食物链”中占据重要位置,但它并不一定意味着极高的难度。只要你对网络安全充满兴趣并愿意投入学习,无论你是刚入门的新人还是经验丰富的专业人士,网络安全行业都会为你提供广阔的发展空间和无限的挑战。遇到问题时,随时可以滴滴我们阿一,我们会一直在你身边。