Vulnhub实战-dr4g0n b4ll靶机👻
Vulnhub实战-dr4g0n b4ll靶机
地址:http://www.vulnhub.com/entry/dr4g0n-b4ll-1,646/
描述:这篇其实没有什么新奇的技巧,用到的提权方式就是前面写过的linux通过PATH变量提权的文章:https://www.cnblogs.com/tzf1/p/15408386.html (大家可以去看看!)
这篇就简单过一下吧,没什么特别的技巧了!
1.描述

意思这是一个初级难度的靶机。
2.主机发现,端口探测
还是老样子,先是主机发现,然后扫扫端口看看服务。不出意外依然开发22,80端口
命令如下:
主机探测:
nmap -sn 192.168.33.0/24 (你所在的网段)
端口扫描:
nmap -sS -P- -v 192.168.33.174 (你扫出的靶机地址)

果然不出意外我们扫出了22,80端口,接下来看看web服务吧。
3.web服务发现
- 还是常规的访问ip看看页面,发现写七龙珠的,当然我也挺爱看七龙珠的,所以我把它读完了。但是没什么用,啥有用信息都没,打开源码看看,发现下面老长的一片空白,肯定有问题,拉到底看看果然一串编码。

猜想它是base64编码,解码看看,解码三次之后如下:DRAGON BALL
(没研究过编码,应该有大佬能一看看出来,唉到时候去看看各种编码特征,太菜了!到时候再补)
- 目录扫描吧,这里我就懒得扫了,拿几个常用的去试试,果然有robots.txt,内容如下:

又是一段base64,这个我能看出来,解码如下:you find the hidden dir,他说我们发现了一个隐藏目录,那毫无疑问应该就是刚刚那个编码了。copy到url后面访问得到如下页面:

看了看这个目录,secret.txt妈的看半天啥用没有,然后vulnhub目录里面有一个图片跟一个登录页面:

把图片下载下来解码,得到一个ssh密钥
下载命令:
wget http://192.168.33.174/DRAGON%20BALL/Vulnhub/aj.jpg (图片url)
解码命令:
stegseek aj.jpg /usr/share/wordlists/rockyou.txt -xf output
解码成功如下页面:

得到密钥了,接下来看看用户名是啥,我们可以在那个login.html登陆页面看到这样一句话:
WELCOME TO xmen

拿着用户名xmen 和密钥登录ssh
命令如下:ssh xmen@192.168.33.174 -i id_rsa
注意:
id_rsa 就是刚刚解密得到的output,改了个名字而已,然后还要注意id_rsa这个文件的权限必须是600,记得改一下权限。
登录ssh之后,发现当前用户是xmen,用户目录下面有一个local.txt,这个是第一个flag,还有一个script目录,打开看到两个文件,1.demo.c 2.shell


demo.c内容如下:

到这里看过前面那个linux通过PATH提权的文章的兄弟们应该都明白了吧。
简述一下:demo.c里面有一个ps参数,就跟我们在终端执行的cat,vim一样的,通过在/tmp目录新建一个ps文件,然后ps文件里面写入/bin/bash,再把tmp目录加到PATH环境变量的最前面,因为我们执行ps这个命令是在环境变量中从前往后找的,所以先找到我们自定义的ps,然后demo.c这个文件的拥有者是root,所以以root身份去执行/bin/bash这个命令,成功得到root权限了。
命令如下:
cd /tmp
touch ps
echo "/bin/bash" > ps
chmod 600 ps
echo $PATH
export PATH=/tmp:$PATH
echo $PATH
cd && cd /script
./shell
最后成功获取root权限,root文件夹下面有一个proof.txt,这就是第二个flag了。我们也成功提权到root权限了。结束了!


