Vulnhub:bassamCTF

靶机下载地址

信息收集

主机发现

扫描攻击机同网段存活主机。

nmap 192.168.31.0/24 -Pn -T4

靶机ip:192.168.31.165

端口扫描

nmap 192.168.31.165 -A -p- -T4

开放端口22,80。

网站信息收集

访问80端口的http服务。首页是空白页面,F12检查页面得到隐藏信息bassam,ctf,大概是域名?

向/etc/hosts添加一条主机名和ip地址的映射,添加成功后重启网络服务确保更改生效。

vim /etc/hosts
# 添加一条映射关系
192.168.31.165  bassam.ctf
# 保存后,重启网络服务
sudo systemctl restart networking

访问bassam.ctf,是个人博客的项目,没有其他提示,卡住了,去跑了一遍目录扫描,没有收获。是不是还存在其他子域名,对应着其他项目。

wfuzz爆破子域名

字典位置是: /usr/share/amass/wordlists/

wfuzz -w subdomains-top1mil-110000.txt -u http://192.168.31.165/ -H "Host:FUZZ.bassam.ctf" --hw 3

welcome.bassam.ctf。修改主机名和IP的映射关系,别忘了重启网络服务。

访问http://welcome.bassam.ctf,得到提示open your eyes

welcome.bassam.ctf目录扫描
gobuster dir -u http://welcome.bassam.ctf/ -w directory-list-2.3-medium.txt -x html,php,js,jpg,png,txt

扫描出三个路径,其中config.php是空页面。

访问index.php,可以下载文件。经过测试能下载当前项目根目录下的文件,即上面扫出来的三个文件。config.php有内容,并非空文件。

config.php,得到一组用户名密码test:test123。

渗透

ssh登录

ssh服务开启,test:test123,尝试远程登录ssh服务。

ssh test@192.168.31.165
# 获得交互式shell
python3 -c 'import pty;pty.spawn("/bin/bash")'

拿到shell后进行一些信息收集。有三个用户,分别是bassam,kira,test。

/home/bassam下,可执行文件down.sh,是通过curl访问并通过bash执行script.sh。属主是root,可能与提权有关。

/home/kira下,可执行文件test.sh。

test家目录内容:

.bash_history是每个用户的主目录下,用于记录用户执行过的历史命令的隐藏文件。通过查看/home/test/.bash_history得知上一次注销test账号之前使用的命令,查看了MySecretPassword文件。(补充知识:history命令和~/.bash_history的区别是,只有当前shell关闭时才会将内容写入到~/.bash_history中,而history是随时记录的。

locate命令定位MySecretPassword文件,发现命令不生效,只能一个个文件夹找。在找MySecretPassword文件的过程中发现另一个可疑文件夹PassProgram

该文件夹下,加密程序和解密程序。

并告诉了用法,对文件进行解密。

/var/www/ctf/MySecretPassword,/var/www下就是部署的三个项目。

查看MySecretPassword发现没有显示,但是文件大小不是0。file [filename]看一下文件类型,MySecretPassword: ASCII text,文本文件。

开启简易http服务,方便将MySecretPassword下载到本地查看,发现想简单了,修改后缀名为txt也看不到内容。

用PassProgram下的解密程序,切换到PassProgram目录。

./decoder /var/www/ctf/MySecretPassword

疑似kira用户的密码kira2003

提权

切换到kira用户,kira:kira2003,sudo -l提权。可以以bassam身份执行test.sh从而获得bassam的bash。

sudo -u bassam ./test.sh bash

成功。

还有down.sh,执行看一下结果。提示http://mywebsite.test不可达,因为靶机/etc/hosts下这个主机名的映射ip。

解决http://mywebsite.test不可达的问题,将http://mywebsite.test映射ip改成攻击机ip。

准备script.sh。

当前目录开启简易http服务,注意指定端口为80。

python3 -m http.server 80

bassam窗口执行sudo ./down.sh,攻击机另开一个终端nc监听端口。成功获得root权限。🎆

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

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

相关文章

关于打不开SOAMANAGER如何解决

参考文章:https://blog.csdn.net/yannickdann/article/details/115396035 打开SE93

15_分布式数据结构

菜鸟: 老鸟,我最近在处理大量数据的时候遇到了瓶颈,单台服务器的内存和计算能力都不够用了。你知道有什么方法可以解决这个问题吗? 老鸟: 嗯,这种情况很常见。你可以考虑使用分布式数据结构。听说过吗&a…

ARM base instruction -- blr

BLR Branch with Link to Register calls a subroutine at an address in a register, setting register X30 to PC4. 带寄存器链接的分支在寄存器中的某个地址调用一个子程序&#xff0c;将寄存器 X30 (lr) 设置为 PC4。 BLR <Xn> BLR 跳转到reg内容地址&#xff0c;…

Django创建模型

1、根据创建好应用模块 python manage.py startapp tests 2、在models文件里创建模型 from django.db import modelsfrom book.models import User# Create your models here. class Tests(models.Model):STATUS_CHOICES ((0, 启用),(1, 停用),# 更多状态...)add_time mode…

大模型训练数据库Common Crawl

Common Crawl介绍 ‌‌Common Crawl是一个非营利组织&#xff0c;致力于通过大规模分布式爬虫系统定期抓取整个Web并将其存储在一个可公开访问的数据库中。Common Crawl的数据收集和处理过程包括使用Python开源爬虫工具收集全球范围内的网站数据&#xff0c;并将其上传到‌Com…

人工智能(AI)领域各方向顶会和顶刊

在人工智能&#xff08;AI&#xff09;这个快速发展的领域&#xff0c;研究人员和从业者需要紧跟最新的研究动态和技术进展。顶级的会议和期刊是获取最新科研成果和交流思想的重要平台。以下是人工智能领域内不同方向的顶级会议和期刊概览。 顶级会议 人工智能基础与综合 A…

基于Python的自然语言处理系列(5):窗口分类器用于命名实体识别(NER)

在本系列的第五篇文章中&#xff0c;我们将探讨如何使用窗口分类器进行命名实体识别&#xff08;NER&#xff09;。NER是信息提取中的关键任务&#xff0c;旨在从文本中识别出特定类型的实体&#xff0c;如人名、地名、组织名等。我们将介绍窗口分类器的原理&#xff0c;并展示…

vm虚拟机中ubuntu连不上网络,网络图标消失解决办法

之前做实验调了下机子的网络配置&#xff0c;后面实验做完发现连不上网了&#xff0c;这个问题折磨了我一个多小时&#xff0c;最后终于解决了&#xff0c;记录下解决过程 1. 重启网络服务 有时候简单地重启网络服务就能解决问题&#xff08;我未能解决&#xff0c;可能和碰过…

Spring自定义注解

目录 一、interface 关键字 二、元注解 三、简单实现 四、使用切面执行自定义注解逻辑 1) 首先将刚才的注解修改成放在方法上的&#xff1a; 2) 定义一个切面类&#xff1a; 3&#xff09;将注解放入到接口方法中测试&#xff1a; 五、切点表达式 一、interface 关键字 …

