WIN2000漏洞(1) —— 绿色兵团的文章,简直爽呆了

类别:VC语言 点击:0 评论:0 推荐:

WIN2000漏洞(1) 加入时间:01-1-7 上午 11:40:01

在Windows 2000远程服务器上的cpu过载
发送一连串的二进制中的0字符,到达Windows 2000中的任意一个端口,都可能引起CPU的利用率达到100%。这样的端口包
括了TCP中端口号为7,9,21,23,7778和UDP中端口号为53,67,68,135,500,1812,1813,2535,3456的这些端口。
在Windows 2000远程服务器上的DOS操作系统的漏洞
以Windows 2000作为操作平台的服务器作为远程控制台对远程访问进行控制。一个远程的攻击者向该服务器发了一连串的
攻击性代码,使服务器工作出现故障。在此之后,如果系统通过自动重启后继续工作,那么很多 的攻击造成了远程服务器
不断的重新启动,直到重启的频度超出了系统的承受能力,系统崩溃。

另外:

1.
如果你有普通用户帐号,有个一个很简单的方法获取NT Administrator帐号:

先把c:\winnt\system32下的logon.scr改名为logon.old备份

然后把usrmgr.exe改名为logon.scr

然后重新启动

logon.scr是启动时加载的程序,重新启动后,不会出现以往的登陆密码输入界面,而是用户管理器

这时他就有权限把自己加到Administrator组

不要忘记把文件名改回来啊!

2.
下面的技术适用于不重视NT网络安全的网站,

一些http的技术也可以供较高级的人员参考

进入Win2K网络可以采取下面的步骤:

因为NT的IIS server的ftp一般都是允许anonymous匿名帐号进入的,有些anonymous的帐号还有upload权限,我们就要攻击这
类站点。因为如果不允许匿名帐号,就可能造成明文密码在网上传输。用tcpspy的工具可以截获这 些密码。现在不谈这些
比较高级的技术。

正因为允许匿名帐号ftp登陆的设定,也给我们带来了突破NT server的机会。我们用ftp登陆一个NT server,比
如:xxx.xxx.xxx.xxx(示例名):

ftp xxx.xxx.xxx.xxx

Connected to xxx.xxx.xxx.xxx

220 2000svr Microsoft FTP Service (Version 5.0).

2000svr这个东西暴露了其NETbios名,那么在IIS的背景下,必然会有一个IUSER_2000svr的用户帐号,属于Domain user组,
这个帐号我们以后要用来获取Administrator的权限

User (xxx.xxx.xxx.xxx none)):anonymous
331 Anonymous access allowed, send identity (e-mail name) as password.
Password: 输入 guest@ 或者guest
对于缺乏网络安全知识的管理员来说,很多人没有将guest帐号禁止,或者没有设置密码。那么guest帐号就是一个可用的正
确的用户帐号,虽然只属于Domain guest组

在这种情况下我们就可以进NT server的ftp了。

现在,开始查找cgi-bin目录(或者scripts目录),进去以后,

把winnt下的cmd.execopy到cgi-bin,把getadmin和gasys.dll传上去到cgi-bin

然后输入:http://www.xxx.com/cgi-bin/getadmin.exe?IUSR_SATURN

大约十多秒后屏幕显示:

CGI Error

这时有90%的可能是:你已经把IUSER_2000svr升级为Administrator,也就是任何访问该web站的人都是管理员

Windows 2000缓冲区溢出入门

  我在互联网上阅读过许多关于缓冲区溢出的文章。其中的绝大多数都是基于*NIX操作系统平台的。后来有幸拜读了
ipxodi所著的《Windows系统下的堆栈溢出》(已刊登在绿盟网络安全月刊2000年第三?谥校峙銮煽吹搅薐ason先生的
《Windows NT Buffer Overflow’s From Start to Finish》,得益匪浅。在翻译Jason先生的文章时,由于我的机器安装
了Windows 2000 Server,在调试原文程序时发现细节略有出入。因此本文提供的有关源程序、动态链接库、偏移量等是以
我在自己机器上调试为准。(对不同版本的动态链接库,都需要编程者自己调试。)

  这篇文章应该属入门级。虽然比较简单,但对于Windows系统下的缓冲区溢出具有一定的通用性。例如,堆栈溢出地址
的确定,跳转指令的查找和使用,溢出执行代码的编写,等等。只要发现Windows系统下存在缓冲区溢出漏洞的程序,基本
上都可通过这些步骤进行攻击测试。但正如ipxodi所指出的,由于Windows下动态链接库的版本更新较快,一定要根据编程
者的实际平台进行调试。在发布此类安全漏?垂婊蛞绯龉セ鞒绦蚴保创搿⑾低称教ê投唇涌獾陌姹竞哦加Ω镁×
苛星宄7裨虮鹑说魇云鹄纯赡芑嵬诽鄣煤芾骱Α#唬?P>--[ 调试、测试环境

Microsoft Visual C++ 6.0
Microsoft Windows 2000 Server (中文版,内部版本号:2195)

--[ 调试、测试过程

首先,写一个存在缓冲区溢出漏洞的应用程序。该程序可读取文件的内容,这样我们就能通过修改被读取文件的内容来使
程序溢出。;-) 在Visual C++开发环境中创建一个新的控制台应用程序,选择”An Application that supports MFC”并
单击”Finish”。(注:其实并不一定非是MFC应用程序不可,只不过是我自己的习惯而已。;-)))向这个应用程序中添
加一些必要的代码,如下:

CWinApp theApp;

using namespace std;

void overflow(char* buff);

void overflow(char* buff)
{
CFile file;
CFileException er;
if(!file.Open(_T("overflow.txt"),CFile::modeRead,&er))
{
er.ReportError();
return;
}

int x = file.GetLength();
file.Read(buff,x);
}

int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0;

// initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr

本文地址:http://com.8s8s.com/it/it3976.htm