My File Server: 1

靶机地址:https://www.vulnhub.com/entry/my-file-server-1,432/

靶机难度:初级

通过nmap获取靶机的ip地址:192.168.40.158

nmap -sP 192.168.40.*

 获取靶机端口,开放了http,ssh,ftp,smb等其他服务

nmap -sV -p- 192.168.40.158

访问80端口,没有明显的发现,扫描目录发现了readme.txt

 访问页面,直接给了密码

该靶机还开放了21端口,用ftp登录看一下有没有其他需要的信息,可以看到/pub/log有很多文件,但是无法下载

ftp 192.168.40.158

服务器还开放了smb服务,看一下smb服务有没有什么有用的信息。先用smbmap枚举目录名,只有smbdata有权限读写

登录smbdata,看到的文件和之前用ftp登录的文件差不多一致,比之前多了一个sshd_config

smbclient //192.168.40.158/smbdata

把文件get下来,在secure文件最后面找到用户和密码

 

尝试用ssh登录,但是需要密钥才能登录

貌似没啥想法了,回想一下之前ftp是匿名登录,现在已经有了用户名smbuser,而且一开始网页给了密码rootroot1。那么再尝试一下用ftp登录

成功登录,那么可以尝试伪造一对ssh的密钥,把公钥放到靶机上就可以实现免密登入

ssh-keygen -t rsa

 用ftp上传公钥到靶机上

mkdir ~/.ssh
put /root/.ssh/id_rsa.pub ~/.ssh/authorized_keys

再次尝试ssh登录,这次成功登录

 

下一步就是提权了,看一下内核版本

uname -a

 可以直接使用脏牛来进行提权

 

 将下载下来的脏牛用ftp上传到靶机的/tmp目录下

put /root/40616.c /tmp/dirty.c

 用gcc编译,然后执行脏牛,成功获取root权限

gcc -pthread dirty.c -o dirty -lcrypt

 

原文地址:https://www.cnblogs.com/gaonuoqi/p/13937223.html