ROADM(可重构光分插复用器)-介绍

1. 引用 https://zhuanlan.zhihu.com/p/163369296 https://zhuanlan.zhihu.com/p/521352954 https://zhuanlan.zhihu.com/p/91103069 https://zhuanlan.zhihu.com/p/50610236 术语&#xff1a; 英文缩写描述灰光模块彩光模块CWDM&#xff1a;Coarse Wave-Length Division …

嵌入式学习--linux系统提供的显示接口”framebuffer“

1.利用framebuffer绘制图像 宏定义 1.#define RGB888_FMT 32 2.#define RGB565_FMT 16 3.#include"utf.h" 函数接口主体 void draw_bmp(int x, int y, char *picname, int w, int h) {int fd open(picname, O_RDONLY);if (-1 fd){perror("fail open bmp&quo…

IT前端好用的工具集

在线抠图网站 https://www.remove.bg/ 将iconfont转成css显示 https://transfonter.org/ 免费的在线图片压缩 https://tinypng.com/ JSON在线格式化工具 https://www.sojson.com/ 国内人工智能kimi.moonshot工具 https://kimi.moonshot.cn/chat/crft7a6sdv14grouufs0 自动…

python之pyecharts制作可视化数据大屏

文章目录 前言一、安装 Pyecharts二、创建 Pyecharts 图表三、设计大屏布局四、实时数据更新五、部署和展示总结前言 使用 Pyecharts 制作可视化数据大屏是一个复杂但有趣的过程,因为 Pyecharts 本身是一个用于生成 Echarts 图表的 Python 库,而 Echarts 是由百度开发的一个…

CentOS系统内存突增简单分析

1. 实时监控内存使用 1.1 使用 free 命令 free 命令用于查看系统的整体内存使用情况: free -h输出示例: total used free shared buff/cache available Mem: 7.8G 2.1G 1.5G 112M 4.2G 5.4G Swap: …

Android生成Java AIDL

AIDL:Android Interface Definition Language AIDL是为了实现进程间通信而设计的Android接口语言 Android进程间通信有多种方式&#xff0c;Binder机制是其中最常见的一种 AIDL的本质就是基于对Binder的运用从而实现进程间通信 这篇博文从实战出发&#xff0c;用一个尽可能…

【深度学习】Pytorch基础

目录 梯度下降算法&#xff08;Gradient Descent&#xff09;代码实现 梯度下降算法&#xff08;Gradient Descent&#xff09; 梯度下降算法在机器学习中应用十分的广泛&#xff0c;不论是在线性回归还是Logistic回归中&#xff0c;它的主要目的是通过迭代找到目标函数的最小…

python-游戏自动化(三)(实战-豆腐女孩)

前提准备 特别注意&#xff1a; 本节教程所演示的模拟器分辨率设置为 720x1080&#xff08;手机版&#xff09;&#xff0c;电脑分辨率设置大720x1080并且没有设置放大。 今天的课程开始之前我们来回顾一下昨天所学的知识内容&#xff0c;因为今天要学的内容和昨天内容…

苹果能引领端侧AI大模型时代吗?

苹果能引领端侧AI时代吗&#xff1f; 这份完整版的大模型 AI 学习资料已经上传CSDN&#xff0c;朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】 北京时间9月10日凌晨&#xff0c;苹果正式发布了iPhone 16&#xff0c;这是苹果第一款真正意义上的 …

18. 如何在MyBatis中执行批量操作?批量操作的优点是什么?

批量操作通常指对数据库执行多条相同类型的SQL操作&#xff08;如插入、更新或删除&#xff09;&#xff0c;这在处理大数据量时非常常见。MyBatis 提供了多种方式来执行批量操作&#xff0c;常见的方式包括使用<foreach>标签和SqlSession的批量模式。 1. 使用<foreac…

网络安全(sql注入)

这里写目录标题 一. information_schema.tables 和 information_schema.schemata是information_schema数据库中的两张表1. information_schema.schemata2. information_schema.tables 二. 判断注入类型1. 判断数字型还是字符型注入2. 判断注入闭合是""还是 三. 判断表…