概述
2022年12月22日收到关于海洋网站及其内网PHPOA渗透测试的项目,本次渗透测试对检测出来的相应漏洞进行了仔细的分析和攻击,同时给出相应的安全加固建议。
风险评估
总体风险等级:高
描述:海洋网站存在文件包含漏洞,通过在某URL后写入一句话木马即可获得本网站的WebShell。PHPOA系统存在文件上传漏洞,通过构造上传地址,上传木马即可获得WebShell,有被黑客攻击的风险。
实验环境
Ø 2008 server-2:
Ø PHPstudy2014:Apache+PHP5.3
Ø Linux Centos 2.6.32
原理分析
文件包含基本原理分析
文件包含漏洞是在系统的源代码中使用了包含文件相关的函数,但是对于包含文件的类型没有经过严格的过滤,导致用户可以控制该函数,让其执行用户想要包含的文件。
文件上传基本原理分析
文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。这种攻击方式是最为直接和有效的,“文件上传”本身没有问题,有问题的是文件上传后,服务器怎么处理、解释文件。如果服务器的处理逻辑做的不够安全,则会导致严重的后果。
内网代理和端口转发
正向代理(Forward Proxy)
流程图:Lhost--》proxy--》Rhost
Lhost为了访问到Rhost,向proxy发送了一个请求并且指定目标是Rhost,然后proxy向Rhost转交请求并将获得的内容返回给Lhost,简单来说正向代理就是proxy代替了我们去访问Rhost。
反向代理(reverse proxy)
流程图:Lhost<--->proxy<--->firewall<--->Rhost
和正向代理相反(废话),Lhost只向proxy发送普通的请求,具体让他转到哪里,proxy自己判断,然后将返回的数据递交回来,这样的好处就是在某些防火墙只允许proxy数据进出的时候可以有效的进行穿透
端口转发是转发一个网络端口从一个网络节点到另一个网络节点的行为,其使一个外部用户从外部经过一个被激活的NAT路由器到达一个在私有内部IP地址(局域网内部)上的一个端口。
实验过程
信息收集
1.使用nmap和sqlmap查找目标设备端口和sql漏洞,未果。
2.登录目标网页,查找到海洋的CMS信息
3.利用搜索引擎找到该CMS漏洞。使用菜刀链接直接登录后台
渗透攻击
1.检查自己权限,发现是系统权限
2.创建用户
3.打开对方3389端口
4.使用远程登录,发现对方有防火墙设置
5.上传端口转发软件
6.进行端口转发
7.远程登录对方
设置内网代理
1.使用命令查看内网,发现还有其他的ip网段
2.设置内网代理,上传内网代理软件
3.运行程序,使用8888端口
4.使用proxifier进行代理
5.可以登录PHPOA
PHPOA渗透
1.通过搜索引擎查到PHPOA有文件上传漏洞,自己编写网页代码如下
2.使用自己编写的网页成功上传木马
3.成功拿到网站后台
渗透总结
安全加固建议
1.在编写网站源代码时能把代码敲全就尽量不要使用文件包含,否则及其容易存在文件包含漏洞。
2.上传文件的类型一定要进行严格的限制,不允许上传php类型的文件。
3.对服务器里的目录和文件尽量设置非管理员禁止查看的权限,为黑客提权增加难度。
4.网站管理员要提高警惕性,尽量将各种密码复杂度设置的高一些,对重要文件也要进行加密。
心得体会
拿到OA的webshell之后想进一步提权,但是面对linux系统上网找了一些资料,实验并没有成功,对于linux的提权还得加强学习。
在渗透攻击时,本来想获取对方物理机的管理员密码,但是从quarkspwdump上得到的hash值,解出来为空。并没有真正得到对方的管理员密码。因此创建了一个新的用户
因此作为一个渗透人员,需要多去搜集最新的工具和漏洞,原来在03上很实用的工具,在08的环境上就变得不成功了。