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 ...
随机推荐
- 紫色飞猪的研发之旅--06go自定义状态码
在实际开发中,需要前后端需要协商状态码,状态码用于后端返前端时使用.在一个团队中,定义的状态码讲道理应该是一致的,项目开始的起始阶段状态码应该是定义了个七七八八的,随着功能的叠加而不断增加.此系列将围 ...
- golang context包
go context标准库 context包在Go1.7版本时加入到标准库中.其设计目标是给Golang提供一个标准接口来给其他任务发送取消信号和传递数据.其具体作用为: 可以通过context发送取 ...
- vue JS获取当前时间并格式化 ( 前端小细节,大进步 )
JS // 获取并且格式化时间 formatter (thistime, fmt) { let $this = new Date(thistime) let o = { ...
- MySQL——select语句
select: 基本语法:select 列名 或 * from 对象(表.视图...) where: = > < <> != like ----> like 'old%' ...
- Python - 面向对象编程 - __init__() 构造方法
什么是构造方法 在创建类时, 可手动添加一个 __init__() 方法,称为构造方法,这是一个实例方法 构造方法用于创建实例对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调 ...
- 如果还是看不懂container_of()函数,那算我输
在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀? 函数还可以这样定义 ...
- Windows 10 之 WSL 2
Windows Subsystem for Linux(WSL)无疑大大提升了Windows下程序开发的体验. WSL 2向开发者提供的完整的系统调用兼容,使得许多无法在WSL 1中安装的应用,如Do ...
- elementUI 表格 table 的表头错乱问题
页面中多组件开发时,如果页面中有表格的,table表格头出现表头错乱 // 全局设置1 body .el-table th.gutter{ 2 display: table-cell!importan ...
- PHP多文件上传格式化
文件上传是所有web应用中最常见的功能,而PHP实现这一功能也非常的简单,只需要前端设置表单的 enctype 值为 multipart/form-data 之后,我们就可以通过 $_FILES 获得 ...
- Shell系列(35)- for循环语法一简介及批量解压缩脚本
for循环语法一 for 变量 in 值1 值2 值3 - do 程序 done 例子 需求:批量解压缩 脚本: #!/bin/bash cd /root/publicls *.tar.gz > ...