在前面的文章中,介绍过了端口转发和获取shell的方法。但是在实际的渗透的过程中,获取shell之后,就可以进一步实施主动或被动的攻击吗?也不是的!获得shell后,通过whoami获取当前用户名。当前shell具备管理员权限,当前最好了,可以直接进行下一步的渗透。但是,如果只有普通用户权限,就要先想办法提权,提权之后再继续后续操作。
什么是提权呢?顾名思义,就是提高自己在服务器中的权限。在我们拿到一个shell时,可能是管理员权限,也<>可能只有普通用户的权限。当我们得到一个低权限的shell时,需要进行进一步操作,即提权。想要提权就需要进行信息收集。我们需要了解这个shell的主机是做什么的,我们拥有什么样的权限,面对的是怎样一个系统等。通过一些简单地信息收集,可以对我们面对得环境,作出系统的评估。根据系统中存在的缺陷进行提权。
今天这篇文章,介绍一种目前还在使用的提权方式。
Linux提权操作
在linux系统中,会以systerm权限执行定时任务。所以在获得shell后,可以利用定时任务以systerm权限执行某些命令。Corntab是LINUX和UNIX操作系统中的命令,用于设置周期性执行的指令。该命令可以读取标准输入设备中的指令,并将其存放在“crontab”文件中。通过设置crontab命令,可以在间隔固定时间,执行指定的系统指令或执行脚本。
定时任务提权
1.通过nc获得shell,查看一下当前获取是的用户,当前用户并不具有管理员权限。
2.由于当前权限有限,我们不能执行创建或修改文件的命令。这时考虑提权,进行下一步操作。
3.检查是否安装corntab,显示“no crontab for root”或者是没有回显,则证明,系统中有安装corntab。目的主机正好有安装crontab,考虑一下,如何通过定时任务获得root权限?
4.通过cat /etc/crontab命令查看crontab文件。可以看到crontab中有几条定时执行的命令和脚本,且都是root权限。
5. 可以看到/tmp目录下的shell.py脚本文件,每两分钟更新一次。通过ls –al /tmp/shell.py命令查看文件相关信息。如下所示,可以确定shell.py文件是拥有root权限的普通文件。
命令行的回显即为文件相关信息,其含义如下:
文件类型与权限 | 连接占用节点 | 文件所有者 | 文件所有者所在用户组 | 文件大小 | 文件修改时间 | 文件名称 |
---|---|---|---|---|---|---|
-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/命令。可以将该命令替换掉。
7.跳转至脚本文件所在目录下。
8.Nano命令修改文件内容,并保存。
通过修改文件,让定时任务执行新建用户操作,直接登录新用户就可以提升权限啦。总结这两种提权方式,都是利用系统自身的缺陷,将权限提升至管理员权限。通过提权,创建新的用户,就可以以管理员权限登录系统。从而开展下一步渗透。
总结
定时任务提权,其实是利用系统自身的缺陷,将权限提升至管理员权限。通过提权,创建新的用户,就可以以管理员权限登录系统。从而开展下一步渗透。
来源:freebuf.com 2018-09-06 10:12:14 by: DigApis
请登录后发表评论
注册