首页
社区
课程
招聘
[讨论]加密狗 听诊器 狗数据的侦听 注入后修改 半源码 [更新网络版]
发表于: 2011-2-8 13:05 157172

[讨论]加密狗 听诊器 狗数据的侦听 注入后修改 半源码 [更新网络版]

2011-2-8 13:05
157172
别人写过Doggle Moniter,不过显示出来的数据都是加密了的,关键的dll中出数据部份用了变型的Blowfish+标准Base64,这dll还加了VMP的壳,用了Delphi的消息机制来传递数据,应该是使用的madCHook这个库写的,关键dll与侦听显示部份通过窗口消息来传递,dll中取显示进程窗口句柄(窗口名称Doggle Monitor V2.0.9 Standard),然后发送加密后的消息队列内容去显示,,,不过还好,可以用SOD附加的方式调试这个被注入的目标进程被VMP了的侦听dll,变型的Blowfish没能力分析,只能修改了这个Blowfish输出后Base64加密前的部份,没能力脱VMP的壳,于是自己用易语言写个框架,使用的远程线程注入dll后,再修改这个dll里的关键部份(直接NOP),以达到效果,不过我用的普通的远程线程注入dll的方式不好,过不了一些加了壳的狗程序,比如我用Rockey2狗对记事本加狗壳,用我的方式注入后就运行出错,,论坛里的高人们(比如zyhfut大牛)写过的一些在进程创建时修改目标进程的入口去注入dll的方式我看的懂源码,但不会用C++写程序,郁闷的。

下面是主要的侦听dll中的需要修改部份
598620B5    47              inc     edi
598620B6    33F6            xor     esi, esi                         ; 下面是一个循环生成base64加密前的过程
598620B8    8D4D F0         lea     ecx, dword ptr [ebp-10]
598620BB    8D53 54         lea     edx, dword ptr [ebx+54]
598620BE    8BC3            mov     eax, ebx
598620C0    E8 4FEEFFFF     call    59860F14
598620C5    8B45 FC         mov     eax, dword ptr [ebp-4]
598620C8    8A0430          mov     al, byte ptr [eax+esi]
598620CB    3245 F0         xor     al, byte ptr [ebp-10]
598620CE    8B55 F8         mov     edx, dword ptr [ebp-8]
598620D1    880432          mov     byte ptr [edx+esi], al           ; 这里NOP了就直接输出Base64后的值,只要解码base64就出来明文的了,嘿。
598620D4    8D53 54         lea     edx, dword ptr [ebx+54]
598620D7    8D43 55         lea     eax, dword ptr [ebx+55]
598620DA    B9 07000000     mov     ecx, 7
598620DF    E8 D407FAFF     call    598028B8
598620E4    8B45 F8         mov     eax, dword ptr [ebp-8]
598620E7    8A0430          mov     al, byte ptr [eax+esi]
598620EA    8843 5B         mov     byte ptr [ebx+5B], al
598620ED    46              inc     esi
598620EE    4F              dec     edi
598620EF  ^ 75 C7           jnz     short 598620B8
598620F1    5F              pop     edi
598620F2    5E              pop     esi
598620F3    5B              pop     ebx
598620F4    8BE5            mov     esp, ebp
598620F6    5D              pop     ebp
598620F7    C2 0400         retn    4


发上一个原型图片和我写的图片





附件中是我写的用普通远程线程注入方式的易语言源代码和编译好的,以及调试测试时需要用到的程序和说明文档,希望有大牛弄成更好的注入方式并发到论坛上来,抛砖引玉了。

我的易代码的方式是新建进程并暂停,然后用普通的远程线程注入方式注入dll到这个暂停的进程中,然后修改dll中的内存值,再让新进程继续运行,这样目标进程在没有真正运行时就注入了dll并修改了加密,以达到破坏blowfish加密的目的,base64解码后直接还原成明码了,,我的问题就在于这个普通的远程注入dll的方式通用性不好,对于有壳的或是有些小九九的目标不灵。

