某web入侵事件案例分析

某网站管理员发现网站后台内容管理模块中出现了多个来历不明的的可疑php文件。同时发现当天多个可疑的用户在网站进行了注册。

图片

图片

在网站文件中发现了数据库后门。

图片

攻击者利用的是phpcms漏洞getshell。

1)这个漏洞的利用每次写shell都必须换新的用户名,所以任务书上描述上说黑客创建了多个用户。

2)在注册功能处修改poc为如下图所示,特别注意的是src连接中为一句话木马。

图片

Src中的一句话木马。

图片

连接测试发现可以进行菜刀连接。

图片

Windows****入侵路径:

**
**

1、利用phpcms前台getshell的方式在注册处上传了webshell

2、利用webshell查看了网站的数据库配置文件

3、利用数据库的配置文件,发现1)root权限 2)数据库的连接账号和密码

4、利用数据库的账号密码进行了mysql的udf提权

5、启用了guest用户,并且把guset用户加到管理员组

6、开启了3389远程桌面,进行了远程登陆

7、木马将自己伪装成系统应用程序rundll32.exe,并调用动态链接库netsvrmgr.dll

windows****提权方式:

**
**

1、经分析在 C:\phpStudy\PHPTutorial\MySQL\lib\plugin遗留了mysql的udf提权文件。

图片

2、而且在C:\phpStudy\PHPTutorial\WWW\caches\configs database中配置文件看到数据库的账户为root权限。

图片

3、分析出提权方式为msyql的udf提权

Windows****木马分析:

**
**

1、分析发现可疑进程及路径(1)使用tcpview发现可疑行为,不断的向47.88.28.14进行外联请求,进程的连接记录该进程的pid为3536。

图片

(2)通过process explorer工具找到pid为3536的进程,并通过右键查看属性查看路径。

图片

2、发现程序调用的动态链接库,process explorer 定位到netsvrmgr.dll这个动态链接库,并查看到注册表。

图片

图片

3、查看数字签名验证其真伪

pchunder查看到rundll32.exe调用的动态链接库netsvrmgr.dlleprocess并查看其数字签名,发现不是微软的正式数字签名。

图片

图片

**
**

Windows主机上发现userinit****附加程序后门:

**
**

1、打开autoruns,在logon面板处发现usersinit.exe程序。

图片

2、打开注册表,发现该程序为userinit.exe的附加程序。

图片

3、用ida将其打开,发现该附加程序为添加后门用户。

图片

Windows****后门用户和系统日志分析:

**
**

1、发现用户Guest被激活,且设置密码时间为2018/7/3122:47:08 正好是webshell的上传以后,且Guest被加入到了Administrator用户组。

图片

2、而且在系统日志中也可以看到。

图片

图片

3、并且开启了3389端口进行了远程登陆。

图片

溯源分析(web日志):

**
**

1、上面一个节点已经分析了webshell的路径;

图片

发现webshell创建的时间是2018/7/31 22:38根据这个时间点缩小范围。

2、在下面的节点分析了webshell的上传方式,得知是phpcms前台上传的webshell,是通过注册的方式引入img标签,将一句话写到上传目录。

特征链接是:/index.php?m=member&c=index&a=register&siteid=1

根据特征和时间段锁定如下日志:

图片

3、而且符合特征多次注册,分析得到攻击者的ip是108..*.120

图片

Linux****木马从发现到分析

**
**

1、发现入侵异常

通过history查找命令记录,发现存在异常敏感命令记录,然后利用常见木马一般存在的目录进行目录探索,发现存在getty敏感文件。

图片

图片

图片

2、Linux服务器发现可疑文件getty

(1)使用top命令查看CPU使用率,发现CPU使用率非常低,不能从中发现异常,如图所示:

图片

(2)使用rkhunter-c –sk --rwo扫描,发现可疑文件Possible rootkit: BillGates botnetcomponent

图片

3)使用netstat -anpo查看网络连接情况,发现可疑网络连接,连接到公网149...217:1521 tcp | 0 | 1 |10.1.1.130:50950 | 149...217:1521 | SYN_SENT | 2864/getty | on | (1.29/1/0)

图片

4)ps -ef 查看pid2864,看到/bin/getty

图片

(5)sz/bin/getty到Windows再复制到本机,使用IDA打开,从main函数看到Backdoor等函数,确认是病毒;

图片

发现10.*.*.128通过SSH爆破登陆服务器

**
**

1)查看/var/log/secure.1文件,发现主机10...128在3月6号10:04:00开始对主机的22端口进行ssh爆破

2)发现在10:15分左右攻击者爆破成功,登陆进主机

图片

经排查发现,网站某系统存在应用层漏洞,黑客通过攻击web漏洞获取Windows主机的权限并且留了大量的木马和后门,最后以Windows系统为跳板攻击内网的Linux主机,获取了Linux主机的系统权限。

