Narak

靶场下载

https://download.vulnhub.com/ha/narak.ova

信息收集

# nmap -sn 192.168.1.0/24 -oN live.nmap                            
Starting Nmap 7.94 ( https://nmap.org ) at 2023-12-09 22:18 CST
Nmap scan report for 192.168.1.1 (192.168.1.1)
Host is up (0.00022s latency).
MAC Address: 00:50:56:C0:00:08 (VMware)
Nmap scan report for 0bcc61d9e6ea39148e78c7c68571e53 (192.168.1.2)
Host is up (0.00012s latency).
MAC Address: 00:50:56:FE:B1:6F (VMware)
Nmap scan report for 192.168.1.66 (192.168.1.66)
Host is up (0.00030s latency).
MAC Address: 00:0C:29:C9:0F:6C (VMware)
Nmap scan report for 192.168.1.254 (192.168.1.254)
Host is up (0.00040s latency).
MAC Address: 00:50:56:F8:00:71 (VMware)
Nmap scan report for 192.168.1.60 (192.168.1.60)
Host is up.
Nmap done: 256 IP addresses (5 hosts up) scanned in 1.99 seconds

存活主机IP地址为:192.168.1.66

# nmap -sT --min-rate 10000 -p- 192.168.1.66 -oN port.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2023-12-09 22:19 CST
Nmap scan report for 192.168.1.66 (192.168.1.66)
Host is up (0.00044s 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:C9:0F:6C (VMware)Nmap done: 1 IP address (1 host up) scanned in 3.41 seconds

端口只开放了22 80端口,优先级还是在80端口上

# nmap -sT -sC -sV -O -p80,22 192.168.1.66 -oN details.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2023-12-09 22:19 CST
Nmap scan report for 192.168.1.66 (192.168.1.66)
Host is up (0.00060s latency).PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 71:bd:59:2d:22:1e:b3:6b:4f:06:bf:83:e1:cc:92:43 (RSA)
|   256 f8:ec:45:84:7f:29:33:b2:8d:fc:7d:07:28:93:31:b0 (ECDSA)
|_  256 d0:94:36:96:04:80:33:10:40:68:32:21:cb:ae:68:f9 (ED25519)
80/tcp open  http    Apache httpd 2.4.29 ((Ubuntu))
|_http-server-header: Apache/2.4.29 (Ubuntu)
|_http-title: HA: NARAK
MAC Address: 00:0C:29:C9:0F:6C (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: 1 IP address (1 host up) scanned in 8.22 seconds

服务版本信息探测之后,发现是Apache起的服务,版本为2.4.29 操作系统是ubuntu 没什么其他的信息了。

# nmap -sT --script=vuln -p22,80 192.168.1.66 -oN vuln.nmap
Starting Nmap 7.94 ( https://nmap.org ) at 2023-12-09 22:19 CST
Pre-scan script results:
| broadcast-avahi-dos: 
|   Discovered hosts:
|     224.0.0.251
|   After NULL UDP avahi packet DoS (CVE-2011-1002).
|_  Hosts are all up (not vulnerable).
Nmap scan report for 192.168.1.66 (192.168.1.66)
Host is up (0.00048s latency).PORT   STATE SERVICE
22/tcp open  ssh
80/tcp open  http
| http-csrf: 
| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.1.66
|   Found the following possible CSRF vulnerabilities: 
|     
|     Path: http://192.168.1.66:80/
|     Form id: 
|_    Form action: images/666.jpg
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
|_http-dombased-xss: Couldn't find any DOM based XSS.
| http-internal-ip-disclosure: 
|_  Internal IP Leaked: 127.0.0.1
| http-enum: 
|   /images/: Potentially interesting directory w/ listing on 'apache/2.4.29 (ubuntu)'
|_  /webdav/: Potentially interesting folder (401 Unauthorized)
MAC Address: 00:0C:29:C9:0F:6C (VMware)Nmap done: 1 IP address (1 host up) scanned in 55.20 seconds

默认漏洞脚本探测结果:可能存在csrf漏洞,这个是优先级靠后的,泄露内网IP;两个目录:images 和w

ebdav

渗透测试

还是先从80端口上,开始看:

这里点击了“Do Not Click”!

出现了如上的图片,也没得到什么信息~ 由于之前的信息收集拿到了一个目录,去看一下,同时做一下目录的爆破:

整个目录扫描过程也没有发现什么新的路径,尝试访问webdav路径。

存在账号和密码~ 尝试找一下webdav的弱口令!

账号密码均为jigsaw,但是此处登陆失败了~

后来看到这个hacking articles,于是我就点了进去,看看是否有相关的文章,不出意外:

找到了一篇关于webdav的渗透测试文章~

该文章利用hydra进行的爆破,但是我们没有账号和密码。一个都没有,所以我们尝试先将账号的范围缩小一下:整个网站只有index中的about是有内容的,里面还有相关的人名和地名,所以就从中挑选出来几个:

密码使用了自己的字典~ 但是没成功~

密码可能不对,利用cewl进行网站的关键字爬取作为字典,再次进行爆破尝试:

成功拿到了账号和密码~ 进行登录:

又是这种目录,利用OPTIONS请求方式,查看是否可以上传文件!当然也可以看下上面的那篇文章!也是利用这种方式,通过PUT方式进行上传文件!

文章说是利用davtest进行文件的上传!使用davtest进行扫描:

davtest -url http://192.168.1.66/webdab/ -auth yamdoot:Swarg

经过测试发现是可以上传php文件的。文章提到上传文件的方式有很多,可以利用put的方式上传文件,当然也可以利用cadaver文件进行上传文件:

利用cadaver进行文件上传~

上传后在攻击机上起监听,同时点击反弹shell文件,进行触发:

提权

上来之后 提升shell的交互性!安装了python3!

查看/etc/passwd目录下面的用户,发现了三个活跃用户:

查看了各个用户家目录下面的文件,在inferno用户家目录下面发现第一个flag!

查看网站目录下是否存在提示性文件:

说是在creds.txt文件中存在开启 narak用户的提示!利用find命令查找creds文件!

find / -name "creds*" 2>/dev/null

找到文件中所说的文件,查看一下:

发现疑似base64 编码的字符串!尝试base64解码

还是这个账号和密码~ 难道能用ssh直接登陆吗? 或者说narak的密码就是这个? 这里尝试了 其实都不对的~ 在上面的/mnt目录下还发现了一个文件 hell.sh hell-地狱

查看这个文件的内容:

发现下面存在一行奇奇怪怪的字符,是被brainfuck加密的。如下是解密网站:

Brainfuck/Ook! Obfuscation/Encoding [splitbrain.org]

解密之后 又得到了一个字符,这个应该是密码了吧。这里尝试了三个用户的登录,最终在inferno用户成功登录了。之后便是提权阶段,这里看了好多,没打出来,于是看了大佬们的wp。是MOTD提权。于是便去了解了一下MOTD提权!

MOTD提权

MOTD全称为 message of the day!

当我们通过ssh登录成功的时候,我们如果留意的话,我们会发现输出的那些欢迎信息和日期等等,如果这些输出以上信息的脚本是以root权限运行的

并且我们当前这个用户对这些文件具有可读可写的权限的话,那么我们可以在这些sh脚本文件中写入修改root密码的命令,当我们再次通过ssh登录当前的这个用户的时候,那么会以root权限去执行这些文件,换句话说我们写入的命令也就被执行了!此时我们只需要 切换root用户,使用我们修改后的密码登陆即可!

find / -type f -user root -perm -ug=x,o=w -exec ls -l '{}' \; 2>/dev/null

查看/etc/update-motd.d/00-header文件,这个文件一般就是打印输出欢迎信息的脚本文件:

因此我们在下面添加修改root用户密码的命令:

echo 'root:123456' | chpasswd

将上面的整个命令添加到文件的末尾行!然后使用ssh 登陆当前的用户!最后在切换用户即可!

退出ssh,重新登录当前用户!使用修改后的密码,进行登录!

查看root目录下面的flag文件!

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

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

相关文章

【模型训练】声音克隆

【模型训练】声音克隆

AI智能视界,视频监控技术的革新与突破

智能视频监控概述 TSINGSEE青犀智能监控系统是通过摄像头采集视频数据,经过压缩技术处理后传输至服务器,再由服务器进行存储和管理并汇聚到EasyCVR视频融合平台之中,进行统一的分发处理。采用先进的视频压缩技术,确保视频质量&am…

锂电池基础知识及管理方式总结

这两天在排查一个锂电池无法充电的问题,用的是电池管理芯片BQ25713,网上相关的资料也很少,查看数据手册时,里面也有很多术语参数等不是很理解,所以,在此对锂电池的基础知识做个简单的总结,方面后…

react中的setState是同步还是异步

setState 只在合成事件和钩子函数中是“异步”的,在原生事件和 setTimeout 中都是同步的。 合成事件:就是react 在组件中的onClick等都是属于它自定义的合成事件 原生事件:比如通过addeventListener添加的,dom中的原生事件 setS…

如何通过控制台排查定位EasyCore?

过去当数据库出现了问题,我们只能通过日志去查看问题,可能是数据库有了重启、主节点发生了漂移或查询语句太复杂,这一整套逻辑走下来只能winsen, karel。 我们经常说数据库负载过高,请求很多,但我们却不能直接告诉哪个…

python常见代码用法

1.result [[]] * n 和 result [[] for _ in range(n)] 辨析 n 3 result [[]] * nprint(result) # 输出:[[], # [], # []]print(result[0] is result[1] is result[2]) # 输出:True* 运算符进行复制,这些空列表实际…

MacOS系统使用ESP8266(CP2102)开发板

开发板实物 连接开发板到macos 终端输入lsusb查看,开发板硬件成功识别 打开Arduino IDE并选择开发板 开发板连接成功 编译代码 上传成功 打开串口监视器,按一下RST键,可看到WIFI名输出及WIFI的IP输出 WIFI热点功能启用

Ray使用备注

Ray使用备注 框架介绍 Ray是一种python分布式任务调度框架其支持 无状态的任务并发执行,也支持 有状态的任务按照一定顺序执行其支持 分布式调度器,在一个节点上创建的任务先给本节点的局部调度器,并让本节点自己处理,当资源不够时,再将任务发给全局调度器供其他节点处理其支…

Python 自动化之修理PDF文件(二)

PDF文件_合并与拆分PDF文档Pro版本 文章目录 PDF文件_合并与拆分PDF文档Pro版本前言一、要做成什么样子二、主要用到的函数三、基本思路1.引入库2.创建用户输入模块3.确定主框架 四、文档合并代码模块1.用户输入和函数调用2.引导用户输入文档信息3.合并文档内容4.命名新文档生成…

CMake 构建指南:如何提高 C-C++ 项目的可维护性

如果您是一位 C/C 开发人员,那么您一定知道在编写和维护大型项目时所面临的挑战。这些项目通常包含大量的源代码、库和依赖项,需要耗费大量的时间和精力才能构建和维护。在这种情况下,使用自动化工具可以大大减轻您的负担,提高项目…

传输层协议:TCP协议和UDP协议

文章目录 传输层协议:TCP协议和UDP协议一、TCP协议介绍(面向连接,稳定,慢)1、TCP特性2、TCP报文格式3、TCP三次握手4、TCP四次挥手5、常用的TCP端口号及其功能 二、UDP协议介绍(无连接,不稳定&a…

【ET8】4.ET8入门-ECS解析

ECS ECS组件生命周期 参考连接 ⼀种类ECS设计范式的介绍 3.3一切皆实体 4.1组件式设计 【ET框架课程】04-Entity&Component&System_哔哩哔哩_bilibili 【ET框架课程】05-ECS组件生命周期_哔哩哔哩_bilibili

深度学习学习顺序梳理

https://www.bilibili.com/video/BV1to4y1G7xq/?spm_id_from333.999.0.0&vd_source9607a6d9d829b667f8f0ccaaaa142fcb 1.吴恩达机器学习课程 已学完,时间较久了,后续可以重新听一遍,整理一下笔记 2. 白板推导读西瓜书 统计学习方法看…

GitHub入门命令介绍

GitHub是当今最受欢迎的代码托管平台之一,它提供了强大的版本控制和协作功能。 对于初学者来说,熟悉GitHub的基本命令非常重要。下面介绍一些常用的GitHub命令。 一、安装Git 1. Windows系统:在Windows上使用GitHub之前,您需要先…

FS基础概念

verto webrtc的信令 1000-1019 默认20个用户 密码1234 健全用户名和用户用户名一样都是1000 cd FS make samples 执行后会在/usr/local/下建立freeswitch目录,并且只会放入conf htdocs和这两个目录下的所有文档,并且不会编译出freeswitch和fs_cli。 /usr/local/freeswitch/b…

选择流量回溯分析系统的关键因素

在网络安全和性能优化的背景下,选择适用的流量回溯分析系统变得至关重要。这些系统帮助组织深入了解网络流量,追踪异常行为,并提供关键的信息以加强网络安全。本文将介绍选择流量回溯分析系统时需要考虑的关键因素,以帮助组织做出…

微信小程序、uniapp仿网易云UImusic播放器(附源码)

一、uni-app框架介绍 1.什么是 uni-app uni-app 是一个使用vue的语法 微信小程序的标签和API的跨平台前端框架,开发者编写一套代码,可编译到iOS、Android、H5、小程序等多个平台,几乎覆盖所有流量端。 uni-app 具有跨端数量更多、性能体验…

Python去除字符串中空格(删除指定字符)的3种方法

str 提供了如下常用的方法来删除空白: strip():删除字符串前后的空白。 lstrip():删除字符串前面(左边)的空白。 rstrip():删除字符串后面(右边)的空白。 需要说明的是&#xff…

【数据结构】贪心算法

一.贪心算法的定义 贪心算法是指在对问题求解时,总是做出在当前看来是最好的选择。也就是说,不从整体最优上加以考虑,只做出在某种意义上的局部最优解。 贪心算法的结果是最优解的最好近似。 优点:简单,高效。 缺点&…

关于 python 的 if __name__ == ‘__main__‘ 你知道多少?

在诸多情况下,当我们在编写一个Python测试脚本或是Java转型而来的程序员们,往往偏爱撰写 if name __main__ 的语句。然而,对于 if name __main__,我们究竟了解多少呢? 首先,这是一条判断语句&#xff0c…