背景概述
近日,深信服安全团队捕获到一起利用MSSQL暴力破解投放勒索病毒的攻击事件,攻击者通过MSSQL的xp_cmdshell执行系统命令,从C&C服务器下载并执行勒索病毒。执行的相关命令如下:
经安全专家分析,攻击者所使用的程序均通过.NET进行Gzip压缩封装,最终将C++编写的PE解压后注入到CasPol.exe进程(.NET的码访问安全性策略工具)执行,经分析为Remcos远控和GlobeImposter勒索病毒。
一、前言
由于是在已知有一处sql注入的情况下才接手进行的后续操作,因此前面信息搜集则一笔带过。
二、信息搜集
目标是个本地的传销站点其大致信息为IIS+ASP.NET+安全狗、腾讯云。
三、Bypass Sql
3.1 Fuzz
根据如上测试可以看出程序本身也有过滤,error为程序自身的过滤。可以利用IIS处理%符号的机制绕过部分符号,例如空格使用%0b 加号使用%2b等。再根据测试的结果,可以先利用convert转换报错获取一部分信息。
不久前,我们在为客户进行应用程序安全测试时,发现了一个NTLM凭证转发攻击,挺有意思的,这里给大家分享一下。该应用程序乍一看非常不起眼。一个非常典型的Windows胖客户端,一个应用程序服务器和一个后端MSSQL数据库服务器。查看胖客户端目录中的一些XML配置文件,我们在一些明文的主机名和端口号旁边找到了名为“DBUsername”和“DBPassword”的一串base64编码值。解码之后,存在一些无法识别的二进制乱码,显然是经过加密的。应用程序开发人员可能认为攻击者会就此放弃,但我们偏不放弃,谁让我们固执呢。
查权限.aspx?id=1';if (0=(SELECT IS_MEMBER ('db_owner'))) waitfor delay '0:0:5'%20--%20查库名.aspx?id=1';if(ascii(substring(db_name(),6,1)))>105 waitfor delay '0:0:5'%20--%20查第一表?
发布时间:
2016-11-18 04:20 |
阅读:509544 | 评论:0 |
标签:
Aspx MsSQL
近期,Optiv公司的安全研究专家发现了一种新型的攻击手段。如果MSSQL数据库中开启了MSSQL Server Agent Job服务的话,攻击者将可以利用MSSQL Server中自带的功能来获取一个shell。
Microsoft SQL Server Agent
MSSQL Server Agent是一个Windows代理服务它可以被用来执行自动化任务。管理员可以设置定时代理作业,然后在MSSQL Server代理服务中执行这些定时任务。如果使用了代理的话,这些任务就可以使用不同的证书来执行。
把SQL服务器黑了是件很有趣的事儿。今年的时候,我发布过一篇有关于《无需密码黑掉mssql服务器》的文章。我利用Ettercap制作了一个中间人攻击,并将它放在了微软SQL服务器和用户之间。利用Ettercap过滤器,我展示了如何立刻将SQL的查询替换成你自己的恶意查询。这允许你去运行一系列的攻击,比如创建一个数据库的管理员用户来帮助你获得数据或者执行功能。我写了一个脚本来使得整个过程能够更加自动化,给大家学习使用。
当脚本工作时,它会有一些限制。第一,你必须知道数据库正在运行的SQL查询。一般来讲,你不大可能有这样的信息。第二,脚本依赖于Ettercap来运行MITM攻击。
前言
在最近的一个渗透测试项目中,我们遇到的一种情况,服务器上不允许出站流量。只有ICMP(和DNS)的流量被允许。在这篇博客文章我们来讨论如何使用ICMP隧道传输一个未被过滤的数据。
攻击场景
场景是一个web应用程序的渗透测试。该web应用程序是唯一可用的连在客户的内网上的,提供了一个VPN访问应用程序。该VPN只允许我们连接到这台主机(Web服务器IP)和一个端口(443)。
攻击
事实证明,我们成功地做到这一点:
web应用程序存在sql注入漏洞。
web应用程序使用sa连接到mssql数据库。
这里作者准备分享一个在去年Google赏金计划中发现的相当罕见漏洞,也是作者在整个渗透测试生涯中唯一一次遇到的。目标网站使用了微软 SQL Server 数据库并且其中一个存在 SQL 盲注。你问我怎么知道的?当然是通过触发真/假条件判断的。
背景介绍
经常有朋友使用lcx,但是由于很多原因可能lcx都不好使,例如下面几点:
1、linux下不支持lcx,这时只能拿msf出来;
2、不免杀;
3、每次内网要重新连接其他主机的时候,都必须重新进去并重新敲打命令 ,并且操作过多时容易被发现。
最近正好上面那些问题都碰上了,于是没办法就使用golang自己写了一个。我写的这个lcx有以下几个特点:
1、golang程序跨平台性,甚至嵌入式Linux都支持;
2、免杀,基本上目前golang程序都不会被识别为病毒;
3、肉鸡只需操作一次,其他的都交给主控端操作。
从关键系统提取明文凭证一直以来都是那么的有趣和富有挑战性。然而,MSSQL服务器在数据库中存储了本地SQL凭证的哈希值,链接服务器的凭证以加密形式存储。如果MSSQL可以解密该凭证,那么使用本文中的PowerShell脚本能够使你也能做到,这篇文章中我们就来共同解密MSSQL凭证及链接服务器密码。
从攻击的角度来看,这距离深入利用它还很远,因为这需要SQL数据库系统管理员权限和服务器本地系统管理员权限。从防守的角度来看,这又给我们敲响了警钟,提醒我们注意不必要的数据库链接和数据库链接权限是否过度,以及使用SQL服务器身份认证而不是集成身份验证可能会导致不必要的风险。
这是老外博客中提到的思路,可以在DAC登录后导出sqlserver后期添加的凭据。这些登录凭据多数情况下是windows用户名和密码,相信在内网渗透时会有帮助。原文提供的powershell脚本依旧不能在中文(也可能是所有多字节操作系统如鬼子语)上运行,所以进行了修正,顺便改成了exe和AspxSpy插件方便调用。
SQL Server允许DBA(数据库管理员)设置可信数据库。简单的说可信数据库就是可以进入外部资源,就像网络分享,Email function,其他数据库对象。这并不总是坏事,但是当系统管理员创建一个可信数据库但是没有将拥有权限设置完美,那么风险也就暴露出来了。在这篇文章中,我将展示用户普遍是怎样为Web应用创建数据库,当SQL Server数据库所有权配置不合理时我们怎么进行提权。我想渗透测试师,应用开发者,以及网络安全爱好者会喜欢这篇文。话说大多数DBA应该已经知道这些东西了。
昨天呢,在BIS群里面看到有人要PHP+MSSQL的手工注入的资料,想来网上这方面的资料不多,不然BIS里面的大牛不该这样,我想正好写一个PHP+MSSQL的实例分?
发布时间:
2013-04-05 22:20 |
阅读:168910 | 评论:0 |
标签:
入侵技术 mssql 注入
方法一 1.新建一个同名的数据库 2.再停掉sql server(注意不要分离数据库) 3.用原数据库的数据文件覆盖掉这个新建的数据库 4.再重启sql serve