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