渗透测试步骤与思路
一、信息收集
1、主机扫描
- 扫描某个网段内存在的主机
- 扫描主机开放端口和服务
- 扫描主机的操作系统和版本号
- 扫描主机可能存在的已知漏洞
2、web扫描
- 查询域名和子域名信息
- whois查询
- 扫描web应用的url路径
- 扫描web应用后台管理入口
- 常规漏洞扫描
3、功能分析
- 分析前台页面的登录注册功能
- 根据用户注册提示确定可用账号
- 尝试进行注册并登录,确认各项功能
- 确定前台页面的URL跳转,用户评论,文件引用,文件上传下载等强交互功能点
- 确定后台是否存在文件上传,查询功能,命令功能,系统配置
- 确定用户是否存在密码重置功能,确认是否存在逻辑漏洞
4、抓包分析
- 对前端页面源码进行分析,确认是否存在敏感信息或接口
- 对关键功能进行抓包分析,预判后台基本实现逻辑
- 对系统功能交互过程中的编码和加密进行分析,Base64,时间戳,Hash
- 对通信过程中的Session和Cookie进行分析,判断此处为什么要这么用
5、使用工具
- 主机扫描:Nmap,Nessus
- web扫描:Xray+rad,AWVS,APPscan,SQLmap,XSSstrike,dirb,御剑
- 在线收集:fofa,hunter,微步在线,等
二、漏洞利用
1、已知exp使用
根据信息收集的结果,直接网上寻找对应开发框架或CMS成熟漏洞利用工具
2、暴力破解
适用于验证码可绕过,使用字典。
3、逻辑漏洞
尤其密码重置很关键。七个方面:重置凭证接收端可篡改,重置凭证泄露,重置凭证未校验,重置凭证可爆破,用户混淆,应答中存在响应后续逻辑的状态参数,token可预测。在逻辑漏洞的寻找中,重点观察和你用户名有关的请求,尝试在各种请求中将你的用户名或身份认证替换成其他人。
4、JS泄露
一般内部系统的网站JS可能存在用户接口,我们可用通过接口发现用户信息。也可以分析JS源码,构造出后路径和参数逻辑。
5、后台web渗透
除了信息收集中有的上传功能(上传webshell),查询功能(sql注入),命令功能(命令注入),其他web安全漏洞最好根据功能逐一尝试。
6、代码审计
如果拿到源码,可以根据审计构造payload
7、使用到的工具
- 渗透测试:Hydra,Medusa,MSF,反序列化工具,各类专项工具
- 代码审计:RIPS,Fortify SCA
- shell管理:菜刀,冰蝎,蚁剑,哥斯拉,PSTool等
三、建立据点
1、反弹shell
漏洞利用成功后,通常会获得一个webshell,但是webshell虽然能执行命令和管理文件,但毕竟也不是一个真正的shell,而且不稳定,因此需要反弹shell到一个稳定的环境中
2、反弹shell过程中遇到的问题
反弹命令不存在,禁止出口流量,限定向外访问端口,流量审查
- 反弹命令不存在:命令有很多,常用命令有nc/nc.openbsd/nc.traditional,bash/sh/dash,python/perl/php/ruby,因此命令不存在的概率很小,在服务器上使用where is nc bash php perl python ruby就能知道命令是否存在
- 禁止出口流量:某些目标在防火墙上限制了出口流量,禁止目标主动向外发起请求,可以通过带外的方式进行验证。大概逻辑是,攻击者在自己的VPS上检测某种协议的网络请求,在目标上用这种协议访问VPS,若在VPS上看到该协议的请求日志,则可推断出目标允许出口流量
- 限定向外访问端口:某些目标限定访问外部端口,常见有黑名单和白名单的方式。黑名单:禁止目标向外访问MSF默认的4444端口。白名单:只允许向外访问web常见的80端口。黑名单的情况好绕过,随便指定一个端口就好了,白名单的话只能探测可允许的端口,常见是80,443,需要想办法利用
- 流量审查:目标环境会对流量进行检查,检查时会发现流量的恶意代码。可以使用ssl加密防止流量审查
3、确认环境制作木马
- 确认具体的操作系统和版本安装的服务,可以允许的脚本环境,可以通过的端口
- 根据当前环境,按照需要制作复杂木马,甚至想办法保持连接的稳定,不被防火墙和管理员发现和封锁
4、使用的工具
MSF、CS
四、权限提升和内网渗透
1、权限提升
Webshell中90%都是www-data权限,需要想办法提升到root权限。可以用的方法有
- 内核栈溢出
- 搜寻配置文件中的明文密码
- 环境变量劫持高权限程序
- 不安全的服务
- 借助权能
- sudo误配
- SUID滥用
2、权限维持
3、内网穿透
在后渗透阶段,攻击一台目标主机远远不够,还需要通过内网横向来完成对核心目标的访问和渗透,此时通过内网穿透保持一个可靠的连接,随时可以通过内网穿透能能进入目标主机。需要规避防火墙和杀毒软件
4、内网渗透
5、使用的工具
- 权限提升:MSF,漏扫,各类专项渗透工具
- 内网渗透:CS,ladon,PStools
- 内网穿透:Frp,冰蝎,CS,代理