重邮信安实训第十天

目录

一、Linux常用命令总结

1. 查看当前环境和权限

2. 检查系统信息

3. 利用 SUID 和 SGID 文件

4. 利用软件漏洞

5. 利用 sudo 权限

6. 利用环境变量

7. 利用 cron 作业

8. 利用文件权限和所有权

9. 利用 setcap

10. 利用内核模块

二、Linux内核提权利用步骤

1. 确定目标系统的内核版本

2. 搜索已知的内核漏洞

3. 分析漏洞细节

4. 准备利用工具

5. 测试漏洞利用

6. 验证提权结果

7. 清理痕迹

三、提权案例的复现


一、Linux常用命令总结

1. 查看当前环境和权限

首先,需要了解当前用户的环境和权限。

  • whoami:显示当前用户的用户名。
    whoami
  • id:显示当前用户的 UID 和 GID 以及所属的用户组。
    id
  • sudo -l:显示当前用户可以执行的 sudo 命令。
    sudo -l

2. 检查系统信息

了解系统信息可以帮助找到潜在的提权机会。

  • uname -a:显示系统内核版本和其他信息。
    uname -a
  • cat /etc/issue:显示系统发行版信息。
    cat /etc/issue
  • ls -la /etc/sudoers:查看 sudoers 文件权限。
    ls -la /etc/sudoers
  • find / -perm -4000 -type f 2>/dev/null:查找具有 SUID 权限的文件。
    find / -perm -4000 -type f 2>/dev/null
  • find / -perm -2000 -type f 2>/dev/null:查找具有 SGID 权限的文件。
    find / -perm -2000 -type f 2>/dev/null
  • dpkg -l:列出已安装的软件包。
    dpkg -l

3. 利用 SUID 和 SGID 文件

SUID 和 SGID 文件允许用户以文件所有者的权限执行命令,这可以成为提权的机会。

  • 使用 SUID 文件

    ./path/to/suid_file
  • 使用 SGID 文件

    ./path/to/sgid_file

4. 利用软件漏洞

某些软件可能存在已知的漏洞,可以利用这些漏洞进行提权。

  • 检查已知漏洞
    • 使用 searchsploit 查找已知漏洞:
      searchsploit <package_name>
    • 使用 exploitdb 查找漏洞:
      exploitdb search <package_name>

5. sudo 权限

  • 查看 sudoers 文件
    cat /etc/sudoers
  • 尝试执行命令
    sudo -l
    sudo /bin/bash

6. 环境变量修改

  • 修改 PATH 环境变量
    export PATH=$PATH:/path/to/malicious/bin

7. 利用 cron 作业

  • 查看 crontab 文件
    crontab -l
  • 编辑 crontab 文件
    crontab -e

8. 修改文件权限和所有权

  • 修改文件权限
    chmod 777 /path/to/file
  • 修改文件所有权
    chown user:group /path/to/file

9. setcap

setcap 可以给文件设置 CAPABILITY 权限:

  • 查看文件的 CAPABILITY 权限
    getcap /path/to/file
  • 设置 CAPABILITY 权限
    setcap cap_sys_admin+ep /path/to/file

10. 内核模块

  • 查看已加载的内核模块
    lsmod
  • 加载内核模块
    insmod /path/to/module.ko
  • 卸载内核模块
    rmmod module_name


二、Linux内核提权利用步骤

        Linux 内核提权是指通过利用 Linux 内核中的漏洞来获得更高的权限,通常是从普通用户权限提升到 root 权限。这种操作通常涉及对内核模块或驱动程序的利用,以绕过内核的安全限制。以下是在 Linux 系统中进行内核提权的一般步骤:

1. 确定目标系统的内核版本

        首先需要确定目标系统的内核版本,因为不同的内核版本可能有不同的漏洞。可以使用以下命令来查看内核版本:

uname -a

2. 搜索已知的内核漏洞

根据所确定的内核版本,搜索相关的已知漏洞。可以使用以下工具来查找漏洞信息:

  • Exploit Database (ExploitDB):一个大型的漏洞数据库,包含许多已知的内核漏洞。

    exploitdb search "kernel version"
  • Google 搜索:使用 Google 搜索引擎查找特定内核版本的漏洞报告。

    google "linux kernel <version> exploit"
  • CVE 数据库:查找与特定内核版本相关的 CVE(Common Vulnerabilities and Exposures)编号。

    cve-search search "kernel version"

3. 分析漏洞细节

仔细阅读漏洞的详细描述,了解漏洞的工作原理和利用条件。

4. 准备利用工具

根据漏洞的特性准备相应的利用工具或脚本。

5. 测试漏洞利用

在安全的测试环境中尝试利用漏洞,确保漏洞利用代码能够成功运行。这可能涉及:

  • 加载内核模块:使用 insmod 命令加载内核模块。

    insmod /path/to/kernel_module.ko
  • 执行利用脚本:运行脚本来触发漏洞并尝试提升权限。

    ./exploit_script.sh

6. 验证提权结果

如果利用成功,可以验证是否已经获得了 root 权限。可以使用以下命令来确认:

id
whoami

如果输出显示当前用户为 root,则表明提权成功。

7. 清理痕迹

为了不留下明显的攻击痕迹,可以执行一些清理工作,如卸载内核模块、删除临时文件等。

rmmod kernel_module
rm /path/to/temporary_files


三、提权案例的复现

        首先,打开Kali虚拟机,用指令“ifconfig”查询IP地址:

        根据上述IP,利用nmap对IP进行扫描,用指令“nmap 192.168.117.0/24”进行网段扫描:

        发现可疑端口134,进入“192.168.117.134”后的界面如下:

        随后,利用指令“nmap -T4 -p 1-65535 192.168.117.134”对可疑IP进行深度扫描:

        发现1898端口仍然是打开的,访问1898端口:

        随后,用“msfconsole”命令启动msf,并用“search drupal”搜索“drupal”关键字:

        然后,用“show options”查看需要配置的参数:

        设置好IP和端口后,用指令“run”入侵目标:

        最后,运行上传的脚本文件,即可找到漏洞drupal:

根据提示信息,找到:GitHub - nomi-sec/PoC-in-GitHub: 📡 PoC auto collect from GitHub. ⚠️ Be careful Malware.

下载对应的EXP并上传到Kali:

       然后,利用代码“upload /root/.../文件名”下载辅助提权工具,并把它上传到靶机中,以增加可执行权限:

        执行脚本提权,即可得到密码:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

奥他

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值