系统入侵与提权

系统入侵与提权

一、信息搜集

1. 主机扫描

(1)扫描某个网段内存在的主机
(2)扫描主机开放的端口和服务
(3)扫描主机的操作系统和版本号
(4)扫描主机可能存在的已知漏洞

2. Web扫描

(1)查询域名和子域名信息
(2)查询whoid信息
(3)扫描Web应用的URL路径
(4)扫描Web应用后台管理入口
(5)规漏洞扫描

3. 功能分析

(1)分析前台页面的登录注册功能
(2)根据用户注册提示确定可用账号
(3)尝试进行注册并登录,确认各项功能
(4)确定前台页面的URL跳转、用户评论、文件引用、文件上传、文件下载等强交互功能点
(5)确定后台是否存在文件上传、查询功能、命令功能、系统配置等
(6)确定用户是否存在密码重置功能,确认是否存在逻辑漏洞

4. 抓包分析

(1)对前端页面的源代码进行分析,确认是否存在敏感信息或接口
(2)对关键功能进行抓包分析,预判后台基本实现逻辑
(3)对系统功能交互过程的编码和加密进行分析,如是否使用Base64编码、时间戳、Hash加密
(4)对通信过程的Session和Cookie进行分析,判断为什么此处要这么用

5. 使用的工具

(1)主机扫描: NMap、Nessus
(2)Web扫描: XRay+Rad、AVWS、AppScan、SQLMap、XSStrike、dirb、御剑等
(3)在线搜集: zoomeye.org、fofa.so、shodan.io、微步、域名注册商如万网等

二, 漏洞利用

1. 已知exp使用

根据信息搜集结果,直接网上寻找对应开发框架或CMS的成熟漏洞利用工具,如struts2的全家桶。

2. 暴力破解

适用于验证码可绕过,使用top1000等各类字典,也可以根据搜集到的密码规则匹配相应账号使用hashcat自行创建字典,
burpsuite的暴力破解模块也提供了多样化的字典生成功能,或使用专有工具如 Hydra, SNetCracker等,或根据业务需要自己编写Python脚本。

3. 逻辑漏洞

尤其是密码重置,很关键,根据经验来看,至少可从七个方面攻击密码找回功能:
重置凭证接收端可改、重置凭证泄漏、重置凭证未校验、重置凭证可暴破、用户混淆、应中存在影响后续逻辑的状态参数、token 可预测。
在逻辑漏洞的分析中,重点观察跟你用户名有关的请求,尝试在各种请求中将你的用户名或身份认证替换成他人的。

4. JS信息泄露

一般内部系统的网站JS可能会存有用户接口,我们可以通过接口发现用户信息。也可以分析js的代码,构造出后台路径和参数逻辑。

5. 后台WEB漏洞

除了在信息搜集中提到的上传功能(上传webshell) 、查询功能(Sql注入)、命令功能(命令注入)外,其他web安全漏洞都最好根据功能逐一尝试。

6. 代码审计

如果拿到源码,可以根据审计结果构造payload

7. 使用到的工具:

(1)渗透测试: Hydra,Medusa、MetaSploit Framework(MSF)、反序列化工具、各类专项工具
(2)代码审计: RIPS、Fortify SCA
(3)Shell管理: 菜刀、冰蝎、蚁剑、哥斯拉、PSTool等

三、建立据点

1. 反弹shell

漏洞利用成功时,通常会在目标机上获得一个webshel,但是webshel虽然执行金今和管理文件,但些章不是真正的shel,而目也不稳定,因此就需要反弹shell到一个稳定的环境中。

2. 反弹shell时候可能遇到的问题

反弹命令不存在、禁止出口流量、限定向外访问端口、流量审查

(1)反弹命令不存在: 命令有很多,常用命今有nc/n.openbsd/nc.traditional、bash/sh/dash、python/perl/PHP/ruby、exec,因此命令不存在的概率很小;在服务器上使用whereis nc bash php perl python ruby 就能知道命令是否存在

(2)禁止出口流量:某些标在防火墙上限制了出口流量,禁止目标主动向外发起网络请求,可以通过带外(0ut Of Band) 的方式讲行验证。大致逻辑是,在攻击者自己的 VPS 上监测某种协议的网络请求,在标上用这种协议访问 VPS,若在 VPS 上看到该协议的请求日志,则可推断出目标允许出口流量;

(3)限定向外访问端口:某些目标限定访问外部端口,常见黑名单和白名单两种方式,黑名单,比如,禁止目标机器向外访问 MSF 默认的 4444端口;白名单,比如,只允许向外访问 we 常见的 80 端口。黑名单的情况好绕过,随便指定一个端口号就行,白名单的话就只能探测可允许端口,常见就是80和443,需要想办法利用。

(4)流量审查:目标环境会对所有流量进行检查,检查的时候会发现流量中的恶意代码信息。这种情况可以结合上面的443端口,使用攻击者的VPS创建Ss 证书公钥/私钥对,VPS开启openss 听,然后使用openss 对反弹she的流量进行加,这样就能防止流量审查反弹成功。

3. 确认环境并制作木马

(1)确认具体的操作系统版本和已经安装的服务,可以运行的脚本环境,可以通过的端口等(具体根据权限而定)
(2)根据当前环境,按照需要制作复杂木马,甚至想办法保持连接的稳定,不被防火墙和管理员发现和封锁等

4. 使用的工具:

MetaSploit Framework、Cobalt Strike等

四、权限提升和内网渗透

1. 权限提升

Webshell中的90%都是www-data权限,需要想尽办法提升至root权限,可以用的办法有利用内核栈溢出提权、搜寻配置文件中的明文密码、环境变量劫持高权限程序、不安全的服务、借助权能(POSIX capabilities) 提权、Sudo 误配、SUID 滥用等等。
这些可以查阅网上相关资料和方法,下载对应的exp完成。

2. 权限维持

在获取了超级管理员权限后,还得想办法要将权限维持住

3. 内网穿透

在后渗透阶段,攻击进入一台目标主机是远远不够的,还需要通过内网横向移动来完成对核心目标的访问和渗透,此时通过内网穿透保持个可靠连接,随时可以通过穿透功能进入目标主机。这一过程同样需要注意如何规避防病毒软件或防火墙的发现。

4. 内网渗透

当能够保持超级管理员的权限并进行维持后,此时便可以开展内网渗透工作,整体过程与外网渗透比较类似,但是面临的实际情况并不完全一样,需要借助各类工具和经验进行处理。作为渗透测试的工作而非红方攻击来说,内网渗透并非最必要的一步,但是可以一试,进一步确定目标主机的漏洞及影响范围。

5. 使用的工具

(1)权限提升: MSF、漏扫、各类专项渗透工具等
(2)内网渗透: Cobalt Strike、Ladon、PSTools等
(3)内网穿透: Frp、冰蝎、Cobalt Strike、代理等

你可能感兴趣的:(渗透测试-入侵提权,渗透测试)