跳转到帖子

游客您好,欢迎来到黑客世界论坛!您可以在这里进行注册。

赤队小组-代号1949(原CHT攻防小组)在这个瞬息万变的网络时代,我们保持初心,创造最好的社区来共同交流网络技术。您可以在论坛获取黑客攻防技巧与知识,您也可以加入我们的Telegram交流群 共同实时探讨交流。论坛禁止各种广告,请注册用户查看我们的使用与隐私策略,谢谢您的配合。小组成员可以获取论坛隐藏内容!

TheHackerWorld官方

精选回复

发布于

域内日志一般以.evtx结尾,所以如果我们需要搜索域内日志,可以使用dir命令

目录/s/b *.evtx

/s:表示递归搜索,包括子目录。

/b:表示以简洁方式显示结果,仅显示文件路径,不包含其他信息。

这里我们可以直接使用logparser工具导出域中的日志信息。 (在域控主机中)

logparser 工具使用SQL 查询进行过滤。

使用以下命令通过strings列和eventid列过滤掉域内用户的登录行为。

LogParser.exe -i:evt -o:csv '从安全性中选择记录编号、写入时间、事件ID、字符串、消息到C:\log5.csv,其中EventID='4624' 和类似'%|Kerberos|%|%.%.%.%|%' 的字符串和不类似'%|%$|%' 的字符串''

-i: 输入文件类型-o: 输出文件类型

在正常的域渗透过程中,我们直接获取域控制器并在域控制器的主机上操作导出日志一般是不现实的。一般有以下三种方法导出域控制器的日志或指定成员主机的日志进行分析: 1、VPN方式; 2.通过建立袜子隧道; 3.通过远程木马方法;

通过VPN查询日志

一般情况下,通过VPN连接目标主机,进入内网环境进行操作。

这里假设我们已经获取了域管理账号,并通过域管理凭证进行导出日志分析。

1。查询主机的登录记录

首先获取域控制器的日志存储位置

目录/s/b \\10.10.10.10\c$\security.evtx

可以通过复制命令将域控制日志文件复制到本地计算机。

复制\\10.10.10.10\c$\Windows\System32\winevt\Logs\ C:\Users\admins\Desktop\log

由于日志文件是隐藏文件,我们无法直接通过logparser导出所有.evtx文件(无法搜索)

不过,您可以使用logparser远程导出部分日志

LogParser.exe -i:EVT -o:CSV '从\\RemoteServer\Security 选择* INTO C:\1.csv'

LogParser.exe -i:EVT -o:CSV '从\\10.10.10.10\Security 选择* INTO C:\1.csv'

2.查询连接过程中的日志痕迹

当我们查询日志跟踪时,首先要了解这些登录所使用的身份验证方法:Windows 默认使用ntml 身份验证,而域网络使用kerberos 身份验证。简单来说,ntlm是主机之间直接交互认证,而kerberos是通过第三方(域控制器)进行认证。

域控制器只会向域内的主机和帐户颁发凭据。因此,当使用IP定位远程主机时,使用NTLM认证,而使用域名或机器名定位时,使用Kerberos认证。

使用net use连接远程共享的过程也是一个登录过程,所以只要有登录,就会在日志中反映出来。

直接使用dir 和host 登录也是如此。

日志查询分析发现主机采用Kerberos认证方式直接登录。当使用dir和net use时,如果使用IP地址来定位远程主机,则使用ntlm认证;反之,如果使用域名或机器名进行定位,则使用Kerberos进行定位。

成员主机net use连接域控主机

NTLM认证数据包

净使用\\10.10.10.10\ipc$

通过命令我们可以知道该命令的登录要使用ntlm认证。

经过多次测试,我们发现如果成员主机使用上述语句连接域控主机,则域控主机上会留下以下记录。

第一个包是验证连接到域控制主机的帐户的凭据。

第二个包是给连接分配权限

第三包是登录成功的数据包。

在第三个包中,可以看到成员主机的IP地址、机器名等信息。

