渗透测试
渗透测试其实就是通过一些手段来找到网站、APP、网络服务、软件、服务器等网络设备和应用的漏洞,告诉管理员有哪些漏洞,怎么填补,从而防止黑客的入侵。
渗透测试分为 白盒测试 和 黑盒测试:
- 白盒测试就是在知道目标网站源码和其他一些信息的情况下对其进行渗透,有点类似于代码分析。
- 黑盒测试就是只告诉我们这个网站的 URL,其他什么都不告诉,然后让你去渗透,模拟黑客对网站的渗透。
我们现在就模拟黑客对一个网站进行渗透测试,这属于黑盒测试,我们只知道该网站的 URL,其他什么的信息都不知道。接下来,分享下黑盒渗透测试的流程和思路!
一般来说,渗透测试的基本流程如下:
- 确定目标
- 信息收集
- 漏洞探测
- 漏洞利用 getshell
- 内网转发
- 内网渗透
- 痕迹清除
- 撰写渗透测试报告
一、确定目标
这个没什么好说的,就是确定你的渗透目标是什么。
二、信息收集
信息收集是整个渗透测试中最重要的一步,你要把你要攻击的目标全部探测清楚,才能更好的攻击。信息收集的越丰富,内容或情报收集的越多,攻击的成功率就越高。
而信息收集到底要收集哪些信息呢?接下来,整理一下渗透测试中常见的一些需要收集的信息。
1. 主机扫描 (Nessus)
对目标主机进行扫描,而不仅仅是对网站进行扫描,扫描目标主机开放了哪些端口,扫描端口运行的服务,目标主机上有哪些漏洞。
主机扫描的工具也有很多,比如:Nessus。
2. 端口扫描 (nmap)
需要知道目标服务器开放了哪些端口,常见的如 135、137、138、139、445,这几个端口经常爆发漏洞。以下是一些服务端口的漏洞:
- 22——>ssh 弱口令
- 873——>rsync 未授权访问漏洞
- 3306——>mysql 弱口令
- 6379——>redis 未授权访问漏洞
端口扫描工具有 nmap 和 masscan。nmap 扫描的准确性较高,但是扫描的比较慢。masscan 扫描的比较快,但是准确性较低。
3. 网站敏感目录和文件
扫描网站目录结构,看看是否可以遍历目录,或者敏感文件泄漏。
- 后台目录:弱口令,万能密码,爆破
- 安装包:获取数据库信息,甚至是网站源码
- 上传目录:截断、上传图片马等
- mysql 管理接口:弱口令、爆破,万能密码,然后脱库,甚至是拿到 shell
- 安装页面:可以二次安装进而绕过
- phpinfo:会把你配置的各种信息暴露出来
- 编辑器:fck、ke 等
- iis 短文件利用:条件比较苛刻 windows、apache 等
提到了网站敏感目录我们就不得不提 robots.txt 文件了。
robots.txt 文件是专门针对搜索引擎机器人 robot 编写的一个纯文本文件。我们可以在这个文件中指定网站中不想被 robot 访问的目录。这样,我们网站的部分或全部内容就可以不被搜索引擎收录了,或者让搜索引擎只收录指定的内容。因此我们可以利用 robots.txt 让 Google 的机器人访问不了我们网站上的重要文件,GoogleHack 的威胁也就不存在了。
假如编写的 robots.txt 文件内容如下:
User-agent: *
Disallow: /data/
Disallow: /db/
Disallow: /admin/
Disallow: /manager/
Allow:/images/
其中'Disallow'参数后面的是禁止 robot 收录部分的路径,例如我们要让 robot 禁止收录网站目录下的'data'文件夹,只需要在 Disallow 参数后面加上 /data/ 即可。如果想增加其他目录,只需按此格式继续添加。文件编写完成后将其上传到网站的根目录,就可以让网站远离 Google Hack 了。
虽然 robots 文件目的是让搜索蜘蛛不爬取想要保护的页面,但是如果我们知道了 robots 文件的内容的话,我们就可以知道目标网站哪些文件夹不让访问,从侧面说明这些文件夹是很重要的了。
探测目标网站后台目录的工具有:wwwscan、御剑、dirbuster、cansina 等。


