靶机18 driftingblues1

描述: __________

获取标志

难度:简单

1、下载靶场

靶机名称:driftingblues

下载地址:

DriftingBlues: 1 ~ VulnHub

2、安装靶场

以DC-1为例,将文件解压(一压缩包形式进行下载)。

打开虚拟机,选择解压好的文件导入虚拟机( vof 版本高于4.0,点击重试即可导入)

靶机18 driftingblues1_第1张图片

靶机18 driftingblues1_第2张图片

导入成功,开启此虚拟机( 当页面出现 driftingblues login 时表示安装成功)。

靶机18 driftingblues1_第3张图片

3、获取靶机的flag(两个flag)

前提:

1、已知kali的IP地址(ifconfig)

—— kali IP地址:192.168.108.129/24

2、driftingblues 和kali在同一网段 | 已知 driftingblues 所在的网段

—— driftingblues IP地址:192.168.108.162/24

信息收集

获取 driftingblues 的IP地址

命令:arp-scan -I eth0 -l

靶机18 driftingblues1_第4张图片

端口扫描

命令:nmap -sV -p- -O 192.168.108.162

//-sV:扫描系统版本和程序版本号检测,-p-:全端口扫描

靶机18 driftingblues1_第5张图片

获取信息如下:

端口号

服务

版本

22

ssh

OpenSSH 7.2p2 Ubuntu 4ubuntu2.10 (Ubuntu Linux; protocol 2.0)

80

http

Apache httpd 2.4.18 ((Ubuntu))

操作系统:OS details: Linux 4.15 - 5.6

访问80端口的web页面,查看源码发现了一个应该是base64加密的密文(L25vdGVmb3JraW5nZmlzaC50eHQ=)

靶机18 driftingblues1_第6张图片

密文:L25vdGVmb3JraW5nZmlzaC50eHQ=

解密:/noteforkingfish.txt

靶机18 driftingblues1_第7张图片

访问 /noteforkingfish.txt 文件之后发现还是一个跟明显的加密(ook加密)

靶机18 driftingblues1_第8张图片

ook解密:

my man, i know you are new but you should know how to use host file to reach our secret location. -eric

密文:

靶机18 driftingblues1_第9张图片

解密:

靶机18 driftingblues1_第10张图片

获得提示:eric(猜测是一个用户名),还提到了 host file(猜测是需要修改hosts文件,绑定域名)

目录扫描也没有什么发现,可能域名就在主页,在主页中找到一个可以域名,绑定之后进行子域名爆破

dirb http://192.168.108.162

靶机18 driftingblues1_第11张图片

结合首页中的疑似域名(driftingblues.box)修改hosts文件,尝试进行子域名爆破

靶机18 driftingblues1_第12张图片

绑定ip、域名

靶机18 driftingblues1_第13张图片

重新使用gobuster进行本地域名爆破,这里如果出现错误无法扫描成功的话,重启一下靶机,再把刚刚填写上的数据删掉,再填写一次,最后再次尝试即可解决问题

探测到一个子域名:test.driftingblues.box

靶机18 driftingblues1_第14张图片

直接访问不成功,将test.driftingblues.box再写入host再访问

写入之前:

靶机18 driftingblues1_第15张图片

写入之后:

靶机18 driftingblues1_第16张图片

靶机18 driftingblues1_第17张图片

进行目录爆破,得到两个目录地址(index.html、robots.txt)

dirb http://test.driftingblues.box

靶机18 driftingblues1_第18张图片

访问 robots.txt 文件,获得了新的目录地址:/ssh_cred.txt

靶机18 driftingblues1_第19张图片

访问 /ssh_cred.txt 地址(http://test.driftingblues.box/ssh_cred.txt)

根据提示信息可以知道 ssh 的登陆密码就是 1mw4ckyyucky 加一个数字,尝试制作密码字典和之前获取到的用户名(eric)对ssh进行暴力破解

靶机18 driftingblues1_第20张图片

九头蛇爆破ssh,成功跑出来一组账号密码(eric、1mw4ckyyucky6)

hydra -l eric -P Desktop/passwd1 ssh://192.168.108.162

靶机18 driftingblues1_第21张图片

使用该长啊后密码(eric、1mw4ckyyucky6)进行ssh登录之后在当前目录下获取到第一个flag(user.txt)

靶机18 driftingblues1_第22张图片

查看是否存在和sudo提权suid提权,没有太好的突破点

sudo -l

find / -perm -4000 2>/dev/null

靶机18 driftingblues1_第23张图片

查看是否有定时执行的计划任务或者备份文件

为了便于查看,给靶机上传一个 pspy64s 文件

靶机18 driftingblues1_第24张图片

执行pspy64s

靶机18 driftingblues1_第25张图片

可以看到 root用户每分钟都会执行一次 /var/backups/backup.sh 文件

靶机18 driftingblues1_第26张图片

研究一下 /var/backups/backup.sh 脚本文件,看看有没有提权的办法

脚本内容:

#!/bin/bash

/usr/bin/zip -r -0 /tmp/backup.zip /var/www/

/bin/chmod

#having a backdoor would be nice

sudo /tmp/emergency

靶机18 driftingblues1_第27张图片

查看发现脚本中最后一条命令(sudo /tmp/emergency)中执行的文件(/tmp/emergency)并不存在

靶机18 driftingblues1_第28张图片

提权思路:

创建一个 /tmp/emergency 文件,在root在执行 sudo /tmp/emergency 的时候完成提权

原理:将 eric用户加入 sudo组中(echo 'cp /bin/bash /tmp/getroot; chmod +s /tmp/getroot' > /tmp/emergency)

靶机18 driftingblues1_第29张图片

在 root用户 sudo 执行该文件之后成功提权,在 root用户的家目录下获取到第二个flag(root.txt)

靶机18 driftingblues1_第30张图片

你可能感兴趣的:(#,靶机,linux,服务器,安全,网络,网络协议)