背景
当我们获取了一台边界服务器的权限,其一些内网中的主机访问不了外网时,我们如何让其上线到cs?如下,win2012-1为边界服务器,其有一个内网段192.168.10.x,同此网段的还有两台服务器win7-1和win2012-2,但是这两台服务器访问不了外网。假设我们能通过某种方式拿到他们的权限,但是我们又想把他们上线到cs,该怎么办了?
内网机器ip如下
- win2012-1:192.168.111.135,192.168.10.3
- win7:192.168.10.9
- win2012-2:192.168.10.2
不出网主机上线到CS
方法有SMB Beacon、HTTP、ICMP
1. 通过SMB Beacon
该方法通过已有的父Beacon使用SMB协议进行正向连接不出网机器,要求目标开启445端口,通过命名管道进行认证即可上线。其实有点像psexec这样的工具,有用户名和hash后,即可执行远程命令,其原理相似。内网的机器密码相同的情况很多,这也是为什么现在为了提高安全性不能批量设置密码,内网渗透一但有了密码往往有时候就宣告结束。
方法就是先建立一个smb listen,利用抓取到出网主机的密码进行psexec横向碰撞,需要目标未开启防火墙
- 首先我们上线了win2012-1这台主机
- 接着建立smb的listener
新建监听器,选择一个smb类型的listener,最后点击save进行保存
- 接着扫描内网机器
扫描445端口即可
扫描完成后,点击如下,选择要上线的主机,192.168.10.9为win7。然后右键Jump—psexec64
选择dump出的凭据,监听器选择新建的smb,会话选择当前获取权限的主机win2012-1,利用现有的beacon作为跳板。点击Launch
成功上线win7
查看win7的网络连接也可发现,是边界机通过连接win7的445让其上线
使用这种方法上线的机器,主要是通过出网机作为一个中间人,不出网主机成功上线后,如果出网机一断开,这个不出网主机也会断。
利用这种方式,我们继续让win2012-2(192.168.10.5)或其他主机上线。方法和上面的一模一样。Listener和Session也依然选择新建的smb和当前获取权限的主机win2012-1
至此,两台不出网主机都成功上线
总结
- 利用SMB Beacon上线不出网的主机原理是让父Beacon使用SMB协议进行正向连接不出网机器。出网机作为中间人一样,如果出网机一断开,这个不出网主机也会断。
- 因为是通过445端口进行的,所以需要目标关闭防火墙
2. 中转上线(常用)
我们可以通过 SMB Beacon 的方式让不出网的主机上线到cs。除此之外还有一种更简单常用的方式—通过中转的方式上线到cs
假设已经获取了win2012-1的shell
- 首先我们建立一个监听器
右键Pivoting—Listener
监听地址选择拿下的win2012-1这台主机的内网地址192.168.10.3。端口随便写如8090,会话就是win2012-1的这个shell。此时win2012-1就会监听8090端口
- 中转上线
横向移动的方法可以通过ipc连接或者生成exe上线或其他方式。下面先通过ipc连接上线不出网主机。对win7进行psexec,Listener选择刚创建的中转,点击
此种方式是建立ipc$连接后,win7主动连接边界机器win2012-1
以同样的方式可以让其他主机上线。
或者我们直接生成exe,监听器选择中转。然后将生成的exe上传到win7中执行,也可上线。这种方式的话win7无需关闭防火墙,因为是其主动去连接边界机