一、Linux提权案例复现
1、首先安装好案例1的虚拟机,此处取名case1
2、由于case1与kali处于同一网段内(NAT模式),先查看kali的网段,再用nmap扫描是否有可能是case1的ip:nmap 192.168.198.130/24,发现80端口开着的可疑ip,猜测其为case1的ip。
3、用浏览器访问此ip发现找到靶场ip,浅浅查看之后没发现什么特别的地方
4、使用nmap -T4 -p- 192.168.198.131全端口扫描看到case1开了一个1898端口,尝试访问192.168.198.131:1898。
5、进行猜测账户与密码,尝试登录,失败,于是打开谷歌上的wappalyzer进行查看,发现网站所用CMS框架为Drupal。
6、启动msf,查询Drupal漏洞,选择模块1,然后设置参数
7、设置IP、端口,然后运行
8、获取shell,看看id和内核版本
9、下载linux-exploit-suggester.zip通过xftp上传到kali然后解压
GitHub - The-Z-Labs/linux-exploit-suggester: Linux privilege escalation auditing tool
10、将linux-exploit-suggester.sh传给case1
11、进入shell查看文件是否存在,以及对应的权限
12、发现没有可执行权限,使用命令chmod +x给文件添加权限
13、执行./+目标文件,扫描出许多漏洞
14、下载CVE-2016-5195脏牛漏洞压缩包传输到kali上并解压
https://github.com//gbonacini//CVE-2016-5195
15、同样将文件传给case1
upload /home/kali/xqj/CVE-2016-5195-master/dcow.cpp /tmp/aim.cpp
进入shell查看,上传成功
16、编译上传文件并执行,成功爆出case1的账户与密码
二、总结Linux内核提权利用步骤
1、信息收集
本地信息收集:
使用命令行工具,获取目标系统的操作系统和内核信息,以便后续确定是否存在已知漏洞。
uname -a: 显示系统的内核版本、架构、操作系统等关键信息。
lsb_release -a: 获取目标系统的操作系统发行版信息及版本号。
远程信息收集:
如果不能直接访问系统,使用网络扫描工具如nmap或fscan来扫描目标系统,获取网络服务、端口和版本信息。
提取进程和服务信息
2、查找已知漏洞
搜索漏洞数据库:
通过操作系统版本和内核版本查找(metasploit中的search命令)是否存在已知的漏洞。
使用漏洞数据库:
利用漏洞数据库网站来搜索已知漏洞,比如CVE Details可以查找目标系统的CVE漏洞编号。
使用漏洞检测工具:
已经登录目标系统,可以使用一些漏洞检测工具自动检查是否存在已知的内核漏洞。
3、本地漏洞利用
选择合适的EXP(漏洞利用代码),上传 EXP 到目标系统(已经获取了目标系统的shell,可以使用工具(如Metasploit的meterpreter)将EXP上传到目标系统)。
4、内核漏洞利用
在目标系统上编译并运行找到的漏洞利用代码,以获取 root权限。
三、总结Linux常用命令,10个以上
1、文件和目录操作
(1)ls - 列出目录内容
ls -l # 以长格式列出目录内容
ls -a # 显示所有文件,包括隐藏
(2)cd - 更改当前工作目录
cd /path/to/directory # 切换到指定目录
cd .. # 返回上级目录
(3)cp - 复制文件或目录
cp source.txt destination.txt # 复制文件
(4)mv - 移动(或重命名)文件或目录
mv oldname.txt newname.txt # 重命名文件
(5)rm - 删除文件或目录
rm filename.txt # 删除文件
rm -r /directory_path # 递归删除目录
rm -rf /directory_path # 强制删除
(6)cat - 显示文件内容
(7)touch - 创建空文件
(8)mkdir - 创建新目录
(9)find - 搜索文件或目录
2、系统和用户管理
(1)sudo - 以超级用户权限执行命令
(2)chmod - 修改文件权限
chmod 755 filename.txt # 格式
(3)passwd - 更改用户密码
(4)ps - 显示当前运行的进程
ps aux # 显示所有进程
(5)kill - 终止进程
kill <PID> # 通过PID终止进程
kill -9 <PID> # 强制终止进程
3、网络和系统信息
(1)ifconfig - 显示或配置网络接口
(2)ping - 测试网络连接
(3)netstat - 显示网络连接、路由表、接口统计等
(4)df - 显示文件系统的磁盘空间使用情况
(5)top - 实时显示系统进程