Archive for the ‘网络安全’ Category

梦中情人病毒 写的一些关键的注册表键值

1. 破坏隐藏文件显示

HKU\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced\Hidden的值修改为0×00000002

2. 禁止文件执行

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

3. 隐藏文件的实现暂时没时间看,有空补上。

微软发布3款SQL Injection攻击检测工具

随着 SQL INJECTION 攻击的明显增多,微软近日发布了三个免费工具,帮助网站管理员和检

测存在的风险并对可能的攻击进行拦截。

Scrawlr
下载地址:https://download.spidynamics.com/Products/scrawlr/

这个微软和 HP合作开发的工具,会在网站中爬行,对所有网页的查询字符串进行分 析并发现其中的 SQL INJECTION 风险。Scrawlr 使用了部分 HP WebInspect  相同的技术,但只检测 SQL INJECTION 风险。Scrawlr 从一个起始 URL 入口,爬遍整个网站,并对站点中所有网页进行分析以找到可能存在的漏洞。

Microsoft Source Code Analyzer for SQL Injection
下载地址:http://www.microsoft.com/downloads/details.aspx?FamilyId=58A7C46E-A599-4FCB-9AB4-A4334146B6BA&displaylang=en

这款被称作 MSCASI 的工具可以检测 ASP 代码并发现其中的 SQL INJECTION 漏洞(ASP 代码以 SQL INJECTION 漏洞著称),你需要向 MSCASI 提供原始代码,MSCASI 会帮你找到存在风险的代码位置。

URLScan 3.0
下载地址: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1697

该工具会让 IIS 限制某些类型的 HTTP 请求,通过对特定 HTTP 请求进行限制,可以防止某些有害的请求在服务器端执行。UrlScan 通过一系列关键词发现恶意请求,并阻止恶意请求的执行

挂钩 NtResumeThread 实现全局Hook

挂钩 NtResumeThread 实现全局Hook

zhouzhenster[at]gmail.com
zhouzhen[E.S.T]

挂钩一直是Hack 编程中永恒的主题,基本高级的Rootkit 程序多多少少都会使用Hook 技术。
似乎Hook 都被讲烂了,不论是Ring3 的还是Ring0 的网上都有例子。Ring0 的毋庸置疑当然
是全局的了,这里说说ring3 的全局hook。Ring 3 有Ring 3 的优势,稳定是压倒一切的,
因此Mcafee 和其他一些商业的安全软件都还是使用了Ring3 的Hook 技术,无论如何用户是
无法接受蓝屏和死机的。

感兴趣的可以装个Rootkit unhooker 自己看看。 :)

1. 以往的Ring 3全局Hook

纵观网上流行的全局Hook 程序都只用了一个Windows API, SetWindowsHookEx,此函数原型:

HHOOK SetWindowsHookEx(
int idHook,
HOOKPROC lpfn,
HINSTANCE hMod,
DWORD dwThreadId
);

idhook 安装的钩子类型,如 WH_GETMESSAGE,WH_KEYBOARD 等
lpfn hook procedure 的指针
hmod 包含 hook procedure DLL 的handle
dwThread 为0

使用这个API是有问题的,只能挂接系统中的所有G U I线程,换句通俗的话说就是有界面
的程序,Windows console 类的程序就无能为力了。

还有一种通过插入注册表来实现

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs

这种方法简单,但是还是只能挂钩GUI 程序,并且这个键值已经被广大HIPS 所关注,吃力不讨好。

以上两种效果不好,因此有人有开始另外的做法,枚举所有进程,插入和挂钩 NtCreateProcess
这是非常自然的想法,似乎也把问题解决了,但是仔细思考一下,就会发现很多问题。

a. 时机不对,在NtCreateProcess函数被调用时进程并没有真正被创建,我们无法执行HOOK操作,
而当NtCreateProcess返回时,进程又已经开始运行

b. 如果是Windows console 创建的进程,你如何去监控这个调用呢?这么说似乎比较抽象,你可
以这么理解,直接在命令行下,cmd,cmd,cmd …. 你可以监控到最后一个cmd 吗,如果只
用SetWindowsHookEx

c. 是否正好站在了华容道,是否足够底层。

似乎很费劲

2. 分析系统创建进程过程,寻找方法

关于这方面内容,可以参考毛德操老师的两篇文章

《漫谈兼容内核之十七:再谈Windows的进程创建》

《漫谈兼容内核之二十二:Windows线程的调度和运行》

下面是他的blog 链接:
http://hi.baidu.com/fatbsd/blog
Continue Reading »

[zz]磁碟机变种pagefile.pif对付安全软件的“倒胃口”方法

