新手渗透测试训练营——提权 – 作者:DigApis

       在前面的文章中,介绍过了端口转发和获取shell的方法。但是在实际的渗透的过程中,获取shell之后,就可以进一步实施主动或被动的攻击吗?也不是的!获得shell后,通过whoami获取当前用户名。当前shell具备管理员权限,当前最好了,可以直接进行下一步的渗透。但是,如果只有普通用户权限,就要先想办法提权,提权之后再继续后续操作。

        什么是提权呢?顾名思义,就是提高自己在服务器中的权限。在我们拿到一个shell时,可能是管理员权限,也<>可能只有普通用户的权限。当我们得到一个低权限的shell时,需要进行进一步操作,即提权。想要提权就需要进行信息收集。我们需要了解这个shell的主机是做什么的,我们拥有什么样的权限,面对的是怎样一个系统等。通过一些简单地信息收集,可以对我们面对得环境,作出系统的评估。根据系统中存在的缺陷进行提权。

       今天这篇文章,介绍一种目前还在使用的提权方式。

Linux提权操作

      在linux系统中,会以systerm权限执行定时任务。所以在获得shell后,可以利用定时任务以systerm权限执行某些命令。Corntab是LINUX和UNIX操作系统中的命令,用于设置周期性执行的指令。该命令可以读取标准输入设备中的指令,并将其存放在“crontab”文件中。通过设置crontab命令,可以在间隔固定时间,执行指定的系统指令或执行脚本。

定时任务提权

1.通过nc获得shell,查看一下当前获取是的用户,当前用户并不具有管理员权限。

图片3.png

2.由于当前权限有限,我们不能执行创建或修改文件的命令。这时考虑提权,进行下一步操作。

图片5.png

3.检查是否安装corntab,显示“no crontab for root”或者是没有回显,则证明,系统中有安装corntab。目的主机正好有安装crontab,考虑一下,如何通过定时任务获得root权限?

图片4.png

4.通过cat /etc/crontab命令查看crontab文件。可以看到crontab中有几条定时执行的命令和脚本,且都是root权限。

图片6.png

5. 可以看到/tmp目录下的shell.py脚本文件,每两分钟更新一次。通过ls –al /tmp/shell.py命令查看文件相关信息。如下所示,可以确定shell.py文件是拥有root权限的普通文件。

图片7.png命令行的回显即为文件相关信息,其含义如下:

文件类型与权限 连接占用节点 文件所有者 文件所有者所在用户组 文件大小 文件修改时间 文件名称
-rwxrwxrwx 1 root root 102 16:21 /tmp/shell.py

其中文件类型与权限部分,共10位,第一位是文件类型,后九位是所有者权限。文件类型的表达方式:

-: 表示普通文件;d: 目录;b: 块特殊文件;c: 字符特殊文件;l: 符号链接文件;p: 命名管道文件FIFO;s: 套接字文件

6.cat命令可以查看shell文件内容。该脚本执行rm -r /root/test/命令。可以将该命令替换掉。

图片8.png

7.跳转至脚本文件所在目录下。

图片8.png

8.Nano命令修改文件内容,并保存。

图片11.png

         通过修改文件,让定时任务执行新建用户操作,直接登录新用户就可以提升权限啦。总结这两种提权方式,都是利用系统自身的缺陷,将权限提升至管理员权限。通过提权,创建新的用户,就可以以管理员权限登录系统。从而开展下一步渗透。

总结

定时任务提权,其实是利用系统自身的缺陷,将权限提升至管理员权限。通过提权,创建新的用户,就可以以管理员权限登录系统。从而开展下一步渗透。

来源:freebuf.com 2018-09-06 10:12:14 by: DigApis

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论