目录
任务二:总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)
任务一:复现上课的提权案例
打开目标虚拟机,需要输入账号密码进行登录
使用kali,nmap扫描同网段的ip,进行主机发现
发现主机192.168.43.204,进入浏览器对该主机ip进行访问
可以进行访问,选择对该主机进行全端口扫描
在kali上使用nmap进行全端口扫描
扫描出端口22,80,1898
其中端口22是SSH(Secure Shell)服务的默认端口,用于远程登录和管理服务器,端口80是HTTP(HyperText Transfer Protocol)服务的默认端口,用于网页浏览。
所以选择访问1898端口
访问页面如下,通过插件可知道该网站的一些基本信息
通过搜索该网站所用的内容管理系统“Drupal”,发现drupal存在远程代码执行漏洞
在kali中运行msf软件,输入命令查找该漏洞相关的模块
使用use命令加载找到的模块,并使用show options显示该模块所需参数
输入show targets输出当前模块支持的平台
设置目标主机的ip和端口,并运行
成功获取权限
输入getuid,查看当前权限
当前用户为www-data,为系统用户,我们需要提权到root用户
但可在当前用户下查看系统信息
输入shell切换至目标主机的windows shell
输入id,查看当前用户的uid,gid等信息
输入uname -a
输入lsb_release -a
输入cat /proc/version
输入cat /etc/os-release
要提取更高权限,需要借助工具查找漏洞进行提权。
将linux-exploit-suggester-master压缩包拖进kali中解压
进入该目录下查看文件
需要将红色箭头指定的目录上传到目标主机进行执行(建议放在已有目录下且容易被忽视的地方,为确保放入的文件存在,可以放在常用目录下)
返回目标主机的shell,查看是否存在该文件
该目录下存在上传文件,上传成功,执行该文件(开始没有执行权限,需要输入赋予执行权限的命令)
查看搜索出的漏洞,发现有dirtycow漏洞(在 Linux 内核的内存子系统处理私有只读内存映射的写时复制 (COW) 破坏的方式中发现了竞争条件。没有特权的本地用户可以利用此漏洞获得对原本只读的内存映射的写访问权限,从而提高他们在系统上的权限。)
根据漏洞编号,在https://github.com/nomi-sec/PoC-in-GitHub上进行查找
访问箭头标注的网址,点击下载zip文件
下载后的文件拖入kali中解压,其中有一个.cpp文件
将.cpp文件上传到目标主机,并查看是否上传成功
对.cpp文件进行编译
执行编译好的文件
提示必须在一个终端运行,输入python -c 'import pty; pty.spawn("/bin/bash")'后成功切换到root用户
提权成功,输入id,查看uid
任务二:总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)
Linux 内核提权是利用Linux内核的漏洞进行提权的。内核漏洞进行提权一般包括三个环节:
- 1. 扫描网段,以发现目标主机。可用nmap等工具进行主机发现。
- 2. 信息收集,查找是否存在RCE漏洞。可用浏览器对目标主机进行搜索,利用插件工具对网页进行分析,可从代码类型,使用的数据库、内存管理等系统版本入手。
- 3. 获取到目标系统内核信息及版本信息。可借助msf破解RCE漏洞,拿到shell权限并执行命令获取目标主机的内核信息等。
- 4. 根据内核版本获取其对应的漏洞以及EXP。可通过搜索或借助工具进行查找。
- 5. 将漏洞的文件上传到目标主机(可通过前面拿到的shell权限进行上传),修改文件权限并执行。
- 6. 使用找到的EXP对目标系统发起攻击,完成提权操作。成功的内核利用通常会以root命令提示符的形式为攻击者提供对目标系统的超级用户访问权限。
- 5. 将漏洞的文件上传到目标主机(可通过前面拿到的shell权限进行上传),修改文件权限并执行。
- 4. 根据内核版本获取其对应的漏洞以及EXP。可通过搜索或借助工具进行查找。
- 3. 获取到目标系统内核信息及版本信息。可借助msf破解RCE漏洞,拿到shell权限并执行命令获取目标主机的内核信息等。
- 2. 信息收集,查找是否存在RCE漏洞。可用浏览器对目标主机进行搜索,利用插件工具对网页进行分析,可从代码类型,使用的数据库、内存管理等系统版本入手。
任务三:总结Linux常用命令,10个以上
- pwd:显示当前工作目录的路径
- touch:创建空文件或更新文件的时间戳
- grep:在文件中搜索指定文本
- chmod:修改文件或目录的权限
- mount/umount:挂载和卸载文件系统
- top/htop:显示系统资源的实时使用情况和进程信息
- echo:将文本输出到标准输出
- uname:显示系统信息
- zip/unzip:用于压缩和解压zip文件
- netstat:显示网络连接信息
- history:查看命令历史记录
- lsblk/fdisk:查看磁盘分区信息和管理磁盘
- dd:用于复制和转换文件
- stat:显示文件或目录的详细信息