红队笔记8-CTF5打靶流程-CMS漏洞-多用户信息泄露(vulnhub)

目录

开头:

1.主机发现和端口扫描:

2.80端口-NanoCMS哈希密码信息泄露-后台getshell

3.提权-用户过多信息泄露

4.总结:


开头:

学习的视频是哔哩哔哩红队笔记:

「红队笔记」靶机精讲:LAMPSecurityCTF5 - 标准攻击链,却处处需要细心,枚举和信息收集能力才是考验。_哔哩哔哩_bilibili

打靶时参考文章和本文借鉴文章:

红队打靶:LampSecurity:CTF5打靶思路详解(vulnhub)_lampsecurityctf5-CSDN博客

靶机下载链接见:

https://download.vulnhub.com/lampsecurity/ctf5.zip

1.主机发现和端口扫描:

参考链接nmap主机发现和端口扫描:渗透测试:主机发现和端口扫描的方法总结(nmap+arp-scan+ping命令+nc.traditional+伪设备连接)-CSDN博客

sudo nmap -sn 192.168.254.0/24  
sudo nmap -min-rate 10000 -p- 192.168.254.146
sudo nmap -sV -sT -O -p22,25,80,110,111,139,143,445,901,3306,52395 192.168.254.146   
sudo nmap -sU -p22,25,80,110,111,139,143,445,901,3306,52395 192.168.254.146
sudo nmap --script=vuln -p22,25,80,110,111,139,143,445,901,3306,52395 192.168.254.146

 通过nmap信息搜集,搜集以下信息:

