渗入渗出技能——顺序的降权启动 | 申博官网
登录
  • 欢迎进入申博官网!
  • 如果您觉得申博官网对你有帮助,那么赶紧使用Ctrl+D 收藏申博官网并分享出去吧
  • 这里是申博官方网!
  • 申博官网是菲律宾sunbet官网品牌平台!
  • 申博开户专业品牌平台!

渗入渗出技能——顺序的降权启动

0x00 媒介

在渗入渗出测试中,常常会碰到须要转变顺序启动权限(分为提权和降权)的状况。

提权包罗从普通用户权限到***权限和从***权限到system权限,而渗入渗出测试中的降权通常是指从system权限降到普通用户权限(从***权限降到普通用户权限比较简单,要领许多),每每是为了操纵以后用户的文件内容(如捕捉桌面、操纵注册表等)

本文将会引见详细的降权要领(从system权限降到普通用户权限),理清个中的重点,而且开源一个小对象,用于推断历程权限

0x01 简介

本文将要引见以下内容:

  • 为何要降权

  • 从***权限降到普通用户权限的要领

  • 从system权限降到普通用户权限的要领

  • 应用SelectMyParent完成提权和降权

注:

测试体系: Win7

0x02 为何要降权

运用sytem权限的历程可能会碰到以下题目:

1、没法取得以后用户的文件内容

比方没法捕捉用户的屏幕

2、环境变量有差别

好比以下环境变量:

  • APPDATA

  • Temp

  • Tmp

  • USERDOMAIN

  • USERNAME

  • USERPROFILE

cmd下可经由过程echo检察环境变量,比方检察环境变量APPDATA的敕令为:

echo %appdata%

system权限下,查询到的环境变量APPDATA为C:\\Windows\system32\config\system\profile\AppData\Roaming

***权限下,查询到的环境变量APPDATA为C:\\Users\a\AppData\Roaming

以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

经由过程API SHGetSpecialFolderPath 猎取指定的体系途径,如APPDATA,也能发明权限分歧致使的辨别

c++代码以下:

#include <windows.h>
#include <Shlobj.h>

bool IsSystemPrivilegeCmp()
{
    static bool isSystemPrivilege = false;
    char *flag="C:Windows";
    if (isSystemPrivilege)
    {
        return isSystemPrivilege;
    }
    char szPath[MAX_PATH] = {0};
    if (SHGetSpecialFolderPathA(NULL, szPath, CSIDL_APPDATA, TRUE))
    {
        printf("APPDATA Path:%sn",szPath);   
        if(memcmp(szPath,flag,strlen(flag))==0)
            printf("[+]I'm System Privilegen");
        else
            printf("[-]Not System Privilegen");
    }
    return isSystemPrivilege;
}

int main(int argc, CHAR* argv[])
{
    IsSystemPrivilegeCmp(); 
    return 0;
}

以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

注:

SHGetSpecialFolderPath支撑查询的体系途径可在Shlobj.h中猎取

以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

3、注册表有差别

对HKCU的局部注册表操纵会被重定向到HKEY_USERS.DEFAULT

以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

0x03 从***权限降到普通用户权限的要领

1、runas

cmd:

runas /user:a calc.exe

接着输出暗码:123456

calc.exe的权限为用户a的权限

以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

瑕玷:

须要守候用户手动输出暗码,不敷主动化

然则能够借助管道完成主动输出暗码,须要借助第三方对象Sanur,要领不详细引见

2、第三方对象:lsrunas

下载地点:http://www.verydoc.com/exeshell.html

cmd:

lsrunas.exe /user:a /password:123456 /domain: /command:”calc.exe” /runpath:c:

注:

/domain:参数为空透露表现为本机

从***权限降权到普通用户权限,胜利,以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

3、第三方对象:CPAU

下载地点可参考我的github:

https://github.com/3gstudent/From-System-authority-to-Medium-authority

cmd:

CPAU.exe -u a -p 123456 -ex “calc.exe” -lwp

注:

必需增加参数-lwp或-lwop,不然没法完成降权

从***权限降权到普通用户权限,胜利,以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

4、powershell

代码以下:

$uname="a"                                                      
$pwd=ConvertTo-SecureString  "123456" -AsPlainText –Force                   
$cred=New-Object System.Management.Automation.PSCredential($uname,$pwd)        
Start-Process -FilePath  "calc.exe" -Credential $cred

5、c++

运用API:

  • CreateProcessAsUser

  • CreateProcess

    ———————————————-

    申博|网络安全巴士站【www.bus123.net】

    申博|网络安全巴士站是一个专注于网络安全、系统安全、互联网安全、信息安全,全新视界的互联网安全新媒体。。

    ———————————————-

0x04 从system权限降到普通用户权限的要领

注:

本次测试的system权限经由过程破绽猎取

1、runas

cmd:

runas /user:a calc.exe

接着输出暗码:123456

胜利降权,但启动失利,以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

2、第三方对象:lsrunas

cmd:

lsrunas.exe /user:a /password:123456 /domain: /command:”calc.exe” /runpath:c:

同上,胜利降权,但启动失利

3、第三方对象:CPAU

cmd:

CPAU.exe -u a -p 123456 -ex “calc.exe” -lwp

CPAU不支撑system权限启动,以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

4、powershell

同1,胜利降权,但启动失利

5、c++

能够运用Didier Stevens的对象SelectMyParent

注:

该代码尚未在github同享,以是我在我的github上传了该代码,并说明作者为Didier Stevens

代码地点:

https://github.com/3gstudent/From-System-authority-to-Medium-authority/blob/master/SelectMyParent.cpp

SelectMyParent:

用来建立具有选定父历程的windows历程

比方:建立新历程calc.exe,运用SelectMyParent能够将新历程calc.exe设置为历程winlogon.exe的子历程

运用步调:

1、猎取历程winlogon.exe的pid

在我的测试体系中,历程winlogon.exe的pid为504

2、启动SelectMyParent

参数以下:

SelectMyParent.exe calc.exe 504

显现calc.exe为winlogon.exe的子历程,以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

该要领重要能够用来进步历程的隐蔽性,诳骗用户

迥殊的中央:

因为子历程会继续父历程的权限,而且winlogon.exe的权限为system,那末其子历程calc.exe的权限也将会成为system

以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

也就是说,我们能够基于SelectMyParent完成以下提权和降权操纵:

  • 提权:从***权限到system权限

  • 降权:从system权限到admin权限

  • 降权:从system权限到普通用户权限

操纵步调:

1、猎取历程pid

cmd下猎取历程pid的要领:

tasklist /v /fo list

可猎取每一个历程对应的pid及权限(用户名的值透露表现),以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

为了轻易测试,能够运用过滤将特定权限的历程挑选出来,比方挑选NT AUTHORITYSYSTEM

敕令以下:

tasklist /v /fo list /fi “USERNAME eq NT AUTHORITYSYSTEM”

若是是猎取普通用户权限的历程,挑选的USERNAME可设置为whoami的前往效果

2、运用SelectMyParent.exe

从***权限到system权限:

上文曾经演示,不再反复引见

从system权限到admin权限:

经由过程tasklist没法辨别历程是不是是***权限照样普通用户权限

因而我经由过程c++写了一个小对象,感化以下:

  • 遍历历程

  • 推断历程权限,若是为***权限,停止符号

代码下载地点:

https://github.com/3gstudent/From-System-authority-to-Medium-authority/blob/master/Processauthority.cpp

对象运用以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

从system权限到普通用户权限:

拔取普通用户权限历程,pid为3864,建立的calc.exe权限也会具有普通用户权限,以下图

渗入渗出技能——顺序的降权启动 渗入渗出技能——顺序的降权启动

胜利完成从system权限到普通用户权限的降权

0x05 小结

本文对经常使用降权要领停止测试,结论是有些前提下落权要领会生效,通用的体式格局是运用SelectMyParent停止降权。

结合实际,开源了遍历推断历程权限的小对象,用于进步效力。

本文为3gstugent原创稿件,受权嘶吼独家宣布,未经许可制止转载。如若转载,请说明原文地点: http://www.4hou.com/penetration/4992.html


申博|网络安全巴士站声明:该文看法仅代表作者自己,与本平台无关。版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权
转载请注明渗入渗出技能——顺序的降权启动
喜欢 (0)
[]
分享 (0)
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址