linux下运行中国菜刀
评语:这个方法……真的好蛋疼
本来一直在等官方放出来linux版的,结果官网都已经关了o(╯□╰)o
秉承毛主席的思想:自己动手,丰衣足食,于是就自己尝试着移植了,没想到居然成功了
试验环境:BT5 R3 + 官方最后更新的菜刀
BT5 R3默认的wine版本是1.2.2,其他版本未尝试,应该可以
1 |
root@bt:~# wine --version |
2 |
3 |
wine-1.2.2 |
特别注意:
菜刀需要脱壳后才能在wine下面成功运行,否则原版带upx,是没办法在linux运行的
感谢@ゼ羽人提供无壳菜刀
首先下载winetricks
1 |
wget http: //www.kegel.com/wine/winetricks |
然后安装菜刀运行所需要的dll库,菜刀是用vc写的,所以需要mfc库
1 |
sh winetricks mfc42 |
菜刀的数据库是access,所以需要mdac和jet库
首先安装mdac
1 |
sh winetricks mdac28 |
这里会弹出来一个浏览器框,手动下载mdac27,然后放入到弹出来的那个文件夹里
然后再运行一遍
1 |
sh winetricks mdac28 |
最后安装jet库
[/php]
sh winetricks jet40[/php]
这里需要挂vpn,不然没法下载
为了方便木有vpn的童鞋,我传了一份在百度网盘
戳我下载
如果是从百度网盘下载的,需要运行wine手动安装
[/php]wine jet40sp8_9xnt.exe[/php]
安装可能会爆个什么鸟错误xxx error 2,但是不影响使用
有个小问题,就是鼠标一旦移到靠上面的地方,就会自动变成十字拖动状态,很蛋疼,需要点住右键移动才能脱离
其他有没什么bug没具体测试,有什么bug大家报告,当然我不一定有能力修复o(╯□╰)o
作者:Twi1ight
转自:http://www.unhonker.com/information/1230.html
中国菜刀登陆密码清除工具(附脱壳、破解方法)
今天拿到了一个菜刀,据说里面有很多webshell,打开一看竟然存在密码,遂开始了一段破解之旅。很久没有破解软件了,很简单的东西,翻阅了很多资料才搞定。
【破解工具】
PEID、OD52pojie专版(用过暗组以前收集的OD不太好用)
【脱壳】
使用PEID查了一下菜刀的主程序-chopper.exe是经过加壳的–UPX 0.89.6 – 1.02 / 1.05 – 1.24 -> Markus & Laszlo。UPX的,还是比较简单的。
ESP定律法:
1. od载入
004AD090 > 60 pushad ; 按一下F8
004AD091 BE 00A04700 mov esi,chopper.0047A000
004AD096 8DBE 0070F8FF lea edi,dword ptr ds:[esi+0xFFF87000]
2. 右面的寄存器窗口
EAX 00000000
ECX 0012FFB0
EDX 7C92E4F4 ntdll.KiFastSystemCallRet
EBX 7FFDE000
ESP 0012FFA4 //这里右键-数据窗口中跟随
EBP 0012FFF0
3. 来到左下角的数据窗口
0012FFA4 7C930208 ntdll.7C930208 //在顶端7C930208的这里右键-断点-硬件访问-WORD
0012FFA8 FFFFFFFF
0012FFAC 0012FFF0
0012FFB0 0012FFC4
4. 按一下F9,运行程序
004AD237 8D4424 80 lea eax,dword ptr ss:[esp-0x80] ; F8步进
004AD23B 6A 00 push 0x0
004AD23D 39C4 cmp esp,eax
004AD23F ^ 75 FA jnz Xchopper.004AD23B
004AD241 83EC 80 sub esp,-0x80 ; 鼠标点击这里,F4运行到这里
004AD244 – E9 B977FBFF jmp chopper.00464A02 ; 再按F8即到达OEP
004AD249 0000 add byte ptr ds:[eax],al
004AD24B 0000 add byte ptr ds:[eax],al
5.到达OEP。
00464A02 55 push ebp ; 这里就是OEP了。右键-用Ollydump脱壳调试进程
00464A03 8BEC mov ebp,esp
00464A05 6A FF push -0x1
00464A07 68 18614700 push chopper.00476118
00464A0C 68 D04B4600 push chopper.00464BD0 ; jmp 到 msvcrt._except_handler3
00464A11 64:A1 00000000 mov eax,dword ptr fs:[0]
00464A17 50 push eax
00464A18 64:8925 0000000>mov dword ptr fs:[0],esp
再次使用PEID查壳,已经没有了,发现程序采用VC++编写。
【破解】
破解费了我将近两天时间,走了很多弯路。最后我发现我都要把整个汇编程序读懂了 。。
最开始我找了很多下断点的方法,没有成功。
经过对比加密和 不加密的菜刀程序,发现程序没有区别。而db.mdb文件发生了修改,可以断定,密码是保存在mdb文件中的,而不是保存在程序中的。而打开程序后,还会 生成一个cache.tmp文件。在发现目录下没有db.mdb文件时,chopper.exe会创建这个db.mdb文件。而这个文件自身也是有密码 的。
随后我准备采用API断点的方式,对ReadFile下断点。结果竟然发现了盗号木马。。。 不过后来还是没有找到关键call和关键跳。
这时,我绞尽脑汁(最后发现其实我已经在关键call里面转了很多回了,就是没有分析出整个程序的流程,所以没有找到密码)终于想到了一个办法–关键字搜索。
最后我好像是F8一步一步跟进的。。。忘记了。上工具吧。
0044A89E 8B0D A0FB4900 mov ecx,dword ptr ds:[0x49FBA0]
0044A8A4 E8 27220100 call 88.0045CAD0 ; 关键call
0044A8A9 84C0 test al,al
0044A8AB 74 07 je X88.0044A8B4
0044A8AD 8BCF mov ecx,edi
0044A8AF E8 1C0C0000 call 88.0044B4D0 ; 弹出密码框,F7进入,本程序就是在这里修改了两个关键跳实现的。
0044A8B4 381D 91FB4900 cmp byte ptr ds:[0x49FB91],bl
0044A8BA 75 7C jnz X88.0044A938