自己编写的test.bat脚本文件,只需在后渗透过程中导入该文件到靶机,并执行即可。具体脚本解释参考PDF笔记。
Copy @echo off
echo ###############网卡信息############### >1.txt
ipconfig >>1.txt
echo ##############操作系统版本信息################ >>1.txt
systeminfo | findstr /B /C:"OS Name" /C:"OS Version" >>1.txt
systeminfo| findstr /B /C:"OS 名称" /C:"OS 版本" >>1.txt
echo ##############CPU架构信息################ >>1.txt
echo %PROCESSOR_ARCHITECTURE% >>1.txt
echo ##############服务列表信息################ >>1.txt
wmic service list brief >>1.txt
echo ##############进程列表信息################ >>1.txt
wmic process list brief >> 1.txt
echo ###############用户名信息################### >>1.txt
wmic useraccount get name,SID >>1.txt
echo ##############端口信息################ >>1.txt
netstat -ano >>1.txt
echo ##############RDP端口信息################ >>1.txt
reg query "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Winstations\RDP-TCP" /V PortNumber >> 1.txt
echo ##############ARP端口信息################ >>1.txt
arp -a >> 1.txt 注意右键单击session中的sleep,设置休眠时间为1,不然运行命令要休眠很久。
对win2008右键explore中的File Browser
上传该文件到靶机。
执行这个bat脚本文件。
查看输出文件内容,可以查看到所有的信息。
除此之外也可以使用pdf笔记里面的其他脚本,把这些代码复制到bat执行即可生成一个网页文件。查看这个网页文件输出的本地信息更加标准化。
NetBios该程序对给出范围内的每一个地址发送NetBIOS状态查询,并且以易读的表格列出接收到的信息,对于每个响应的主机,NBTScan列出 它的IP地址、NetBIOS计算机名、登录用户名和MAC地址。
用cs上传该扫描程序到靶机(winserver2008)上。
扫描出所有的内网ip存活的主机。
同理可以把arp.exe文件上传到靶机。然后在cs执行该内网ip扫描文件
kscan是一款资产测绘工具,可针对指定资产进行端口扫描以及TCP指纹识别和Banner抓取,在不发送更多的数据包的情况下尽可能的获取端口更多信息。并能够针对扫描结果进行自动化暴力破解, 且是go平台首款开源的RDP暴力破解工具
同理上传到靶机,然后通过cs执行扫描内网ip
可以扫描出ip和对应的操作系统。
fscan一款内网综合扫描工具,方便一键自动化、全方位漏扫扫描。支持主机存活探测、端口扫描、常见服 务的爆破、ms17010、redis批量写公钥、计划任务反弹shell、读取win网卡信息、web指纹识别、 web漏洞扫描、netbios探测、域控识别等功能。
同理上传到靶机,cs运行即可。
可以看到哪些内网主机活着,以及对应的哪些端口有开放。
并且也扫描出两个内网主机的操作系统类型。
ladon一款用于大型网络渗透的多线程插件化综合扫描神器,含端口扫描、服务识别、网络资产、密 码爆破、高危漏洞检测以及一键GetShell.当然该工具其实功能很多,具体可以参考pdf笔记文档。
同理上传到靶机,cs运行即可。
扫描出的内网ip如下。
ScanLine是一款windows下的端口扫描的命令行程序。它可以完成PING扫描、TCP端口扫描、UDP端口扫描等功 能。运行速度很快,不需要winPcap库支持,应用场合受限较少。
将这个程序上传到靶机,然后运行。
扫描出server2008靶机有三个端口
也可以这么扫描。
第二种使用telnet协议进行端口探测。
Telnet协议是TCP/IP协议族的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算 机上完成远程主机工作的能力。在目标计算机上使用Telnet协议,可以与目标服务器建立连接。如果只是想快速探 测某台主机的某个常规高危端口是否开放,使用telnet命令是最方便的
由于靶机没有telnet命令,需要安装服务端和客户端。
如果直接使用telnet探测一个没有开放的端口会连接失败。由于cs还是识别不出telnet命令,于是只能在靶机演示端口扫描。
RedTeamTool中有一个本地端口扫描的工具portscan.exe,上传该文件到靶机。
该命令是扫描本机1-5000的端口是否开启。
PowerSploit是一款基于PowerShell的后渗透框架软件,包含了很多PowerShell的攻击脚本,它们主要用于渗透中 的信息侦测,权限提升、权限维持等。
首先需要把该模块的这个文件,放入到靶机。
于是即可通过powershell命令执行端口扫描。
比如扫描出192.168.15.1的端口有哪些是开放的。
除了可以本地执行,也可以使用PowerSploit进行远程扫描。kali先把这个扫描的脚本放到一个目录,然后在当前目录启用http服务。
可以从kali本机获取powerSpolit的扫描脚本信息,然后运行。
扫描结果。
也可以使用Nishang进行端口扫描。
首先执行该命令确保powershell可以导入脚本模块。
Nishang是一款针对PowerShell的渗透工具。说到渗透工具,那自然便是老外开发的东西。国人开发的东西,也不 是不行,只不过不被认可罢了。不管是谁开发的,既然跟渗透有关系,那自然是对我们有帮助的,学习就好。来源 什么的都不重要。总之,nishang也是一款不可多得的好工具。非常的好用。
由于nishang运行,不是单独一个exe文件,而是整个文件夹,所以上传nishang.zip压缩包到靶机。
在上传解压缩的exe文件。
解压压缩包。
由于winserver2008运行有误,于是把该文件放到winserver2012则可以实现成功。
扫描结果如下,但是这里没有完整运行成功。
KScan也可以拿来扫描端口
fscan扫描端口
具体的知识点还是要查看pdf文档。
==注意:加过域的主机,system用户可以看作域用户,可以查看域信息,而本地管理员不能查看域信息,但是有的时候需要降权到administrator来查看一些本地信息,这是system用户做不到的。==
可以使用whoami查看用户信息,比如下面这个就是域控管理员。
可以查看dns信息来看是否加入域。
然后通过反向解析查询是否dns服务器和域控制器是一台机器。
也可以这么查看是否加入域。
也可以这么查看,如果查看失败显示找不到域控,则说明未加入域。
net view显示域列表、计算机列表或指定计算机的共享资源列表。
这里域中的共享资源列表没查到。如果不加/domain,则表示查看本地的共享资源。
可以使用net user创建用户
查看本地的用户。
查看域的用户有哪些,只需加个/domain
Net Use 作用:连接计算机或断开计算机与共享资源的连接,或显示计算机的连接信息。
这里查看连接信息为空。当然除了查看连接信息,也可以拿来远控。
查看本地组的信息。
可以进一步查看某个组里面的用户有哪些
查看域用户组
查看域用户组的具体用户
查看域的所有计算机
获取域密码信息,获取域密码策略、密码长度、错误锁定等信息
获取域信任信息。
查找域控制器的机器名
获取域控制器机器名后,然后使用nslookup反向解析获取ip
在通常情况下,时间服务器为主域控制器。这样也可获取域控制器的机器名。
查看域控制器组中有哪些域控制器的主机,因为一般情况下域控制器可能会有主备的情况,所以这样查最好。
当对一个命令不熟,可以在后面加上/?来作为提示。
可以通过wmic命令获取域用户的详细信息
简要查询域用户信息。
还有别的方式,比如执行如下命令,可以看到,域内用户(server机器有这个命令)
也可以查看域有哪些ou组织单元。
查询域管理员用户
当查询到域管理员的账户,就需要定位域管理员登陆的域计算机在哪里。
接下里使用psloggedon.exe工具,它可以显示本地登录的用户和通过本地计算机或远程计算机的资源登录的用户。如果指定了用户名 而不是计算 机,psloggedon.exe 会搜索网络邻居中的计算机,并显示该用户当前是否已登录。
把工具上传到靶机。
可以指定计算机名,去查询哪些用户登陆过该计算机。
也可以指定用户登录过哪些计算机。但是以上两个操作复现失败。工具扫描不出。
接下里使用另一个工具,pveFindADUser.exe 可用于查找 Active Directory 用户登录的位置,枚举域用户,以及查找在 特定计算机上登录 的用户,包括本地用户、通过RDP 登录的用户、用于运行服务和计划任务的用户账 户。运行该工具的计算机需要 具有.NETFramework 2.0,并且需要具有管理员权限。
该工具有个缺陷需要.NETFramework 2.0,所以在域控制器上运行不了。
可以查看当前主机有哪些用户登录,这里查找到jack域管理员登陆过该主机。
netview.exe 是一个枚举工具,使用 WinAPI 枚举系统,利用NetSessionEnum找寻登陆会话,利NetShareEnum 找寻共享,利用NetWkstaUserEnum枚举登陆的用户。同时,netview.exe 能够查询共享入口和有价值的用户。 netview.exe的绝大部分功能不需要管理员权限就可以使用。
也可以使用该工具来扫描域中的主机被哪些用户登录。比如指定hack域下的主机被谁访问过,但是这个工具什么都没扫描出来。
PowerView 脚本中包含了一系列的 powershell 脚本,信息收集相关的脚本有 Invoke-StealthUserHunter、 Invoke-UserHunter 等。
将脚本放到靶机,然后运行。
于是即可查找到域管理员登陆过192.168.15.140
Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。你可以把 它看成是命令行提示符cmd.exe的扩充,不对,应当是颠覆。 powershell需要.NET环境的支持,同 时支持.NET对象。微软之所以将Powershell 定位为Power,并不是夸大其词,因为它完全支持对 象。其可读性,易用性,可以位居当前所有shell之首。
可以列举文件,按名字排序,并按照表格形式输出。
写入内容到文件,并查看。
可以使用powershell执行cmd的命令
powershell内部命令很多,可以查看pdf
Powershell一般初始化情况下都会禁止脚本执行。脚本能否执行取决于Powershell的执行策略
四种权限的解释
随便写一个简单脚本。然后运行。
也可以设置脚本的运行策略。
powershell收集域内信息
PowerSploit是GitHub上面的一个安全项目,上面有很多powershell攻击脚本,它们主要被用来渗 透中的信息侦察、权限提升、权限维持。
powerview也是一款非常的powershell脚本工具,用于域内信息的收集。他集成在在 PowerSploitmaster\Recon目录下。
首先把powerview.ps1脚本上传到靶机。
但有的脚本可能无法查看有什么命令,有的脚本则可以,像下面这个就没有显示。当然具体这个模块有什么命令,可以查看pdf笔记。
比如查看有什么网络共享资源。
除了本地执行这个脚本,也可以远程执行,kali将脚本放置一个目录下,然后在该目录开启http服务。
远程执行也可以。
除此之外,也可以把脚本放到本地cs来运行。把脚本放到cs的根目录下。
使用cs自带的导入命令,即可从cs根目录导入powershell的脚本文件。
这样该脚本就被导入到cs中,那么cs就可以直接使用该脚本的命令。
也可以通过该脚本的命令直接获取域控制器的ip。
接下里讲另外一个工具nishang,首先将整个Nishang工具包上传到靶机。
由于winserver2008无法直接在cs修改脚本运行策略,而winserver2012可以,所以这里再winserver2012运行。
于是即可查看到很多可以用的命令。
检查是否是虚拟机
查看该靶机主机的详细信息。
接下来通过导入到cs,首先需要把nishang目录放到cs根目录下,然后导入后即可执行命令
抓取该主机的用户密码信息
但是目前抓取的密码信息为空。后续章节来填坑。
第三章Windows认证和密码的抓取
Windows网络认证之基于挑战响应认证的NTLM协议
首先确保server2012清空所有的网络连接。
把这个工具的整个目录上传到靶机server2012
使用该模块的一个函数来抓取NTLMV2认证的数据。
于是server2012(192.168.15.140)开始连接server2008(192.168.15.145)
账号是jack,密码是被擦除的那段。
于是当连接开始,就会抓取到这个NTLMV2的数据。
于是即可使用hashcat暴力破解密码。
首先准备密码本
并且把哈希值放入到一个文件中。不然可能会出写命令过长,无法执行的情况。
-m参数指定要爆破的类型,其中5600是NTLMV2的哈希值。
开始爆破
于是密码被爆破出来了。
黄金票据主要是用于权限维持的,比如当域控制器的后门被删除后,并且域控管理员被修改密码,可以使用黄金票据绕过AS的验证,伪造票据TGT进行验证。从而再次上线后门文件到域控制器上。
首先获取到域的SID号,前面都是SID,最后面的500是UID。
获得域名称。
使用mimikatz导出krbtgt用户的ntlm hash
假设此时192.168.15.140(域控制器被管理员发现,并把后门删除了,失去了控制)
此时即可利用上面三个关键信息来生成黄金票据TGT。
右键点击Access中的golden Ticket。生成黄金票据。
==注意:需要system用户才能复制后门文件到域控。==
这里显示创建成功。
于是即可使用黄金票据来绕过kerberos的网络验证,来查看域控的c盘内容。
紧接着利用server2008靶机把后门传入到域控制器上。
由于server2008的jack用户不能复制,需要提权成system用户才能复制文件到域控制器。
创建一个计划任务
运行计划任务。
于是又可以控制域控制器了。
服务账号就是计算机名字+$用来管理服务的账号
如果说黄金票据是伪造的TGT,那么白银票据就是伪造的ST。 在Kerberos认证的第三步,Client带着ST和 用户信息向Server上的某个服务进行请求,Server接收到Client的请求之后,通过自己的server密码,解密ST, 从而获得 Session Key。通过 Session Key 解密 用户信息,进而验证对方的身份,验证成功就让 Client 访问 server上的指定服务了。所以我们只需要知道Server用户的Hash就可以伪造出一个ST,且不会经过KDC,但是伪造的 门票只对部分服务起作用。
白银票据的好处在于可以绕过整个KDC,即哪怕krbtgt改密码,也不受影响,但是服务改密码会受影响。缺点在于只能访问某个服务器的某个服务,而黄金票据可以使用所有的服务。
==注意服务的NTLM哈希和域管理员的NTLM哈希不是一个东西。==
伪造白银票据的五个条件。
获取域sid.
获取域名。
获取服务账号的ntlm hash值
首先server2008删除所有票据。
如果直接想要得到krbtgt的NTLM哈希是得不到的。
伪造白银票据
此时重新执行查询krbtgt的NTLM哈希。原因在于伪造了白银票据,开放了其中的LDAP服务,那么就可以随便的使用域控制器中的LDAP服务,那么自然也就可以查找这个NTLM哈希。
那么获得了该账户的哈希,那么就又可以构造黄金票据了。
Mimikatz介绍和离线抓取sam文件
Mimikatz是法国人benjamin开发的一款功能强大的轻量级调试工具,但由于其功能强大,能够直接读取 WindowsXP-2012等操作系统的明文密码而闻名于渗透测试,可以说是渗透必备工具,mimikatz可以从内存中提 取明文密码、哈希、PIN 码和 kerberos 票证。 mimikatz 还可以执行哈希传递、票证传递或构建黄金票证。如今mimikatz已经内置到cs上。
比如可以把让mimikatz提权。这样可以使用的命令会更多。
也可以mimikatz运行文件。
mimikatz有很多命令,具体参考pdf文档。
离线抓取sam文件
可以使用reg命令无工具导出
导出的两个文件就是sam的密码文件。
把这两个文件右键download下载到kali.
在cs的download目录下的这两个文件就是下载的sam文件。
于是即可把这两个文件下载到本地去读取,并把名字修改。使用mimikatz工具读取。
读取sam文件。
于是即可读出本地管理员的密码哈希。
在线读取sam和lsass文件
在线读取sam文件,sam存放的是密码加密后的内容。
由于mimikatz在cs不能直接执行这三个命令,这三个命令同时执行才能成功。所以只能借助传入mimikatz工具到靶机。
获得管理员的密码哈希。
在线读取lsass文件,lsass文件的是密码明文内容。
离线读取lsass文件会更好,这样获取到lsass文件后,基本上就能读取到明文密码,在线使用工具读取可能会失败。并且工具可能会被杀软干掉。
离线读取有几种方式。
其中第一种使用任务管理器。前提条件可以远程连接靶机。
找到lsass进程,右键创建转储文件。保存到硬盘上,然后下载到本地读取。
第二种方式,使用procdump 导出lsass.dmp文件
ProcDump 是一个命令行实用工具,其主要用途是在管理员或开发人员可用于确定峰值原因的峰值期间监视 CPU 峰值和生成故障转储的应用程序。 ProcDump 还包括使用窗口挂起 (使用相同的窗口挂起定义,Windows任务管 理器使用) 、未经处理的异常监视,并且可以根据系统性能计数器的值生成转储。 它还可用作可在其他脚本中嵌入 的常规进程转储实用工具。==因为是微软的所以一般不会被杀软杀掉。==
上传该工具到靶机上。
使用该工具把lsass进程的内容转储到磁盘中。
这个工具运行失败,可以换成system用户来运行。
于是可以使用kali下载到本地。
第三种方式,使用PowerSploit 的Out-MiniDump模块,PowerSploit是一个基于 Powershell 的渗透工具包,可以选择创建 进程的完整内存转储。
把这个powershell脚本放到cs的根目录,并加载。
把lsass进程内存的数据转储到磁盘上。
第四种方式,comsvcs.dll,系统自带。通过comsvcs.dll的导出函数MiniDump实现dump内存
该方式没有复现成功。
根据以上四种方式随便其中一种获取到lsass.dmp文件,于是即可使用mimkatz读取。
先指定要读取的文件是lsass_544.dmp,然后读取里面的内容。
不过读取的明文密码为空,可能是dc安全性比较强,但是win2008是可以读取明文密码的。
hashcat暴力破解NTLM Hash
该命令可以查看用户的NTLM哈希值。
-m 1000专门用于破解NTLM哈希值。
将其中的NTLM哈希取出来,然后即可开始爆破,其中1.txt是字典。
于是密码被爆破出来了。
除此之外可以使用在线网站或者彩虹表来暴力破解。
游览器、数据库等其他密码的抓取
当执行这个程序的时候,就会抓取所有的游览器数据。
会把抓取的密码、cookie、书签、以及历史记录全部保存在result目录下。那么可以把这个文件上传到靶机去运行抓取数据。
SharpDecryptPwd工具可以抓取数据库的账号和密码。
可以抓取常见sql的账号和密码。
这是能抓取数据库的常见使用方法。
Windows RDP凭证的抓取和密码破解
破解原理:Credentials的解密是Windows系统信息收集中非常重要的一环,其中包括各类敏感、重要的凭证(这个可以理解为密码),接下来我们就讲解RDP凭证的抓取和破解在我们点击保存密码后,Windows就通过MasterKey将我们的密码加密后保存在本地,由于Windows还需要解密 从而使用,所以这个过程是可逆,也正因为这一缘由,我们只要拿到MasterKey就能将密码解出来。
server2008远程连接域控制器。
此时server2008可以查找到RDP的凭证,这个凭证显示使用域管理员进行登录。
首先使用在线破解的方式,不过该方式易于被杀软发现。
于是查找RDP凭证文件,复制其凭证文件名。
查找这个凭证masterkey的guid号。
查找内存中的masterkey。
找到指定guid的masterkey,把这个key复制下来。
最后打开mimikatz通过MasterKey值去解密凭据文件
于是即可获得密码。
第二种方式是离线破解,由于我们不能保证我们的mimikatz是免杀状态,为了避免被对方发现,我们可以离线解密从而达到获取密码的目 的其实很简单,就是把目标的文件和内存下载回来,在本机上进行mimikatz解密即可。
首先将procdump工具上传到靶机,这个工具是微软自己做的,所以很难被杀软干掉。
将lsass.exe的内存数据保存到当前目录。
下载这个内存数据和RDP凭证文件。
把两个文件放到本地,凭证文件由于是隐藏文件,所以这里没有看到,实际上已经在该目录下。
用mimikatz载入dump回来的内存
获取Credentials的GUID
获取内存中所有的MasterKey
查找到对应的masterkey
利用masterkey解密得到密码
Server2012之后抓取密码的方式
使用logonpasswords是无法直接查看到server2012及以后操作系统的明文密码。
在Windows2012系统及以上的系统,默认在内存缓存中禁止保存明文密码的。攻击者可以通过修改注册表的方式 抓取明文,需要用户重新登录后才能成功抓取。
需要修改注册表,让其允许保存明文密码。
但是需要锁屏,注册表修改,必须让用户重新登陆这个主机才能生效。
那么域控管理员需要重新登陆。
当然还有另一种方法,可以锁屏。首先查询这个会话id。
然后关闭这个会话,就会锁屏
由于此向日葵版本过老,未复现成功。
首先把向日葵上传到靶机,这个向日葵必须是指定版本的。
先分析点击这个向日葵,会弹出这个框,点击暂不安装
当点击这个按钮后,注册表会自动生成一些内容。
那么有了注册表的这些内容,就会使得下次打开向日葵不会出现安装弹窗,那么思路就是在黑客上传该文件之前,把注册表先写入到计算机,这样就可以运行向日葵而不出现安装弹窗。
那么右键可以导出这个注册表信息。下次只需点击注册表文件,即可导入注册表内容。那么就可以绕过安装界面。
所以只需在靶机上传注册表文件提前运行,然后上传向日葵运行即可成功。
查看向日葵的配置信息。
ency_pwd就是远程连接的密码,但是被加密了,向日葵11版本是可以进行解密的,后续高版本比较麻烦。
使用python工具进行解密。于是即可用向日葵实现远控
==todesk只能用旧版来做这个实验。并且要注意server靶机能够连外网,且dns服务器能正常实验。且账户必须是默认的administrator.现在新版的todesk每次开启进程都会刷新其中的配置文件的临时密码,并且旧版已经不能连接了,所以已经没法复现这个漏洞了==
todesk远控工具可以静默安装。所以黑客可以把todesk上传到靶机。
注意:安装包名不能和主程序名字一样。
静默安装
安装完成后自动运行,接下来查看配置文件
其中clientId是todesk的连接账号,tempAuthPassEx是临时的连接密码。
运行ToDesk后会在默认安装目录下生成一个config.ini配置文件,存储的有设备代码、临时密码、安全密码以及登 录用户和密码等重要敏感信息,但密码都经过ToDesk特有加密算法加密,所以不能通过解密得到明文密码,只需 要找到目标主机ToDesk中的tempAuthPassEx临时密码或authPassEx安全密码,将它们覆盖到我们本地ToDesk中 的tempAuthPassEx,重启ToDesk即可得到明文密码
使用cs进行文件替换。下图这个是自己todesk攻击机上的密码。我们可以使用自己的todesk配置文件来替代掉靶机上的配置文件。
删除并重新上传自己的配置文件。
查找todesk进程。
将这两个进程停掉。
将todesk重新开启
确认把temppAuthPass修改后,即可开始使用todesk远控.
下载以后把这个文件上传到靶机win7。
直接运行,这个远控无需安装。
在运行目录下会生成一个配置文件,查看配置文件里面有连接地址和账号密码
于是根据host网址,登录该网站,然后实验电脑ID和控制码1349即可远程进行横向
复现成功。
RustDesk远程桌面软件,开箱即用,无需任何配置。
把rustdesk上传到靶机win7
运行这个文件。
查看配置文件,其中id是远程连接的账号,密码目前为空,所以需要复制这段文本,随便设置六位的密码。
将这个上传上去,覆盖到原先的配置文件。
查找对应的进程,并把该进程杀死。
重新上线,此时查看配置文件,就会密码了。
于是开始远控。
答疑:有的时候使用管理员组的用户,抓起密码会显示权限不够无法访问,原因在于管理员组的用户默认是没有绕过UAC验证的,而管理员组内置的Administrator是绕过UAC认证的。所以才能够抓取密码。
首先查看DC域控是否有开启默认共享,默认打开C盘的共享。
如果管理员组的用户直接查询明文密码,会失败。所以需要右键提权,绕过UAC。如果还是无法查询密码,那就提权到是system。
于是再次查询。有的时候这些管理员的密码可能是一样的,于是就可以利用这些密码进行IPC连接别的主机。
IPC( Internet ProcessConnection)共享“命名管道”的资源,是为了实现进程间通信而开放的命名管道。 IPC可以通过验证用户名和密码获得相应的权限,通常在远程管理计算机和查看计算 机的共享资源时使 用。 通过ipc$,可以与目标机器建立连接。利用这个连接,不仅可以访问目标机器中的文件,进行上传、下载等 操作,还可以在目标机器上运行其他命令,以获取目标机器的目录结构、用户列 表等信息。
建立IPC连接。
查看对方主机的目录信息
远程查看DC的进程信息
复制木马文件到dc
远程创建定时计划
执行计划任务
横向移动成功,拿到域控。
最后攻打完毕,防止运维人员发现,需要删除计划任务
清除IPC连接。
这个没复现成功,权限不够无法访问。暂时原因不知
获取到密码并着手横向时,却发现定时计划服务没有启用。这时候我们就可以远程建立服务,然后再启用服务来运行我们想要运行的命令。
首先一样的需要建立IPC连接,并且复制木马文件到靶机。
然后远程创建服务,来启动木马文件。
然后开启创建的test服务。
于是机器上线成功。
最后也可以删除服务。
如果cs只获得了本地账户的会话,那么无法直接获得域用户的信息,那么可以使用kerbrute工具进行枚举爆破域用户。
首先把工具和账号字典传到靶机上。
于是根据这个字典爆破出两个域用户。
将域用户保存到1.txt字典,并上传到靶机,来进行密码喷洒攻击。
于是喷洒出两个域用户的密码了。
接下来介绍另一款密码喷洒工具,CrackMapExec(⼜名 CME)是⼀款⾮常好⽤的密码喷洒攻击的⼯具,在 Kali Linux 默认已经安装好。
kali喷洒出其中两个账户的密码
域环境要演示PTH横向移动,需要先学习普通用户可以绕过UAC提权的问题。
前提条件:接下里这个实验,会以两个本地工作组的机器展开,都未加入域,server2008(192.168.15.145)作为被控机,来横向win7虚拟机(192.168.15.115)。并且server2008以管理员组的用户hsw登录(不能使用administrator,因为绕过UAC的管理员可以直接远程访问对方的目录)
server2008无法直接远程访问win7的目录。
将被控server2008提权到system,抓取密码,得到其中的NTLM哈希值。
将mimikatz工具上传到远控机,并且执行。cmd以管理员身份运行,这样管理员组的其他管理员才能绕过UAC验证
于是根据这个NTLM哈希值传递到其他本地机,看看是否和这个哈希值相同。因为本地管理员的密码可能会和其他本地的管理员密码相同。显示ok说明哈希传递成功。并且此时会弹出一个新的cmd框。
这里可以访问win7的目录
于是可以复制木马文件,并设置计划任务运行。
此时win7横向完毕。
另一种方式也可以哈希传递攻击。在cs上直接点击,右键靶机然后点击哈希传递攻击
用户名是靶机的用户,密码是自己远控管理员的密码NTLM哈希,domain填写靶机ip,如果是域环境填写域名。
此时靶机被上线。
这个没有复现成功。
首先2008主机需要安装补丁才能抓到AES密钥。且让AD域使用域管理员jack远程登录2008主机。
远控机server2008,提权到system后抓取所有账户的aes密钥。
注意:两个用户密码相同,但是aes密钥可能不同
其中有域用户jack,而jack是域管理员。复制其中的aes密钥
传递密钥给jack,于是弹出弹窗就是域管权限,即可实现横向。
比如说内网当中,域管理员曾经远程连接登陆过2008-01,那么就会在内存中留下票据。于是可以从远控2008导出票据。
其中具有域管理员的票据。
首先删除所有的票据。
虽然显示无法访问域控机,但是可以导入域管的票据。
导入票据成功。
于是即可访问dc域控机的目录
于是复制木马到域控,并设置定时任务运行。
==注意:如果出现拒绝访问,一定要把ip换成域名==
于是域控上线成功。
查看该域用户的sid.
首先域内机器使用普通域用户jack。获取到jack的密码后和sid后,即可利用MS14-068这个漏洞.
首先把该漏洞工具和mimikatz放置被控机器2008
利用该工具伪造TGT。
格式如下:
生成伪造的TGT文件。
导入伪造的票据。
于是即可访问该域控的目录,并且上传木马文件,生成计划任务执行即可。
于是域控拿下。
第二种方式是使用另一个工具goldenPac.exe,此工具是impacket工具包里的,它是MS14-068+psexec的组合,因此使用起来非常方便快捷。
将该工具放置靶机,然后运行。
运行完,这个cmd窗口就变成了域控的窗口了,可以对域控进行操作。
psExec远程CMD横向移动
首先将psexec工具上传到靶机。
与域控建立IPC连接。
把木马复制到域控
由于第一次使用该工具会弹出同意框来点击交互,cs可以使用-accepteula来默认同意,来绕过同意框执行。
于是域控上线。
生成powershell后门脚本
在当前目录下,启动web。
仍然使用server2008(192.168.15.145)横向攻击域控(192.168.15.140)。
wmic进行上线,把ps1放到公网,可以使用python 开启http服务提供下载(哪怕开启防火墙也可以上线。)
拿下域控。
使用方式如下
这个必须在远控机执行,在cs执行会出错。最后运行完DC被控制了。
得到本地管理员的哈希,于是碰运气尝试。
使用方式
只需知道对方的域用户和密码,即可通过使用该工具获得到域控的shell.
当然如果不知道对方的域用户的密码,可以查看自己的本地密码,大多数人本地密码和域用户的密码是一样的。导出本地用户的密码哈希。
于是碰巧使用本地管理员的哈希,来看看能否和域管理员的密码相同,由于相同所以直接认证通过,那么就拿到域控的shell了。
注意:这里指的哈希是lm:NTLM的哈希格式,即微软的特定哈希格式。
可以在powershell输入下面的命令来获取DCOM列表。
DC域控被控制。
DC域控被控制。
DC域控被控制。
把该工具传入到远控机。然后使用该工具远程执行命令。但是这个需要输入域管的账号和密码
winRM远程执行命令横向移动
查看域控的5985端口是否开放
使用方式
添加信任后,于是即可远程让域控执行命令了。
系统漏洞ms17010横向移动
将永恒之蓝放到远控机上。然后到指定目录执行命令
cs生成后门shell的dll
把shell.dll文件放入到该目录下。
于是成功攻击,但是按理来说会在cs生成win7的控制,但是没有。
多种方式提取和移动ntds.dit文件
该命令是域控自带的。这里是假设域控被拿下后远控的操作。
第一步:创建快照,保存其中的快照id
第二步,挂载快照
首先把挂载的目录名复制下来。
第三步:然后桌面下创建ntds文件夹,然后把挂载文件夹中的ntds.dit复制到ntds文件夹下。
第四步:删除快照
复制文件出来
首先把vssown.vbs脚本上传到域控机。
第一步:启动卷影复制服务
第二步:创建一个C盘的卷影副本
第三步:列出当前卷影副本
删除卷影副本
为防止溯源,删除即可。
首先把该工具放置域控。
在域控输入这条命令,会在当前目录导出ntds.dit文件。并可以读取哈希值。
MSF读取ntds.dit文件
顺便改名字。于是获得这两个文件就可以开始读了。
于是放到windows使用工具即可读取信息。
cs新建一个外部监听器,端口设置和msf的监听端口一致。
将cs的会话转移到msf,并选择创建好的触发器。
于是msf获得cs会话,使用hashdump导出所有域用户的哈希信息。
首先基于原先已有的hack.com主机上,在新建多一个域控作为abc.hack.com,只需要注意几个细节,首先子域控的dns服务器要填根域控的ip,然后加入子域控下的主机的dns ip填子域控的ip即可。
这里假设已经控制了子域控机(192.168.15.155)
前提:已经控制子域控(192.168.15.155),和子域控的一台域主机(192.168.15.150),目标是打下根域控(192.168.15.140)
使用子域控的域主机无法访问域控的目录。
生成成功。
于是普通域内用户即可访问根域的目录。
根域上线。
利用krbtgt哈希值获取目标域
前提:已经控制子域控(192.168.15.155),和子域控的一台域主机(192.168.15.150),目标是打下根域控(192.168.15.140)
构造格式如下
此时可以访问根域的目录
根域控上线
首先子域中的域主机先设置好非约束性委派(即可以使用该计算机来委派访问任何资源)
于是监听到票据
于是即可访问域控目录,但是这里访问失败了,复现失败。估计换成根域做实验会成功。
先给2008-01设置约束性委派,只允许访问dc域控的cifs服务。