1.存活端口:22 ssh  25 邮箱 80 http  110pop3(邮局协议的第3个版本,pop第一个版本) 111rpchind 139 netbios-ssn(NETBOS - SSN(网络基本输入输出系统) 143imap   445microsoft-ds    901samba-swat   3306mysql    52395 不知道

端口众多,但是常见的不多,在对其渗透过程中先对熟悉的端口入手

2.80端口-脚本扫描:

         1.枚举了一些目录

         2.CSRF

         3.sql注入

2.80端口-NanoCMS哈希密码信息泄露-后台getshell

80:

80端口web打开是这个样子的,先观察一下页面,查看源码(CMS),分析页面功能点(getshell),再目录爆破

跳转了一个博客,存在管理员登录

登录窗口,可以发现web是NanoCMS,接下来的思路就是登录后台,通过后台功能点getshell

看见登录窗口3点:

1.sql注入获得账号密码/登录窗口存在sql注入-万能密码

2.默认登录密码/弱口令

3.CMS漏洞

NanoCMS是一个CMS,看了一圈发现就管理员登录和CMS有点用,看看之前nmap扫描的漏洞能否利用,sqlmap没有扫描出来sql注入 ,信息泄露的目录我也看了,有暴露出一个网站还有phpadmin,尝试弱口令,网上搜索默认密码,目录爆破也没有发现什么有用的价值。

尝试使用searchsploit 搜索Nanocms的漏洞,看看是否存在对我们有用的漏洞

我们现在知道这个CMS,可以尝试搜索,虽然不知道版本号,但是这个cms应该是一个小众的cms 漏洞应该不是很多

sudo searchsploit nanocms

搜索不到有几点原因:

1.不存在漏洞

2.因为searchsploit 是基于 exploitd漏洞库,漏洞库没有集成就没有

3.searchsploit 是基于 exploitd漏洞库的,主要是国外漏洞,国内的比较少,该CMS是国内产品

使用工具搜索不到的时候,就上网搜索:

发现存在哈希密码信息泄露漏洞

这里就是漏洞利用点了,哈希密码泄露的点了

发现admin和哈希的密码 ,先判断是什么哈希算法

Hash-indentifier 9d2f75377ac0ab991d40c91fd27e52fd

MD5解密:

 账号密码 admin : shannon

登录成功

进入后台就是常规操作了,找能写入代码的点,文件上传的点,插件安装,

可以看见CMS后台存在,其中图片上传是我们的重点

但是我们发现了另一个,点击new page 可以编辑页面,上传页面后再page/目录下创建了一个PHP文件,这很符合我们的代码利用点,

接下来就是些一个带有反弹shell的新page

写入反弹shell,并访问shell

反弹成功

3.提权-用户过多信息泄露

ip aidwhoamiuname -a

 ip地址确定是我们的目标主机,我们初步立足点的用户 apache 是个功能性用户低权限,Linux kernel 版本 2.6.23 低版本存在内核漏洞

 当我们或者初步立足点后,必须看的一些主机信息,接下来就是提权了

Sudo -l 

但我们交互吧完整,缺少tty,使用python获得较好的交互

 没有用户密码无法查看sudo -l

cat /etc/passwd


只有我框住的地方有bash权限,这有挺多用户啊,但是我们又没有相关的密码
看看能不能看etc/shadow(但多半不能看,/etc/shadow文件通过只要root权限才能看)


 

又经过一系列的搜索,没发现特殊的信息,结合/etc/passwd中有Bash的用户有很多,很有可能其中的某个用户会在自己家目录中的文件里写入有关root的密码。我们在/home目录搜索一下包含'pass'字符串的文件有哪些,命令如下:

grep -R -i pass /home/* 2>/dev/null

该命令的含义是在/home/目录下递归搜索包含不区分大小写的字符串"pass"的文件,并将搜索结果输出到标准输出。命令的具体解释如下:

grep: 是一个用于在文件中搜索指定模式的命令。

-R: 表示递归搜索,将在指定目录及其子目录下搜索文件。

-i: 表示忽略大小写,在搜索时不区分大小写。

pass: 是要搜索的字符串模式。

/home/*: 搜索的目录路径,/home/表示在/home/目录下搜索,*表示搜索所有子目录和文件。

2>/dev/null: 将标准错误输出重定向到/dev/null设备,这样错误信息将被丢弃而不会显示在终端上。

 可以搜索出一些带有关键字的信息,一一筛选,其中第一个是被html标签里面的root password 可疑性很大,第二个是再log文件夹下的Root password 日志文件中的密码也有可能,依次查看一下

50$cent

欧克,不知道这个是不是root密码管他37 21试试就知道了

su root

 交互不完整,导致报错

python -c "import pty;pty.spawn('/bin/bash')"

 登录root成功

4.总结:

这次的靶场难度不高,但很需要经验,在提权过程中,把能有提权到尝试都去探索了一遍,发现都没有利用点,根据/etc/passwd文件下多用户bash的情况,很有可能有用户为了方便提权操作,会在自己的目录下存放有关提权的密码文件,我们正是利用了这一点,靶场总结:

1.主机发现和端口扫描:端口扫描,发现存活了大量端口,其他很多端口不熟悉,依旧选择从80端口入手

2.80端口:通过观察页面,发现是由NanoCMS搭建,存在后台登录窗口,根据想登录后台getshell的思路,寻找密码,最后在通过浏览器搜索到了NanoCMS的凭据泄露漏洞,成功登录后台。

3.NanoCMS后台getshell:后台存在很多利用的,包括文件上传,代码执行,我们通过new page功能,写入反弹shell,获得初步立足点

4.提权:由于观察/etc/passwd存在多bash用户,通过grep查询用户家目录下存放有关提权的密码文件

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

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

相关文章

ByteTrack多目标跟踪——yolox_model代码详解

文章目录 yolox_modelYOLOPAFPNYOLOXHeadmodel损失计算初步筛选SimOTA 求解 附:网络结构Cls headCls_convsCls_preds Reg headReg_convsReg_preds Obj headObj_preds yolox_model yolox_model主要包括以下几个文件:yolox.py、yolo_pafpn.py以及yolo_head.py train时…

[AIGC] MySQL存储引擎详解

MySQL 是一种颇受欢迎的开源关系型数据库系统,它的强大功能、灵活性和开放性赢得了用户们的广泛赞誉。在 MySQL 中,有一项特别重要的技术就是存储引擎。在本文中,我们将详细介绍什么是存储引擎,以及MySQL中常见的一些存储引擎。 文…

Android Databinding 使用教程

Android Databinding 使用教程 一、介绍 Android Databinding 是 Android Jetpack 的一部分,它允许你直接在 XML 布局文件中绑定 UI 组件到数据源。通过这种方式,你可以更简洁、更直观地更新 UI,而无需编写大量的 findViewById 和 setText/…

go env 命令详解

文章目录 1.简介2.格式3.示例4.环境变量参考文献 1.简介 go env 用于查看和设置 Go 环境变量。 默认情况下 go env 输出格式为 Shell 脚本格式(如 Windows 上是 batch 文件格式)。如果指定变量名称,则只输出变量的值。 2.格式 go env [-j…

MySQL 看库大表

MySQL 看库大表 在MySQL中查看数据库中的“大表”(即数据量大的表),主要是为了识别可能影响数据库性能的表。有几种方法可以帮助你找出这些表: 通过 INFORMATION_SCHEMA 数据库 MySQL的INFORMATION_SCHEMA数据库包含了数据库的元…

M芯片 mac配置Vulkan环境报错 Xcode

报错: Ignoring file ‘/usr/local/Cellar/glfw/3.3.4/lib/libglfw.3.3.dylib’: found architecture ‘x86_64’, required architecture ‘arm64’ Undefined symbols: Linker command failed with exit code 1 (use -v to see invocation) 解决:重新安…

linux 命令行下的计算器

!!! author 文章目录 1. echo 运算器, 推荐2. bc 计算器, 不推荐3. dc 计算器, 不推荐4. awk计算器. 推荐5. python. 推荐 1. echo 运算器, 推荐 限制是仅能在整数运算时使用 $ echo $((10534)) 70 优点,输入简洁, 支持运算表达式,支持16进制,10进制混合输入. 缺点,不支持浮点…

申请GeoTrust数字证书

GeoTrust介绍: 大家应该都不陌生,作为最老资格的一批国际大牌证书,GeoTrust的品牌效益和使用群体非常庞大。在数字证书领域也是当之无愧的龙头地位,作为Symantec和Digicert的子品牌,证书安全性能方面毋庸置疑&#xf…

IP SSL证书注册流程

使用IP地址申请SSL证书,需要用公网IP地址申请,申请之前确保直接的IP地址可以开放80或者443端口两者选择1个就好,端口不需要一直开放,只要认证的几分钟内开放就可以了,然后IP地址根目录可以上传txt文件。 IP SSL证书认…

搭建服务器 - 笔记

1 nginx web服务架构-CSDN博客 大型网站技术架构设计 百度安全验证 2.log分析 GitHub - compilelife/loginsight: loginsight致力于打造一款日志分析的利器 3 远程共享本地知识库 Linux CentOS系统Docker部署Wiki.js并实现远程共享本地知识库 百度安全验证 4 Python 编…

Codeforces Round 800 (Div. 1)C. Keshi in Search of AmShZ 反向dijkstra,并附带权值

Problem - C - Codeforces 目录 题意: 思路: 答疑: 1.为什么反向做呢? 2.为什么是到达点的剩余度数呢? 3.相同路是否可以去重,用个set? 4.如果有多条路相同呢? 参考代码&am…

【SecretFlow——SPU基础】

1.SPU基础 SPU设备在SecretFlow中负责执行MPC计算。 2.代码解读 2.1 创建设备 import secretflow as sf # 如果存在secretflow,先关闭已经存在的环境 sf.shutdown() # 初始化四个参与方 sf.init([alice, bob, carol, dave], addresslocal) # 寻找未占用的端口来…

【YOLOV5 入门】——detect.py简单解析模型检测基于torch.hub的检测方法

声明:笔记是毕设时根据B站博主视频学习时自己编写,请勿随意转载! 一、打开detect.py(文件解析) 打开上节桌面创建的yolov5-7.0文件夹里的detect.py文件(up主使用的是VScode,我这里使用pycharm…

使用vue根据表格内容生成Excel表格并下载

安装file-saver npm install file-saver -S 安装 xlsx npm install xlsx -S 按照element npm i element-ui -Smian里引入element import ElementUI from element-ui; import element-ui/lib/theme-chalk/index.css;在页面引入file-saver以及 xlsx import FileSaver …

NLP深入学习:结合源码详解 BERT 模型(三)

文章目录 1. 前言2. 预训练2.1 modeling.BertModel2.1.1 embedding_lookup2.1.2 embedding_postprocessor2.1.3 transformer_model 2.2 get_masked_lm_output2.3 get_next_sentence_output2.4 训练 3. 参考 1. 前言 前情提要: 《NLP深入学习:结合源码详…

PyQt5开发——QCheckBox 复选框用法与代码示例

1. 复选框 QCheckBox 是 Qt 框架中的一个控件,用于在界面中表示一个可以被选中或取消选中的复选框。它通常用于允许用户在多个选项之间进行选择。在 Python 中使用 PyQt 或 PySide 开发 GUI 应用程序时,可以使用 QCheckBox 控件来实现复选框。 2.基本用…

UML类图箭头表示含义:

UML类图箭头表示含义: uml图六种箭头的含义(泛化、实现、依赖、关联、聚合、组合)_组合和聚合的箭头-CSDN博客

[ Linux ] git工具的基本使用(仓库的构建,提交)

1.安装git yum install -y git 2.打开Gitee,创建你的远程仓库,根据提示初始化本地仓库(这里以我的仓库为例) 新建好仓库之后跟着网页的提示初始化便可以了 3.add、commit、push三板斧 git add . //add仓库新增(变…

python快速入门一

变量 定义一个变量并打印到控制台 message "Hello World!" print(message)控制台输出 Hello World!修改变量 message "Hello World!" print(message) message "Hello Python World!" print(message)控制台输出 Hello World! Hello Pytho…

企业数字化转型:聊聊数据思维!

笔者曾在《深入聊一聊企业数字化转型这个事儿》 一文中给出了数字化转型的定义,即:通过应用数字化技术来重塑企业的信息化环境和业务过程。本质上来讲,企业数字化转型,不仅是技术方面的升级,更是企业文化、思维方式的转…