Vulnhub实战-FALL靶机👻
Vulnhub实战-FULL靶机
下载地址:http://www.vulnhub.com/entry/digitalworldlocal-fall,726/
1.描述

通过描述我们可以知道这个靶机枚举比较多。
2.主机探测,端口扫描
- 主机探测
可以看到扫出主机IP为:192.168.33.60
nmap -sn 192.168.33.0/24 

- 接下来进行端口扫描,服务发现
 
nmaps -sS -p- -v 192.168.33.60

我们可以看到开启了22,80,139,443,445,3306,9090端口,这里端口一大部分都是障眼法噢,比如那个3306,不管了80端口开了,肯定有web服务了,先去看看再说。
3.web服务测试
- 访问IP打开看到一个页面,然后找找看看发现了这样一个页面:
 

这句话说让我们不要再用test脚本去污染webroot了,我没干。那既然有人干了,我们就去看看test.php在不在吧,访问http://192.168.33.60/test.php,得到如下提示:

提示:说我们的http参数错误
还记得一开始说的这个靶机枚举比较多嘛,这里我们爆破以下http参数吧,通过wfuzz(kali自带的)
不懂命令的可以看看这个教程:https://www.cnblogs.com/Xy--1/p/12913514.html
wfuzz -c -w /root/dictionary/fuzzDicts-master/paramDict/AllParam.txt --hh 80 --hc 404,403 -u "http://192.168.33.60/test.php?FUZZ=/etc/passwd" -t 60

可以看到我们成功爆出参数file了,通过file去访问一下看看:
http://192.168.33.60/test.php?file=/etc/passwd

我们看到了用户名qiu,然后这里接着就是通过ssh密钥登录ssh了。
ssh密钥登录的相关知识可以参考如下文章:https://wangdoc.com/ssh/key.html
我们这里通过file存在文件包含漏洞了,接下来我们看看默认的存在密钥的地方有没有私钥吧。
ssh密钥默认存放目录:
/home/用户名/.ssh/id_rsa         //rsa加密的私钥
/home/用户名/.ssh/id_rsa.pub     //rsa加密的公钥
/home/用户名/.ssh/id_dsa         //dsa加密的私钥
/home/用户名/.ssh/id_rsa.pub     //dsa加密的公钥
一般ssh加密算法就是rsa和dsa加密。以上都是ssh密钥的默认文件名和默认存放目录
接下来我们尝试读取以下发现了rsa加密的私钥:

我们把私钥文件下载到kali上面然后通过私钥登录ssh,通过私钥登录是不需要密码的,(当然你也可以设置要密码,默认不需要)
wget http://192.168.33.60/test.php?file=/home/qiu/.ssh/id_rsa -O id_rsa
ssh qiu@192.168.33.60 -i id_rsa

4.提权
成功登录ssh之后,我们发现当前用户是qiu,接下来我们想办法提权到root用户。
- 我们首先看看历史命令执行了什么,通过查看历史命令我们发现了当前用户的密码,然后我们看看能够以root权限执行什么命令,我们发现用户可以通过sudo执行所以命令,那么我们就能够通过qiu的密码去登录到root用户了。执行
sudo su命令成功切换到root用户。 
ls -al
cat .bash_history
sudo -l
sudo su


接下来读取proof.txt,先给它777权限在读取,得到flag!
个人总结:通过这篇文章我明白了ssh登录可以通过密钥登录,比密码登录更加安全,因为密码登录,弱密码存在被爆破的可能性,密码太难了又记不住。学到了!

Vulnhub实战-FALL靶机👻的更多相关文章
- 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实战-rtemis靶机👻
		
Vulnhub实战-rtemis靶机 下载地址:http://www.vulnhub.com/entry/r-temis-1,649/ 描述 通过描述我们知道这个靶机有两个flag 主机发现 通过nm ...
 - Vulnhub实战-dr4g0n b4ll靶机👻
		
Vulnhub实战-dr4g0n b4ll靶机 地址:http://www.vulnhub.com/entry/dr4g0n-b4ll-1,646/ 描述:这篇其实没有什么新奇的技巧,用到的提权方式就 ...
 - 【Vulnhub】DC-2靶机
		
Vulnhub DC-2 靶机 信息搜集 访问web端发现访问不了,可以观察到相应的URL为域名而不是IP,需要在hosts文件种添加一条DNS记录. host位置:C:\Windows\System ...
 - 3. 文件上传靶机实战(附靶机跟writeup)
		
upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs 运行环境 操作系统:推荐windows ...
 
随机推荐
- chrome插件开发学习(一)
			
两个不错的网址: 360chrome插件开发文档:http://open.chrome.360.cn/extension_dev/manifest.html 图灵 chrome插件开发于应用 电子书: ...
 - JDK7&JDK9处理异常新特性
			
1.JDK7新特性是在 try (定义对象,作用域就是try方法体) 复制一个文件实例: 复制文件的原理: 先从硬盘写出到内存中,创建文件输入流对象 FileInputStream fis; 中间是在 ...
 - weblogic漏洞分析之CVE-2017-3248 & CVE-2018-2628
			
CVE-2017-3248 & CVE-2018-2628 后面的漏洞就是2017-3248的绕过而已,所以poc都一样,只是使用的payload不同 本机开启JRMP服务端 ->利用T ...
 - 洛谷P1019——单词接龙(DFS暴力搜索)
			
https://www.luogu.org/problem/show?pid=1019#sub 题目描述 单词接龙是一个与我们经常玩的成语接龙相类似的游戏,现在我们已知一组单词,且给定一个开头的字母, ...
 - Php实现简易购物商城系统
			
实现功能: 1.系统功能模块包括: 1)登陆注册模块 包括验证码.找回密码.注册模块中要使用Ajax判断用户名是否已经存在,使用正则表达式判断电子邮件.手机号和用户密码的格式是否合法. 2)用户管理模 ...
 - PHP中的垃圾回收相关函数
			
之前我们已经学习过 PHP 中的引用计数以及垃圾回收机制的概念.这些内容非常偏理论,也是非常常见的面试内容.而今天介绍的则是具体的关于垃圾回收的一些功能函数.关于之前的两篇介绍文章,大家可以到文章底部 ...
 - 使用uView UI+UniApp开发微信小程序--判断用户是否登录并跳转
			
在<使用uView UI+UniApp开发微信小程序>的随笔中,介绍了基于uView UI+UniApp开发微信小程序的一些基础知识和准备工作,其中也大概介绍了一下基本的登录过程,本篇随笔 ...
 - Java基础系列(10)- 类型转换
			
类型转换 由于Java是强类型语言,所以要进行有些运算的时候,需要用到类型转换.运算中,不同类型的数据先转换为同一类型,然后进行运算. 低 ------------------------------ ...
 - Jmeter系列(11)- 自动化压力测试逻辑思路及例子
			
为什么需要进行自动化压力测试 手动逐步加压,需要人工改变并发数,还要等待.所有,我们完全可以制定好策略,让程序自动加压,自动等待,输出报告 实现思路 Jmeter脚本(.jmx文件)- 压测逻辑 Sh ...
 - three.js  纹理动画实现
			
需求: 1.使用一张长图.分别播放这张长图的不同位置 来达到动态内容的目的 解决方案: 1.纹理创建并指定重复方向:this.texture.wrapS = this.texture.wrapT = ...