靶机名称:Escalate_Linux: 1
难度:初级
从靶机的说明来看,这个靶机主要用来练习Linux提权,有超过12种的提权方法(靶机Toopo用到了4种。。。),那咱争取找到12种方法>_<
开机界面,没有告诉IP地址,需要自己发现。主机发现这一步我卡了很久,因为木有发现靶机。。。找了下原因,是虚拟机配置造成的,靶机是自动获取ip的,我的靶机在virtualbox上,kali在vm上,我是在网段上扫描的,结果这俩根本不在一个网段。。。
主机发现靶机ip:192.168.13.120,然后端口扫描:
再扫了下常见漏洞,没啥发现,进80看下:
好吧,还是没发现啥,那就扫下目录吧。嗯,没啥子发现就先扫一通再说。。。目前就会这么几招>_<。
扫到一个页面:http://192.168.13.120/shell.php
可以执行命令的话就可以考虑反弹shell,自己输了反弹shell的命令,没有成功,编码再试还是没成功。。百度了一下,可以用msf:
将msf生成的payload进行url编码,刚开始也木有成功,后来发现kali其实访问不了靶机的网站,将kali的虚拟机配置为桥接模式,反弹成功:
接下来尝试把LinEnum.sh传到靶机,user6不能vi,也不能upload,网上推荐用wget传:
执行一下LinEnum.sh(没有执行权限就先改下文件权限),执行之后出来的一堆信息。。其实我也看不懂>_<。。嗯,学习为主,不懂就搜。。
1.Mysql
LinEnum扫到有mysql,登录密码就是root...
发现mysql用户
用mysql用户登录,发现每个用户的登录密码,以及root密码,但是用root@12345这个密码登录不了。。。
2. SUID提权
有两个有执行权限的文件(也可以用这个命令找:find / -perm -u=s -type f)
/home/user3/shell
/home/user5/script
执行上面两个文件,都可以获得root权限:
3.破解root密码
root密码:12345(弱密码,但是这个靶机没开22端口,没法对root爆破),之前mysql发现的root密码是root@12345,跟实际密码不一致。。
4. 利用用户的SUDO权限获取root shell
修改每个用户密码,逐个检查:
输入:sudo vi进入vi,在输入:!sh后直接enter:
获得root权限:
用这个方法在kali上检验了下,成功666~
5.利用crontab
找到user4的一个以root权限执行的定时任务:
切换用户到user4,在autoscript.sh中写入反弹shell。我试了下原始的反弹shell,无效,再用网上的用msf生成的反弹shell,成功:
6. 在/etc/passwd加入root权限用户
切换到能编辑/etc/passwd的user7,添加一个用户zy,切换到zy,提权成功:
7.sudo su
user1可以su到root。关于免密sudo和su的设置,可参考这篇文章:https://www.jianshu.com/p/5d02428f313d
在kali上试了下(我的kali每次sudo都要输密码>_<),也可以的哈哈哈:
一共学习7种提权方法,虽然没有12种。。但是也够召唤神龙了~
最后,咱发现反弹shell很是稳定,从上班开到下班都没断过!不知道是不是因为都跑在一台机器上。。