My-File-Server

 · 2020-10-10 · 次阅读


又是一个在公众号上看到的复现靶机。

就自己下载下来玩玩:下载地址:https://www.vulnhub.com/entry/my-file-server-1,432/

靶机启动后,打开kali.

先使用arp-scan -l探测一下ip:

image-20201010134528529

基本可以确定是132了。

一般靶机对于扫描什么的没做限制

直接nmap -A探测端口:

image-20201010134632102

比较有用的是开了21的ftp和445的smb以及80的web

由于目标是linux就不考虑永恒之蓝

使用kali的smbmap对其进行smb信息枚举

抄录:Smbmap允许用户枚举整个域中的samba共享驱动器。列出共享驱动器、驱动器权限,共享内容,上载/下载功能,文件名自动下载模式匹配,甚至执行远程命令。

用法:smbmap -H IP

image-20201010134956697

可以看到有一个smbdata具有读写权限,并且可以匿名访问:

接下来使用smbclient连接:

image-20201010135052304

使用ls列出目录,smb连接上来用法和ftp类似。

使用get直接下载:

get secure就下载到当前目录下了。

查看其中内容:

image-20201010135159981

发现存在smbuser/chauthtok用户修改了密码。

使用ssh直接连接:

ssh smbuser@192.168.37.132

image-20201010135339640

提示没有权限。应该需要私钥才可以。

接下来转战ftp。尝试使用smbuser/chauthtok登陆。结果提示密码不正确。

只要改方向了。打开web:

image-20201010135431495

没啥功能。扫下目录

有个readme.txt

image-20201010135459099s

看到这里我联想到了,ssh的smbuser用户修改了密码,但ftp也许没有修改,可能就是web这里给的密码。

回到kali尝试使用smbuser/rootroot1连接ftp:

image-20201010135609295

成功连接。

接下来需要做的就是用ftp进行传输文件来让我们能成功登陆ssh了。

首先想到的就是写ssh的key.

现在本地使用rsa方式生成密钥:

image-20201010140124244

然后复制到家目录。

不过再次之前需要了解目标的ssh-key存放路径:

image-20201010140400750

下载下来打开:

image-20201010140424421

可以看到是.ssh/authorized_keys

我们先在ftp中在smbuser用户目录下创建.ssh目录

接下来上传公钥到.ssh/authorized_keys目录下

image-20201010140750914

接下来再使用ssh连接:

image-20201010140836989

可以看到成功连接了。

image-20201010140852334

看了下id只有web权限,还很低。

接下来查看下内核版本:

uname -a

image-20201010140926005

3.10.0用脏牛提权。

使用ftp put传到/tmp目录下

然后回到smbuser连接的ssh处编译运行:

gcc dirty.c -o dirty lpthread

image-20201010143258099

可以看到有个dirty进程了。

./dirty运行脏牛脚本然后就可以设置root用户的密码了。

image-20201010143426038

最后su一下输入自己设置的密码如图所示就是root用户了。

有很多种脏牛脚本,有些是没有设置密码直接把当前用户变成root用户那种。

到此这个靶机就结束了。