修复建议:

**
**

web层面:

(1)立即删除相应的webshell和数据库后门。可再次使用D盾进行复查;

(2)更新到最新的phpcms版本修补前台getshell漏洞,或者自行在注册处实现过滤;

(3)删除webshell并且更新到最新的phpcms修补漏洞,或者自行在注册处实现过滤。

主机层面:

1>数据库方面

(1)mysql 不要使用高权限账户,尽量使用低权限的专用账户;

(2)增加mysql的口令强度

(3)建议对主机系统进行绿盟的配置核查和主机扫描检测。增加系统的健壮性

2>主机方面

(1)利用杀毒软件进行查杀并删除响应的木马文件

(2)立即更改密码

(3)ssh超时时间设置

# cd/etc/profile.d/  #创建两个空白文件autologout.csh 、autologout.sh用来保存TMOUT配置
# touch autologout.csh
# touch autologout.sh
# vi autologout.sh #编辑autologout.sh

(4)ssh认证次数限制

/etc/ssh/sshd_config

MaxAuthTries=3 这是超过3次验证错误断开连接

【声明】

此篇文章纯属造轮子娱乐,如果不喜欢请点击左上角。若其他人带有攻击性测试,造成后果一切自负。

学习网络安全技术的方法无非三种:

第一种是报网络安全专业,现在叫网络空间安全专业,主要专业课程:程序设计、计算机组成原理原理、数据结构、操作系统原理、数据库系统、 计算机网络、人工智能、自然语言处理、社会计算、网络安全法律法规、网络安全、内容安全、数字取证、机器学习,多媒体技术,信息检索、舆情分析等。

第二种是自学,就是在网上找资源、找教程,或者是想办法认识一-些大佬,抱紧大腿,不过这种方法很耗时间,而且学习没有规划,可能很长一段时间感觉自己没有进步,容易劝退。

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

第三种就是去找培训。

image.png

接下来,我会教你零基础入门快速入门上手网络安全。

网络安全入门到底是先学编程还是先学计算机基础?这是一个争议比较大的问题,有的人会建议先学编程,而有的人会建议先学计算机基础,其实这都是要学的。而且这些对学习网络安全来说非常重要。但是对于完全零基础的人来说又或者急于转行的人来说,学习编程或者计算机基础对他们来说都有一定的难度,并且花费时间太长。

第一阶段:基础准备 4周~6周

这个阶段是所有准备进入安全行业必学的部分,俗话说:基础不劳,地动山摇
image.png

第二阶段:web渗透

学习基础 时间:1周 ~ 2周:

① 了解基本概念:(SQL注入、XSS、上传、CSRF、一句话木马、等)为之后的WEB渗透测试打下基础。
② 查看一些论坛的一些Web渗透,学一学案例的思路,每一个站点都不一样,所以思路是主要的。
③ 学会提问的艺术,如果遇到不懂得要善于提问。
image.png

配置渗透环境 时间:3周 ~ 4周:

① 了解渗透测试常用的工具,例如(AWVS、SQLMAP、NMAP、BURP、中国菜刀等)。
② 下载这些工具无后门版本并且安装到计算机上。
③ 了解这些工具的使用场景,懂得基本的使用,推荐在Google上查找。

渗透实战操作 时间:约6周:

① 在网上搜索渗透实战案例,深入了解SQL注入、文件上传、解析漏洞等在实战中的使用。
② 自己搭建漏洞环境测试,推荐DWVA,SQLi-labs,Upload-labs,bWAPP。
③ 懂得渗透测试的阶段,每一个阶段需要做那些动作:例如PTES渗透测试执行标准。
④ 深入研究手工SQL注入,寻找绕过waf的方法,制作自己的脚本。
⑤ 研究文件上传的原理,如何进行截断、双重后缀欺骗(IIS、PHP)、解析漏洞利用(IIS、Nignix、Apache)等,参照:上传攻击框架。
⑥ 了解XSS形成原理和种类,在DWVA中进行实践,使用一个含有XSS漏洞的cms,安装安全狗等进行测试。
⑦ 了解一句话木马,并尝试编写过狗一句话。
⑧ 研究在Windows和Linux下的提升权限,Google关键词:提权
image.png
以上就是入门阶段

第三阶段:进阶

已经入门并且找到工作之后又该怎么进阶?详情看下图
image.png

给新手小白的入门建议:
新手入门学习最好还是从视频入手进行学习,视频的浅显易懂相比起晦涩的文字而言更容易吸收,这里我给大家准备了一套网络安全从入门到精通的视频学习资料包免费领取哦!

如果你对网络安全入门感兴趣,那么你需要的话可以点击这里👉网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