数据库遭遇比特币勒索的一次入侵分析

释放双眼,带上耳机,听听看~!

WebGoat靶场系列—WebGoat安装

WebGoat是OWASP组织研制出的用于进行web漏洞实验的Java靶场程序,用来说明web应用中存在的安全漏洞。WebGoat运行在带有java虚拟机的平台之上,当前提供的训练课程有30多个,其中包括:跨站点脚本攻击(XSS)、访问控制、线程安全、操作隐藏字段、操纵参数、弱

本文作者:mark-zh(Web小组成员)

前言

事情发生在前几天,上午接到通知,公司的测试环境数据库遭遇比特币勒索,于是杯子开水加满,开始分析。

信息收集

首先想到的是看日志,空空如也。综合分析,存在一下三个疑点,欢迎补充。

疑点一:个人PC中马。因为最近有人反映收到钓鱼邮件。

疑点二:弱口令。网上搜索了一下相似的入侵案例。

疑点三:git信息泄漏。最近关于git信息泄漏的新闻不少。

排查阶段

首先重点看了一下git是否存在信息泄漏,排除此疑点。

网上存在相似案例,提供的信息是弱口令造成的,删库插入勒索信息,这也是我们觉得嫌疑最大的一方面。

关于个人PC中马,重点检查了一下掌握被入侵数据库的人员的PC。

最后得出的结果是弱口令。

背景

排查阶段并不是那么顺利,一开始怀疑就是弱口令。查日志的时候,运维大哥给了一个强密码,当时就被带沟里了。大佬去外地出差了,菜鸡的我在家看家。最后通过大佬的冷静分析,确定是弱口令,登录数据库查询,验证存在弱口令。

你大爷还是你大爷,大佬还是大佬。

安全防范

首先做了策略,数据库只允许内网的someone访问。 然后排查了一遍数据库中的弱口令。

后记

本次入侵源头是外网开放了可远程连接的mysql服务。

Ms08067 招募志同道合的朋友

引言 从最早的绿色兵团、白细胞、XCON,很多大牛引领了一个团队,也因团队成就了自身。 很多安全新人在漫长的学习之路上经常会遇到一些提升的瓶颈,毕竟现在安全领域的研究越来越细化,仅就前端攻击的手段就有XSS、XFS、CSRF等等。单打独斗,已经越来越无法在

Python批量检测远程开放连接的mysql服务

1. 任意IP登录情况下,`update user set host = ‘%’ where user = ‘root’;`
“`shell
mysql> select host,user from user;
+———–+——————+
| host      | user             |
+———–+——————+
| %         | root             |
| localhost | debian-sys-maint |
| localhost | mysql.sys        |
| localhost | root             |
+———–+——————+
4 rows in set (0.00 sec)
“`
模拟登录报错如下:

“`
(1045, “Access denied for user ‘****’ (using password: YES)”)

“`

2. 限制任意IP登录情况下:`delete from user where host = ‘%’;`
“`shell
mysql> select user,host from user;
+——————+———–+
| user             | host      |
+——————+———–+
| root             | 127.0.0.1 |
| debian-sys-maint | localhost |
| mysql.sys        | localhost |
+——————+———–+
3 rows in set (0.01 sec)
“`

模拟登录报错如下:

“`
(1130, “Host ‘****’ is not allowed to connect to this MySQL server”)
“`

通过识别登录报错的元组,判断是否开启远程连接。

“`python
import MySQLdb
         
def coon(host):
    username = ‘root’
    password = ‘pass’
    port = ‘3306’
    try:
        result = MySQLdb.connect(host,username,password)
    except Exception as e:
        if e[0] ==1045 :
            print ‘success’,host
        if e[0] == 1130:
            print ‘failed’
        else:
            pass

def main():
    with open(”,’r’) as hosts:
        h = hosts.readlines()
        for host in h:
            host = host.strip(‘\n’)
            coon(host)    

if __name__ == ‘__main__’:
    main()
“`

Github:https://github.com/mark-zh/MySQL/blob/master/MySQL-Remote-Conn.py


来源:Ms08067安全实验室



界世的你当

作你的肩膀



 ms08067安全实验室

本文源自微信公众号:Ms08067安全实验室

《Web安全攻防》配套视频之XSS实验平台搭建

《Web安全攻防-渗透测试实战指南》配套视频 第三期来啦! 本期视频内容为 第2章 搭建漏洞环境及实战 2.5 搭建XSS测试平台 如果学习有疑问, 可以登录官网: https://www.ms08067.com 书籍介绍 《Web安全攻防-渗透测试实战指南》,第一版次于2018年7月出版,上

人已赞赏
安全工具

《Web安全攻防》配套视频之SQLMAP详解(2)

2019-10-14 20:19:30

安全工具

WebGoat靶场系列---WebGoat安装

2019-10-14 20:19:36

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索