Blowfish的密钥是
00BCA95C  F2 37 94 A5 69 4C 2D D0 0C CC 06 26 49 0D 28 9C  ?敟iL-??&I.(
00BCA96C  1F 4B 4C C5 00 00 00 00 00 00 00 00 00 00 00 00  KL?...........


2010.2.10更新: 在KB SMC的dll基础上,写了网络版本的,主程序UPX加壳,方便某部份人修改,apihook.dll为原始的VMP的壳所以会误报,服务器端使用端口8899,不发源码,请放心使用。

附上一个简单的说明,一般不用看。

功能:侦听一些国产加密狗的通讯(使用加密狗加密的软件与加密狗通讯时的数据),为复制加密狗或破解软件提供参考数据。

使用前最好先关闭你的杀毒软件的实时防护,因为通常杀软的实时防护会把侦听工具要用到的一些如dll注入阿的认为是病毒行为。。当然,本加密狗侦听工具不是病毒也不是木马,只是加了壳或者说使用的dll注入以及apihook的方式会被防毒软件误报。

支持的加密狗类型:Rockey2 Rockey4ND Rockey6 Sense3 Sense4 域天简单型 域天密码型 SoftDog(软件狗) MicroDog(微狗) 坚石ET99 域天易用/专业型 域天新简单型(带密码型) 安全芯(Schip) 龙脉Nox/Nox2 龙脉DAM2+

使用方法:1、自己电脑上安装有要加密狗的软件,插着加密狗:关闭与要用到狗的这个目标软件的相关的进程(如果有服务则停服务),运行侦听工具网络版服务器端,接着运行侦听工具客户端,输入IP地址127.0.0.1(因为都在一台电脑上用),点连接,连上后,点“启动程序”,在出来的界面上,选择用到加密狗的那个程序(在监控文件的右边有个打开文件那样的按钮上点),然后点击“开始监控”按钮,这时你的需要加密狗的那个程序会被运行起来,看看你的狗侦听工具的服务器端,是不是有通讯数据被侦听到(在接收信息那有一些信息显示出来)。OK,这是侦听单一程序的用法,,如果你的要用到狗的程序是以服务方式启动的,这时,你就得在“选择监控类型”那里选中“全部”,然后去启动你的软件的服务程序。。选择了全部,相当于使用了全局的注入,对每个新创建的进程就会注入apihook.dll进去以达到侦听程序与狗通讯。

2、别人电脑上安装着要加密狗的软件,插着加密狗:那自己电脑上运行狗数据侦听工具网络版服务器端,别人电脑上去运行网络版客户端,让别人先连接上你的服务器端,然后就可以向上面1中那样的操作方法操作了。服务器端使用使用端口8899,你如果在路由器下面或安装有网络防火墙,需要在路由器上设置8899这个端口的端口映射,如TP-LINK的路由器把这端口映射叫做虚拟服务器,如安装有软件防火墙,则设置一个让8899端口可以通行的规则或允许访问。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 7
支持
分享
最新回复 (105)
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
2
还是不知道咋用
2011-2-8 13:16
0
雪    币: 210
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
啥时候能支持精灵狗啊。
2011-2-8 13:22
0
雪    币: 204
活跃值: (225)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这个不好用,还是乞丐的那个好些
2011-2-8 14:48
0
雪    币: 97
活跃值: (211)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
tee老大,一直在研究乞丐的加密狗侦听工具。希望能有所突破。
2011-2-8 18:12
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
老大,能把Doggle Moniter v2.09的发上来吗?谢谢!
2011-2-8 18:20
0
雪    币: 506
活跃值: (388)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
7
没那么多的精力和时间去玩狗了,已是过去式,大前天我就把抽屉里的一堆狗扔到楼下路过的垃圾车里了,那个物业大妈,问我你怎么把这么多U盘都扔掉了,哈哈。各种各样的几年收集下来的狗大概花了我2000多块钱吧。还是有点舍不得的。。,玩狗这种事情,让后人去继续吧。突破这种话语高度太高。

要玩好狗,我觉得还是得有USB硬件设备开发基础、会软件调试分析、会脱壳、会分析写驱动,,这四种能力集一身才OK,,USB设备开发和写驱动的可以是一个人,调试分析和脱壳可以是一个人,组成团队才有搞头,,还要吃了饭没屁事闲的蛋疼的才行。

再说说乞丐了,一起聊过一两年,他有USB设备的开发基础或者说他原来的那班同事有、会整天调试分析写程序,脱壳会脱不精,写驱动不在行,,,现在应该手工焊芯片功夫了得,哈哈。,不过就是因为对狗太执着,钱是赚到了,但..。

很多狗的知识,都是需要几个人交流讨论来的,加QQ啊,发邮件啊什么的,但一般都只愿意跟同级别的人交流的,也都是只愿与人交流些自己不懂的方面或自己认为不屑的方面,这就是很多人认为公开的资料这么少,交流的人么,杂七杂八,很多都是吃猪扮虎,俗话讲“偷拳头”。,,相信很多人都经历过这样的过程,你懂的。

再说现在都智能狗时代了,用的好的狗,会让你,郁闷好几天,与其没事找事让自己不爽还死脑细胞,还不如不玩。
2011-2-9 09:24
0
雪    币: 506
活跃值: (388)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
8
找到一篇贴子,http://bbs.pediy.com/showthread.php?t=128076 ,再在这帖里的恢复入口点5个字节前加入修改dll中的NOP的地方应该就成了,用这种方式兼容性才好。

学习了一下,大概要实现我需要的ShellCode是
  //编写shellcode  
  /*cc
        9c        pushfd
  0040101D    50              push eax                                 ; 保存eax寄存器   ;;data offset + 0 
  0040101E    834424 08 FB    add dword ptr ss:[esp+8],-5              ; 修改跳回去的地址为原入口点(在ret之前修正入口点)
  00401023    E8 0C000000     call 00401034                            ; 将后面的字符串push进去

  00401028    6D 79 68 6F 6F 6B 2E 64 6C 6C 00 00       "myhook.dll"

  00401034    E8 3E0D407C     call kernel32.LoadLibraryA               ; 加载dll    ;;data offset + 24

                           |   push eax
                        /  |   mov eax,598620D1
                           |   mov byte ptr ds:[eax],90
  Patch Dll中的部份  ----- |   mov eax,598620D2
                           |   mov byte ptr ds:[eax],90
                        \  |   mov eax,598620D3  
                           |   mov byte ptr ds:[eax],90  
                           |   pop eax                        

  00401039    6A 00           push 0                                   ; 修改入口点页属性  这里是申请一个空间
  0040103B    54              push esp                                 ; old 属性地址 即0的地址
  0040103C    6A 40           push 40                                  ; PAGE_EXECUTE_READWRITE
  0040103E    6A 05           push 5
  00401040    68 99999999     push 99999999                            ; 入口点地址  ;;data offset + 36
  00401045    E8 860A407C     call kernel32.VirtualProtect   ; 修改入口点前5字节属性为可写 否则崩  ;;data offset + 41  
  0040104A    58              pop eax                                  ; 平衡堆栈
  0040104B    B8 99999999     mov eax,99999999                    ;;data offset 47
  00401050    C600 11         mov byte ptr ds:[eax],11  ;恢复入口点的5字节  ;;data offset 53
  00401053    40              inc eax
  00401054    C700 88888808   mov dword ptr ds:[eax],8888888              ;;data offset 57
  0040105A    58              pop eax
              9d        popfd
  0040105B    C3              retn
  */


仿写了部份易语言的代码,,ShellCode部份没写,不知道我上面的写的对不对,完全的话一些偏移还要改掉,,附上易源码,以方便蛋疼的朋友加工。
我这样会对单一目标程序的话,就不能使用全局注入的功能了,玩玩,啊门。
上传的附件:
2011-2-9 13:39
0
雪    币: 166
活跃值: (12)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
说的太正确了,你们都是高人我们只能膜拜。
2011-2-9 16:32
0
雪    币: 506
活跃值: (388)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
10
在KB的辛勤劳动下,终于阿门了。。。。
上传的附件:
2011-2-10 00:09
0
雪    币: 817
活跃值: (1927)
能力值: ( LV12,RANK:2670 )
在线值:
发帖
回帖
粉丝
11
神马的神马的路过
2011-2-10 00:10
0
雪    币: 131
活跃值: (114)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
恭喜 下个来学习下
2011-2-10 08:32
0
雪    币: 284
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
膜拜老k,看雪下载不要ub太好了。O(∩_∩)O哈!
2011-2-10 09:18
0
雪    币: 210
活跃值: (80)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
以后看雪下载要KB。^_^
2011-2-10 10:04
0
雪    币: 3519
活跃值: (4047)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
15
膜拜tee和老K
2011-2-10 10:34
0
雪    币: 200
活跃值: (88)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
谢谢TEE的辛勤劳动和无私的共享精神
2011-2-10 11:30
0
雪    币: 2393
活跃值: (1387)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
17
謝謝 Tee 和老 K  無私分享.
2011-2-10 13:40
0
雪    币: 751
活跃值: (2710)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
NOX5测试了一下,好像不成
2011-2-10 15:24
0
雪    币: 506
活跃值: (388)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
19
KB做的是2.08的dll的smc,,,2.08比2.09就少了个NOX5,哈哈。
2011-2-10 15:49
0
雪    币: 751
活跃值: (2710)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
用209或者更高版本再做一下
2011-2-10 16:05
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
21
TEE老大又发布强劲的东西了,要下载学习一下,佩服了。
2011-2-10 22:14
0
雪    币: 263
活跃值: (40)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
22
谢谢,两边都看了,哪天试试
2011-2-11 12:33
0
雪    币: 3519
活跃值: (4047)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
23
我擦,发个2.09啊,Tee大神。
2011-2-11 13:55
0
雪    币: 120
活跃值: (160)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
24
花了3UB在UPK下载了老K的,没想到上看雪又看到了。可惜我那3UB啊。
2011-2-11 14:10
0
雪    币: 136
活跃值: (105)
能力值: ( LV9,RANK:140 )
在线值:
发帖
回帖
粉丝
25
n你们太坏了
2011-2-11 14:28
0
游客
登录 | 注册 方可回帖
返回
//