全部内容在http://bbs.janmeng.com/thread-689183-1-1.html

这里摘录关键部分,说白了也没啥:

调用PostMessageA,向窗口持续发送消息,消息Msg从0到499!
UPX0:00402E26
UPX0:00402E26 loc_402E26: ; CODE XREF: sub_4029C7+F9 j
UPX0:00402E26 ; sub_4029C7+10F j
UPX0:00402E26 ; sub_4029C7+135 j
UPX0:00402E26 ; sub_4029C7+158 j
UPX0:00402E26 ; sub_4029C7+16E j
UPX0:00402E26 ; sub_4029C7+184 j …
UPX0:00402E26 mov esi, PostMessageA
UPX0:00402E2C xor ebx, ebx
UPX0:00402E2C
UPX0:00402E2E
UPX0:00402E2E loc_402E2E: ; CODE XREF: sub_4029C7+476 j
UPX0:00402E2E push edi ; lParam
UPX0:00402E2F push edi ; wParam
UPX0:00402E30 push ebx ; Msg
UPX0:00402E31 push dword ptr [ebp+8] ; hWnd
UPX0:00402E34 call esi ; PostMessageA
UPX0:00402E36 inc ebx
UPX0:00402E37 cmp ebx, 1F4h ; 500
UPX0:00402E3D jl short loc_402E2E
UPX0:00402E3D
显然这些发送的消息,其实是“垃圾消息”
其目的,就是要挤占目标窗口的消息队列,使目标窗口的窗口过程忙于处理这些“垃圾消息”,而用户操作时发送的有意义的操作消息,则根本来不及处理!
结果,SREng、IceSword等工具,在打开之后,用户将根本没有办法操作,因为用户操作发送给程序的消息,已经被垃圾消息挤到消息队列后面去了,得不到程序的优先响应。
这是典型的利用Windows消息驱动机制,对目标程序进行攻击使其失去响应能力的方法,有点类似于DDOS,无技术含量,但有效。

PS: 这年头猥亵方法真多,呵呵,象我这样善良的人不多了。

int 2eh 方式调用Native api

小技巧。但是用的人好像不多。

例子:  Windows 2000 下

  1. NtQuerySystemInformationNo = 0x97;
  2.  
  3. _declspec(naked)
  4. NTSTATUS __stdcall PrivateNtQuerySystemInformation
  5. (IN     SYSTEM_INFORMATION_CLASS,
  6. IN OUT PVOID,
  7. IN     ULONG,
  8. OUT    PULONG OPTIONAL)
  9. {
  10.  
  11. _asm {
  12. mov eax, NtQuerySystemInformationNo
  13. lea edx, [esp+4]
  14. int 2Eh
  15. ret 10h
  16. }
  17.  
  18. }

MS08-014 : The Case of the Uninitialized Stack Variable Vulnerability

MS08-014, CVE 2008-0081, addresses a vulnerability in Excel whose root cause is an uninitialized stack variable.  You probably have seen these types of compiler warnings before:

C:\temp>cl stack.cpp
Continue Reading »

CDN技术

什么是CDN?
CDN的全称是内容分发网络。其目的是通过在现有的Internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。
CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Internet 网络中信息流动的效率。从技术上全面解决由于网络带宽小、用户访问量大、网点分布不均等问题,提高用户访问网站的响应速度。

CDN的类型特点
 CDN的实现分为三类:镜像、高速缓存、专线。
镜像站点(Mirror Site),是最常见的,它让内容直接发布,适用于静态和准动态的数据同步。但是购买和维护新服务器的费用较高,还必须在各个地区设置镜像服务器,配备专业技术人员进行管理与维护。对于大型网站来说,更新所用的带宽成本也大大提高了。
高速缓存, 成本较低,适用于静态内容。Internet的统计表明,超过80%的用户经常访问的是20%的网站的内容,在这个规律下,缓存服务器可以处理大部分客户 的静态请求,而原始的服务器只需处理约20%左右的非缓存请求和动态请求,于是大大加快了客户请求的响应时间,并降低了原始服务器的负载。
专线,让用户直接访问数据源,可以实现数据的动态同步。

cdn

【转】安装vs2005 sp1出现数字签名错误的解决办法

1. 单击“开始”,单击“运行”,键入 control admintools,然后单击“确定”。
2. 双击“本地安全策略”。
3. 单击“软件限制策略”。(注意:如果未列出软件限制,请右击“软件限制策略”,然后单击“新建策略”。 )
4. 在“对象类型”下,双击“强制”。
5. 单击“除本地管理员以外的所有用户”,然后单击“确定”。

重启后就可以正常安装了.