提权学习(二) 溢出提权

作者:yzc    发布于:

溢出提权

0x01 原理

溢出漏洞就像杯子里装水,水多了杯子装不进去,就会把里面的水溢出来。而相对计算机来说计算机有个地方叫缓存区,程序的缓存区长度是被事先设定好的,如果用户输入的数据超过了这个缓存区的长度,那么这个程序就会溢出了。缓存区溢出漏洞主要是由于许多软件没有对缓存区检查而造成的。

0x02 前提

1.如果使用 asp 的 webshell 进行提权,则该 webshell 需要支持 wscript(wscript.shell/shell.application)

2.如果使用 aspx 的 webshell 进行提前,则该 webshell 要能够调用 .net 组件来执行 cmd 命令

0x03 提权流程

1.寻找可读可写目录:

该目录的作用是:上传提权的 exp , cmd.exe 文件 或者 net.exe 文件

注意:寻找到的可读可写目录尽量不要有空格,如果用空格则可能会导致命令无法被执行(尤其是在上传 exp 文件时)

2.主机信息搜集:

(1)通过在终端运行 whoami 命令来查看当前用户的权限

whoami

(2)通过在终端运行 systeminfo 命令查看主机打补丁的情况

systeminfo
3.使用 exp 进行提权

根据主机打的补丁情况选择合适的 exp 进行提权。将选择好的 exp 上传到一个可读可写的目录下,并把此 exp 路径复制到 webshell 的 cmd 命令栏下。有两类 exp 。

(1)需要在提权过后自己添加新用户并将新用户添加到 administrator 组的 exp ,如:pr/巴西烤肉

(2)不需要手动输入命令,执行了 exp 文件后,直接提权并添加用户等操作,如:ms11080/ms11046
4.连接 3389 端口登录远程桌面

如果无法连接 3389 端口,提权文章中有讲

0x04 添加用户等基本命令

1.添加用户命令:net user 用户名 密码 /add
net user yzc yzc /add
2.将用户添加到管理员组命令:net localgroup administrators 用户 /add
net localgroup administrators yzc /add

参考文章

常见的服务器溢出提权方法总结

format_list_numbered

(无)

  1. 1. 溢出提权
    1. 1.1. 0x01 原理
    2. 1.2. 0x02 前提
    3. 1.3. 0x03 提权流程
      1. 1.3.1. 1.寻找可读可写目录:
      2. 1.3.2. 2.主机信息搜集:
      3. 1.3.3. 3.使用 exp 进行提权
      4. 1.3.4. 4.连接 3389 端口登录远程桌面
    4. 1.4. 0x04 添加用户等基本命令
      1. 1.4.1. 1.添加用户命令:net user 用户名 密码 /add
      2. 1.4.2. 2.将用户添加到管理员组命令:net localgroup administrators 用户 /add
vertical_align_top

Copyright © 2017 yzc's blog

Powered by Hexo & Theme - Vateral