目录
一、复现linux提权案例
扫描内网存活主机
使用nmap对目标主机进行全端口扫描
发现开放了1898端口,进行访问
打开浏览器插件Wappalyzer
使用msf搜索Drupal相关漏洞
使用漏洞,配置options后run
获取shell,查看用户权限和内核版本
上传提权的扫描脚本
进入目标机器命令行,切换到上传目录,给脚本添加执行权限,执行扫描脚本
根据扫描出来的CVE去找对应的EXP ,选择利用CVE-2016-5195脏牛漏洞来提权
上传 dcow.cpp,编译脚本
运行脚本,得到密码,切换root用户
二、Linux内核提权利用步骤
1.内网信息收集
扫描存活主机
使用ip a命令查看本机IP地址。
使用nmap等扫描工具扫描同一内网下存活的主机,如nmap 192.168.159.0/24。
端口与服务扫描
对可疑IP进行全端口扫描,以发现开放的端口和服务,如nmap -T4 -p 1-65535 192.168.62.136。
使用浏览器或工具访问开放端口,尝试识别服务类型(如Web服务、数据库服务等)。
系统信息收集
识别操作系统版本和内核版本,使用命令如uname -a、cat /etc/issue、lsb_release -a、cat /proc/version等。
列举已安装的软件包和服务,检查是否有过期的或已知存在漏洞的软件版本。
2.漏洞搜索与利用
搜索已知漏洞
根据收集到的系统信息,在漏洞数据库(如Exploit-DB、CVE Details等)中搜索可能的漏洞。
使用工具如msfconsole的search命令搜索特定CMS(如Drupal)的漏洞。
验证漏洞
配置漏洞利用工具的选项,如设置目标IP、端口等。
尝试运行漏洞利用代码(EXP),查看是否能成功获取shell或执行其他命令。
3.提权尝试
利用内核漏洞
如果发现内核漏洞,根据漏洞详情下载对应的EXP。
编译EXP(如果需要),并上传至目标系统。
执行EXP,尝试提升权限至root。
4. 验证提权成功
执行id或whoami命令,检查当前用户是否为root。
尝试执行一些需要root权限的命令,如查看/etc/shadow文件内容。
三、Linux常用命令
passwd 修改口令
shutdown 关机
reboot 重启
who 显示已登录用户
echo 显示字符串
date 显示、设置系统日期和时间
man 显示联机手册
cat #显示文件命令
more #该命令显示文本文件的内容,一次显示一屏,满屏后停下来
head #用于查看一个文本文件的开头部分
tail #用于查看一个文本文件的末尾部分
grep #grep命令会搜索标准输
sort #排序
uniq #检查及删除文本文件中重复出现的行
comm #对两个已经排好序的文件进行比较
diff #比较文本文件,并找出他们的不同
cp #复制
rm #删除
mv #移动
find # 查找符合条件的文件和目录
tar # 解开备份文件内的文件
cd # 切换目录
pwd # 显示当前目录
ls # 列出目录内容
mkdir # 创建目录
rmdir # 删除目录
chmod [mode] 文件或目录名 #修改文件权限
passwd qf 修改qf这个用户的密码。
useradd test 添加test用户。
cat /etc/passwd 查看系统中拥有多少用户。
su - test 切换到test用户。
userdel test 删除test用户。
userdel -r test 删除test用户,并删除其家目录。
groupadd test 添加名为test的用户组。
cat /etc/group 查看所有的用户组。
groupdel test 删除test用户组。
useradd -m test -g test 创建一个test用户,并指定其用户组为test。
usermod test -g abc 将test用户的组改为abc。
ps 进程查看
top 显示系统当前的进程和其他状况
renice 在命令执行时调整其优先权
wait 对一个进程的等待
sleep 将进程挂起一段时间
at 实现指定时刻执行指定的命令序列
cron 按一定时间自动完成任务调度
corntab 用于安装、删除或者列出用于驱动cron后台进程的表格
kill 中断一个前台进程