一、复现上课的提权案例
1. 打开案例1,要求是与攻击发起端同网段的,未知密码靶机进行提权
2. 打开攻击端kali,输入ip a查看网络情况
3.同网段用nmap扫一下: nmap 192.168.171.0/24
4.除了本机ip之外,还有两ip,其中一个有着许多端口的可疑ip,在浏览器中访问80端口,以此可以确定靶机地址
5.然后又可以对其进行全端口深度扫描
Nmap -T4 -p 1-65535 192.168.171.131
6.新发现一个端口1898,再次在浏览器中进行访问
7.下载并打开浏览器插件Wappalyzer
8.使用msf连接,使用命令msfconsole,搜索Drupal相关漏洞: search drupal
9.选择1号模块并进行使用: use 1
10.输入show options查看需要配置的参数,并发现需要重新配置的有rhosts和rport:
11.设置好ip与端口,尝试运行:
12.获取shell,查看id与内核版本
13. 下载提权脚本,压缩包上传到kali,解压之后上传到靶机
https://gitcode.net/mirrors/r1is/CVE-2022-0847
二、总结Linux内核提权利用步骤(从内网信息收集到提权成功的思路)
1、内网信息收集
确定目标系统:
确定要攻击的目标系统,包括其IP地址、操作系统类型等。
收集系统信息:
使用各种命令和工具收集目标系统的详细信息,包括操作系统版本、内核版本等。常用的命令有uname -a(查看系统全部信息)、uname -r(查看内核版本)、cat /etc/issue(查看系统版本)等。
搜索已知漏洞:
根据收集到的内核版本信息,使用漏洞搜索工具(如Kali Linux中的searchsploit)搜索可能存在的内核漏洞及其对应的exploit(漏洞利用代码)。
2、漏洞分析与exploit选择
分析漏洞详情:
对搜索到的漏洞进行详细分析,了解漏洞的成因、影响范围及可利用性。
选择exploit:
根据漏洞的详细信息,选择适合的exploit进行利用。确保exploit与目标系统的内核版本相匹配。
3、exploit准备与上传
获取exploit代码:
从漏洞搜索工具或相关网站下载exploit代码。
编译exploit(如需):
如果下载的exploit代码是源代码(如C语言编写),则需要在目标系统或攻击机上编译成可执行文件。使用gcc等工具进行编译。
上传exploit:
将编译好的exploit或原始的exploit代码上传到目标系统上。可以通过各种文件传输方式(如FTP、SCP、HTTP服务等)进行上传。
4、执行exploit
设置执行环境:
确保exploit的执行环境满足要求,如必要的系统权限、依赖库等。
执行exploit:
在目标系统上执行exploit,通常通过命令行界面运行编译好的可执行文件或脚本。
监控执行结果:
监控exploit的执行过程,观察是否有root权限的shell被成功获取。
五、获取root权限
验证提权成功:
执行id或whoami命令,检查当前用户是否已提升为root用户。
进一步操作:
如果提权成功,可以执行任意root权限命令,如查看敏感文件、修改系统配置等。
5、后续处理
清理痕迹
清理上传的exploit文件、执行过程中产生的临时文件等,避免被系统管理员发现。
持续监控:
如果提权是为了进行进一步的安全测试或漏洞利用,应持续监控目标系统的状态,确保测试过程的安全性和可控性。
三、总结Linux常用命令,10个以上