Select Browser Mobile | Continue

Silic Group Froum Archive - Silic Security

 Forgot Password?
 Join Us
Search
Show: 1364|Reply: 5

[翻译] Windows活动目录攻击(上)

[Copy URL]
heiben The user has been deleted
Posted 2014-11-6 21:47:57 | Show all replies |Read Mode
本帖最后由 heiben 于 2015-10-24 12:21 编辑

【译heiben】
PDF中英文对照http://yunpan.cn/cspvKX6P32uGY  提取码 a582
原文作者:Scott Sutherland
(原文目录应该翻译为Windows字典攻击介绍,但读后发觉更像是Windows活动目录攻击介绍,由此改名为"Windows活动目录攻击"。
基于我自己的经验,十有八九的环境中至少有一台配置了弱口令或者默认口令。
然而,弱密码通常需要通过字典攻击来进行辨别(尽管还有其他的方法)。此外,这通常被称作”密码猜测攻击”,字典攻击已经被证明是一种感情(因为它已经有20年的历史了⊙﹏⊙b)尽管他们不是很性感,但字典攻击应该是每一个渗透测试方法的一部分。在这篇博文上我将将介绍如何执行对Active Directory(活动目录)账户安全进行字典攻击的基础知识。以下是将要涉及的步骤概述:
1.     Identify domains(识别域)
2.     Enumerate domain controllers(枚举域控制器)
3.     Enumerate users from domaincontrollers(从域控制器枚举用户名)
4.     Enumerate password policy from domaincontrollers(从域控制器枚举密码策略)
5.     Perform dictionary attack(执行字典攻击)
Note: Most ofthe tools and techniques will be done from Windows systems.  Also, just asan FYI, I use the UNIX Windows ports for parsing in some of the examples.
注意:大多数工具和技术都将在Windows系统中完成。此外,如参考一样。使用UNIX Windows 的端口解析为例。
Identify Domains识别域
下面列举一些未经身份验证用户列举Windows域的方法。
ipconfig /ifconfig
大多数情况下,简单的使用IPCONFIG命令行将提供DHCP分配的IP地址的相关域。这是一个NICE的方法因为很简单和使用了本机的技术.
1.     Command: IPCONFIG
NBTSTAT
NBTSTAT也是一个Windows本地命令工具,运行用户枚举Windows系统一些基本信息(如:域,工作组,计算机名等)下面我将展示怎样发送一个基础的NBTSTAT命令去枚举一个远程Windows系统的相关域
1.     命令 (Basic command - single IP):nbtstat -AN
2.     命令 (Parse Domain- single IP):nbtstat -AN | grep -i "<1E>" | gawk -F " ""{print $1}" | uniq | sort  <1E>
3.     命令 (Parse Domains- IP list): FOR/F "tokens=*" %i in ('type iplist.txt') do nbtstat -AN %i | grep -i"<1E>" | gawk -F " " "{print $1}" | uniq |sort >>domainlist.txt
NMAP ListScans(列表扫描)
结合一些基础Nmap列表扫描脚本输出返回已知网段上的相关域。
1.     命令行: nmap -sL -oAoutput_rnds
2.     命令行: grep -i -v "()" output_rdns.gnmap| grep -i -v "nmap" | gawk -F "(" "{print $2}" |gawk -F ")" "{print $1}" | sed s/^\./:/1 | gawk -F":" "{print $2}" | sort | uniq
Reverseraider
Reverseraider工具能在BackTrack发行版本找到,工具与Nmap列表扫描做相同的事。
1.     命令:./reverseraider -r
Sniffing
嗅探通常可以从浏览器和DNS流量揭示一些域名信息。常见的网络监控(嗅探)包括Wireshark,TCPdump,cain和Network Minor
1.  (启动嗅探和审查域)
RDP
这不是一种非常有效的方法,但它仍然有效。简单的从标准的记录列表(RDP)远程桌面到一个Windows系统并查看域。
  • 命令(获取Wdindows系统RDP使用列表):namp –sS –PN–p3389
  • 使用RDP客户端登录查看可用的域:在RDP下拉列表的“登录到”。其他域可以使用下面的一些基本方法枚举.

NLTEST
Nltest是一个有许多用途的诊断工具,其中之一是枚举可信的域名。但应当注意的是,许多其他工具,包括但不限于,Nessus,NeXpose,IP360,SuperScan,可以做到这一点,也包括smb空口令登录的可能
1.     命令: NLTEST /DOMAIN_TRUSTS
DNSWALK
DNSwalk能通过域名传送枚举子域名。当然只有相当一部分DNS暴力破解工具可用
1.     命令: ./dnswalk  victem.com.
Enumerate DomainControllers枚举域控
攻击域控制器有助于知道他们在哪里,帮助我提供一些常见的方法,使用Windows的未经过身份验证的观点。
DNS Lookup
这是目前为止我所知道的最快的方法。据我所知,当一个服务器提升为域控制器时,DNS服务条目将自动添加LDAP,Kerberos等。这允许用户发布一个基本DNS服务查询来获得服务器列表。这可以完成非域Windows系统完成本地nslookup命令的查询。
1.     命令: nslookup -type=SRV _ldap._tcp.
NLTEST
Nltest测试有能力通过广播请求查询域控制器列表。自Windows 7起这个工具就是本地Windows命令行工具,但我相信自Widnows 2k以来管理工具包都是可用的。
1.     命令  :nltest /dclist:
FindPDC
FindPDC是一款来自joeware.com的Joe Richards的工具,通过调用本地Window API来识别主域控制器。
1.     命令: findpdc /
NMAP Port Scan
仅仅为了扫描LDAP的636和389端口帮助你找出域控制器,是不能保证每个系统发现的都是域控制器,但它会让你站在一个正确的方向上。
1.     命令: nmap –sV–PN –p636,389
Here are a fewmethods that can be used as an authenticated domain user.
Adfind (LDAPQuery)
大量常规域用户的有用信息可通过LDAP查询。Adfind是Joe Richards的另一款工具,它允许用户查询域控制器列表。我也注意到如果你能创建一个null/bind并获得完全访问LDAP目录的权限,你可以做到这一点而不经过域用户的认证。仅供参考:在过去,我也在Windows环境下使用LDAP Miner,LDAP浏览器(LDAP Browser)和LDAP explorer。它们可以做同样的事情,有漂亮的GUI界面。
1.     命令: adfind -b-sc dcdmp -gc | grep -i ">name:" | gawk -F " ""{print $2}" | sort | uniq
Net Group Command
本地工具万岁!net group是另一个Windows本地命令用来管理组,和“域控制器”OU(除此以外)成员列表的能力,这需要Windows系统在已有的域中运行。
1.     命令 net group"Domain Controllers" /domain
Enumerate Usersfrom Domain Controllers
从域名控制器枚举用户名
有一些人喜欢用字典攻击射击那些在黑暗中潜在的用户。另一方面,有点偏向节约时间,所以我宁愿通过可用服务转储域控制器的用户列表。对此我更喜欢后者,我提供了一些常见的用户枚举方法如下:
SMB RPC: Endpoints
空SMB连接和一些组策略配置不当使你能够通过SMB RPC端点列举所有域的用户。这里有相当多的工具,但我有一些一致成功的枚举和Dumpsec。有时会一个正常工作,另一个却没有。我猜测是它与RPC端点访问相关,但我不肯定(不知道)。如果有人知道真正原因请告诉我。没有太多的运气和Metasploit的’smb_emumusers’或者’smb_emusers_domain’模块相比,但我确实可能错过了一些东西。注意:别忘了查看在活动目录的密码评论。这很常见。
1.     命令 (空会话): net use \\\ipc$ “” /user:””
2.     命令 (枚举操作1): enum –U
3.     命令 (枚举操作2): enum –N
4.     命令 (dumpsec):dumpsec.exe /computer=\\ /rpt=usersonly /saveas=csv/outfile=domain_users.txt
SMB RPC: SID BruteForcing
暴力破解与用户账号相关联的SIDs。另外有一个旧工具叫“getacct”由一间叫安全星期五的公司开发,一直有一个好的输出,但我建议使用Metasploit是为了集中输出。然而,一定要设置MaxRID参数为10000或者更大,以确保可以列举所有的域用户。工具”sid2user”和”user2sid”结合了一些脚本能够完成同样的目标,如果你想有另一选择的话。在下面的例子中,我将展示如何在Windows系统的msfcli中调用该模块,但它也能从msfconsole执行。
1.     命令行: rubyc:\metasploit\msf3\msfcli auxiliary/scanner/smb/smb_lookupsid SMBDomain=.MaxRID=10000 RHOSTS= E > domain_users.txt
SNMP DefaultStrings(SNMP默认字符串)
令人惊讶的是有如此多的域控制器配置了SNMP,和一个默认的社区字符串’public’。这样的配置将允许你引导snmp walk去枚举各种有趣的关于系统的信息,包括一系列用户。这里有许多可用工具,但最常用的要算snmpwalk,MIBBrowser,Metasploit的’snmp_enumusers’模块。
1.     命令行: rubyc:\metasploit\msf3\msfcli auxiliary/scanner/snmp/snmp_enumusers SMBDomain=.RHOSTS= E



Bluger The user has been deleted
Posted 2014-11-6 22:15:41 | Show all replies
棒棒棒,支持楼主!!!
redscarf The user has been deleted
Posted 2014-11-17 00:05:23 | Show all replies
看看,支持一下
redscarf The user has been deleted
Posted 2014-11-17 00:05:52 | Show all replies
看看,支持一下
973863 The user has been deleted
Posted 2014-11-25 10:03:16 | Show all replies
支持一下,
silence44 The user has been deleted
Posted 2015-12-3 14:37:22 | Show all replies
十分感谢。。。。
You need to login before reply! Login | Join Us

Credit Rules of This Forum

Close

公告Privious /1 Next

小黑屋|手机版|Archiver|Silic Security

GMT+8, 2019-10-19 23:11

© 2001-2014 Silic Corp.

Quick Reply Top Return List