S-1-0-0|-|-|0x0|S-1-5-21-3315874494-179465980-3412869843-1115|管理员|VVVV1|0x889d1b|3|NtLmSsp |NTLM|WEB-2003|{00000000-0000-0000-0000-000000000000}|-|NTLM V1|128|0x0|-|10.10.10.3|1280|%%1833|-|-|-|%%1843|0x0|%%1842

因此,只需远程导出第三次成功登录数据包并修改过滤规则,即可获取通过net use连接域控的日志中的主机信息。

使用logParser工具导出日志文件:

C:\Users\admins\Desktop\LogParser.exe -i:EVT -o:CSV 'SELECT * INTO C:\Users\admins\Desktop\log\1.csv FROM \\10.10.10.10\Security 其中字符串如'%|NTLM|%|%.%.%.%|%''

通过strings字段,我们可以看到连接到域控的主机的IP和主机名。

kerberos认证包

网络使用\\ad-2016\ipc$

经过多次测试,我们发现,如果成员主机使用上述语句连接域控主机,并使用Kerberos认证,则域控主机上会留下以下记录。

因此,只需远程导出第五个成功登录数据包并修改过滤规则,即可获取通过net use连接域控的日志中的主机信息。

S-1-0-0|-|-|0x0|S-1-5-21-3315874494-179465980-3412869843-500|管理员|VVVV1.COM|0x7c3dbeb9|3|Kerberos|K erberos||{CE15C23A-E7E3-3FC1-4A75-FDF339BEC822}|-|-|0|0x0|-|10.10.10.12|50364|%%1840|-|-|-|%%1843|0x0|%%1842

使用logParser工具导出日志文件:

C:\Users\admins\Desktop\LogParser.exe -i:EVT -o:CSV 'SELECT * INTO C:\Users\admins\Desktop\log\1.csv FROM \\10.10.10.10\Security 其中字符串如'%|Kerberos|%|%.%.%.%|%' 和字符串不类似'%|%$|%''

通过strings字段,我们可以看到连接到域控的主机的IP和账号。

成员主机目录连接到域控制主机

NTLM认证数据包

目录\\10.10.10.10\c$

原理和net use一样,直接使用logparser导出即可。

C:\Users\admins\Desktop\LogParser.exe -i:EVT -o:CSV 'SELECT * INTO C:\Users\admins\Desktop\log\1.csv FROM \\10.10.10.10\Security 其中字符串如'%|NTLM|%|%.%.%.%|%''

kerberos认证包

目录\\ad-2016\c$

原理和net use一样,直接使用logparser导出即可。

C:\Users\admins\Desktop\LogParser.exe -i:EVT -o:CSV 'SELECT * INTO C:\Users\admins\Desktop\log\1.csv FROM \\10.10.10.10\Security 其中字符串如'%|Kerberos|%|%.%.%.%|%' 和字符串不类似'%|%$|%''

成员主机连接成员主机

目录\\10.10.10.10\c$

目录\\web-2003\c$

第一种方法,即ntlm认证方法,只在域控主机的日志中留下这条日志痕迹,几乎没有任何作用。主要跟踪反映在连接主机的日志中。

第二种方法,即Kerberos认证方法,会在域控主机上留下两条日志:请求TGT和请求ST日志。

查找日志的过程与上面类似,这里不再赘述。

成员主机自行登录

只有使用域中用户帐户登录的用户才会在域控制主机上留下痕迹。如果使用本地帐户登录,则只会反映在本机的日志中。

如果使用域内用户登录,则域控制器使用Kerberos进行认证,与上面的Kerberos认证报文相同。

使用logParser工具导出日志文件:

C:\Users\admins\Desktop\LogParser.exe -i:EVT -o:CSV 'SELECT * INTO C:\Users\admins\Desktop\log\1.csv FROM \\10.10.10.10\Security 其中字符串如'%|Kerberos|%|%.%.%.%|%' 和字符串不类似'%|%$|%''

通过socks代理查询日志

一般来说,当我们拿掉边界主机时,我们会建立一个socks隧道,将我们的本地主机代理到内网进行操作。

