Vulnhub实战-FULL靶机

下载地址:http://www.vulnhub.com/entry/digitalworldlocal-fall,726/

1.描述

通过描述我们可以知道这个靶机枚举比较多。

2.主机探测,端口扫描

  1. 主机探测

    可以看到扫出主机IP为:192.168.33.60

    nmap -sn 192.168.33.0/24

  1. 接下来进行端口扫描,服务发现

nmaps -sS -p- -v 192.168.33.60

我们可以看到开启了22,80,139,443,445,3306,9090端口,这里端口一大部分都是障眼法噢,比如那个3306,不管了80端口开了,肯定有web服务了,先去看看再说。

3.web服务测试

  1. 访问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加密算法就是rsadsa加密。以上都是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用户。

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



接下来读取proof.txt,先给它777权限在读取,得到flag!

个人总结:通过这篇文章我明白了ssh登录可以通过密钥登录,比密码登录更加安全,因为密码登录,弱密码存在被爆破的可能性,密码太难了又记不住。学到了!


Vulnhub实战-FALL靶机👻的更多相关文章

  1. Vulnhub实战-JIS-CTF_VulnUpload靶机👻

    Vulnhub实战-JIS-CTF_VulnUpload靶机 下载地址:http://www.vulnhub.com/entry/jis-ctf-vulnupload,228/ 你可以从上面地址获取靶 ...

  2. Vulnhub实战-doubletrouble靶机👻

    Vulnhub实战-doubletrouble靶机 靶机下载地址:https://www.vulnhub.com/entry/doubletrouble-1,743/ 下载页面的ova格式文件导入vm ...

  3. Vulnhub实战-DockHole_1靶机👻

    Vulnhub实战-DockHole_1靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-1,724/ 1.描述 我们下载下来这个靶机然后在vmware中打 ...

  4. Vulnhub实战-Dockhole_2靶机👻

    Vulnhub实战-Dockhole_2靶机 靶机地址:https://www.vulnhub.com/entry/darkhole-2,740/ 1.描述 hint:让我们不要浪费时间在蛮力上面! ...

  5. Vulnhub实战-grotesque3靶机👻

    Vulnhub实战-grotesque3靶机 靶机地址:http://www.vulnhub.com/entry/grotesque-301,723/ 1.靶机描述 2.主机探测,端口扫描 我们在vm ...

  6. Vulnhub实战-rtemis靶机👻

    Vulnhub实战-rtemis靶机 下载地址:http://www.vulnhub.com/entry/r-temis-1,649/ 描述 通过描述我们知道这个靶机有两个flag 主机发现 通过nm ...

  7. Vulnhub实战-dr4g0n b4ll靶机👻

    Vulnhub实战-dr4g0n b4ll靶机 地址:http://www.vulnhub.com/entry/dr4g0n-b4ll-1,646/ 描述:这篇其实没有什么新奇的技巧,用到的提权方式就 ...

  8. 【Vulnhub】DC-2靶机

    Vulnhub DC-2 靶机 信息搜集 访问web端发现访问不了,可以观察到相应的URL为域名而不是IP,需要在hosts文件种添加一条DNS记录. host位置:C:\Windows\System ...

  9. 3. 文件上传靶机实战(附靶机跟writeup)

    upload-labs 一个帮你总结所有类型的上传漏洞的靶场 文件上传靶机下载地址:https://github.com/c0ny1/upload-labs   运行环境 操作系统:推荐windows ...

随机推荐

  1. 紫色飞猪的研发之旅--06go自定义状态码

    在实际开发中,需要前后端需要协商状态码,状态码用于后端返前端时使用.在一个团队中,定义的状态码讲道理应该是一致的,项目开始的起始阶段状态码应该是定义了个七七八八的,随着功能的叠加而不断增加.此系列将围 ...

  2. vue element-ui el-date-picker 数据可以更改,但是前端不显示的更改后的数据问题

    template: <el-form-item label="有效时间:" prop="validTime">                    ...

  3. 洛谷P3104 Counting Friends G 题解

    题目 [USACO14MAR]Counting Friends G 题解 这道题我们可以将 \((n+1)\) 个边依次去掉,然后分别判断去掉后是否能满足.注意到一点, \(n\) 个奶牛的朋友之和必 ...

  4. error: object file .git/objects/...

    cd .git find . -type f -empty -delete -print tail -n 2 .git/logs/refs/heads/master git show xxxx(版本号 ...

  5. AspectJ基于xml和基于注解

    一.基于xml 执行的切入点中具体方法有返回值,则方法结束会立即执行后置通知,然后再执行环绕通知的放行之后的代码: 2.连接点即所有可能的方法,切入点是正真被切的方法,连接点方法名: 其中,只有环绕通 ...

  6. Spring全自动AOP和项目加入jar包

    一.jar可以引进项目中,复制到路下后,要add as library,加载到工作空间中才能引入: 也jar包放在硬盘的项目目录外面,可以多个项目引入共用: 二.xml配置 1.aop全自动配置 2. ...

  7. 写了一年golang,来聊聊进程、线程与协程

    本文已收录 https://github.com/lkxiaolou/lkxiaolou 欢迎star. 进程 在早期的单任务计算机中,用户一次只能提交一个作业,独享系统的全部资源,同时也只能干一件事 ...

  8. 海量列式非关系数据库HBase 原理深入

    HBase读数据流程: 前置关键词描述: Block Cache :读缓存,缓存上一次读的数据,整个ReginServer只有一个 MemStore :写缓存,缓存上一次写的数据,每个Store有一个 ...

  9. Java Web下MySQL数据库的增删改查(一)

    以图书管理系统举例(jsp+servlet+bean) 1.数据库的连接 package db; import java.sql.Connection; import java.sql.DriverM ...

  10. uni-app开发基本知识点

    uni-app: 开始:必须要有一个根view结点. 外部文件引用方式的变化: js要require进来,变成了对象. <script> var util = require('../.. ...