渗透测试的前提一定是得经过系统所有者的授权!
未经过授权的渗透测试,就是违法行为!
渗透测试流程
渗透测试流程一般分为:
明确目标
在获得授权的前提下,测试者需要对目标的测试环境、范围、深度等信息进行确定
信息收集
信息收集两种方法:
- 主动信息收集:对目标进行访问或扫描。
- 被动信息收集:通过第三方收集目标信息。
信息收集可以帮助渗透测试人员了解目标系统的构架、网络拓扑、应用程序、操作系统和安全机制等信息,进而为后续的漏洞扫描、漏洞利用和提出安全建议等工作奠定基础。
漏洞发现&漏洞利用
漏洞的发现主要围绕OWASP Top10
常见漏洞进行
1.注入漏洞:sql注入,XXE注入,LDAP注入,系统命令注入,远程代码执行
2.失效的身份认证和会话管理: 弱口令暴力破解,cookie伪造和cookie绕过,逻辑绕过登录,会话劫持
3.跨站脚本攻击XSS
4.失效的访问控制: 未授权访问 ,越权访问(水平越权和垂直越权),文件操作(文件上传,文件包含,任意文件下载)
5.安全配置错误: 高危端口(22,445,3389,6379),数据库,web中间件,CORS跨域资源共享漏洞,目录漏洞
6.敏感信息泄露: 弱文件(phpinfo,备份文件,安装文件),源代码,配置文件,数据库文件
7.攻击检测防范不足: WAF, RASP,虚拟/实际补丁
8.跨站请求伪造CSRF
9.使用包含已知漏洞的组件: Struts2代码执行,Spring代码执行,JAVA反序列化,心脏滴血漏洞
10.未受保护的APIS: Web services,Login API,APP API,DB API ,Pay API
后渗透测试
后渗透测试一般也就是指代内网渗透,是当我们获取到外网服务器后(如web服务器,FTP服务器,Mail服务器等)的一定权限后,发现此服务器可直接或间接的访问内网,从而进一步对内网的服务以及各式设备进行漏洞的测试以获得最有价值的战果。
一般的渗透测试的项目在没有明确的说明及授权下,是不进行内网的渗透的!
内网渗透一定要在授权的情况下进行!
撰写报告
在渗透测试过程中,报告书写非常重要。报告是对渗透测试发现的漏洞和安全风险的总结,同时还提供了建议和推荐的修复措施。
报告应该准确地描述测试的范围、测试执行的步骤、测试期间使用的工具、发现的漏洞和安全风险、漏洞的严重性和建议的解决方案等信息。
渗透测试相关名词介绍
- Poc
全称”Proof of Concept”,中文“概念验证”,常指一段漏洞证明的代码。 - Exp
全称”Exploit”,中文“利用”,指利用系统漏洞进行攻击的动作。 - Payload
中文“有效载荷”,指成功exploit之后,真正在目标系统执行的代码或指令。
PoC是用来证明漏洞存在的,Exp是用来利用漏洞的,两者通常不是一类,或者说,PoC通常是无害的,Exp通常是有害的,有了PoC,才有Exp。
- 肉鸡
被黑客入侵并被长期驻扎的计算机或服务器。可以随意控制,可以是任意系统的设备,对象可以是企业,个人,政府等等所有单位。 - 抓鸡
利用使用量大的程序的漏洞,使用自动化方式获取肉鸡的行为。 - Webshell
通过Web入侵的一种脚本工具,可以据此对网站服务进行一定程度的控制。 - 木马
通过向服务端提交一句简短的代码,配合本地客户端实现webshell功能的木马。
<%eval request("pass")%>
<%execute(request("pass"))%>
request("pass")接收客户端提交的数据,pass为执行命令的参数值。
eval/execute 函数执行客户端命令的内容
- 提权
操作系统低权限的账户将自己提升为管理员权限使用的方法。 - 后门
黑客为了对主机进行长期的控制,在机器上种植的一段程序或留下的一个"入口"。 - 跳板
使用肉鸡IP来实施攻击其他目标,以便更好的隐藏自己的身份信息。 - 旁站入侵
即同服务器下的网站入侵,入侵之后可以通过提权跨目录等手段拿到目标网站的权限。常见的旁站查询工具有:WebRobot、御剑、明小子和web在线查询等 - C段入侵
即同C段下服务器入侵。如目标ip为192.168.180.253
入侵192.168.180.*
的任意一台机器,然后利用一些黑客工具嗅探获取在网络上传输的各种信息。常用的工具有:在windows下有Cain,在UNIX环境下有Sniffit, Snoop, Tcpdump, Dsniff 等。