首先,使用哈希传输来保证域外主机有足够的权限。

经测试,哈希传输操作不会在域控制和socks隧道客户端主机上生成日志跟踪。

1。查询主机的登录记录

说明和操作与VPN模式相同。

2.查询连接过程中的日志痕迹

远程主机使用net use连接域控主机

由于在socks环境下,Proxifier代理工具无法修改dns代理,导致无法正确解析域名和机器名,所以只能使用IP操作,并使用NTLM认证。

NTLM认证数据包

网络使用\\10.10.10.10\ipc$

通过命令我们可以知道该命令的登录要使用ntlm认证。

经过多次测试,我们发现如果成员主机使用上述语句连接域控主机,则域控主机上会留下以下记录。

第一个包是验证连接到域控制主机的帐户的凭据。

第二个包是给连接分配权限

第三包是登录成功的数据包。

在第三个包中,可以看到成员主机的IP地址、机器名等信息。

S-1-0-0|-|-|0x0|S-1-5-21-3315874494-179465980-3412869843-1115|管理员|VVVV1|0x889d1b|3|NtLmSsp |NTLM|WEB-2003|{00000000-0000-0000-0000-000000000000}|-|NTLM V1|128|0x0|-|10.10.10.3|1280|%%1833|-|-|-|%%1843|0x0|%%1842

因此,只需远程导出第三次成功登录数据包并修改过滤规则,即可获取通过net use连接域控的日志中的主机信息。

使用logParser工具导出日志文件:

C:\Users\admins\Desktop\LogParser.exe -i:EVT -o:CSV 'SELECT * INTO C:\Users\admins\Desktop\log\1.csv FROM \\10.10.10.10\Security 其中字符串如'%|NTLM|%|%.%.%.%|%''

通过strings字段,我们可以看到连接到域控的主机的IP和主机名。

与域控制主机的远程目录连接

NTLM认证数据包

由于在socks环境下,Proxifier代理工具无法修改dns代理,导致无法正确解析域名和机器名,所以只能使用IP操作,并使用NTLM认证。

目录\\10.10.10.10\c$

原理和net use一样,直接使用logparser导出即可。

C:\Users\admins\Desktop\LogParser.exe -i:EVT -o:CSV 'SELECT * INTO C:\Users\admins\Desktop\log\1.csv FROM \\10.10.10.10\Security 其中字符串如'%|NTLM|%|%.%.%.%|%''

远程主机连接成员主机

目录\\10.10.10.10\c$

这两种方法都是指在域控主机的日志中留下这条日志痕迹,这几乎没有什么用处。主要跟踪反映在连接主机的日志中。

查找日志的过程与上面类似,这里不再赘述。

PowerShell 日志

Powershell日志一般直接写入系统日志

不过比较特殊的是,正常配置下,powershell不会保存其执行的命令日志,而只保存powershell打开命令(ID:600)和powershell关闭命令(ID:403)。

因此,在渗透过程中,如果我们获得了交互式shell,我们可以先打开powershell,然后执行命令。那么日志中只会记录打开powershell的命令,而不会保存在powershell终端执行的命令的记录。

但如果在渗透过程中,我们获得了一个webshell,它是一个半交互式的命令窗口,那么该命令就只能总结为一条语句,然后这条命令就会被记录在日志中。

PowerShell 脚本使用

当我们使用PowerShell脚本执行命令时,首先需要执行命令

Powershell -执行策略绕过

用于绕过PowerShell 执行策略。默认情况下,PowerShell 启用限制脚本执行权限的执行策略。

执行策略是一种安全机制,用于控制是否允许执行脚本文件和来自不受信任来源的脚本。默认情况下,PowerShell 的执行策略设置为'Restricted' ,这意味着不允许执行任何脚本文件。

通过在PowerShell 命令行上使用“Powershell -ExecutionPolicy Bypass”,您可以绕过执行策略限制并允许执行脚本文件。这将暂时将执行策略更改为“绕过”,允许所有脚本运行。

