前言
靶机地址:https://www.vulnhub.com/entry/goldeneye-1,240/
目标:root目录下flag.txt 文件
一、信息收集
安装完成靶机后,通过nmap扫描,找到靶机IP地址,开始我们的第一步
Nmap 扫描端口
-A: 一次扫描包含系统探测、版本探测、主机扫描
-p: 指定端口扫描
-sP 使用ping扫描,并打印出结果
-sS:半开放扫描(非3次握手的tcp扫描)
-sV: 版本检测 检测目标主机和端口上运行的软件版本
-A 综合扫描,包括系统探测,版本探测、脚本扫描、路由跟踪 综合扫描。比较慢
nmap扫描本网段存活IP 发现目标ip为192.168.16.132
端口扫描
发现80端口,运行apche中间件 尝试访问80端口 ,http://192.168.16.132:80
通过提示尝试访问/sev-home/目录
可登录界面,可是不知道密码,再次访问192.168.16.132,查看F12 网页源代码
发现两个静态界面 尝试访问
Terminal.js有提示 我们发现了账号密码
不过密码经过了HTML编码 ,解码后 账号:boris 密码:InvincibleHack3r
登陆后
查看源码,发现提示 翻译后:请记住,由于默默无闻的安全性非常有效,因此我们将pop3服务配置为在很高的非默认端口上运行…
源码最下面,有两个用户名
目前可以扫描到的端口为25 SMTP邮件 发送、 80 Apache端口、55006 ssl、 55007 pop3
Hydra 爆破一下口令 ,试试可不可以登陆pop3
-s :指定端口
-p 小写 指定密码破解
-P 大写 指定密码字典
-V/-v 显示详细过程
-L 指定用户字典
-l 指定用户
-o 指定结果输出到文件
kail下自带字典目录:/usr/share/wordlists/
通过hydra爆破pop3账号密码
第一个结果 账号Natalya 密码 bird
第二个结果 账号Boris 密码secret1!
通过nc 连接pop3端口 执行pop3命令
POP3 命令包括:
USER username 认证用户名
PASS password 认证密码认证,认证通过则状态转换
APOP name,digest 认可一种安全传输口令的办法,执行成功导致状态转换,请参见 RFC 1321 。
STAT 处理请求 server 回送邮箱统计资料,如邮件数、 邮件总字节数
UIDL n 处理 server 返回用于该指定邮件的唯一标识, 如果没有指定,返回所有的。
LIST n 处理 server 返回指定邮件的大小等
RETR n 处理 server 返回邮件的全部文本
DELE n 处理 server 标记删除,QUIT 命令执行时才真正删除
RSET 处理撤消所有的 DELE 命令
TOP n,m 处理 返回 n 号邮件的前 m 行内容,m 必须是自然数
NOOP 处理 server 返回一个肯定的响应
QUIT 希望结束会话。如果 server 处于"处理" 状态,则现在进入"更新"状态,删除那些标记成删除的邮件。如果 server 处于"认可"状态,则结束会话时 server 不进入"更新"状态 。
对两个账号中的5封邮件进行查看,发现在Natalya 用户下,有一份邮件有提示
邮件提示,通过在hosts文件下配置,目标主机的ip和域名
配置hosts文件,重启network服务,生效hosts文件
通过浏览器访问 http:severnaya-station.com/gnocertdir,根据邮件内容中账号密码登陆
发现管理员用户名:admin,小本本记下
继续分别查看菜单
发现另一个邮箱用户doak
尝试通过hydar爆破密码
继续nc登陆,查看内容,邮件中再次发现账号密码
进行登陆试试,发现文件
打开看看,文件提示有个图片有意思
访问该目录
下载图片
根据邮件提示查看图片内容,我们通过使用strings 查看jpg内容,发现base64编码
解析结果
尝试用密码登陆admin用户
xWinter1995x!
二、漏洞利用
登陆成功了,再找有没有可以上传sheel的地方,结果是我菜,没有找到
试试看,查询moodle 2.2.3漏洞 发现存在远程命令执行漏洞
使用MSF,看看有没有可以用的exp,查询存在可以利用的exploit
配置信息
执行,但是失败了
查看msf中这个exp源码,发现拼写引擎为PSpellShell,靶机系统界面默认是google spell,要将靶机系统上修改为PSpellShell
我们修改,激动的心,我们继续试试,结果还是失败
为什么说大树下面好乘凉,前人告诉我们,他们发现,因为这个靶场只能通过域名访问,但是rhosts参数在响应时,传输的为IP而不是域名,我们要配置vhosts参数,配置域名
成功!!!
转tty,python -c 'import pty; pty.spawn("/bin/bash")'
三、内核提权
内核版本和用户,发现linux 3.13.0-32内核,2014年的了 应该可以提权
在攻击机上开启12345端口,将文件上传到攻击机
远程控制靶机下载
靶机不支持gcc编译,将文件修改为cc可编译,,打开文件将下图处来本的gcc修改为cc即可
命令 cc -o exp1 a.c 编译a.c文件
完成编译,赋权限并执行二进制文件
提权成功,查看flag.txt
提示去/006-final/xvf7-flag/看看去