Archive for 2005年10月28日


找回“显示桌面”文件

[Shell]
Command=2
IconFile=explorer.exe,3
[Taskbar]
Command=ToggleDesktop
 
        把这段文字复制下来,打开记事本将这段内容复制进去,保存为“显示桌面.scf”,再把这个文件拖到工具栏上,“显示桌面”就回来了。
        其实,在Windows98/me或者Windows2000系统下,如果出现误删除“显示桌面”的情况,只需在搜索里键入“*.scf”或者“显示桌面”就可以找到“显示桌面”的文件了。
 
 
XP一些小技巧
 
        CHKNTFS /T:0
        表示无需等待时间
 
        regsvr32 /u zipfldr.dll
        取消Windows XP的压缩文件夹支持
 
        regsvr32 /u shdocvw.dll
        取消“图片和传真”与图片文件的关联
 
        regsvr32 /u shmedia.dll
        取消WinXP的视频预览

 

 

恢复EXE文件关联
 
  在安全模式下输入:assoc<空格 >.exe=exefile<回车>,屏幕上将显示“.exe=exefile”。现在关闭命令提示符窗口,按Ctrl+Alt+Del组合键调出“Windows安全”窗口,按“关机”按钮后选择“重新启动”选项,按正常模式启动Windows后,所有的EXE文件都能正常运行了!

  1.最基本,最常用的,测试物理网络的
  ping 192.168.10.88 -t ,参数-t是等待用户去中断测试
 
  2.查看DNS、IP、Mac等
  A.Win98:winipcfg
  B.Win2000以上:ipconfig/all
  C.NSLOOKUP:如查看河北的DNS
  C:>nslookup
  Default Server: ns.hesjptt.net.cn
  Address: 202.99.160.68
  >server 202.99.41.2 则将DNS改为了41.2
  > pop.pcpop.com
  Server: ns.hesjptt.net.cn
  Address: 202.99.160.68
  Non-authoritative answer:
  Name: pop.pcpop.com
  Address: 202.99.160.212
 
  3.网络信使
  Net send 计算机名/IP|* (广播) 传送内容,注意不能跨网段
  net stop messenger 停止信使服务,也可以在面板-服务修改
  net start messenger 开始信使服务
 
  4.探测对方对方计算机名,所在的组、域及当前用户名
  ping -a IP -t ,只显示NetBios名
  nbtstat -a 192.168.10.146 比较全的
 
  5.netstat -a 显示出你的计算机当前所开放的所有端口
  netstat -s -e 比较详细的显示你的网络资料,包括TCP、UDP、ICMP 和 IP的统计等
 
  6.探测arp绑定(动态和静态)列表,显示所有连接了我的计算机,显示对方IP和MAC地址
  arp -a
 
  7.在代理服务器端
  捆绑IP和MAC地址,解决局域网内盗用IP:
  ARP -s 192.168.10.59 00-50-ff-6c-08-75
  解除网卡的IP与MAC地址的绑定:
  arp -d 网卡IP
 
  8.在网络邻居上隐藏你的计算机
  net config server /hidden:yes
  net config server /hidden:no 则为开启
 
  9.几个net命令
  A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上的计算机上的列表。
  比如:查看这个IP上的共享资源,就可以
  C:>net view 192.168.10.8
  在 192.168.10.8 的共享资源
  资源共享名 类型 用途 注释
  ————————————–
  网站服务 Disk
  命令成功完成。
  B.查看计算机上的用户帐号列表 net user
  C.查看网络链接 net use
  例如:net use z: \192.168.10.8movie 将这个IP的movie共享目录映射为本地的Z盘
  D.记录链接 net session
  例如:
  C:>net session
  计算机 用户名 客户类型 打开空闲时间
  ——————————————————————————-
  \192.168.10.110 ROME Windows 2000 2195 0 00:03:12
  \192.168.10.51 ROME Windows 2000 2195 0 00:00:39
  命令成功完成。
 
  10.路由跟踪命令
  A.tracert pop.pcpop.com
  B.pathping pop.pcpop.com 除了显示路由外,还提供325S的分析,计算丢失包的%
 
  11.关于共享安全的几个命令
  A.查看你机器的共享资源 net share
  B.手工删除共享
  net share c$ /d
  net share d$ /d
  net share ipc$ /d
  net share admin$ /d
  注意$后有空格。
  C.增加一个共享:
  c:net share mymovie=e:downloadsmovie /users:1
  mymovie 共享成功。
  同时限制链接用户数为1人。
 
  12.在DOS行下设置静态IP
  A.设置静态IP
  CMD
  netsh
  netsh>int
  interface>ip
  interface ip>set add "本地链接" static IP地址 mask gateway
  B.查看IP设置
  interface ip>show address
 
  打开DOS窗口,键入:
  for /L %i in (1,1,224) do ping -n 2 192.168.2.%i>>test.txt
  命令将从IP地址192.168.2.1开始,192.168.2.224结束,对每一台电脑执行Ping命令,并将结果保存到test.txt中。
      安装的时候敲个回车就过去了,不必再去抄写序列号了。 这样的方法对Win98、Win2000、WinXP、Win2003和Win Longhorn系统都适用
 
