TscanPlus超雄版分析

搜索TscanPlas无意中发现一个超雄版的:https://github.com/bamuwe/TscanPlus_Win_Amd64_v2.2

TscanPlus超雄版分析

然而没过一会就删库跑路了:

TscanPlus超雄版分析

超雄版SHA1: 79F90CE8F40D5ADE747F7302CD59736D00B41DD1

官方程序SHA1: 7EE7A7EA93FCF2C32983C7E69658AF3F5C04CAE7

心里一惊赶紧看看,火绒和Defender自然是没报毒的,沙箱分析和官方版本也没什么差别,报恶意。主要想看看有没有插入shellcode。

对比官方版发现文件小了很多,查一下壳,果然UPX压缩了:

TscanPlus超雄版分析

下个同版本的解压一下:

TscanPlus超雄版分析

这下和原版文件大小差不多了,老办法进Kali转储16进制文件:

xxd TscanPlus_Win_v2.2_src.exe >src.hexxxd TscanPlus_Win_Amd64_v2.2.exe >pat.hex

对比下修改点发现有66处不同,确实有点多

TscanPlus超雄版分析

看了下大部分都是将值修改为0的改动,应该是某个数据或指针的初始化值从特定值变为零,还有一些就是常规的跳转指令的修改了:如ff74 -> ff75,即JZ -> JNZ0f84 -> 0f85,即JE -> JNE,剩下的一些改动小的地方都差不多是修改跳转中指令和数据清零。重点看了看改动大的:

