运行环境

  • Virtualbox (二选一)
  • Vnware Workstation player

通关提示

  • fristi

设置

首先,我们在开始之前,我们按照作者的要求设置虚拟机的MAC地址

08:00:27:A5:A6:76

然后打开VM

发现靶机ip为 : 192.168.1.109

本次所选攻击机为kali ,ip为

对靶机进行服务探测:

nmap -sS -Pn -T4 -p 1-65535 192.168.1.109

既然只有一个端口,那就扫描再具体扫描80端口:

nmap -A -O -p 80 192.168.1.109

我们看到以下具体信息:
Apache httpd 2.2.15 ((CentOS) DAV/2 PHP/5.3.3)
http-robots.txt: 3 disallowed entries

现在我们浏览web服务

我们查看一下robots.txt,看一下目录结构

现在我们来尝试访问这些目录

就只出现这一张脸,顺便查看了一下源代码,事实证明并没有什么卵用,

我们用 御剑 扫一下目录:

我们访问一下这个/images 目录

感觉好鸡肋...不,鸡肋都算不上,没有思路了...

不过,当我们翻看主页面时,发现这么一段话:

"KEEP CALM AND DRINK FRISTI"

我们尝试一下 /fristi 这个目录....

真是众里寻他千百度,那人却在...眼前

话不多说,先扫个目录:

等等....我发现了一个上传页面!!!

emememem......我们看看其他的

看见了登陆框:

一波万能密码,弱口令操作....失败

查看源代码,发现两个注释:

看到一有一条信息,这是一个叫eezeepz的人留下来的。

那么那就有这种可能:他也许用eezeepz当做他的用户名或者密码。

再向下看。我们看到了一大块用base64编码的段落

base64解密一波:

发现是一个PNG的图片被base64编码了,这个时候我们还原图片

先保存为1.txt

然后在kali 命令行终端中输入:

base64 -d /1.txt > fristi.png

看起来像个密码,这样的话:
username : eezeepz

password : keKkeKKeKKeKkEkkEk

登陆尝试一下:

hahaha , 还有个上传页面:

这时候就直接上传shell ,比较牛逼的shell可以在这里下载:

http://pentestmonkey.net/tools/web-shells/php-reverse-shell

做一些必要的ip和端口修改

开启1234端口监听:

上后开始上传我们的shell

果然对文件上传做了限定...不过问题不大

我们直接在文件名后面加一个.jpg

上传php-reverse-shell.php.jpg

上传成功!我们来访问一下,顺便关注一下我们的端口监听:

我们已经接收到shell ,现在已经得到了一个低端权限

下面就是提权 ,我们看一下目录,有没有什么可以挖掘的东西:

在/home 目录下发现

马上看到关键人物eezeepz!
继续向前看

目录文件太多,最后发现了一个notes.txt

是 Jerry 写给 EZ(eezeepz)的信

这种东西...应该找百度翻译:

