首页  登陆  注册  博客集  下载频道  网络硬盘  学院论坛  家园
IT学院 网站地图 网站地图
收藏本站 收藏本站
高级搜索 高级搜索
 新闻IT新闻 互联网 微软 黑客新闻 网络网络协议 故障 网络管理 TCP/IP 无线技术 解决方案 黑客技术 漏洞 软件评测 安全资讯
 数据MSsql Oracle Mysql PL/SQL 备份 系统:Linux vista Windows FTP 防火墙 注册表 服务器行情 服务器应用 解决方案 WEB服务器
 墙纸风景壁纸 游戏壁纸 体育壁纸 汽车壁纸 人文壁纸 影视壁纸 广告壁纸 花卉壁纸 节日壁纸 动漫壁纸 明星壁纸 绘画壁纸 月历壁纸
当前位置: > 主页>网络攻防>黑客技术>使用perl通过adsi接口导出AD帐户列表
热门文章排行
 
热门文章排行 XSS测试语句大全
反击黑客从这里开始
加密三剑客SSL、SET和PG
攻破网络的十二种常用方
sa弱口令强行入侵
Win2000 Server入侵监测
域名欺骗技术实现过程
通用密码后门
UNIX系统后门的安放和日
后门技术及rootkit工具-
精采文章推荐
 
精采文章推荐 小规模DDoS(拒绝服务)用
打造简单隐藏疯狂DDOS攻
用ASP实现反向连接控制
使用perl通过adsi接口导
详细讲解黑客常用的远程
二行代码解决全部网页木
判断cookies注入的js语
Metasploit渗透工具的应
利用Debug Api 获得QQ20
BBSXP绕过过滤继续注入
最新更新文章
 
最新更新文章 PERL铸造多线程+支持中
看黑客怎样汇编创建简单
破解数据库下载漏洞
利用sohu网站URL跳转漏
xdos.exe攻击器下载与使
DDoS攻击教程(3)
DDoS攻击教程(2)
DDoS攻击教程(1)
DOS攻击原理以及常见方
小规模DDoS(拒绝服务)用

使用perl通过adsi接口导出AD帐户列表

编辑:   来源:  日期:2008-04-15   我要投稿      家园

by:云舒

开始是luoluo做的一个vbs脚本,实现从AD导出用户名的功能。脚本方面我偏爱perl,因此用perl重做了一个,顺便修复了luoluo脚本中的一个小bug,加了一行使脚本能够导出1000个以上的账号。

perl脚本很简单,主要注意几点,首先是adsi的属性使用hash表的方式来设置或者获取;另外一个是注意有的属性有点不一样,需要设置hash的hash,例如$objCommand -> Properties -> {"Page Size"} = 1000;这里。假设域为microsoft,完整的代码如下:
代码:
use warnings;
use strict;
use Win32::OLE;

use constant ADS_UF_ACCOUNTDISABLE => 2;
use constant ADS_SCOPE_SUBTREE => 2;

my $objConnection = Win32::OLE->new( "ADODB.Connection" );
my $objCommand = Win32::OLE->new( "ADODB.Command" );

# open ad
$objConnection -> open( "Provider=ADsDSOObject;" );

$objCommand -> = $objConnection;

# search what and how
$objCommand -> = "select userAccountControl,distinguishedName from 'GC://dc=china,dc=microsoft,dc=com' where objectCategory='user'";

# import all users
$objCommand -> Properties -> {"Page Size"} = 1000;
# search all subtree
$objCommand -> Properties -> = ADS_SCOPE_SUBTREE;

my $objRecordSet = Win32::OLE->new( "ADODB.Recordset" );
$objRecordSet = $objCommand->Execute( ) || die "query data from active directory error,exit\n";

while( not $objRecordSet -> eof )
{
 my $intUAC = $objRecordSet -> Fields("userAccountControl") -> value;
 
 # remove diable account
 if( not ( $intUAC & ADS_UF_ACCOUNTDISABLE ) )
 {
 my $longName = $objRecordSet -> Fields("distinguishedName") -> value;

 if( $longName =~ /^CN=([\w\.\-\_]+),/ )
 {
 print ."\n";
 }
 }
 
 $objRecordSet -> MoveNext();
}

参考资料:
1. luoluo的vbs脚本
2. http://www.microsoft.com/technet/community/columns/scripts/sg0405.mspx


上一篇:XSS跨站脚本攻击与测试语句大全  
下一篇:MS08-025 win32k.sys NtUserFnOUTSTRING Privilege Escalation Exploit
 关键字:  
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【论坛讨论

   相关文章:

   文章评论:(0条)
  
 请留名: 匿名评论   点击查看所有评论
 

  责任编辑:IT学院  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。