3221187,3221220c3221187,3221220< 03126c20: 7445 7800 d305 5769 6465 4368 6172 546f  tEx...WideCharTo< 03126c30: 4d75 6c74 6942 7974 6500 e605 5772 6974  MultiByte...Writ< 03126c40: 6543 6f6e 736f 6c65 5700 e705 5772 6974  eConsoleW...Writ< 03126c50: 6546 696c 6500 f805 5f5f 435f 7370 6563  eFile...__C_spec< 03126c60: 6966 6963 5f68 616e 646c 6572 0000 5200  ific_handler..R.< 03126c70: 5f5f 6765 746d 6169 6e61 7267 7300 5300  __getmainargs.S.< 03126c80: 5f5f 696e 6974 656e 7600 5400 5f5f 696f  __initenv.T.__io< 03126c90: 625f 6675 6e63 0000 5b00 5f5f 6c63 6f6e  b_func..[.__lcon< 03126ca0: 765f 696e 6974 0000 6100 5f5f 7365 745f  v_init..a.__set_< 03126cb0: 6170 705f 7479 7065 0000 6300 5f5f 7365  app_type..c.__se< 03126cc0: 7475 7365 726d 6174 6865 7272 0000 7300  tusermatherr..s.< 03126cd0: 5f61 636d 646c 6e00 7b00 5f61 6d73 675f  _acmdln.{._amsg_< 03126ce0: 6578 6974 0000 8800 5f62 6567 696e 7468  exit...._beginth< 03126cf0: 7265 6164 0000 8900 5f62 6567 696e 7468  read...._beginth< 03126d00: 7265 6164 6578 0000 8d00 5f63 6578 6974  readex...._cexit< 03126d10: 0000 c600 5f65 6e64 7468 7265 6164 6578  ...._endthreadex< 03126d20: 0000 c900 5f65 7272 6e6f 0000 fd00 5f66  ...._errno...._f< 03126d30: 6d6f 6465 0000 4b01 5f69 6e69 7474 6572  mode..K._initter< 03126d40: 6d00 b701 5f6c 6f63 616c 7469 6d65 3634  m..._localtime64< 03126d50: 0000 6302 5f6f 6e65 7869 7400 0704 6162  ..c._onexit...ab< 03126d60: 6f72 7400 1a04 6361 6c6c 6f63 0000 2704  ort...calloc..'.< 03126d70: 6578 6974 0000 3a04 6670 7269 6e74 6600  exit..:.fprintf.< 03126d80: 4104 6672 6565 0000 4d04 6677 7269 7465  A.free..M.fwrite< 03126d90: 0000 7c04 6d61 6c6c 6f63 0000 8204 6d65  ..|.malloc....me< 03126da0: 6d63 6872 0000 8304 6d65 6d63 6d70 0000  mchr....memcmp..< 03126db0: 8404 6d65 6d63 7079 0000 8504 6d65 6d6d  ..memcpy....memm< 03126dc0: 6f76 6500 8604 6d65 6d73 6574 0000 9404  ove...memset....< 03126dd0: 7173 6f72 7400 9804 7265 616c 6c6f 6300  qsort...realloc.< 03126de0: a204 7369 676e 616c 0000 af04 7374 7263  ..signal....strc< 03126df0: 6872 0000 b004 7374 7263 6d70 0000 b404  hr....strcmp....< 03126e00: 7374 7263 7370 6e00 b704 7374 726c 656e  strcspn...strlen< 03126e10: 0000 ba04 7374 726e 636d 7000 be04 7374  ....strncmp...st< 03126e20: 7272 6368 7200 bf04 7374 7273 706e 0000  rrchr...strspn..< 03126e30: da04 7666 7072 696e 7466 0000 0040 1a03  ..vfprintf...@..---> 03126c20: 7445 7800 0000 5769 6465 4368 6172 546f  tEx...WideCharTo> 03126c30: 4d75 6c74 6942 7974 6500 0000 5772 6974  MultiByte...Writ> 03126c40: 6543 6f6e 736f 6c65 5700 0000 5772 6974  eConsoleW...Writ> 03126c50: 6546 696c 6500 0000 5f5f 435f 7370 6563  eFile...__C_spec> 03126c60: 6966 6963 5f68 616e 646c 6572 0000 0000  ific_handler....> 03126c70: 5f5f 6765 746d 6169 6e61 7267 7300 0000  __getmainargs...> 03126c80: 5f5f 696e 6974 656e 7600 0000 5f5f 696f  __initenv...__io> 03126c90: 625f 6675 6e63 0000 0000 5f5f 6c63 6f6e  b_func....__lcon> 03126ca0: 765f 696e 6974 0000 0000 5f5f 7365 745f  v_init....__set_> 03126cb0: 6170 705f 7479 7065 0000 0000 5f5f 7365  app_type....__se> 03126cc0: 7475 7365 726d 6174 6865 7272 0000 0000  tusermatherr....> 03126cd0: 5f61 636d 646c 6e00 0000 5f61 6d73 675f  _acmdln..._amsg_> 03126ce0: 6578 6974 0000 0000 5f62 6567 696e 7468  exit...._beginth> 03126cf0: 7265 6164 0000 0000 5f62 6567 696e 7468  read...._beginth> 03126d00: 7265 6164 6578 0000 0000 5f63 6578 6974  readex...._cexit> 03126d10: 0000 0000 5f65 6e64 7468 7265 6164 6578  ...._endthreadex> 03126d20: 0000 0000 5f65 7272 6e6f 0000 0000 5f66  ...._errno...._f> 03126d30: 6d6f 6465 0000 0000 5f69 6e69 7474 6572  mode...._initter> 03126d40: 6d00 0000 5f6c 6f63 616c 7469 6d65 3634  m..._localtime64> 03126d50: 0000 0000 5f6f 6e65 7869 7400 0000 6162  ...._onexit...ab> 03126d60: 6f72 7400 0000 6361 6c6c 6f63 0000 0000  ort...calloc....> 03126d70: 6578 6974 0000 0000 6670 7269 6e74 6600  exit....fprintf.> 03126d80: 0000 6672 6565 0000 0000 6677 7269 7465  ..free....fwrite> 03126d90: 0000 0000 6d61 6c6c 6f63 0000 0000 6d65  ....malloc....me> 03126da0: 6d63 6872 0000 0000 6d65 6d63 6d70 0000  mchr....memcmp..> 03126db0: 0000 6d65 6d63 7079 0000 0000 6d65 6d6d  ..memcpy....memm> 03126dc0: 6f76 6500 0000 6d65 6d73 6574 0000 0000  ove...memset....> 03126dd0: 7173 6f72 7400 0000 7265 616c 6c6f 6300  qsort...realloc.> 03126de0: 0000 7369 676e 616c 0000 0000 7374 7263  ..signal....strc> 03126df0: 6872 0000 0000 7374 7263 6d70 0000 0000  hr....strcmp....> 03126e00: 7374 7263 7370 6e00 0000 7374 726c 656e  strcspn...strlen> 03126e10: 0000 0000 7374 726e 636d 7000 0000 7374  ....strncmp...st> 03126e20: 7272 6368 7200 0000 7374 7273 706e 0000  rrchr...strspn..> 03126e30: 0000 7666 7072 696e 7466 0000 0040 1a03  ..vfprintf...@..

发现也基本都是些清零操作:

03126c20: d305 → 000003126c30: e605 → 000003126c40: e705 → 000003126c50: f805 → 000003126c60: 5200 → 000003126c70: 5300 → 000003126c80: 5400 → 000003126c90: 5b00 → 000003126ca0: 6100 → 000003126cb0: 6300 → 000003126cc0: 7300 → 000003126cd0: 7b00 → 000003126ce0: 8800 → 000003126cf0: 8900 → 000003126d00: 8d00 → 000003126d10: c600 → 000003126d20: c900 → 000003126d30: fd00 → 000003126d40: 4b01 → 000003126d50: b701 → 000003126d60: 6302 → 000003126d70: 0704 → 000003126d80: 1a04 → 000003126d90: 2704 → 000003126da0: 3a04 → 000003126db0: 4104 → 000003126dc0: 8604 → 000003126dd0: 7c04 → 000003126de0: 8204 → 000003126df0: 8304 → 0000...

继续分析后边的改动:

TscanPlus超雄版分析

总体来看,改动主要涉及对数据内容和程序逻辑的修改没有直接改变内存申请、执行内存数据、或释放内存的操作。修改主要集中在数据内容和代码逻辑的调整上,而没有触及底层内存管理的操作。

目前看来貌似没有插入shellcode。不过为了使用放心还是使用正版好。

原文始发于微信公众号(Hack All Sec):TscanPlus超雄版分析

版权声明:admin 发表于 2024年7月24日 下午1:56。
转载请注明:TscanPlus超雄版分析 | CTF导航

相关文章