渗透测试流程及信息收集
什么是渗透测试?
一、渗透测试相关术语
WEB指纹分类:
二、渗透测试完整流程
常规渗透测试流程:
1、明确目标:
-
确认范围:测试目标的范围,IP,域名,内外网。 -
确认规则:能渗透到什么程度,时间,能否提权等。 -
确认需求:WEB应用的漏洞(新上线程序)?业务逻辑漏洞(针对业务的)?人员权限管理漏洞(针对人员、权限)?等等,要做到立体全方位。
2、信息收集:
-
方式:主动扫描,开放搜索:利用搜索引擎获得后台,未授权页面,敏感url等。 -
基础信息:真实IP,网段,域名,端口。 -
系统信息:操作系统的版本。 -
应用信息:各端口的应用,例如WEB应用,邮件应用等。 -
版本信息:所有这些探测到的东西的版本。 -
人员信息:域名注册人员信息,WEB应用中网站发帖人的id,管理员姓名等。 -
防护信息:试着看能否探测到防护设备。
3、漏洞探测:
-
方法:使用漏扫,例如:AWVS、IBM appscan等。 -
结合漏洞去exploit-db等网址找利用。 -
在网上寻找验证poc。 -
内容:系统漏洞:系统没有及时打补丁。 -
Websever漏洞:Websever配置问题。 -
Web应用漏洞:Web应用开发问题。 -
其它端口服务漏洞 -
通信安全
4、漏洞验证:
-
自动化验证:结合自动化扫描工具提供的结果。 -
手动验证:根据公共资源进行验证。 -
试验验证:自己搭建模拟环境进行验证。 -
登陆猜解:有时可以尝试猜解一下登陆的账号密码等信息。 -
业务漏洞验证:如发现业务漏洞,要进行验证。
5、信息分析:
-
精准打击:准备好上一步探测到的漏洞的exp,用来精准打击。 -
绕过防御机制:是否有防火墙等设备,如何绕过。 -
定制攻击路径:最佳工具路径,根据薄弱入口,高内网权限位置,最终目标。 -
绕过检测机制:是否有检测机制,流量监控,杀毒软件,恶意代码检测等(免杀)。 -
攻击代码:经过试验得来的代码,包括不限于xss代码,sql注入语句等。
6、获取所需:
-
实施攻击:根据前几步的结果,进行攻击。 -
获取内部信息:基础设施(网络连接,路由,拓扑等)。 -
进一步渗透:内网入侵,敏感目标。 -
持续性存在:一般我们对客户做渗透不需要。rootkit,后门,添加管理账号等。 -
清处痕迹:清理相关日志(访问,操作),上传文件等。
7、信息整理:
-
整理渗透工具:整理渗透过程中用到的代码,poc,exp等。 -
整理收集信息:整理渗透过程中收集的一切信息。 -
整理漏洞信息:整理渗透过程中遇到的各种漏洞,各种脆弱位置信息。 -
目的:为了最后形成报告,形成测试结果使用。
8、形成报告:
-
按需整理:按照之前第一步跟客户确定好的范围,需要来整理资料,并将资料形成报告。 -
补充介绍:要对漏洞成因,验证过程和带来危害进行分析。 -
修补建议:当然要对所有产生的问题提出合理高效安全的解决办法。 -
渗透测试报告编写: -
封皮 -
明确重点和要求 -
给谁看?不同职位的人关注的侧重点不一样 -
内容提要 -
漏洞列表(一页纸内) -
过程清晰准确 -
工具(版本和功能) -
渗透测试团队成员及联系方式 -
修补建议
流程总结:
三、信息收集
1、域名信息——IP:
2、绕过CDN查找真实IP的方法:
3、搜索子域名:
4、whois查询:
5、旁站/c段的查询:
6、目录信息收集:
7、网站指纹信息收集:
8、端口和服务信息收集:
-
TCP端口:20 服务:FTP(文件传输协议) -
TCP端口:21 服务:FTP(文件传输协议) -
TCP端口:22 服务:SSH(安全外壳协议) -
TCP端口:23 服务:Telnet(远程终端协议) -
TCP端口:25 服务:SMTP(简单邮件传输协议) -
TCP/UDP端口:53 服务:DNS(域名系统) -
UDP端口:67 服务:DHCP(动态主机配置协议) -
UDP端口 : 68 服务:DHCP(动态主机配置协议) -
TCP端口:80 服务:HTTP(超文本传输协议) -
TCP端口:110 服务:pop3(邮局协议版本3) -
TCP端口:443 服务:Https(超文本传输安全协议) -
TCP端口:3306 服务:MySQL -
TCP端口:3389 服务:远程桌面的服务端口
9、Fofa和Shodan
shodan一些常用的语法:
本文作者:如约而至ss, 转载请注明来自FreeBuf.COM,侵删