Vulnhub实战-dr4g0n b4ll靶机👻的更多相关文章
- Vulnhub实战-JIS-CTF_VulnUpload靶机👻
Vulnhub实战-JIS-CTF_VulnUpload靶机 下载地址:http://www.vulnhub.com/entry/jis-ctf-vulnupload,228/ 你可以从上面地址获取靶 ...
- Vulnhub实战-doubletrouble靶机👻
Vulnhub实战-doubletrouble靶机 靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/ 下载页面的ova格式文件导入vm ...
- Vulnhub实战-DockHole_1靶机👻
Vulnhub实战-DockHole_1靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-1,724/ 1.描述 我们下载下来这个靶机然后在vmware中打 ...
- Vulnhub实战-Dockhole_2靶机👻
Vulnhub实战-Dockhole_2靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-2,740/ 1.描述 hint:让我们不要浪费时间在蛮力上面! ...
- Vulnhub实战-grotesque3靶机👻
Vulnhub实战-grotesque3靶机 靶机地址:http://www.vulnhub.com/entry/grotesque-301,723/ 1.靶机描述 2.主机探测,端口扫描 我们在vm ...
- Vulnhub实战-FALL靶机👻
Vulnhub实战-FULL靶机 下载地址:http://www.vulnhub.com/entry/digitalworldlocal-fall,726/ 1.描述 通过描述我们可以知道这个靶机枚举 ...
- Vulnhub实战-rtemis靶机👻
Vulnhub实战-rtemis靶机 下载地址:http://www.vulnhub.com/entry/r-temis-1,649/ 描述 通过描述我们知道这个靶机有两个flag 主机发现 通过nm ...
- vulnhub之SP:Harrison靶机
下载地址:‘https://www.vulnhub.com/entry/sp-harrison,302/’ 环境:靶机放在virtualbox上运行,网卡模式 攻击机:kali Linux运行在VMw ...
- Vulnhub实战靶场:ME AND MY GIRLFRIEND: 1
一.环境搭建 1.官网下载连接:https://www.vulnhub.com/entry/me-and-my-girlfriend-1,409/ 2.下载之后,使用Oracle VM Virtual ...
随机推荐
- 【转】Linux 查看端口占用情况
Linux 查看端口占用情况可以使用 lsof 和 netstat 命令. lsof lsof(list open files)是一个列出当前系统打开文件的工具. lsof 查看端口占用语法格式: l ...
- python多继承简单方法
class people(object): #建创一个人类 def __init__(self,name,age): self.name = name self.age = age def eat(s ...
- sql语句异常向数据库插入数据报错
在php编程向数据库插入数据时报如下错误: [Err] 1064 - You have an error in your SQL syntax; check the manual that corre ...
- CentOS8部署tftp
tftp:简单文本传输协议,而ftp:文本传输协议.可以把tftp看成是ftp的精简版.tftp用于免登录传输小文件,tftp服务端监听在udp协议的69端口tftp简单的工作原理: tftp服务端与 ...
- Elasticsearch2.4.6版本 在linux 命令行 对数据的增删改操作
一._cluster系列:查询设置集群状态 1.设置集群状态 curl -XGET 10.68.120.167:9204/_cluster/health?pretty=true pretty=true ...
- windows 安装zip 压缩
* 到sourceforge上下载 zip-3.0-bin.zip https://sourceforge.net/projects/gnuwin32/files/zip/3.0/zip-3.0-bi ...
- Java 知识点 列表
* Java SE Java开发基础 Java异常处理 Java泛型与反射 Java IO基础 JUnit单元测试 Java多线程开发 Maven基础 https://www.yiibai.com/ ...
- Jenkins持续交付实战演练
jenkins web hook机制 运行jenkins任务触发方式: 主动运行 定时构建 就算代码库没有更新,也会构建. 通过代码库主动触发Jenkins的构建任务 jenkins向外暴露一个触发器 ...
- 虚拟机安装配置centos7
安装 https://blog.csdn.net/babyxue/article/details/80970526 主机环境预设 更换国内yum源 epel源 https://www.cnblogs. ...
- mybatis中#{}与${}取值的区别
1. 首先对于一个接口 Employee getEmpByIdAndName(@Param("id") Integer id,@Param("empName") ...