假设我们要导入的ps1 脚本是SharpHound.ps1

导入模块./SharpHound.ps1

此时SharpHound模块已经加载到当前会话中

查看当前会话中所有加载的模块

获取模块

获取SharpHound 模块中所有命令的列表

获取命令模块SharpHound

查看SharpHound 使用帮助

获取帮助SharpHound

获取帮助调用BloodHound -full

删除日志

如果我们处于渗透环境中,删除所有日志不仅不能掩盖我们的痕迹,反而会让我们的痕迹更加明显。

因此,我们只能删除单个日志,但是Windows不提供或者不允许删除单个日志的操作,所以我们只能采用其他方法。

工具使用:https://github.com/3gstudent/Eventlogedit-evtx--Evolution

删除单个日志原理:https://3gstudent.github.io/Windows-XML-Event-Log-(EVTX)%E5%8D%95%E6%9D%A1%E6%97%A5%E5%BF %97%E6%B8%85%E9%99%A4-%E4%B8%80-%E5%88%A0%E9%99%A4%E6%80%9D%E8%B7%AF%E4%B8%8E%E5%AE%9E%E4%BE%8B

https://github.com/QAX-A-Team/EventCleaner

清除 RDP 登录痕迹

https://blog.csdn.net/m0_37552052/article/details/82894963

https://blog.csdn.net/COCO56/article/details/102671007#:~:text=win10%E7%B3%BB%E7%BB%9F%E6%80%8E%E4%B9%88%E5%88%A0%E9% 99%A4%E8%BF%9C%E7%A8%8B%E6%A1%8C%E9%9D%A2%E8%BF%9E%E6%8E%A5%E8%AE%B0%E5%BD%95%201%20%E6%8C%89win%2BR%E9%94%AE%E6%89%93%E5% BC%80%E8%BF%90%E8%A1%8C%EF%BC%8C%E8%BE%93%E5%85%A5%20regedit%201%20%E5%B9%B6%E7%A1%AE%E5%AE%9A%E3%80%82%202,%E5%9C%A8%E5%9 C%B0%E5%9D%80%E6%A0%8F%E4%B8%AD%E8%BE%93%E5%85%A5%E4%BB%A5%E4 %B8%8B%E5%9C%B0%E5%9D%80%E7%84%B6%E5%90%8E%E5%9B%9E%E8%BD%A6%E 5%8D%B3%E5%8F%AF%E8%BF%9B%E8%A1%8C%E7%9C%8B%E5%88%B0%E6%89%80 %E6%9C%89%E7%9A%84%E5%B7%B2%E8%BF%9E%E6%8E%A5%E8%BF%87%E7%9A% 84%E7%94%B5%E8%84%91%E3%80%82%20%E8%AE%A1%E7%AE%97%E6%9C%BA%5CHKEY_CURRENT_USER%5CSoftware%5CMicrosoft%5CTerminal%20Server% 20Client%5C默认%201%203%20%E5%8F%B3%E9%94%AE%E7%82%B9%E5%87%BB%E9%9C%80%E8%A6%81%E7%AE%A1%E7%90%86%E7%9A%84%E8%AE%B0%E5 %BD%95%E9%A1%B9%EF%BC%8C%E5%8F%AF%E4%BB%A5%E4%BF%AE%E6%94%B9%E6%88%96%E8%80%85%E5%88%A0%E9%99%A4%E6%AD%A4%E9%A1%B9%E3%80%82

https://blog.csdn.net/travelnight/article/details/122854895

事件ID:1149:记录哪些源IP 使用RDP 成功登录到计算机。注册表:HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers\

该路径记录了当前主机登录过哪些服务器。事件ID:5156 日志:您可以看到本机何时访问其他服务器的3389端口。 4624 —— 帐号已成功登录

4625 —— 帐号无法登录

1149 —— 用户认证成功

转载自原文链接地址:https://forum.butian.net/share/3657

创建帐户或登录后发表意见

最近浏览 0

  • 没有会员查看此页面。