方法一:用于在windows系统下免输序号
用一些EXE资源修改器,比如Exescope,Reshacker,Resscope,PEExplorer等.
英文版的改WINNT32A.DLL
中文版的改WINNT32U.DLL
OEM版改dialog1451033和2052 ,
零售版改dialog1441033和2052
VOL版改dialog1581033和2052
修改里面的序列号. 有五个"",在中间按顺序加入SN,然后编译-保存
 
方法二:用于dos下安装免输序号
用WINRAR解开 I386SYSSETUP.DL_ 得到文件SYSSETUP.DLL
再用ResourceHack 打开文件 SYSSETUP.DLL
找到对话框里面的208(上海政府版)
58(OEM)
59(零售版)
修改里面的序列号. 有五个"",在中间按顺序加入SN,然后编译-保存.
开始-运行-CMD
运行 makecab syssetup.dll syssetup.dl_
最后把SYSSETUP.DL_替换掉I386下面的同名文件
下面几个bat文件示例,希望对你有点用处,根据需要自己修改一下再使用。

删除默认共享(别存为bat文件放在开始菜单中):net_share_delete.bat,

net share c$ /delete
net share d$ /delete
net share e$ /delete…

登陆到局域网的机器快捷方式(对方机器有密码且为2000或以上系统)

nethood.bat

net use \192.168.0.20 [密码] /user:[用户名] explorer \192.168.0.20
批处理中的循环newfolder.bat

@ECHO OFF SET /A counter=0 :top SET /A counter=%counter%+1 ECHO 运行第 %counter% 次 md folder%counter% if %counter% LSS 10 GOTO :top ECHO Run complete
删除临时文件夹中的文件(window 2000或以上操作系统) del_tempfile.bat

cd /d %temp% del *.* /s /q
解决IE无法在新窗口中打开链接的问题,关闭所有的ie窗口,运行下面内容的bat iedll.bat

Regsvr32 urlmon.dll Regsvr32 actxprxy.dll Regsvr32 shdocvw.dll Regsvr32 oleaut32.dll
重命名从IE临时文件夹中拷贝的文件 renameIEtempfile.bat(从Temporary Internet Files复制过来的文件都会在文件名上加上[1]或者[n],用此bat文件可以很快的给他们改名)

rename ?[1].* ?.*
rename ??[1].* ??.*
rename ???[1].* ???.*
rename ????[1].* ????.*
rename ?????[1].* ?????.*
rename ??????[1].* ??????.*
rename ???????[1].* ???????.*
rename ????????[1].* ????????.*
rename ?????????[1].* ?????????.*
rename ??????????[1].* ??????????.*
rename ???????????[1].* ???????????.*
rename ????????????[1].* ????????????.*
rename ?????????????[1].* ?????????????.*
rename ??????????????[1].* ??????????????.*
rename ???????????????[1].* ???????????????.*
rename ????????????????[1].* ????????????????.*
rename ?????????????????[1].* ?????????????????.*
rename ??????????????????[1].* ??????????????????.*
rename ???????????????????[1].* ???????????????????.*

  自Windows 2000开始,微软就提供一项终端服务(Terminal Server)这项服务可以将远程的桌面传递到本地。通过该服务,可视化的远程管理可以非常方便的实现。继Windows 2000之后,Windows XP也提供这项服务。在Windows XP 中的Terminal Server Client程序比Windows 2000中的那个有了进一步的发展,许多功能都强大了许多。
  Windows XP 中的Terminal Server Client程序主要的新特性有:
  1)可以将目标机器上的声音带回本机。
  2)支持真彩色并可以全屏使用。
  3)而且不用安装,只需两个文件 mstsc.exe 和 mstscax.dll 就可以使用了,非常方便。
  Terminal Server 的默认端口是 3389,所以很多了解Windows的这个特性的人利用一些特殊的软件或者其他方法来扫描该端口。发现该端口开放就可以实施入侵,这是非常危险的。所以,在实践中需要改变Terminal Server的端口。
  修改Terminal Server的默认端口的办法如下:
  1. 服务器端的修改
  将下列两个注册表键中的 PortNumber 均改成自定义的端口即可:
  HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWdsRepwdTdsTcp
  HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp
  2. 客户端的修改
  Windows 2000
  运行 Client Connection Manager 创建一个对刚才修改过的服务器的新连接,然后将其导出到 server.cns 文件,.cns 文件是存储此连接各选项的 ASCII 码文件,用 文本编辑软件 打开这个文件,找到 Server Port=3389 这一行将 3389 改成自定义的端口,保存后再将其导入 Client Connection Manager 它会提示“已经有一个连接使用此配置,是否将其覆盖”, 选择是。 现在我们就可以用 Client Connection Manager 中的这个连接配置连到自定义端口的服务器了。
  Windows XP
  打开 mstsc.exe 窗口。按 “选项”按钮扩展窗口,将有 “常规”、“显示”、“本地资源”、“运行”、“高级”五个选项卡。根据需要填写各项后,再按 “常规” 选项卡中的“另存为”按钮。 mstsc.exe 会将自定义连接配置保存为 .rdp 文件。用文本编辑软件将其打开可以看到其格式如下:
  screen mode id:i:1
  desktopwidth:i:800
  desktopheight:i:600
  session bpp:i:8
  winposstr:s:2,3,195,73,843,580
  auto connect:i:0
  full address:s:192.168.0.9
  compression:i:1
  bitmapcachepersistenable:i:1
  keyboardhook:i:2
  audiomode:i:2
  redirectdrives:i:1
  redirectprinters:i:1
  redirectcomports:i:1
  displayconnectionbar:i:1
  username:s:tsinternetuser
  domain:s:JOB
  alternate shell:s:
  shell working directory:s:
  非常明显,可以看出这个文件的格式为:选项:数据类型(i-整数/s-字符串):该选项的数据值。
  其中没有连接到服务器的某个端口的这样的选项。所以需要手工添加,在其中添加一行。
  server port:i:×××× (××××服务器自定义的端口)。
  也可以将中间项省去;直接写成 server port:×××× 即可。
  运行mstsc.exe,打开这个.rdp 文件即可连接这个自定义端口了。
