不出网主机的几种上线方式

不出网主机的几种上线方式本文就如何上线不出网主机的方式进行了总结。由于边缘主机出网,选择reverse反向连接,现在已经上线边缘主机。

欢迎大家来到IT世界,在知识的湖畔探索吧!

不出网主机的几种上线方式

前言

拿到一台边缘机器后,内网的机器很有可能大多数都不出网,这时又想上线cs方便后续操作。本文就如何上线不出网主机的方式进行了总结。

环境搭建

目标内网机器

  • os:win server 2012
  • ip:192.168.57.137
不出网主机的几种上线方式

边缘机器

  • os:win server 2012
  • ip1:192.168.1.103(出网)
  • ip2:192.168.57.136
不出网主机的几种上线方式

攻击机器

  • os:kali liunx
  • ip:192.168.1.128
不出网主机的几种上线方式

  • os:ubutu 16.04
  • vps ip:47.xxxxxxxx

由于边缘主机出网,选择reverse反向连接,现在已经上线边缘主机

不出网主机的几种上线方式

SMB Beacon

不出网主机的几种上线方式

该方法通过已有的父Beacon使用SMB协议进行正向连接不出网机器,要求目标开启445端口,通过命名管道进行认证即可上线。其实有点像psexec这样的工具,有用户名和hash后,即可执行远程命令,其原理相似。内网的机器密码相同的情况很多,这也是为什么现在为了提高安全性不能批量设置密码,内网渗透一但有了密码往往有时候就宣告结束。

并且有个好处就是SMB协议一般防火墙是不拦截的,在一定程度上可以规避防火墙拦截。

先使用hashdump和logonpasswords命令抓一波密码。由于这里是win2012系统,是无法直接抓取明文密码的,这里也不需要去修改注册表,或者通过mimilib.dll注入的方式去获取明文密码,有hash就足够了,SMB验证身份本身用的就是NTMLv2协议。

这里是抓到了该机器上的hash

不出网主机的几种上线方式

有个小tips,如果对方机器是64位的,最好就用x64的exe上线就可以了,以前我觉得x32和x64都行。虽然都可以上线,但是如果用的是x32的beacon,很有可能是抓不到64位机器上的密码的,使用cs集成的mimikatz会提示:32位的mimikatz无法抓取到64位机器的密码。所以目标是最好就用64位就用64位的artifact。

然后通过端口扫描,发现内网机器:

不出网主机的几种上线方式

不出网主机的几种上线方式

到这里不懂原理的小白(我)可能就会直接使用cs自带的psexec功能直接去横向,恰巧我之前就是这么做的,想起来还挺有意思的。

不出网主机的几种上线方式

不出网主机的几种上线方式

结果就是服务已经创建了,但是上不了线,那会儿自己心里想肯定是cs出bug了,还烦了一会儿,现在想起来还挺有意思的。

不出网主机的几种上线方式

本身是没有问题的,说明psexec已经成功的完成了ntml认证,并且认证成功,但是这时候shell是反弹给边缘机器的,如果要上线就要再新建一个SMB Beacon Listener。相当于通过边缘机器再中转一下,反弹shell到vps。

不出网主机的几种上线方式

不出网主机的几种上线方式

选择子Beacon:SMB Beacon。成功上线。

不出网主机的几种上线方式

不出网主机的几种上线方式

(出去吃个饭回来内网机器ip变了。。)

这里可以看下拓扑图,是通过边缘机器正向连接了不出网的内网主机。

不出网主机的几种上线方式

在external后面有一个oooo,这实际上是标明了当前SMB的连接状态:

SMB Beacon有两个命令:link,unlink。

unlink则会断开连接,link会重新连接

执行命令unlink

unlink 192.168.57.140

欢迎大家来到IT世界,在知识的湖畔探索吧!

后面的oooo变成了oo oo,说明已经断开连接,但是只是断开了连接,进程并没有被杀掉。

不出网主机的几种上线方式

不出网主机的几种上线方式

使用命令重新回连:

欢迎大家来到IT世界,在知识的湖畔探索吧!link 192.168.57.140
不出网主机的几种上线方式

我在实战中暂时没有用到过这个功能,但应该是有一定作用的,持久化后门,更加隐蔽?这里具体的实战情景明白的师傅可以说一下。

TCP Beacon

这种方式一般试用于:密码撞不上,内网机器有web服务。

这里做个代理,假设已经写入了shell文件,用冰蝎挂代理去连webshell。

不出网主机的几种上线方式

不出网主机的几种上线方式

不出网主机的几种上线方式

在cs上新增一个Listen,Tcp Beacon

不出网主机的几种上线方式

横向的时候最好都使用这个带s的windows可执行文件,s的含义为Stageless,相对的是Stager。下面是我自己的理解:

Stager是分步式,分阶段的,只用少部分代码来请求和加载payload,cs的加载payload模式为反射加载beacon.dll,但这个beacon.dll并不在可执行文件中,而是在远程C2服务端。

Stageless则是将beacon.dll包含在可执行文件中,并且可能有写额外的操作,于是文件比较大,特征也更明显,但是适合横向不出网机器,因为不出网所以有可能请求不了c2服务端上的beacon.dll。

不出网主机的几种上线方式

不出网主机的几种上线方式

Stageless的可执行文件比Stager的可执行文件大了将近15倍。真的离谱。

不出网主机的几种上线方式

然后用冰蝎上传beacon.exe。然后执行

不出网主机的几种上线方式

执行后使用connect 命令连接:

connect 192.168.57.140
不出网主机的几种上线方式

拓扑图如下,为tcp正向连接:

不出网主机的几种上线方式

同样是可以使用unlink来断开连接,这里与SMB Beacon不一样的是,如果Beacon进程是以普通权限运行的话,进程会直接死掉,再connect就会失败。

这里由于是Administrator权限,unlink后可以通过connect重新连接回来。

不出网主机的几种上线方式

Reverse TCP Beacon

也可以被称为中继上线。

同样需要有内网web,传shell。右键跳板机shell,选择Pivoting->Listener。

不出网主机的几种上线方式

Listen Host为内网ip。

这里要注意一下,如果有多张网卡,这个默认的Listen Host是需要改的,需要填入同一网段的ip。

比如我这里的跳板机器就有两张网卡,默认填入的host是192.168.1.103,这个就需要改,因为内网不出网机器是无法访问到192.168.1.103这张网卡的,只能访问192.168.57.143(跳板机ip又变了)

不出网主机的几种上线方式

同样生成Stageless的可执行文件。

不出网主机的几种上线方式

上传后执行beacon.exe

不出网主机的几种上线方式

执行后回来看cs就已经上线,不需要link或者connect了。

不出网主机的几种上线方式

拓扑图为反向的tcp连接

不出网主机的几种上线方式

值得注意的是,中继方法无法unlink后重连,不管权限如何,一旦unlink后进程直接结束。要想重新上线只能重新执行beacon.exe。

不出网主机的几种上线方式

后记

实际情况下,由于环境原因,网络状况错综复杂。比如:stageless的可执行文件比较大,又因为挂了代理,传不上去怎么办。其实就可以将beacon.exe上传到跳板机器上,用windows自带的certutil工具,直接在内网机器上请求下载跳板机上的beacon.exe。这样确实是更加稳当的。

上面这个tips是我再看星球中的@emmm…分享的pdf学到的,感谢分享。

本文由ppoocn原创发布
转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/254671
安全客 – 有思想的安全新媒体

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/40278.html

(0)

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信