实验环境,kali主机IP:172.17.17.131,Web服务器IP:172.17.17.104。(无其他信息可知)
一、获取Web服务器权限
1、测试Web服务器连通性。
2、nmap扫描Web服务器开放端口。(获取到IP后,通常情况下会打开浏览器访问服务或进行端口扫描)
3、浏览器访问Web网站,分析识别网站cms,以及版本号。
4、网络查找cms漏洞。(进行信息搜集,记录相关漏洞信息。一般会重点关注SQL注入、代码执行、文件包含等,之后进行测试)
5、经源码分析,该网站存在文件包含漏洞。
开始漏洞利用
6、打开msf,启用php反弹shell监听。
7、通过信息搜集,网站cms存在后台地址。
8、登录管理后台(搜索引擎可知后台默认用户名admin,密码admin)。
9、msf生成木马。
10、在管理后台添加频道上传文件,发现文件不符合要求。
11、修改木马后缀名。
12、添加频道重新上传文件,进行文件包含漏洞(信息搜集,如无相关信息,需进行代码审计,找到漏洞,并在本地进行复现,之后将复现成果移植到实际攻防中)
将生成的文件名,在频道模型使用文件包含漏洞
13、退出后台,并进入前台,可以在导航栏看到上传的文件,点击访问页面。
14、kali获得meterpreter。
15、查看是否可以利用SUID-find命令提权,不用上传脚本即可提权(之后进行提权,最简单的提权是内核提权)
16、find命令提权
17、读取敏感文件
18、进行密钥破解,后重新创建用户
19、查看root目录
二、获取内网Windows权限
1、ctrl+C退出meterperter
2、msf生成Windows攻击木马
3、修改木马名称(提高攻击成功率)
4、把木马放到网站根目录或网站前端能够调用的目录
kali启动http服务
重新获取Web服务器meterpreter
下载木马文件到web服务器根目录(由于url中文容易受到影响,因此直接复制粘贴kali http网址)
6、启动msf,开启Windows反弹shell监听
7、访问网站后台,通过友情链接的方式,将木马植入到网站中。友情链接可以通过两种url方式植入木马:网站外url和站内url
站外url
站内url(优先选择)
9、办公区域用户访问网站,下载木马程序
10、Windows用户运行木马文件,msf获得meterpreter,并查看系统信息和权限(通常情况会对木马文件进行免杀处理,木马隐藏,无文件操作)
11、对Windows系统进行UAC提权
12、查找域控(通过arp和dns确认域控IP)确定域控IP地址:192.168.80.102
13、进行端口转发,将Windows的所有流量转发到域控服务器中(隧道技术)(将本地的端口转发到域控服务器端口,怀疑域控服务器开放什么服务,做对应端口的转发。如果通过windows10,上传木马等操作容易被发现)
查看端口转发列表
14、远程连接服务器
首先尝试ssh远程连接服务器(确认DNS服务器是域控服务器还是linux搭建的服务器)
无法连接成功,因此猜测是Windows域控服务器,通过rdesktop远程连接
三、获取内网域控服务器权限
利用kiwi获取Windows10用户的NTLM
1、meterpreter进行进程迁移
2、加载kiwi,列出所有凭证
利用PTH哈希传递攻击拿到域控服务器权限
3、利用smb攻击模块,攻击域控服务器(RHOST、RPORT需要设置为kali主机IP和转发端口,域名通过windows10主机查询得出,LM设置为32个0)
4、通过域控服务器扫描内网其他机器
5、扫描其他网段(实际情况需要扫描整个网段)
四、获取内网DevOps服务器权限
通过添加路由的方法(由于portfwd在三层网络中使用不方便,因此采用添加路由的隧道技术)
1、获取当前机器所在的网段
2、添加目标内网的网段(删除指定的网段路由命令:run autoroute -d -s 192.168.100.0/24)
3、打印当前添加的路由表信息
通过添加路由的方式,可以实现多级代理。
多级代理下的隧道建立
4、将目标指定的内网网段路由添加到指定session上(为了确认操作,另外一种路由添加操作,删除路由命令:route remove 192.168.100.0 255.255.255.0 64)
打印路由信息
5、进行端口扫描,通过端口号可以判断生产主机开放了ssh服务
6、利用ssh爆破进行攻击(通常利用ssh账号爆破模块)
ssh账号爆破模块,需要制作字典
本次实验利用ssh登录模块(真实环境需要进行密码爆破),获取正确的ssh登录用户名和密码
7、登录生产主机
8、进行权限提升
首先查看内核版本
查看sudo版本
查看运维人员是否开启sudo免密登录(可以看出开启了sudo免密登录)
9、查找flag文件(实际渗透过程中,通过find查找一些配置文件或mysql服务等所在为止,或插入后门。穿透出来。连接VPS,以便后续的各种操作)
五、文件转移
1、进入根目录,查看目录
2、将文件转移到低权限用户文件中
3、查看系统是否存在python或python3
4、通过python3启动后端运行http
5、返回域控shell
6、通过poweshell将flag文件上传到域控服务器中(由于kali无法与生产服务器通信,因此需要经过域控服务器跳板机下载文件)
进入C盘根目录,查看根目录(方便查找文件)
将flag文件下载到域控服务器C盘根目录
7、返回meterpreter,从域控服务器(跳板机)下载flag文件到本地
查看本地flag文件
使用vscode更改编码打开flag文件