1、Echo 命令
打开回显或关闭请求回显功能,或显示消息。如果没有任何参数,echo 命令将显示当前回显设置。
语法
echo [{on|off}] [message]
Sample:@echo off / echo hello world
在实际应用中我们会把这条命令和重定向符号(也称为管道符号,一般用> >> ^)结合来实现输入一些命令到特定格式的文件中.这将在以后的例子中体现出来。
 
2.@ 命令
表示不显示@后面的命令,在入侵过程中(例如使用批处理来格式化敌人的硬盘)自然不能让对方看到你使用的命令啦。
Sample:@echo off
@echo Now initializing the program,please wait a minite…
@format X: /q/u/autoset (format 这个命令是不可以使用/y这个参数的,可喜的是微软留了个autoset这个参数给我们,效果和/y是一样的。)
 
3.Goto 命令
指定跳转到标签,找到标签后,程序将处理从下一行开始的命令。
语法:goto label (label是参数,指定所要转向的批处理程序中的行。)
Sample:
if {%1}=={} goto noparms
if {%2}=={} goto noparms(如果这里的if、%1、%2你不明白的话,先跳过去,后面会有详细的解释。)
@Rem check parameters if null show usage
:noparms
echo Usage: monitor.bat ServerIP PortNumber
goto end
标签的名字可以随便起,但是最好是有意义的字母啦,字母前加个:用来表示这个字母是标签,goto命令就是根据这个:来寻找下一步跳到到那里。最好有一些说明这样你别人看起来才会理解你的意图啊。
 
4.Rem 命令
注释命令,在C语言中相当与/*——–*/,它并不会被执行,只是起一个注释的作用,便于别人阅读和你自己日后修改。
Rem Message
Sample:@Rem Here is the description.
 
5.Pause 命令
运行 Pause 命令时,将显示下面的消息:
Press any key to continue . . .
Sample:
@echo off
:begin
copy a:*.* d:back
echo Please put a new disk into driver A
pause
goto begin
在这个例子中,驱动器 A 中磁盘上的所有文件均复制到d:back中。显示的注释提示您将另一张磁盘放入驱动器 A 时,pause 命令会使程序挂起,以便您更换磁盘,然后按任意键继续处理。
 
6.Call 命令
从一个批处理程序调用另一个批处理程序,并且不终止父批处理程序。call 命令接受用作调用目标的标签。如果在脚本或批处理文件外使用 Call,它将不会在命令行起作用。
语法
call [[Drive:][Path] FileName [BatchParameters]] [:label [arguments]]
参数
[Drive:}[Path] FileName
指定要调用的批处理程序的位置和名称。filename 参数必须具有 .bat 或 .cmd 扩展名。
 
7.start 命令
调用外部程序,所有的DOS命令和命令行程序都可以由start命令来调用。
入侵常用参数:
MIN 开始时窗口最小化
SEPARATE 在分开的空间内开始 16 位 Windows 程序
HIGH 在 HIGH 优先级类别开始应用程序
REALTIME 在 REALTIME 优先级类别开始应用程序
WAIT 启动应用程序并等候它结束
parameters 这些为传送到命令/程序的参数
执行的应用程序是 32-位 GUI 应用程序时,CMD.EXE 不等应用程序终止就返回命令提示。如果在命令脚本内执行,该新行为则不会发生。
 
