Fractal pg walkthrough Easy
nmap
┌──(root㉿kali)-[~]
└─# nmap -p- -A 192.168.157.233
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-11-25 07:59 UTC
Nmap scan report for 192.168.157.233
Host is up (0.072s latency).
Not shown: 64513 closed tcp ports (reset), 1019 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
21/tcp open ftp ProFTPD
22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.5 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
| 3072 c1:99:4b:95:22:25:ed:0f:85:20:d3:63:b4:48:bb:cf (RSA)
| 256 0f:44:8b:ad:ad:95:b8:22:6a:f0:36:ac:19:d0:0e:f3 (ECDSA)
|_ 256 32:e1:2a:6c:cc:7c:e6:3e:23:f4:80:8d:33:ce:9b:3a (ED25519)
80/tcp open http Apache httpd 2.4.41 ((Ubuntu))
|_http-title: Welcome!
| http-robots.txt: 2 disallowed entries
|_/app_dev.php /app_dev.php/*
|_http-server-header: Apache/2.4.41 (Ubuntu)
Aggressive OS guesses: Linux 5.0 (92%), Linux 5.0 - 5.4 (92%), Linux 4.15 - 5.8 (89%), HP P2000 G3 NAS device (89%), Linux 5.3 - 5.4 (89%), Linux 2.6.32 (89%), Ubiquiti AirMax NanoStation WAP (Linux 2.6.32) (88%), Linux 5.0 - 5.5 (88%), Linux 5.1 (88%), Ubiquiti AirOS 5.5.9 (88%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 4 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
TRACEROUTE (using port 80/tcp)
HOP RTT ADDRESS
1 70.42 ms 192.168.45.1
2 70.27 ms 192.168.45.254
3 71.39 ms 192.168.251.1
4 71.81 ms 192.168.157.233
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 55.54 seconds
dirsearch
[08:00:35] Starting:
[08:00:37] 301 - 315B - /js -> http://192.168.157.233/js/
[08:00:41] 403 - 280B - /.ht_wsr.txt
[08:00:41] 403 - 280B - /.htaccess.bak1
[08:00:41] 403 - 280B - /.htaccess.orig
[08:00:41] 403 - 280B - /.htaccess.save
[08:00:41] 403 - 280B - /.htaccess.sample
[08:00:41] 403 - 280B - /.htaccess_extra
[08:00:41] 403 - 280B - /.htaccess_orig
[08:00:41] 403 - 280B - /.htaccess_sc
[08:00:41] 403 - 280B - /.htaccessOLD
[08:00:41] 403 - 280B - /.htaccessBAK
[08:00:41] 403 - 280B - /.htaccessOLD2
[08:00:41] 403 - 280B - /.htm
[08:00:41] 403 - 280B - /.html
[08:00:41] 403 - 280B - /.htpasswd_test
[08:00:41] 403 - 280B - /.httr-oauth
[08:00:41] 403 - 280B - /.htpasswds
[08:00:43] 403 - 280B - /.php
[08:00:47] 403 - 471B - /_fragment
[08:00:56] 301 - 312B - /app.php -> http://192.168.157.233/
[08:00:56] 200 - 9KB - /app_dev.php
[08:01:00] 403 - 46B - /config.php
[08:01:02] 301 - 316B - /css -> http://192.168.157.233/css/
[08:01:06] 200 - 6KB - /favicon.ico
[08:01:09] 301 - 316B - /img -> http://192.168.157.233/img/
[08:01:11] 404 - 277B - /javascript/tiny_mce
[08:01:11] 301 - 323B - /javascript -> http://192.168.157.233/javascript/
[08:01:11] 404 - 277B - /javascript/editors/fckeditor
[08:01:20] 301 - 323B - /phpmyadmin -> http://192.168.157.233/phpmyadmin/
[08:01:21] 404 - 277B - /phpmyadmin/ChangeLog
[08:01:21] 404 - 277B - /phpmyadmin/docs/html/index.html
[08:01:21] 404 - 277B - /phpmyadmin/scripts/setup.php
[08:01:21] 404 - 277B - /phpmyadmin/README
[08:01:21] 404 - 277B - /phpmyadmin/phpmyadmin/index.php
[08:01:21] 200 - 3KB - /phpmyadmin/doc/html/index.html
[08:01:22] 200 - 3KB - /phpmyadmin/index.php
[08:01:22] 200 - 3KB - /phpmyadmin/
[08:01:25] 200 - 85B - /robots.txt
[08:01:26] 403 - 280B - /server-status
[08:01:26] 403 - 280B - /server-status/

发现了cms的名称
我们在hacktrick上找到了这篇文章
https://infosecwriteups.com/how-i-was-able-to-find-multiple-vulnerabilities-of-a-symfony-web-framework-web-application-2b82cd5de144
通读这篇文章我们发现该网站是开启了debug模式 然后我们可以读取到配置文件

尝试过用这个密码以及用户名ssh登录 发现不行
那就是看看这个secret有啥用了
hacktricks第一篇文章告诉我们有了secret就能执行代码

通读完文章我大概知道逻辑了 当我们有了secret是这个secret加密后通过get方法作为的参数hash 来当做凭据
然后我们就可以指定调用php函数以及向该函数传参
但是我尝试构造出hash之后拼接文章里的payload发现不能调用到函数
估计是不同版本的secret加密逻辑不同 导致我的生成的hash是错误的
最后还是上网找到了exp
https://github.com/ambionics/symfony-exploits/blob/main/secret_fragment_exploit.py


成功执行代码
成功rce


接下来开始反弹shell环节


进入之后用之前我们读取到的用户名以及密码连接mysql看看里面有啥
database_user: symfony
database_password: symfony_db_password
服了啥也没有

想到前面我们nmap 扫到的proftp 没有用上
看看他的配置文件 一开始我也不知道有啥用 以为用户名和密码就是这个 但是就是连不上 然后就不会了
老规矩看wp

好吧我的pg靶场又出问题了
wp地址
https://al1z4deh.medium.com/proving-grounds-fractal-30d61cb72b6f
wp的数据库里面是有proftp这个库的但是咱们连这个库都没有
我看了一下具体过程
他的ftp登录用户是在mysql里创建的也就是说我们只有在mysql里面添加benoit 就能以他的身份登录ftp 而且登录的密码也是我们设置的
登录后上传ssh公钥
然后我们用kali 的id_rsa登录之后发现这个用户sudo 执行任何命令都可以
就直接提权了
我只能说太难了,难上天了我感觉pg 靶场的评分完全不合理 这个靶场在里面Easy难度 但是这个我觉得比Intermediate的大部分靶场都要难上不少
Fractal pg walkthrough Easy的更多相关文章
- [Windows Azure] Walkthrough to Configure System Center Management Pack for Windows Azure Fabric Preview for SCOM 2012 SP1 (with a MetricsHub Bonus)
The wait is finally over. This is a huge update to the Azure Management Pack over the one that was r ...
- 简析服务端通过GT导入SHP至PG的方法
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG ...
- PG 中 JSON 字段的应用
13 年发现 pg 有了 json 类型,便从 oracle 转 pg,几年下来也算比较熟稔了,总结几个有益的实践. 用途一:存储设计时无法预料的文档性的数据.比如,通常可以在人员表准备一个 json ...
- pg gem 安装(postgresql94)
使用下面命令安装报错 gem install pg 错误: [root@AS-test middle_database]# gem install pgBuilding native extensio ...
- 【转】Windows下使用libsvm中的grid.py和easy.py进行参数调优
libsvm中有进行参数调优的工具grid.py和easy.py可以使用,这些工具可以帮助我们选择更好的参数,减少自己参数选优带来的烦扰. 所需工具:libsvm.gnuplot 本机环境:Windo ...
- #pg学习#postgresql的安装
1.按照官网给的步骤编译安装(Mac安装是比较容易的,相比Liunx) cd /Users/renlipeng/Desktop/postgresql-9.5.1 ./configure --prefi ...
- Struts2 easy UI插件
一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tree([settings]); 常 ...
- Easy UI常用插件使用
一.easy UI是类似于jQuery UI的插件库,它提供了丰富的各种常用插件:tree.datagrid... tree插件: 语法:$(selector).tree([settings]); 常 ...
- PG 函数的易变性(Function Volatility Categories)
此概念的接触是在做分区表的时候碰到的,分区表按时间字段分区,在查询时当where条件中时间为now()或者current_time()等时是无法查询的,即使进行格式转换也不行,只有是时间格式如‘201 ...
- UVA-11991 Easy Problem from Rujia Liu?
Problem E Easy Problem from Rujia Liu? Though Rujia Liu usually sets hard problems for contests (for ...
随机推荐
- isObject:判断数据是不是引用类型的数据 (例如: arrays, functions, objects, regexes, new Number(0),以及 new String(''))
function isObject(value) { let type = typeof value; return value != null && (type == 'object ...
- 关于Air780E:与服务器的加密通信操作方法
今天我们来学习合宙低功耗4G模组Air780E快速入门之跟服务器之间的加密通信,伙伴们,一起学起来! 一.编写脚本 1.1 准备资料 Air780E开发板购买 Air780E开发板设计资料 Lua ...
- RMI原理及常见反序列化攻击手法
这是对网上一些文章和视频的再总结,可以参考以下资料,师傅们分析的都挺详细了,我这就是记录一下师傅们写的博客. 廖雪峰 - 给了简单的小例子,了解即可 B站视频(白师傅) 先知社区(小阳师傅) - 讲的 ...
- Git学习【1】 -- 基本常用命令
目录 1.设置用户名 2.设置用户邮箱 3.初始化文件夹 4.如何修改文件 5.如何删除文件 6. 远程github操作 7. 设置密码 安装完Git,如何玩呢?下面是一些初始化和初级的常用命令. 新 ...
- 从零打造基础HTTP服务器:揭秘背后的技术魔法-MiniTomcat
<从零打造基础HTTP服务器:揭秘背后的技术魔法-MiniTomcat> 嘿,各位技术发烧友们!今天咱们要一起踏上一段超级刺激的技术之旅,去揭开从零实现一个基础HTTP服务器的神秘面纱.这 ...
- 《前端运维》五、k8s--4机密信息存储与统一管理服务环境变量
一.储存机密信息 Secret 是 Kubernetes 内的一种资源类型,可以用它来存放一些机密信息(密码,token,密钥等).信息被存入后,我们可以使用挂载卷的方式挂载进我们的 Pod 内.当然 ...
- Qt在linux下实现程序编译后版本号自增的脚本
#! /bin/bash rm -rf temp.cpp num=0 while read line do if [ $num -eq 3 ];then array=(`echo $line | tr ...
- Pytest接口自动化测试框架Python自动化测试开发
一.引言 在软件开发过程中,接口测试是确保软件各个组件之间数据传输和功能交互正常工作的重要环节.通过接口测试,可以提高软件的整体质量和稳定性.Pytest是一个流行的Python自动化测试框架,提供了 ...
- Navicat连接Oracle数据库报错:oracle library is not loaded解决方法
连接Oracle时提示"oracle library is not loaded". 去Oracle官网下载Oracle Instant Client Downloads. htt ...
- R机器学习:重复抽样在机器学习模型建立过程中的地位理解
在做机器学习项目的时候,一开始我们会将数据集分为训练集和测试集,要记住测试集只能用一次,只能用来评估最终最好的模型.如果你反复去使用测试集,反复测试后从里面挑最好的,你就是在耍流氓. 建模过程中肯定有 ...