搜索此博客

2017年7月16日星期日

介绍几种常见的提权方法,你用过几个?

本邮件内容由第三方提供,如果您不想继续收到该邮件,可 点此退订
介绍几种常见的提权方法,你用过几个?  阅读原文»

攻击者一旦拿下一台机器进入内网,他就会尝试各种方法在内网中进行漫游,获取到他想要的数据。一般情况下攻击者是从个人计算机中开始入侵,不过这对于APT攻击者来讲并不困难,因为他们可以通过提权,进而攻击网络中的一些基础设施,从而查找甚至破坏他们的目标内容。

提权最简单的方法之一就是利用计算机中的配置问题,这一方面就包含查找存在管理员账户的文件,错误的配置信息,故意削弱的安全措施,以及用户多余的权限等等。因为这种方法特别简单,所以在一般的渗透测试当中是可以很普遍看到的。不过这种方法成功与否主要是看人品,所以不成功也是很正常的。

比较可靠提权方法就是攻击机器的内核,让机器以更高的权限执行代码,进而绕过设置的所有安全限制。如果系统打上了补丁,那提权就看你手中掌握了多少0day,所以在APT攻击中,0day是非常重要而且价值非常大的。

在一些情况下我们可以通过密码相关的问题进行提权,比如用户使用了弱密码,或者密码与之前获得的产生碰撞,进而攻击者可以以更高权限运行他们的恶意软件。另外一种方法则是捕获到用户的登录凭证,然后使用这个凭证在其他服务上进行使用。总而言之,攻击者的目的就是以更高的权限运行他们的木马。

当大多数常用方法都失败时,攻击者可能会寻找另外的方式进行提权。但是,其他的方法可能会需要更多的资源,那么攻击者可能会采用攻击当前机器的方式进行攻击其他的机器。不过,提权在渗透测试中是不可缺少的过程。

提权方法

信息收集

下面的例子就展示了攻击者如何通过快速的分析当前用户以及计算机打补丁的情况。此时攻击者已经可以远程控制计算机,于是继续列出了用户组,以及当前安装的更新补丁。使用如下命令以及工具去收集这些信息:

介绍几种常见的提权方法,你用过几个?

上图whoami命令中我们可以发现我们处于BUILTINusers域组里,而不是处于administrator组中。于是我们通过systeminfo命令去收集当前安装的更新。一旦信息收集完毕,使用Windows-Exploit-Suggester工具检测系统中是否存在非修复的漏洞。如下图

介绍几种常见的提权方法,你用过几个?

通过CVE-2015-1701进行提权

一旦发现有漏洞未修复,那么攻击者就可以对这些漏洞进行利用,就在这个例子中可以发现MS15-051没有修复,我们就可以使用metasploit中的模块进行利用,如下图:

介绍几种常见的提权方法,你用过几个?

利用错误配置进行提权

【系列分享】ARM 汇编基础速成7:栈与函数  阅读原文»

2017-07-15 10:44:50 阅读:1952次 收藏 来源: azeria-labs.com 作者:arnow117

http://p1.qhimg.com/t01bdd3e4e75c7311fd.png

译者:arnow117

预估稿费:200RMB

投稿方式:发送邮件至linwei#360.cn,或登陆网页版在线投稿


传送门


【系列分享】ARM 汇编基础速成1:ARM汇编以及汇编语言基础介绍

【系列分享】ARM 汇编基础速成2:ARM汇编中的数据类型

【系列分享】ARM 汇编基础速成3:ARM模式与THUMB模式

【系列分享】ARM 汇编基础速成4:ARM汇编内存访问相关指令

【系列分享】ARM 汇编基础速成5:连续存取

【系列分享】ARM 汇编基础速成6:条件执行与分支


在这部分我们将研究一篇独特的内存区域叫做栈,讲解栈的目的以及相关操作。除此之外,我们还会研究ARM架构中函数的调用约定。



一般来说,栈是一片在程序/进程中的内存区域。这部分内存是在进程创建的时候被创建的。我们利用栈来存储一些临时数据比如说函数的局部变量,环境变量等。在之前的文章中,我们讲了操作栈的相关指令PUSH和POP。

在我们开始之前,还是了解一下栈的相关知识以及其实现方式吧。首先谈谈栈的增长,即当我们把32位的数据放到栈上时候它的变化。栈可以向上增长(当栈的实现是负向增长时),或者向下增长(当栈的实现是正向增长时)。具体的关于下一个32位的数据被放到哪里是由栈指针来决定的,更精确的说是由SP寄存器决定。不过这里面所指向的位置,可能是当前(也就是上一次)存储的数据,也可能是下一次存储时的位置。如果SP当前指向上一次存放的数据在栈中的位置(满栈实现),SP将会递减(降序栈)或者递增(升序栈),然后再对指向的内容进行操作。而如果SP指向的是下一次要操作的数据的空闲位置(空栈实现),数据会先被存放,而后SP会被递减(降序栈)或递增(升序栈)。

http://p1.qhimg.com/t01d067a79ddce4238f.gif

不同的栈实现,可以用不同情形下的多次存取指令来表示(这里很绕...):

没有评论: