存档

2012年8月 的存档

模拟Windows登录用户进行特殊操作

2012年8月19日 11 条评论

SYSTEM权限(服务启动程序)下如何读写当前登录用户相关的数据(桌面、开始菜单、注册表等等)?管理员权限如何提升到SYSTEM权限进行一些特殊的操作(一些关键的注册表位置、创建一个SYSTEM权限的进程等等)?一个非常关键的API就是ImpersonateLoggedOnUser,可以让当前线程模拟登陆用户进行操作(当然还可以从管理员模拟SYSTEM权限),用完之后记得调用RevertToSelf。

没有进行什么总结了,懒得写了⊙﹏⊙,贴几个地址吧:
服务应用程序如何访问当前登录用户的信息
模拟用户登录
创建高权限进程
从管理员身份获得 SYSTEM 权限的四种方法
如何读取指定用户的 HKEY_CURRENT_USER 注册表键
DLL注入到system进程后(在SYSTEM权限下弹MessageBox?)

照着从管理员权限到SYSTEM权限写了段代码:[……]

傀儡进程内存Dump

2012年8月11日 1 条评论

傀儡进程(参见《动态加载并执行Win32可执行程序》),简单的说是指通过给CreateProcess传递一个CREATE_SUSPENDED参数可以使得被创建的子进程处于挂起状态,此时EXE的映像会被加载到进程空间中,但是并不会立即被执行,除非调用ResumeThread。在ResumeThread之前,通过GetThreadContext获取主线程的上下文以取得PEB等,调用ZwUnmapViewOfSection/NtUnmapViewOfSection卸载子进程原有区块,通过VirtualAllocEx在子进程指定的基址分配空间,调用ReadProcessMemory和WriteProcessMemory这样的API来读写子进程空间的内容,调用 VirtualProtectEx修改内存的属性为可读可写可执行,最后调用SetThreadContext/ResumeThread即可让子进程执行恶意代码。

《动态加载并执行Win32可执行程序》提到的是把已知的EXE注入到其他正常的EXE之中,要获取到恶意代码直接拿到恶意的EXE就行了。而如果恶意代码是加密了的呢?[……]

msvcr90.dll下载9.0.30729.6161 9.0.21022.8

2012年8月10日 没有评论

有个网友问网卡MAC地址修改工具不能正常使用,提示“出现应用程序配置错误”,有关于“应用程序配置不正确”的问题,很多是因为缺少msvcr DLL文件(如msvcr90.dll,可以用Dependency Walker查看)或者版本不对的原因,如果要手工解决问题需要下载正确版本的msvcr DLL文件(已msvcr90.dll为例)并创建一个manifest文件到EXE的所在目录,具体参考Python2.6 py2exe打包程序提示应用程序配置不正确

这里提供9.0.30729.6161和9.0.21022.8两个版本的msvcr90.dll文件下载:
msvcr90.dll 9.0.21022.8
msvcr90.dll 9.0.30729.6161

下载下来后,把对应的DLL以及Manifest文件放在EXE所在目录即可。[……]

杂记:Sublime _ UltraCompare _ 代码重定位

2012年8月2日 没有评论

好久不写博客,也没有什么可写的,随便写写杂记吧。

文件的复制、移动除了CopyFile / MoveFile以及其Ex函数,还可以用SHFileOperation和IFileOperation(Vista后支持),具体可以参考:
http://blog.csdn.net/tht2009/article/details/6753706
http://blog.csdn.net/tht2009/article/details/6787271
代码重定位:机器码E8 00000000,也就是call $+5,shellcode及病毒代码中比较常见,
call @F
@@:
pop eax
sub eax, offset @B
详细可参考:http://blog.csdn.net/magictong/article/details/7610482

UltraCompare,一个不错的文件差异对比工具,支持二进制对比,感觉还不错。还有UltraEdit的列编辑功能很赞。
Sublime,一个不错的代码编辑器,可以考虑替换Notepad++了,装一个ConvertToUTF8插件可解决中文乱码问题。[……]