----------------------------------------------------
我让你做一些自动检查,但我只允许您访问/usr/bin /*系统二进制文件。但是复制一些额外需要的命令给我
homedir:chmod,df,cat,echo,ps,grep,egrep,所以你可以使用那些从/home/admin/
不要忘记为每个二进制指定完整的路径!
只需将一个名为“runthis”的文件放入/tmp/,每个行一个命令。这个输出到/tmp/文件中的“cronresult”。它应该使用我的帐户特权每分钟运行。

---------------------------------------------------

我们得到了提示,照着做就行了!
在/tmp下创建一个"runtis"文件

赋予权限:

现在我们可以阅读 /home/admin 下的内容了:

有几个文件。依次看一下

cryptpass.py


cryptepass.txt

whoisyourgodnow.txt

看样子应该是用了py文件去加密的。
我们重写一下文件:

解密试试:

分别得到:

1.mVGZ3O3omkJLmy2pcuTq :thisisalsopw123
2.=RFn0AKnlMHMPIzpyuTI0ITG :LetThereBeFristi!

这有可能是用户fristgod 的密码
我们换一下用户试试!

失败了....
查了一下网上是这样解释的:
跟 su 命令的实现有关; B环境上su的实现应该是判断标准输入是不是tty ; 而A环境上su的实现则允许从其他文件读取密码。
方法如下:

python -c 'import pty;pty.spawn("/bin/sh")'

接下来就可以正常使用了:

现在我们已经成功进入fristigod账户,ls试试:

没有东西...
-la 查看一下隐藏文件试试:

原来都藏起来了。。
到.secret_admin_stuff看看

继续 ls -la 查看具体信息

发现这个是个root的文件
权限应该是不够的

我们能回去看看history有没有一些线索

可以看到 “fristigod”用户一直sudo来执行命令

试试 sudo -l

让输入密码,上面我们得到了两个密码

呃。。。
再试试

成功了...居然是一个密码....好吧。

现在我们能用id 那么应该也可以创建一个shell

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

成功了。直接去看/root下的文件

得到flag

.

.

.

真是万分艰难...

12. CTF综合靶机渗透(五)的更多相关文章

  1. 22. CTF综合靶机渗透(十五)

    靶机说明: Game of Thrones Hacking CTF This is a challenge-game to measure your hacking skills. Set in Ga ...

  2. 21. CTF综合靶机渗透(十四)

    靶机说明: I created this machine to help others learn some basic CTF hacking strategies and some tools. ...

  3. 18. CTF综合靶机渗透(十一)

    靶机描述: SkyDog Con CTF 2016 - Catch Me If You Can 难度:初学者/中级 说明:CTF是虚拟机,在虚拟箱中工作效果最好.下载OVA文件打开虚拟框,然后选择文件 ...

  4. 17. CTF综合靶机渗透(十)

    靶机描述:欢迎来到超级马里奥主机!这个虚拟机是对真实世界场景场景的模拟.目标是在VM中找到2个标志.根是不够的(对不起!)VM可以以多种方式开发,但请记住枚举是关键.挑战的程度是中等的.感谢VDBAN ...

  5. 13. CTF综合靶机渗透(六)

    靶机说明 Breach1.0是一个难度为初级到中级的BooT2Root/CTF挑战. VM虚机配置有静态IP地址(192.168.110.140),需要将虚拟机网卡设置为host-only方式组网,并 ...

  6. 20. CTF综合靶机渗透(十三)

    靶机说明: Wellcome to "PwnLab: init", my first Boot2Root virtual machine. Meant to be easy, I ...

  7. 14. CTF综合靶机渗透(七)

    靶机说明 NinevehV0.3.7z是一个难度为初级到中级的BooT2Root/CTF挑战. VM虚机配置有静态IP地址(192.168.0.150) 目标 Boot to root:获得root权 ...

  8. 9. CTF综合靶机渗透(二)

    靶机说明 Welcome to the world of Acid. Fairy tails uses secret keys to open the magical doors. 欢迎来到酸的世界. ...

  9. 8. CTF综合靶机渗透(一)

    靶机说明 虚拟机难度中等,使用ubuntu(32位),其他软件包有: PHP apache MySQL 目标 Boot to root:从Web应用程序进入虚拟机,并获得root权限. 运行环境 靶机 ...

随机推荐

  1. Linux查看硬盘使用情况

    df df - report file system disk space usage df是查看文件系统磁盘使用情况的命令.如: # df -h Filesystem Size Used Avail ...

  2. 【DP】最长不下降子序列问题(二分)

    Description 给你一个长度为n的整数序列,按从左往右的顺序选择尽量多的数字并且满足这些数字不下降. Thinking 朴素dp算法:F[i]表示到第i位为止的最长不下降子序列长度 F[i]= ...

  3. Never Go Away

    Hey if you ever want to leave it allif you ever want to lose control leave it all escape so far away ...

  4. nginx rewrite标签配置以及用户认证配置

    一.nginx  rewrite标签 rewrite 实现URL的改写主要是实现伪静态 1.  rewrite指令语法 指令语法:rewrite regex replacement[flag] 默认值 ...

  5. shell 字符串操作

    赋值: str="i am vincen" 计算字符串长度: ${#str} 字符串截取: ${str:2} ${str:2:3} 从开头删除匹配的子串: ${str#" ...

  6. Python 变量(赋值,数据类型,数据类型转换)

    一.python 变量赋值方式有三种: 1.直接赋值:age = 28 2.多个变量赋值 age, sex = 28, 1  #每个变量都必须要有个对应的值 3.特殊形式的赋值(链式赋值)  a = ...

  7. TP里的关联查询

    $res = $db->join('b on a.ex_id = b.pe_eid')->select(); 注意:这里的表a.表b需要带表前缀

  8. python第四篇:linux命令行总结 + 自动备份Python程序

    由于最近需要学习Python爬虫相关的知识,所以就先从Python基础.Linux基础开始进行了学习,下面主要是总结了常见的Linux的命令行.最后为了巩固学到的东西,尝试写了个自动备份的Python ...

  9. 模拟RPG格斗

    三个英雄角色参与PK 每个英雄具有以下几个属性:生命值(为0时英雄倒下).攻击力(每次攻击时扣除对方的生命值点数).攻击间隔(每次攻击过后都要等待间隔时间才能进行下次攻击,首次攻击之前也要先等待间隔时 ...

  10. C++quickSort

    void QuickSort1(int *s,int left,int right){ int i,j,t,pivot; if(left>right) return; if(left<ri ...