专栏首页离别歌 - 信息安全与代码审计gh0st源码分析与远控的编写(一)

gh0st源码分析与远控的编写(一)

gh0st源码分析与远控的编写(一)

    再过几天期末考试了,还有好多要复习。。蛋都快碎了。最近在看老狼的gh0st内核编程,想了很久要不要写文章,最后还是觉得很有必要,原因过一会讲。

    先送上老狼的gh0st无加密(lxe格式)视频下载地址:

http://phith0n.400gb.com/u/29415/3193732

    其中包含的gh0st源码(乱七八糟的被我的卡巴斯基杀过一遍,仅仅是源码):http://www.400gb.com/file/23820009

    在写东西前我要说一下,我虽然说研究远控的源码,但我告诉你我以前包括以后从未也从不想使用远控来控制中国人的电脑。我希望你们大家也一样,仅仅只是对编程感兴趣,而不是为了违法的目的去使用代码。


    好了,进入主题。老狼的gh0st内核编程教程,我认为是国内绝无仅有的一套比较全的远控编写的教程,它很详细,基本上就是教你重新打造一款远控,使用gh0st内核。

    但是为什么我还要写这一套文章,既然教程都有了。我认为这套教程有一些很致命的问题:

    1.不想吐槽老狼英语口语水平

    2.老狼在教程伊始没有系统地给大家介绍远控的概念。什么是服务端,什么是客户端之类的问题。(好像老狼在他之前其他教程里讲过,但在网上传的最多的只有这个教程,所以很多朋友看教程的时候还是一知半解)

    3.主控端代码在vs2010中编写,但被控端代码却在古老的VC6下创建。不知道老狼为什么这么做,使用VC6还得下载sdk。所以我在编写的时候,是将主控端、被控端这些工程放在VS2010下同一个解决方案中,方便代码的管理。

    4.老狼的代码与教程有一些错误,而且他遇到问题、解决问题的方法不太符合面向对象的思想,还有些问题的解决只是解决了表面的问题,并没有真正找到问题的根源。这也是很多软件漏洞多发的关键,一个漏洞如果不从根源上修复,可能在其他代码中存在一个新的漏洞。

    5.教程中很多地方(可以说大部分地方)只是复制的gh0st代码,并没有详细的讲解。

    当然这只是我的见解,不是说我可以做的更好,只是我在学习过程中发现的问题。我的能力不可能做出这样一套完善的教程,我写文章的目的只是像一个批注,在大家观看教程的过程中给大家一点帮助。我的文章不能替代老狼的教程。

    在这里,先给大家一个大局观:gh0st是什么,大概原理是什么。

    gh0st是一款基于C/S架构的远程管理软件(我只是就事论事,不想讨论C/S架构过时或不过时)。所谓远程管理,就是我在我的电脑上通过一些手段,可以操作其他电脑。什么是C/S架构,C表示Client,S表示Server,也就是客户端和服务端的意思。可以这样理解C/S,现在有两台电脑,一台是Server,一台是Client,server电脑就会开启一个端口,并一直监听这个端口中的信息。client来连接这个端口,连接成功后,两台机器就能互相发送信息了。(具体的原理建议大家去看socket通信)

    gh0st用的是C/S架构中的反向连接。我用主控端和被控端来称呼黑客的电脑和肉鸡的电脑。反向连接的意思就是我主控端作为server,被控端作为client,主控端监听一个固定的端口,并有一个固定的IP。然后被控端来连接这个IP的该端口,这就是所谓的上线。

    在实际情况中,黑客的电脑并不是都有固定的IP,我在我们寝室使用的是一个路由器,于是我的IP只是内网IP,192.168.x.x。而且,如果我换一个地方上网,IP也会变。这样我的被控端是找不到我的IP的。所以很多远控对待该问题,有两个解决方案:

    1.DNS上线

    花生壳、3322提供了免费的动态域名服务,其实就是提供了DNS服务。我们把自己的IP绑定到DNS服务器上,被控端通过对DNS的解析,找到主控端的IP,再连接。下次换地方上网了,只需要更改自己绑定到DNS上的IP即可。

    2.FTP(HTTP)上线

    我们把自己的IP写入一个文本文件1.txt,放在ftp(http)服务器上,比如ftp://leavesongs.com/1.txt。被控端去下载该txt,在其中找到主控端的IP。再连接。

    当然gh0st对他们都是支持的。

    再讲讲gh0st这个软件的组成。老狼给的gh0st最终编译好就是一个exe文件,点击打开后是一个主控端的样子:

    在build选项卡中,填好相关信息,可以生成一个exe文件,这就是所谓的被控端。

    但是我们打开源码看,其实它是主要由三个部分组成,一是带界面的主控端,一个是动态链接库dll,一个是加载dll的exe。我们被控端的所有功能都是写在dll当中的。而并不是写在exe文件中。

    大局观大概就是这些。再说一下gh0st核心内容。

    在传输数据方面,主控端使用IOCP模型,关于该模型请google。在主控端中,由CIOCPServer类实现。在被控端中,数据传输使用CClientSocket类实现。数据传输是远控的核心,所以这两个类也就成了gh0st的核心类。当然,在传输过程中,gh0st使用zlib进行压缩,减小数据包的大小。

    在被控端管理方面,gh0st使用了一个很好的方案。先做了一个CManager类,作为所有管理功能的基类,其他的比如系统管理类CSystenManager就继承了CManager。大大地增加了代码的重用性。

    在主控端方面,有这样一个回调函数NotifyProc,所有被控端发来的消息,都会经过此函数,在该函数中使用switch语句,处理各个消息。使得代码看起来井井有条。

    在稳定性方面,被控端宿主为svchost以系统服务启动,并有守护线程,用心跳包机制防止以外掉线。

    说了半天了……西安这又是一个炎热的下午。希望你能看懂我的文章,并对远控有一个更深的理解。下次我会开始写一些gh0st的源码,和老狼视频里一些难以理解的地方。再次强调,本文不能替代老狼的视频,想学习的同学务必认真地看老狼的教程,你会受益良多。

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • gh0st源码分析与远控的编写(四)

        真的很久很久了,距离上一次写gh0st的文章(https://www.leavesongs.com/C/gh0st_3.html),过去有大半年了。...

    phith0n
  • gh0st源码分析与远控的编写(二)

    上次说了那么多,基本上就是一个叫“大局观”的东西,只有脑子里有了一个软件的设计、运行思路,才能把一个一个类写出来,组合在一起。

    phith0n
  • gh0st源码分析与远控的编写(三)

        好久不见。距离上次写gh0st来有好久了,一是期末考试,忙不开,二是后来电脑坏了,几天没能上网。

    phith0n
  • 解码Gh0st RAT变种中的网络数据

    在今年3月份的一次取证调查中,我们找回了一些文件。经过我们初步的判定,这些文件极有可能与一个知名组织Iron Tiger有关。

    FB客服
  • “大黄蜂”远控挖矿木马分析与溯源

    事件背景: 近日,腾讯安全反病毒实验室发现了一类远控木马具有爆发的趋势。通过跟踪发现,此类木马不仅保留了远控的功能,而且随着虚拟货币价格的水涨船高,木马加入了挖...

    FB客服
  • 深度报告 | 揭秘朝鲜黑客组织Lazarus Group对加密货币的窃取手段

    当前,世界各地安全公司、执法机关和情报机构都把Lazarus Group归因于朝鲜的国家支持黑客组织,随着Lazarus Group自身网络攻击工具的进化发展...

    FB客服
  • 黑产攻击途径升级,云服务成重灾区

    在我们的印象里,黑产以及相关的肉鸡DDOS攻击总是离我们很远。可实际情况并非如此,特别是在云服务大行其道的今天。 日前,腾讯反病毒实验室就观察到了国内云服务中G...

    FB客服
  • 来自云端的木马:“百家”木马集团分析

    0×00背景 近日,腾讯反病毒实验室拦截到一批伪装成客户通知单的木马,该木马会根据自身文件名的不同而进行多种不同的恶意行为,经测试,目前国内的多款杀毒软件尚不能...

    FB客服
  • 雪人行动:利用IE10 0day漏洞的APT攻击剑指美国军方情报

    二月十一日,FireEye捕获了一次基于0day漏洞的攻击,这次攻击针对美国的一个退伍兵网站(bfw.org)。 我们确信这次攻击是针对美国高层军方人员的一次...

    FB客服
  • 中国铁虎APT又回来了,专门针对亚洲、美国政府及其它组织

    中国APT铁虎又回来了,被PZChao行动称为新的战役,针对亚洲和美国的政府,科技,教育以及电信组织。 Bitdefender恶意软件研究员已经发现并监控了几个...

    FB客服
  • 2018 Q1威胁态势报告:58%的僵尸网络攻击持续不超过一天

    Fortinet 上周发布《2018年第一季度威胁态势报告》。报告统计了针对桌面、移动端、服务器、物联网和网络设备的多种僵尸网络数据,得出结论称绝大多数僵尸网络...

    FB客服
  • 黑客通过游戏外挂植入后门病毒 弹窗叫嚣“杀毒无用”

    近日,火绒安全团队收到用户反馈后发现,有后门病毒正通过“穿越火线”等多款游戏外挂传播(具体见下图),并通过QQ群、网盘等渠道持续扩散。该后门病毒入侵用户电脑后,...

    用户6477171
  • 贼心不死,海莲花APT组织一季度攻击活动揭秘

    “海莲花”(又名APT32、OceanLotus),被认为是来自越南的APT攻击组织,自2012年活跃以来,一直针对中国的敏感目标进行攻击活动,是近几年来针对中...

    FB客服
  • 反黑客行动--如何抓住利用批量爆破PHPmyadmin进行入侵脚本小子

    安装完phpStudy,MySQL默认密码不修改,默认用户密码为root,因为啥?等黑客上钩啊!

    HACK学习
  • emlog后台作者权限SQL注入

        实话说,以后不想再挖web漏洞了,也不想发这类文章,web的东西搞来搞起就是那个样,我原本就不想深入,想那些大神一样能把一个cms分析得透彻。我有时候...

    phith0n
  • 国产漏洞靶场Webug 3.0发布

    Webug名称定义为“我们的漏洞”靶场环境,基础环境是基于PHP/mysql制作搭建而成,中级环境与高级环境分别都是由互联网漏洞事件而收集的漏洞存在的操作环境。...

    FB客服
  • 你在看电脑,我们在看你~

    这是早期的一则推特,眼尖的用户能注意到: 似乎扎克伯格的笔记本摄像头和麦克风插口都是用胶带蒙住的 Mark Zuckerberg为什么要把摄像头给封住了? ...

    用户1631416
  • 3389批量端口爆破攻击出现新蠕虫

    新型BuleHero挖矿蠕虫变种利用端口爆破攻击 腾讯安全率先捕获近日,腾讯安全御见威胁情报中心再次监测到一款全新变种的BuleHero挖矿蠕虫。结合对该病毒发...

    it妹
  • 贪婪的朝鲜黑客:密币和PoS终端成敛财之道,交易所因被黑而破产

    朝鲜黑客组织正在变得贪得无厌。安全研究人员发现跟朝鲜政府存在关联的国家黑客组织 Lazarus 发动新的恶意软件活动,直勾勾地盯上密币用户。 - 劣迹斑斑的 L...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券