8.choice 命令
choice 使用此命令可以让用户输入一个字符,从而运行不同的命令。使用时应该加/c:参数,c:后应写提示可输入的字符,之间无空格。它的返回码为1234……
如: choice /c:dme defrag,mem,end
将显示
defrag,mem,end[D,M,E]?
Sample:
test.bat的内容如下:
@echo off
choice /c:dme defrag,mem,end
if errorlevel 3 goto defrag (应先判断数值最高的错误码)
if errorlevel 2 goto mem
if errotlevel 1 goto end
:defrag
c:dosdefrag
goto end
:mem
mem
goto end
:end
echo good bye
此文件运行后,将显示 defrag,mem,end[D,M,E]? 用户可选择d m e ,然后if语句将作出判断,d表示执行标号为defrag的程序段,m表示执行标号为mem的程序段,e表示执行标号为end的程序段,每个程序段最后都以goto end将程序跳到end标号处,然后程序将显示good bye,文件结束。
 
9.If 命令
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if "参数" == "字符串"  待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if "%1"=="a" format a:
if {%1}=={} goto noparms
if {%2}=={} goto noparms
2、if exist 文件名  待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys
3、if errorlevel / if not errorlevel 数字  待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2  
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
 
10.for 命令
for 命令是一个比较复杂的命令,主要用于参数在指定的范围内循环执行命令。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable
for {%variable|%%variable} in (set) do command [ CommandLineOptions]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters 为特定命令指定参数或命令行开关。
在批处理文件中使用 FOR 命令时,指定变量请使用 %%variable而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I
如果命令扩展名被启用,下列额外的 FOR 命令格式会受到支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
FOR /R [[drive:]path] %variable IN (set) DO command [command-
检查以 [drive:]path 为根的目录树,指向每个目录中的FOR 语句。如果在 /R 后没有指定目录,则使用当前目录。如果集仅为一个单点(.)字符,则枚举该目录树。
FOR /L %variable IN (start,step,end) DO command [command-para
该集表示以增量形式从开始到结束的一个数字序列。
因此,(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生序列 (5 4 3 2 1)。
FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN (command) DO command
或者,如果有 usebackq 选项:
FOR /F ["options"] %variable IN (file-set) DO command
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN (command) DO command
filenameset 为一个或多个文件名。继续到 filenameset 中的下一个文件之前,每份文件都已被打开、读取并经过处理。
处理包括读取文件,将其分成一行行的文字,然后将每行解析成零或更多的符号。然后用已找到的符号字符串变量值调用 For 循环。以默认方式,/F 通过每个文件的每一行中分开的第一个空白符号。跳过空白行。您可通过指定可选 "options"参数替代默认解析操作。这个带引号的字符串包括一个或多个指定不同解析选项的关键字。这些关键字为:
eol=c – 指一个行注释字符的结尾(就一个)
skip=n – 指在文件开始时忽略的行数。
delims=xxx – 指分隔符集。这个替换了空格和跳格键的默认分隔符集。
tokens=x,y,m-n – 指每行的哪一个符号被传递到每个迭代的 for 本身。这会导致额外变量名称的格式为一个范围。通过 nth 符号指定 m符号字符串中的最后一个字符星号,那么额外的变量将在最后一个符号解析之分配并接受行的保留文本。
usebackq – 指定新语法已在下类情况中使用:在作为命令执行一个后引号的字符串并且引号字符为文字字符串命令并允许在 fi中使用双引号扩起文件名称。
 
sample1:
FOR /F "eol=; tokens=2,3* delims=, " %i in (myfile.txt) do command
会分析 myfile.txt 中的每一行,忽略以分号打头的那些行,将每行中的第二个和第三个符号传递给 for 程序体;用逗号和/或空格定界符号。请注意,这个 for 程序体的语句引用 %i 来取得第二个符号,引用 %j 来取得第三个符号,引用 %k来取得第三个符号后的所有剩余符号。对于带有空格的文件名,您需要用双引号将文件名括起来。为了用这种方式来使用双引号,您还需要使用 usebackq 选项,否则,双引号会被理解成是用作定义某个要分析的字符串的。
%i 专门在 for 语句中得到说明,%j 和 %k 是通过tokens= 选项专门得到说明的。您可以通过 tokens= 一行指定最多 26 个符号,只要不试图说明一个高于字母 z 或Z 的变量。请记住,FOR 变量是单一字母、分大小写和全局的;同时不能有 52 个以上都在使用中。
您还可以在相邻字符串上使用 FOR /F 分析逻辑;方法是,用单引号将括号之间的 filenameset 括起来。这样,该字符串会被当作一个文件中的一个单一输入行。
最后,您可以用 FOR /F 命令来分析命令的输出。方法是,将括号之间的 filenameset 变成一个反括字符串。该字符串会被当作命令行,传递到一个子 CMD.EXE,其输出会被抓进内存,并被当作文件分析。因此,以下例子:
FOR /F "usebackq delims==" %i IN (`set`) DO @echo %i
会枚举当前环境中的环境变量名称。
另外,FOR 变量参照的替换已被增强。您现在可以使用下列选项语法:
~I – 删除任何引号("),扩充 %I
%~fI – 将 %I 扩充到一个完全合格的路径名
%~dI – 仅将 %I 扩充到一个驱动器号
%~pI – 仅将 %I 扩充到一个路径
%~nI – 仅将 %I 扩充到一个文件名
%~xI – 仅将 %I 扩充到一个文件扩展名
%~sI – 扩充的路径只含有短名
%~aI – 将 %I 扩充到文件的文件属性
%~tI – 将 %I 扩充到文件的日期/时间
%~zI – 将 %I 扩充到文件的大小
%~$PATH:I – 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个完全合格的名称。如果环境变量
未被定义,或者没有找到文件,此组合键会扩充
空字符串
可以组合修饰符来得到多重结果:
%~dpI – 仅将 %I 扩充到一个驱动器号和路径
%~nxI – 仅将 %I 扩充到一个文件名和扩展名
%~fsI – 仅将 %I 扩充到一个带有短名的完整路径名
%~dp$PATH:i – 查找列在路径环境变量的目录,并将 %I 扩充
到找到的第一个驱动器号和路径。
%~ftzaI – 将 %I 扩充到类似输出线路的 DIR
在以上例子中,%I 和 PATH 可用其他有效数值代替。%~ 语法
用一个有效的 FOR 变量名终止。选取类似 %I 的大写变量名
比较易读,而且避免与不分大小写的组合键混淆。
以上是MS的官方帮助,下面我们举几个例子来具体说明一下For命令在入侵中的用途。
 
sample2:
利用For命令来实现对一台目标Win2k主机的暴力密码破解。
我们用net use \ipipc$ "password" /u:"administrator"来尝试这和目标主机进行连接,当成功时记下密码。
最主要的命令是一条:for /f i% in (dict.txt) do net use \ipipc$ "i%" /u:"administrator"
用i%来表示admin的密码,在dict.txt中这个取i%的值用net use 命令来连接。然后将程序运行结果传递给find命令--
for /f i%% in (dict.txt) do net use \ipipc$ "i%%" /u:"administrator"|find ":命令成功完成">>D:ok.txt ,这样就ko了。
        UNIX操作系统是目前网络上用得最多的操作系统之一,使用UNIX系统,机器的关机要比使用DOS单用户机器的关机过程复杂得多。在UNIX下如不使用正确的关机命令和关机方法,将破坏文件系统,造成很大的损失。下面介绍UNIX系统的五种关机方法。
 
  1、用haltsys命令关机
  haltsys命令一发出,就会立即把系统关闭掉。其优点是系统响应快,强迫性强,因此,该命令只适合于系统上只有一个用户的情况。如果系统上有多个用户在工作,一发出命令,这些用户就被迫退出系统,他们的进程也丢失了。操作方法是:以超级用户登录,输入haltsys,回车,系统显示关机信息时,关掉电源。
 
  2、用reboot命令关机
  reboot命令是由系统管理员执行的停机程序,reboot实质上是和haltsys命令链接在一起的。reboot和haltsys的唯一区别是它在正常停机后不用按任意键,马上自动引导,重新启动系统。reboot特别适合系统管理员调试机器用。
 
  3、用shutdown命令关机
  shutdown命令是一个用shell语言编写的程序,驻留在/etc目录中。它由超级用户在前台运行,自动执行wall命令,通知正在系统中工作的所有用户,系统将在指定的时间内停机,请做好准备工作,然后从系统中注销。当所有用户已从系统中注销或指定时间已到时,shutdown就执行kill命令把系统中除主控台外的所有进程都终止,接着执行haltsys命令使系统正常停机。使用格式:shutdown -g[hh:]mm -f"Mesg",其中[hh:]mm是系统指定关机时间,“Mesg"是系统向各终端用户发送的信息。在网络用户中推荐使用shutdown命令来关机。
 
  4、用bye命令关机
  bye命令是以shutdown为核心,用vi编辑生成的关机命令,主要优点是简单易记。bye文件内容为:shutdown -y -g0(参数可根据实际需要设置),编辑后的bye权限为-rw-r-r-,此时bye不能直接使用,将其权限放开,# chmod u+x bye,bye才可行使shutdown职能。
 
  5、创建关机用户bye
  用超级用户来关机,不利于系统的管理,存在一定的安全隐患,因此有必要建立自动关机用户。下面以sysadmsh命令来创建关机用户bye。
  (1)创建bye用户。用超级用户登录到UNIX,键入sysadmsh,选择Account->User->Create,在Username中输入:bye,其他缺省。
  (2) 在Account->User->Examine中,输入bye后选择Privilege->Subsystem->Specify输入shutdown,保存修改信息并退出sysadmsh。
  (3) 用bye注册到UNIX,编辑当前目录下的.profile文件。该文件内容为:
  trap exit 2,3 /tcb/bin/asroot shutdown -y -g0
  (4)在Login:状态下,只要键入bye就会自动关闭UNIX操作系统。
    问题:无法上传较大的文件“Request 对象 错误 ‘ASP 0104 : 80004005’”或者上传成功后,找不到文件名.
 
    更改Win 2003的IIS 6.0对asp的上传文件大小为200k限制,aspx的上传程序没有影响。在IIS6.0中,默认设置是特别严格和安全的,最大只能传送 204,800 个字节,这样可以最大限度地减少因以前太宽松的超时和限制而造成的攻击。IIS 6 出于安全考虑, 默认最大请求是200K(也即最大提交数据限额为200KByte,204800Byte)。(在 IIS 6.0 之前的版本中无此限制)
 
    解决方案:
 
先打开Internet 信息服务(IIS)管理器
 
(本地计算机 )—- 属性 —-允许直接编辑配置数据库(N)
一定要勾先“允许直接编辑配置数据库(N)”
 
然后在服务里关闭iis admin service服务
找到windowssystem32inesrv下的metabase.xml,
用计事本打开metabase.xml,找到ASPMaxRequestEntityAllowed 把他修改为需要的值,默认为204800,即200K
把它修改为51200000(50M)
 
最后重启iis admin service服务

      VBS脚本病毒的大量流行使我们对VBS的功能有了一个全新的认识,现在大家对它也开始重视起来。VBS代码在本地是通过Windows Script Host(WSH)解释执行的。VBS脚本的执行离不开WSH,WSH是微软提供的一种基于32位Windows平台的、与语言无关的脚本解释机制,它使得脚本能够直接在Windows桌面或命令提示符下运行。利用WSH,用户能够操纵WSH对象、ActiveX对象、注册表和文件系统。在Windows 2000下,还可用WSH来访问Windows NT活动目录服务。
  用VBS编写的脚本程序在窗口界面是由wscript.exe文件解释执行的,在字符界面由cscript.exe文件解释执行。wscript.exe是一个脚本语言解释器,正是它使得脚本可以被执行,就象执行批处理一样。关于VBS大家一定比我熟悉多了,所以再不废话,直接进入主题,看看我总结的VBS在系统安全中的八则妙用吧。

  一、给注册表编辑器解锁
  用记事本编辑如下内容:
DIM WSH
SET WSH=WSCRIPT.CreateObject("WSCRIPT.SHELL") ‘击活WScript.Shell对象
WSH.POPUP("解锁注册表编辑器!")
‘显示弹出信息“解锁注册表编辑器!”
WSH.Regwrite"HKCUSoftwareMicrosoftWindowsCurrentVersion
PoliciesSystemDisableRegistryTools",0,"REG_DWORD"
‘给注册表编辑器解锁
WSH.POPUP("注册表解锁成功!")
‘显示弹出信息“注册表解锁成功!”
保存为以.vbs为扩展名的文件,使用时双击即可。

  二、关闭Win NT/2000的默认共享
  用记事本编辑如下内容: 
 
Dim WSHShell’定义变量
set WSHShell=CreateObject("WScript.shell") ‘创建一个能与操作系统沟通的对象WSHShell
Dim fso,dc
Set fso=CreateObject("Scripting.FileSystemObject")’创建文件系统对象
set dc=fso.Drives ‘获取所有驱动器盘符
For Each d in dc
Dim str
WSHShell.run("net share"&d.driveletter &"$ /delete")’关闭所有驱动器的隐藏共享
next  
WSHShell.run("net share admin$ /delete")
WSHShell.run("net share ipc$ /delete")’关闭admin$和ipc$管道共享
  现在来测试一下,先打开cmd.exe,输入net share命令就可以看到自己机子上的共享。双击执行stopshare.vbs后,会看见窗口一闪而过。然后再在cmd里输入net share命令,这时候没有发现共享列表了

  三、显示本机IP地址
  有许多时候,我们需要知道本机的IP地址,使用各种软件虽然可以办到,但用VBS脚本也非常的方便。用记事本编辑如下内容:
Dim WS
Set WS=CreateObject("MSWinsock.Winsock")
IPAddress=WS.LocalIP
MsgBox "Local IP=" & IPAddress
   将上面的内容保存为ShowIP.vbs,双击执行即可得到本机IP地址。

  四、利用脚本编程删除日志
  入侵系统成功后黑客做的第一件事便是清除日志,如果以图形界面远程控制对方机器或是从终端登陆进入,删除日志不是一件困难的事,由于日志虽然也是作为一种服务运行,但不同于http,ftp这样的服务,可以在命令行下先停止,再删除,在命令行下用net stop eventlog是不能停止的,所以有人认为在命令行下删除日志是很困难的,实际上不是这样,比方说利用脚本编程中的VMI就可以删除日志,而且非常的简单方便。源代码如下:
strComputer= "."
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate,(Backup)}!\" & _
 strComputer & "rootcimv2")
dim mylogs(3)
mylogs(1)="application"
mylogs(2)="system"
mylogs(3)="security"
for Each logs in mylogs
Set colLogFiles=objWMIService.ExecQuery _
 ("Select * from Win32_NTEventLogFile where LogFileName=’"&logs&"’")
For Each objLogfile in colLogFiles
 objLogFile.ClearEventLog()
Next
next
  将上面的代码保存为cleanevent.vbs文件即可。在上面的代码中,首先获得object对象,然后利用其clearEventLog()方法删除日志。建立一个数组,application,security,system,如果还有其他日志也可以加入数组。然后用一个for循环,删除数组中的每一个元素,即各个日志。

  五、利用脚本伪造日志
  删除日志后,任何一个有头脑的管理员面对空空的日志,马上就会反应过来被入侵了,所以一个聪明的黑客的学会如何伪造日志。利用脚本编程中的eventlog方法创造日志非常简单,请看下面的代码:
set ws=wscript.createobject("Wscript.shell")
ws.logevent 0 ,"write log success" ‘创建一个成功执行日志
  将上面的代码保存为createlog.vbs即可。这段代码很容易理解,首先获得wscript的一个shell对象,然后利用shell对象的logevent方法。logevent的用法:logevent eventtype,"description" [,remote system],其中eventtype为日志类型,可以使用的参数如下:0代表成功执行,1执行出错,2警告,4信息,8成功审计,16故障审计。所以上面代码中,把0改为1,2,4,8,16均可,引号中的内容为日志描述。利用这种方法写的日志有一个缺点,即只能写到应用程序日志,而且日志来源只能为WSH,即Windows Scripting Host,所以不能起太多的隐蔽作用,在此仅供大家参考。

  六、禁用开始菜单选项
  用记事本编辑如下内容:
Dim ChangeStartMenu
Set ChangeStartMenu=WScript.CreateObject("WScript.Shell")
RegPath="HKCRSoftwareMicrosoftWindowsCurrentVersionPolicies"
Type_Name="REG_DWORD"
Key_Data=1
   
StartMenu_Run="NoRun"
StartMenu_Find="NoFind"
StartMenu_Close="NoClose"
   
Sub Change(Argument)
ChangeStartMenu.RegWrite RegPath&Argument,Key_Data,Type_Name
MsgBox("Success!")  
End Sub
   
Call Change(StartMenu_Run) ‘禁用“开始”菜单中的“运行”功能
Call Change(StartMenu_Find) ‘禁用“开始”菜单中的“查找”功能
Call Change(StartMenu_Close) ‘禁用“开始”菜单中的“关闭系统”功能
  将以上代码保存为ChangeStartMenu.vbs文件,使用时双击即可。

  七、执行外部程序
  用记事本编辑如下内容:
DIM objShell
set objShell=wscript.createObject("wscript.shell")
iReturn=objShell.Run("cmd.exe /C set var=world", 1, TRUE)
  保存为.vbs文件即可。在这段代码中,我们首先设置了一个环境变量,其名为var,而值为world,用户可以使用%Comspec%来代替cmd.exe,并且可以把命令:set var=world改成其它的命令,这样就可以使它可以运行任意的命令。

  八、重新启动指定的IIS服务
  用记事本编辑如下内容:
Const ADS_SERVICE_STOPPED = 1
Set objComputer = GetObject("WinNT://MYCOMPUTER,computer")
Set objService = objComputer.GetObject("Service","MYSERVICE")
If (objService.Status = ADS_SERVICE_STOPPED) Then
objService.Start
End If
  将它以startsvc.vbs为名保存在C盘根目录。并通过如下命令执行:cscript c:startsvc.vbs。运行后,经你指定的IIS服务项将被重新开启。
  最后,我们再说说开篇时提到的VBS脚本病毒的防范方法。VBS病毒的执行离不开WSH,在带给人们便利的同时,WSH也为病毒的传播留下可乘之机。所以要想防范VBS病毒,可以选择将WSH卸载,只要打开控制面板,找到“添加/删除程序”,点选“Windows安装程序”,再鼠标双击其中的“附件”一项,然后再在打开的窗口中将“Windows Scripting Host”一项的“√”去掉,然后连续点两次“确定”就可以将WSH卸载。或者,你也可以点击“我的电脑”→“查看”→“文件夹选项”,在弹出的对话框中,点击“文件类型”,然后删除VBS、VBE、JS、JSE文件后缀名与应用程序的映射,都可以达到防范VBS脚本病毒的目的。

    路由器是网管员经常要打交道的硬件设备之一,如果忘了路由器的密码责任也不小呀,下面就给大家送上两招解决Cisco密码问题的秘技。

    Cisco IOS软件中的引导选项

  在进行密码恢复前, 需要了解Cisco IOS软件的一些常识特别是引导选项在后面的密码恢复时就会用到它们。在Cisco系列中可以通过以下三种方式来引导ISO软件。

  快闪存储器(flash memory)

  通过这种方法,可以复制一个系统映像,而无需修改电可擦写编程只读存储器(EEPROM)。当从TFTP服务器加载系统映像时出现故障的时候,存储在快闪存储器中的信息并不会因此而造成丢失现象。

  router # configure terminal

  router #(config)#boot system flash gsner-image

  [Ctrl-Z]

  router # copy running-config startup-config

  网络服务器(network server)

  为了保证一旦快闪存储器崩溃时仍然有备份可以指定系统映像从TFTP服务器中加载。

  router # configure terminal

  router #(config)#boot system tftp test.exe 172.16.13.111

  [Ctrl-Z]

  router # copy running-config startup-config

  ROM

  如果快闪存储器崩溃而且网络服务器也不能加载系统映像那么从ROM中启动系统就是软件中最后一个引导选项了。然而ROM中的系统映像很可能是Cisco IOS软件的一个子集,但缺乏完整Cisco ISO软件所需的协议、属性和配置。而且如果在购买路由器后你已经对软件进行了升级,那这也可能是Cisco IOS软件的一个更旧的版本。

  router # configure terminal

  router #(config)#boot system rom

  [Ctrl-Z]

  router # copy running-config startup-config

    口令恢复原理

  Cisco路由器可以保存几种不同的配置参数 并存放在不同的内存模块中。以Cisco 2500系列为例,其内存包括ROM.闪存(Flash Memory)、不可变RAM (NVRAM)、RAM和动态内存(DRAM)五种。一般情况下, 当路由器启动时, 首先运行ROM中的程序进行系统自检及引导然后运行闪存中的IOS, 并在NVRAM中寻找路由器配置, 并装入DRAM中。

  口令恢复的关键在于对配置登记码(Configuration RegisterValue)进行修改, 从而让路由器从不同的内存中调用不同的参数表进行启动。有效口令存放在NVRAM中因此修改口令的实质是将登记码进行修改,从而让路由器跳过NVRAM中的配置表直接进入ROM模式然后对有效口令和终端口令进行修改或者重新设置有效加密口令完成后再将登记码恢复。

    路由器口令类别

  *有效加密口令(enabled secret password): 安全级别最高的加密口令,在路由器的配置表中以密码的形式出现;

  *有效口令(enabled password) 安全级别高的非加密口令,当没有设置有效加密口令时,使用该口令;

  *终端口令(enabled password).用于防止非法或未授权用户修改路由器配置的口令在用户通过主控终端对路由器进行设置时,使用该口令。

    口令恢复步骤

  1、将路由器Console端口连接到PC机的串口(如COM1或COM2)上。

  2、启动超级终端,把配置设为9600波特率。8个数据位、无奇偶校验、2个停止位。

  3、 在“>” 提示符下,用Show Version命令查看登记码(一般为OX2102或Oxl02),记住此登记码在第9步要将此登记码还原。

  4、查看登记码,如果中断屏蔽(即登记码的第4位为1),则重启路由器,并在开机后起30秒钟内按Ctrl+Break键;如果中断未屏蔽,则发送中断(Cisco公司提供的技术手册注明要在开机后60秒内按Berak键)。

    5、根据路由器系列不同,分别进行如下配置:

  *如路由器是2000、2500、3000、680×0 based 4000、7000系列,IOS版本为10.0以下或出现“>”提示符,则键入以下命令:

  >o/r 0×42

  > i

  *如路由器是1003、1004、3600、4500、4700、72XX、75XX系列或出现“ROMMOM>”提示符则键入以下命令:

  ROMMON>confreg 0×42

  ROMMON>reset

  6、当提示是否进入配置对话框时(Would you like to enter the initial confinguration dialong?[yes]:),回答"NO"(如误输入"YES",立刻按Cter+C键退出)。在出现"Press RETURN to get started!"提示时,按回车键,进入ROM模式"Router>"。

  7、键入enable命令进入EXEC状态,键入Router#show config查看原路由器配置和未加密口念,建议此时立刻做一个文本备份文件,以免误操作将原路由器配置丢失;再键入ROUTER#configuration memory,将NVRM模式中的参数表装入内存。

  8、键入Router#configure terminal 命令进行配置,从配置表中找出(或改写)忘记的有效口令;更改完毕后一定要写入NVRAM中(Router#write memory(copy runing-config startup-config)),否则会丢失路由器原配置,并且会使改写的口令无效。

  9、将第3步查到的登记码还原,一般为0×2102(即从闪存正常启动,并屏蔽中断),并激活所有端口(系统会将所有端口自动关闭):

  Router#config-register 0×2102

  Router(config)#interface ××

  Router(config-if)#no shutdown

  Router#Ctrl-Z

  10、重新启动路由器:

  Router#reload

  经过以上步骤,即可以在不丢失原有路由器配置的情况下找到或更改口令。