【实验目的】
攻击者通过弱口令获取shell,查看内核版本并利用EXP进行攻击,将权限提升为root权限。
【知识点】
SearchSploit。
【实验原理】
本实验通过弱口令拿到普通用户权限,收集系统和内核版本信息,利用kali中内核EXP来进行攻击,通过scp上传EXP至目标主机,并利用普通用户编译运行C程序,提权为root权限。
SearchSploit是一个用于Exploit-DB的命令行搜索工具,默认安装在Kali/Parrot中,提供了在本地保存的存储库中执行详细的离线搜索的能力,适用于在没有互联网介入的情况下对网络进行安全评估。许多漏洞都包含了二进制文件的链接,这些文件不包含在标准存储库中,但可以在Exploit-DB二进制文件中找到。该工具将会搜索所有的漏洞和shellcode,它不会包含任何文件和谷歌黑客数据库的结果。
【实验设备】
主机终端: kali2020主机* 1台、 Ubuntu16主机*1台。
【软件工具】
SearchSploit
【实验拓扑】
实验拓扑如图所示。

【实验思路】
信息收集,收集目标主机当前权限、系统版本与内核版本。
使用EXP提权。
【实验步骤】
1. 信息收集
(1) 该信息收集步骤本应使用漏洞攻击方式获取shell权限后进行信息收集,但因获取shell的操作过程在之前课程中有详细演示操作,且此实验主要目的是进行内核漏洞提权,故此步骤变为直接在目标主机中获取相关信息。
(2) 登录拓扑图右侧的目标主机,用户名/密码:mark/123456。执行命令whoami,查看当前用户为mark,如图所示。

(3) 执行命令id,查看当前用户mark的UID及GID。UID和GID为1000,确认为普通用户,如图所示。

(4) 普通用户权限有很多限制,因此可以通过内核提权来突破这些限制。执行命令uname -r,查看内核版本,如图所示。

(5) 确认了内核版本之后,查看内核版本信息。执行命令cat /etc/issue,发现系统版本为Ubuntu 16.04.3,为后面寻找EXP进行内核提权做准备,如图所示。

2. 提权
(1) 登录拓扑图左侧的攻击端,用户名/密码:root/com.1234。右击桌面空白处打开快捷菜单,单击Open Terminal Here选项,打开终端,如图所示。

(2) 使用Kali下的searchsploit命令,根据目标主机内核版本linux 4.4.0线索搜索对应EXP。执行命令searchsploit linux 4.4.0 ubuntu,搜索系统内核为4.4.0的相关漏洞,根据信息收集步骤得知目标主机操作系统Ubuntu16.04.3内核为4.4.0-93,目标主机内核小于4.4.0-116,并且系统版本也符合16.04,所以使用的EXP为44298.c,如图所示。

(3) 定位到EXP后下一步要将EXP上传至目标主机。因为本实验是通过弱口令获取的Shell,所以执行命令scp /usr/share/exploitdb/exploits/linux/local/44298.c [email protected]:/tmp,上传EXP,输入yes确认连接,并在系统询问时输入mark的密码123456。之所以要拷贝到tmp目录,是因为通常所有用户对此目录都具有读写权限,scp为Linux的传输命令,如图所示。

(4) 进入目标主机,执行命令cd /tmp,切换至/tmp目录。由于上传的EXP为C语言程序,所以需要执行命令gcc 44298.c -o payload,使用gcc编译上传的EXP保存至名为payload的文件。再执行命令./payload,运行编译输出的文件,此时系统已提升为root权限,执行命令whoami,进行验证,如图所示。

本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)


