设备面试题+蓝队知识题+流量



设备面试题

什么是蜜罐啊,遇到真实案例失陷主机排查

就是一台全是漏洞的靶机,吸引黑客来进攻蜜罐系统,然后掌握黑客的信息 (就类似于诱饵)
尝试搭建微步的Hfish蜜罐或者其他的(获取经验)
网上常见面试问题:
那么如果叫你部署一个蜜罐,你会开放哪些端口,为什么//你认为企业的主机哪些端口存在风险//你认为企业应该注意哪些地方的加固
21端口:FTP文件传输协议端口,用来捕获黑客的FTP爆破行为
22端口:SSH端口 链接Linux主机SSH服务的端口,用来捕获黑客的SSH爆破行为
23端口:Telnet服务,命令执行服务,用来探测黑客对于telnet的爆破
80端口/443端口:WEB服务的端口,用来捕获黑客的WEB攻击行为特征
1521:oracle数据库开放端口,捕获黑客的oracle爆破行为,UDF命令执行等行为
3306:MYSQL端口,用来捕获黑客对于mysql数据库的爆破行为,UDF命令执行等行为
3389:Windows远程桌面端口,用来捕获黑客的爆破行为
下面的相对来说不重要
6379端口:REDIS端口,捕获黑客REDIS未授权访问的攻击,黑客利用redis写ssh秘钥,写webshell,执行计划任务等的攻击
445端口:SMB服务端口-黑客利用永恒之蓝Enternalblue的攻击行为,黑客的SMB账号爆破(通俗简单理解,爆破windows账号密码)
1433端口:Microsoft SQLserver端口,用来捕获黑客爆破1433端口的行为,并且查看黑客利用sqlserver xp_cmdshell,sp_cmdshell等组件命令执行的操作,存储过程的利用
135、139端口:捕获黑客的利用RPC共享的攻击(当蜜罐部署在内网)
比如在8080端口,部署一个假的vpn页面,吸引黑客攻击

失陷主机排查
青藤云的蜜罐检查到,有个用户电脑访问了蜜罐的80端口,用户断网以后用360和火绒查杀了三个毒以后,重新上线,结果又踩了蜜罐,用户又用360和火绒扫了一遍,啥也没扫出来,就喊我过去处理。

当时我就一脸懵逼:这是我一个安全监控该干的事吗?
但架不住一群人直勾勾的盯着我,只能硬着头皮去干

先是用椒图扫了一遍webshell和后门文件。
确认没有后门以后,用专杀工具全盘扫描,扫出来7个病毒。
扔到ti威胁情报中心鉴定,确定就是高危病毒。
然后提交到二线做病毒分析,确认是远控木马类病毒,与触发蜜罐的告警有相关性。
最后删掉病毒,重新上线,没有再出现异常现象。

使用过哪些设备,出现误报怎么办

天眼椒图
EDR、全流量告警、态势感知、APT、蜜罐设备

在这里插入图片描述

怎么确定是真实攻击还是误报?

先去查看设备的完整流量日志等信息确认是否为误报,误报那就是规则问题,上报处置,提供规则优化建议

  • 通过设备的告警信息,流量特征(攻击特征),去查看数据包里面(请求包、请求体、返回包、返回体),是否存在相应的攻击特征,如果不包含攻击载荷,为误报
  • 以攻击IP为索引,去查看(护网开始-现在),是否有其它攻击行为。
  • 查看攻击方向:内对内、内对外、外对内。内对内的话误报率较大,但也要看具体的流量,最好上机排查。
  • 本地复现:不用客户的网络去访问,可以用其他的网络,比如手机热点。

通过流量分析 怎么判断告警是否攻击成功

如果看到一个告警ip,如何判断是否是真实攻击?

首先,我会先判断一下ip来源,判断是内网ip还是公网ip,若为内网ip,然后对请求包的内容是否存在恶意payload,然后再根据响应包内容有执行成功的回显,若相应包中有对应的payload的回显,则可以判断为攻击成功,但是此时,需要判断下是否为业务系统的逻辑造成的和是否是工作人员在测试业务系统漏洞,若工作人员证实了该告警为自家安全ip,则认为该攻击为误报,若非自家ip且不存在逻辑因素,则可判断为内网攻陷。若为公网ip,若恶意payload利用成功,则可判断为真实攻击。

怎么通过流量分析 ,判断出对方攻击成功了?

  1. 可以通过返回包判断攻击是否成功,比如命令执行攻击有回显的话返回包就会有命令执行的结果。如果有一些安全设备的话也可以通过查看告警信息判断。
  2. 可以对请求包进行重放来判断,在自己的机器上重放流量包,将 payload 改成自己的 payload 来判断是否攻击成功

溯源

溯源
1.攻击源获取
这就和安全事件的确定有关系。比如说领导告诉你我的主机有点卡或者web页面被篡改了等等。这时候就要去判断对方的攻击手段。然后去找攻击的痕迹。痕迹的寻找就是三个点,日志,网路痕迹,进程信息。这三点进行结合查看。
2.针对IP或者域名通过公网已有的开放信息进行查询
比如说我在日志里找到了对应的攻击者IP,那么我们就要对ip进行识别他的网络资产,比如站长之家识别一下,查看一下有无域名,对域名进行反查一下,看是否可以搜索到攻击者相关信息。
还有就是如果这些信息无法获取,只知道了对方的ip,那就直接对对方进行反向渗透。进行取证,取证的主要是对方的office文件,各种第三方社交软件,比如说微信有个缓存文件db后缀结尾的,里面有聊天记录,拿去破解一下。
3.信息反查
取证,想尽办法搜索到和他相关的所有信息。
4.反制
反制分为技术手段和非技术手段
技术手段:1.分析对方工具的漏洞2.蜜罐
非技术手段:1.钓鱼和反钓鱼2.从攻击者目的思考反向获取对方信息
反制还分为直接反制和钓鱼反制
直接反制就是对对方主机进行攻击。
钓鱼反制就是引诱对方进入。这里要说一下,让我们做蜜罐时候,一定要做的像内网的真实主机,不能让对方一眼识别。比如说网卡啊,虚拟机可以用别人测试的游戏虚拟机,相关文件,敏感文件,各种服务。OA啊,等等,做的真实一点点。


木马被杀掉过段时候又恢复了怎么回事

那是你没杀彻底
如果遇到这类隐藏性很高的、又释放驱动的病毒,很难处理。所以要先对病毒灭活,杀掉活体病毒之后就很容易查杀了
如果遇到木马或病毒杀不掉,一般是由于木马病毒正在运行,或者有其他的病毒进程守护,造成的。
1、电脑杀毒建议安装专业的杀毒软件,用杀毒软件在安全模式下全盘查杀处理病毒应当可以清理彻底,推荐试试腾讯电脑管家,它是免费专业安全软件,杀毒管理二合一(只需要下载一份),占内存小,杀毒好,防护好,无误报误杀。拥有云查杀引擎、反病毒引擎、金山云查杀引擎、AVIRA查杀引擎、小红伞和查杀修复引擎等世界一流杀毒软件内嵌杀毒引擎!保证杀毒质量。如果遇到顽固木马,可以用首页——工具箱——顽固木马克星,强力查杀,效果相当不错的。
2、安全模式下,将该目录的所有文件按修改时间重新排列,将该病毒以及修改时间和病毒一样的文件删除(先纪录名字)。安全模式下,在运行中输入msconfig,在“启动”中将除了ctfmon之外的所有项目的勾去掉。在安全模式下,把刚才的名字一个一个在注册表中查找一遍,一样路径和名称的键都删除
3、如果遇到所有安全类软件打不开,就可以用安全模式试试。如果安全模式下也进入不了的话没有太好的办法了,可以尝试挂盘杀毒,也可以制作一个引导杀毒的工具,很多杀毒软件都有引导杀毒工具,或者是重装系统。

应急响应+入侵排查思路

应急响应流程
收集信息:收集客户信息和中毒主机信息,包括样本
判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等抑制范围:隔离使受害⾯不继续扩⼤
深入分析:日志分析、进程分析、启动项分析、样本分析方便后期溯源
清理处置:杀掉进程,删除文件,打补丁,删除异常系统服务,清除后门账号防止事件扩大,处理完毕后恢复生产
产出报告:整理并输出完整的安全事件报告

windows入侵排查思路
1.收集信息:收集与系统安全相关的信息,包括日志文件,进程列表,网络连接,系统配置等。

2.分析信息:对收集到的信息进行分析,确定异常行为和潜在威胁


BTAB 蓝队分析工具箱,专注于攻击特征分析。可以辅助安全运营人员在客户现场较苛刻环境下(无网、无python环境)的流量包分析、木马分析等场景,目前已集成流量包检测、SQL注入检测、Webshell检测、bash命令执行检测,以及解码序列化等工具。
https://github.com/Martin2877/btab/releases/tag/v0.3.3
在这里插入图片描述


3.确认威胁:确认系统存在威胁,并确定其类型和程度。
4.阻止攻击:采取相应的措施,尽快阻止攻击并减少损失。
5.恢复系统::对受到攻击的系统进行恢复,确保其正常运行。

具体来说,可以采取以下几种方法进行入侵排查:
1. 使用防病毒软件:定期使用防病毒软件扫描系统,及时发现并清除潜在的威胁。
2. 定期更新系统:定期更新系统和安全补丁,以确保系统的安全性。
3. 监控网络连接:监控网络连接情况,及时发现异常连接和流量,以及非法访问尝试。
4. 分析日志文件:分析日志文件,了解系统的使用情况和异常行为,及时发现威胁。
5. 使用安全工具:使用安全工具,如入侵检测系统、网络监控系统等,帮助发现和阻止威胁。
6. 加强用户教育:加强用户教育,提高用户安全意识,减少人为因素对系统安全的影响


Linux入侵排查思路
1. 收集基础信息:收集系统的版本、配置文件和日志等信息,了解系统的正常运行状态。

查看Linux系统版本信息的几种方法:

查看Linux内核版本命令(两种方法)

cat /proc/version
uname -a

查看Linux系统版本的命令(3种方法):

lsb_release -a,即可列出所有版本信息:
这个命令适用于所有的Linux发行版,包括RedHat、SUSE、Debian…等发行版。
cat /etc/redhat-release,这种方法只适合Redhat系的Linux:
cat /etc/issue,此命令也适用于所有的Linux发行版。
lsb_release -a:查看Linux发行版和版本信息。

ifconfig或ip addr show:查看网络接口、IP地址和相关配置信息。

cat /etc/resolv.conf:显示DNS配置信息。

cat /etc/hosts:查看本地主机名解析配置。

cat /etc/fstab:显示文件系统挂载配置。
  1. 分析异常行为:通过比较正常状态与异常状态的差异,分析系统上出现的任何异常行为,例如不寻
    常的进程、网络流量或文件更改。
  2. 确认入侵点:确定攻击者可能入侵的方式,并检查是否存在未修复的漏洞。
  3. 隔离受感染的系统:及时隔离受感染的系统,以限制损害并避免进一步传播。
  4. 恢复系统:清除恶意代码并修复受损部分,通过备份恢复数据和配置文件,确保系统安全。
  5. 收集证据:收集入侵事件的详细信息,包括攻击的时间、入侵的方式、影响范围、损失情况等,以便后续追踪和定位攻击者。

在实际操作中,需要结合专业的工具和技能进行排查,例如使用抓包工具Wireshark分析网络流量、使用进程监控工具ps、top、htop等查看进程运行情况。同时,还需要不断学习更新各种安全相关的技能和知识,以提高排查入侵事件的能力


日志

Windows

  1. 系统事件记录器:Event Viewer 应用程序中提供了 Windows 系统的事件日志管理工具。这些日志文件通常存储在 C:\Windows\System32\winevt\Logs 目录中。
  2. 应用程序日志:包括应用程序特定的事件、错误和警告等信息,可以使用 Event Viewer 应用程序进行查看。这些日志文件通常存储在应用程序的安装目录下或者 Windows 系统目录中。
  3. 安全日志:记录有关系统安全性的重要信息,例如登录、注销、权限更改等。这些日志文件通常存储在 C:\Windows\System32\winevt\Security.evtx 文件中。

Linux

  1. 系统日志:Linux 系统中的所有日志都存储在 /var/log 目录下。主要的日志文件包括:
    /var/log/messages:记录系统启动期间的消息以及其他系统级别的消息。
    /var/log/syslog:记录核心系统日志,也包括其他应用程序的日志。
    /var/log/auth.log:记录用户登录和其他身份验证相关事件的日志文件。
  2. 各种服务/软件的日志文件:各种服务或软件分别根据自己的命名规范来命名相应的日志文件,其中一些可能位于 /var/log 目录下,而另一些则可能位于 /var/log/service 目录下。
    需要注意的是,日志文件在系统运行一段时间后可能会变得非常庞大,因此需要定期进行归档和清理,以释放磁盘空间并提高系统性能。

在 Linux 系统中,可以通过以下方式查看登录日志:

  1. /var/log/auth.log文件:该文件记录了所有用户的认证信息,包括 SSH 登录、sudo 访问以及 su 切换等操作。
  2. /var/log/secure文件:该文件用于记录系统身份验证和授权消息,通常在 Red Hat 系统上使用。其中包括 SSH 登录、sudo 访问以及 su 切换等操作。
  3. /var/log/messages文件:该文件记录了系统的运行消息,包括启动和关闭服务、内核消息以及其
    他重要事件。
  4. w命令:可以查看当前已登录的用户和他们的会话信息。
  5. last命令:可以查看最近所有登录和注销会话的用户列表以及日期和时间。
  6. lastlog命令:可以查看所有用户最后一次登录的时间和位置。
    需要注意的是,在某些系统中这些文件名可能会有所不同,例如 Ubuntu 系统中的 /var/log/auth.log 文件可能是 /var/log/auth.log.1、/var/log/auth.log.2.gz等形式。因此,在查看登录日志时,最好先了解当前系统的具体情况

日志分析工具

  1. Event Viewer:Windows 自带的日志管理工具,可以查看和分析 Windows 系统中的各种事件日
    志。
  2. Log Parser:一款免费的命令行工具,可以查询和分析日志文件、IIS 日志、Windows 注册表、
    Active Directory 等数据源。
  3. Microsoft Message Analyzer:一款强大的网络协议分析工具,可以捕获和分析 Windows 操作系
    统上的网络流量和事件日志。
  4. Syslog-ng:一个高性能的日志管理工具,可以帮助用户收集和分析来自不同平台的日志信息。
  5. Graylog:一款开源的日志管理工具,可以帮助用户收集、存储和分析来自不同来源的日志信息,
    并提供直观易用的用户界面。
  6. Splunk:一款商业化的日志管理工具,可以帮助用户实时监控、搜索、分析和可视化来自不同来源
    的日志信息。

Linux 日志分析技巧命令

  1. grep 命令:用于在文本文件中搜索指定的字符串和模式,例如可以使用 grep error
    /var/log/messages 命令来查找系统日志中的错误信息。
  2. tail 命令:实时监视日志文件,并显示最新添加的日志信息,例如可以使用 tail -f
    /var/log/messages 命令来实时监视系统消息。
  3. sed 和 awk 命令:可以用来编辑和处理文本文件,例如可以使用 awk ‘/error/ {print $0}’
    /var/log/messages 命令来筛选出包含 error 字符串的日志信息。
  4. journalctl 命令:用于查询和查看 systemd 系统日志,例如可以使用 journalctl -u nginx.service
    命令来查看 Nginx 服务的日志信息。
  5. dmesg 命令:用于打印内核环境变量缓冲区的内容包

安全加固

Windows 安全加固

  1. 更新操作系统和软件:及时安装 Windows 操作系统和软件的安全更新。
  2. 禁用 SMBv1:由于 SMBv1 协议存在一些严重的漏洞,建议禁用 SMBv1 协议。

SMB(Server Message Block)是一种用于文件共享、打印机共享和通用网络通信的协议。不同版本的 SMB(如
SMB1、SMB2、SMB3)在功能和特性方面有所不同。

  1. 启用 UAC:启用用户账户控制(UAC),以限制非管理员用户的系统访问权限。

用户账号控制(User Account Control) 为WindowsVista推出的一项安全技术,其原理是通过限制安全应用软件对系统层级的访问,提升Windows操作系统的安全性。

  1. 配置防火墙:使用 Windows 防火墙过滤不必要的网络流量,并确保只允许合法的流量通过。
  2. 使用 BitLocker 或类似的加密工具:对重要数据和文件进行加密存储,以避免数据泄漏。

Bitlocker 可以拆分为bit locker,直接翻译的话就是比特锁,意思是每个 bit 都加密。Bitlocker 使用 AES
加密算法加密整个卷来保护数据。简单来说,BitLocker 会将 Windows的安装分区或者其他用于保存文件的分区进行加密,并将密钥保存在硬盘之外的地方,并对早期启动组件完整性检查,合并到一起来增强数据保护。
BitLocker 主要有两种工作模式:TPM 模式和 U盘模式,同时为了实现更高程度的安全,我们还可以同时启用这两种模式。

  1. 配置组策略:使用本地组策略或 Active Directory 组策略来限制用户和计算机的访问权限。
  2. 检查安全事件日志:定期检查 Windows 安全事件日志,了解系统中发生的任何异常事件。
  3. 定期备份数据:定期备份重要数据至外部存储设备,以防止数据丢失和系统损坏。

Linux 安全加固:

  1. 更新所安装的软件包:定期更新系统中所有软件包以修复已知漏洞。
  2. 禁用不必要的服务:禁用不必要的网络服务,减少攻击面。
  3. 配置防火墙:使用防火墙限制入站和出站网络流量,只允许合法的流量通过。
  4. 加强密码策略:设置强密码策略并启用多因素身份验证。
  5. 禁用 root 登录:禁止使用 root 用户登录系统,并将 sudo 和 su 访问权限限制到必要的人员或
    组。
  6. 使用 SELinux 或 AppArmor:使用 SELinux 或 AppArmor 来实现更细粒度的应用程序和文件访问
    控制。
  7. 配置 SSH 访问:使用 SSH 协议连接服务器时配置限制 IP 地址和端口号等安全措施。
  8. 定期备份数据:定期备份重要数据至外部存储设备,以防止数据丢失和系统损坏

外围打点

外围打点是一种对目标系统进行浅层次探测的方法,可以帮助安全人员了解目标系统的基本情况和漏洞
状况。下面是外围打点的基本流程:

  1. 信息收集:在进行外围打点之前,需要先收集相关的信息,包括目标系统的IP地址、域名、开放端
    口和服务等。可以使用一些工具和技术来收集这些信息,如Whois查询、DNS解析、端口扫描、网
    络枚举等。
  2. 网络探测:在收集到目标系统的基本信息后,可以使用网络探测工具进行扫描,以获取更详细的信
    息和漏洞情况。常用的网络探测工具包括Nmap、Hping、Netcat等,可以进行端口扫描、协议检
    测、操作系统识别等。
  3. 漏洞扫描:在探测到目标系统的开放端口和服务后,可以使用漏洞扫描工具来检测其中的安全漏洞
    和风险。常用的漏洞扫描工具包括Nessus、OpenVAS等,可以通过自动化的方式对目标系统进行
    安全评估和检测,并生成相应的报告和建议。
  4. 漏洞利用:在发现目标系统的安全漏洞后,可以使用一些漏洞利用工具进行攻击和渗透测试。常用
    的漏洞利用工具包括Metasploit、Exploit-db等,可以通过自动化或手动的方式对目标系统进行攻
    击,并获取相应的权限和访问权。
  5. 安全评估:最后,需要对外围打点的结果进行分析和总结,评估目标系统的安全性和风险情况,并
    提出相应的建议和措施来改善安全状况

常用排查命令

linux

  1. top:显示当前系统中最占用 CPU 和内存的进程。

  2. ps:显示当前系统所有运行的进程列表。

  3. netstat:显示网络连接状态和统计信息,例如打开的端口、TCP/UDP 连接和网络接口等。

  4. ifconfig/iwconfig:显示网络接口的状态和配置信息。

  5. ping/traceroute:用于测试网络是否连通以及检测网络故障的工具。

  6. df/du:显示磁盘使用情况,包括已用空间和可用空间等信息。

  7. ls/lsof:用于查看打开的文件、目录和文件描述符。

  8. strace/ltrace:跟踪应用程序执行期间的系统调用和库函数调用。

  9. tcpdump:捕获网络数据包并将其记录到日志文件中,以便进行后续分析。

  10. who :命令查看当前登录用户(tty本地登陆 pts远程登录)

  11. history : 表示输出最近使用的5条命令

  12. tail:实时监视日志文件,并显示最新添加的日志信息。

  13. crontab -l 表示列出所有的定时任务

windows
query user 查看当前登录账户
logoff ID 注销用户id
net user 查看用户
net user username 查看用户登录情况
lusrmgr.msc 打开本地用户组
regedit 注册表查看账户,确认系统是否存在隐藏账户
netstat -ano 异常端口进程,一般是查看已经成功建立的连接
msconfig 启动项检查,查看系统启动项
Cmd下运行schtasks 查看系统定时任务(win7系统利用at)
Services.msc 查看系统服务
运行窗口中输入“%UserProfile%\Recent”。查看最近打开的文件,


服务器存在 webshell,如何处理?

Webshell是一种Web服务器上的恶意代码,可以使攻击者远程控制服务器,并执行各种命令、上传下载
文件等操作。以下是处理服务器存在Webshell的一些方法:

  1. 扫描和确认Webshell
    可以通过查看Web服务器日志或使用安全扫描工具来确认是否存在Webshell。找出所有可疑文件并进行
    彻底检查,以确定是否存在Webshell。
  2. 删除Webshell
    如果确定存在Webshell,需要立即将其删除,并对系统进行全面清理。删除Webshell时,应同时清除与
    Webshell相关的文件和目录,并且应用程序代码也需要进行更新和修复。
  3. 加强安全防护措施
    为了避免服务器再次被感染,需要加强安全防护措施,包括加强服务器的监控和日志审计、安装杀毒软
    件并定期更新、限制非管理员用户权限等。
  4. 修改密码
    修改服务器管理员的账户密码,并确保强密码策略得到实施,建议使用包含大写字母、小写字母、数字
    和特殊字符等不同类型字符组成的复杂密码,并设置密码长度要求。
  5. 更新和修复应用程序代码
    Webshell通常是由于应用程序存在漏洞或安全问题而被植入的。因此,为了防止类似问题再次发生,需
    要及时更新并修复应用程序代码中的安全漏洞。
    总之,在处理服务器存在Webshell的问题时,需要快速准确地识别和清除Webshell,并加强服务器和应
    用程序的安全防护措施。同时,也需要定期进行巡检和审计,及时发现和排除漏洞,以确保系统的完整
    性和安全性。

排查 shell 命令?检测 webshell?

要排查 shell 的问题,可以使用以下命令:

  1. echo :用于打印变量或字符串,可以用来检查变量的值是否正确。
  2. set :用于显示所有的 shell 变量和函数,包括环境变量。
  3. env :用于显示当前 shell 环境下的所有环境变量。
  4. source 或 .:用于读取并执行指定文件中的命令,通常用于重新加载配置文件。
  5. sh -x script.sh:用于以调试模式执行脚本,并输出每个执行的命令及其参数。
  6. ps :用于列出当前正在运行的进程,可以使用 ps aux 查看详细信息。
  7. top :用于实时查看系统资源的使用情况,可以用来定位占用 CPU 或内存过高的进程。
  8. grep :用于搜索指定的文本内容,可以用来查找特定日志文件中的错误信息等。
    这些命令可以帮助您快速诊断 shell 中的问题。

如何检测 webshell?
Webshell是指嵌入到Web服务器上的一种命令执行环境,可以通过Web页面或HTTP协议与其进行交
互,攻击者可以利用Webshell来执行各种恶意操作。检测Webshell可以使用以下几种方法:

  1. 查看Web服务器访问日志:Webshell通常会产生异常的网络流量,例如向非标准端口发送POST请
    求等。查看Web服务器的访问日志,观察是否存在异常的请求。
  2. 安全扫描工具:使用安全扫描工具对Web服务器进行扫描,以检测是否存在Webshell。常用的安
    全扫描工具包括Nessus、OpenVAS等。
  3. 文件监控:Webshell通常会将恶意代码写入某个文件中,因此可以通过文件监控工具来检测
    Webshell。例如,当文件被修改时,文件监控工具会立即发送警报。
  4. 内存监控:有些高级的Webshell可能不会在磁盘上留下任何痕迹,而是直接将代码注入到内存中。
    因此,可以使用内存监控工具来检测是否存在Webshell。
  5. 安全审计:对Web服务器进行安全审计,检查是否存在安全漏洞,例如文件上传漏洞、命令注入漏
    洞等。攻击者通常会利用这些漏洞来上传Webshell。
    以上方法并不能完全保证检测到所有的Webshell,

主机后门webshell的排查思路

windows主机后门排查思路
针对主机后门windows,linux,在对方植入webshell后,需要立即响应,排查出后门位置,以及排查对外连接,端口使用情况等等

排查对外连接状态:
借助工具:pchunter 火绒剑 均可,不方便情况下cmd查看对外连接状态,进程状态,端口信息等
思路1:pchunter查看到异常的对外连接
定位该exe文件,上传微步沙箱显示异常
思路2:cmd窗口查看对外链接状态:
netstat -anpt cmd查看进程状态:tasklist
**思路3:pchunter查看进程,**大多数木马文件在没有做屏蔽等措施,在厂商归属,指纹信息会显示异常,或者无任何厂商归属信息,可以借助为参考
火绒剑查看网络情况:系统监控存在连接状态,

启动项后门的排查
启动项后门命令:
REG ADD “HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run” /V “backdoor” /t REG_SZ /F /D “C:\shell.exe”
这是一个用于在Windows注册表中添加启动项的命令。该命令将在当前用户的注册表路径下的"HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run"键中添加一个名为"backdoor"的值,其值数据为"C:\shell.exe"。
pchunter,火绒剑等均可查看启动信息
映像劫持,隐藏账户,均可借助工具查看,

linux的后门排查也可以netstat -anpt查看连接状态研判 ,发现异常连接kill进程

rootkit情况说明
linux被rootkit上线:无法查看到对外连接,在受害机执行命令可以做到隐藏进程,文件等
处置:Gscan上传受害机环境直接运行(包含检测rootkit,可以作为其他的Linux应急)(未检测出rootkit)
目前开源自动化工具均无法检测rootkit
目前内存马和rootkit对于蓝队无法百分百解决检测

不给你工具,怎么进行webshell排杀
要进行Webshell排查和清除,需要在服务器上执行以下步骤:

  1. 扫描服务器,寻找异常进程、文件和网络连接。可以使用诸如lsof、netstat、ps等命令来查找可疑
    的进程和网络连接。
  2. 检查服务器中是否存在任何未知文件或目录,特别是具有隐藏属性的文件和目录。可以使用find命
    令查找所有文件和目录,并检查其中是否存在可疑的文件和目录。
  3. 检查服务器上是否存在未知用户和组。可以使用cat /etc/passwd和cat /etc/group命令来查看系统
    中的用户和组,并检查其中是否存在可疑的用户和组。
  4. 检查服务器上的系统日志,包括/var/log/messages、/var/log/secure等文件,以查找异常事件。
  5. 如果发现可疑的Webshell文件,需要立即将其删除,并检查相关的网站和数据库是否被入侵。
  6. 更新服务器上的操作系统和应用程序,并安装最新的防病毒软件和安全补丁,以提高服务器的安全
    性。

响应状态码都有哪些?

不管是对于什么 WEB 漏洞攻击的研判,响应状态码都是研判成功与否的首要研判依据, 如果响应状态码为 404 基本可以研判攻击失败,也就无需再根据请求响应等进一步研判了。(当然,这并不是绝对的,也有例外的情况,攻击者在一些情况下也可以篡改响应状态码, 如 WebShell 的响应状态码。现在这种情况不多见,暂时可以先不考虑)

  • 404:404 状态码表示请求资源不存在,即表示攻击失败;
  • **200:**200 状态码表示请求成功,但是请求成功并不代表攻击成功,具体需要结合请求与 响应进行判断;如下图攻击中,攻击者尝试利用 Struts2 远程代码执行漏洞(S2-045)对目标 系统进行攻击,响应状态码为 200。该漏洞攻击载荷在 HTTP 请求头部的 Content-Type,分 析该攻击载荷,如果漏洞存在的话会在响应的头部添加 testvuln 字段,值为 1234x1234 即 1522756。分析响应的头部,并未发现存在 testvuln 字段,因此研判该漏洞攻击未成功。
  • 401:401 状态表示未授权状态。该状态码返回常见于 HTTP 的 Basic 认证。
  • 500:500 状态码表示服务器内部错误,通常漏洞攻击也会导致出现 500 错误,但是出现 500 错误并不表示攻击失败,需要根据实际情况研判。
  • 301:本状态码将浏览器【永久重定向】到另外一个在Location消息头中指定的URL。以后客户端应使用新URL替换原始URL。
  • 302:本状态码将浏览器【暂时重定向】到另外一个在Location消息头中指定的URL.客户端应在随后的请求中恢复使用原始URL.

webshell工具流量特征?

菜刀特征:

默认的webshell中链接密码都是caidao,ua头为百度爬虫、请求体中存在eavl,base64等特征字符
响应包中包含X@Y、php的webshel中流量参数z0、z1、z2

冰蝎和菜刀等webshell工具有什么区别?

答:冰蝎有流量动态加密

冰蝎4.0
HTTP 请求头
冰蝎的几个 HTTP 请求头通常是固定的
Content-Length
显然其数值相对常规的较大,可以作为辅助特征进行检测:Content-Length: 5824
长连接
冰蝎通讯默认使用长连接,避免了频繁的握手造成的资源开销。默认情况下,请求头和响应头里会带有 Connection: Keep-Alive,可将其作为辅助特征进行检测。
PHP webshell 中存在固定代码
可以将 eval($post) 作为流量特征纳入。

冰蝎3.0

默认内置 16 个 user-agent,content-type为application/octet-stream** 
请求包中content-length 为5740或5720(可能会根据Java版本而改变)
**每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache**

冰蝎2.0

建立连接后 所有请求 **Cookie的格式都为: Cookie: PHPSESSID=; path=/;**
静态分析:
各种语言的webshell中都会存在**16位数的连接密码**,默认变量为key

冰蝎3.11流量特征

1、header头顺序是颠倒的
2、发送包是base64,返回包是字节数组,所以会乱码
3、如果冰蝎密码不对,会出现两个连接,第一个是post 第二个是get
4. content-type为application/octet-stream ,请求包中content-length 为5740或5720(可能会根据Java版本而改变),每一个请求头中存在Pragma: no-cache,Cache-Control: no-cache
5.异常User-Agent---- 出现WOW64等
6. 频繁访问默认的路径/conn.jsp

蚁剑

PHP 类 WebShell流量最中明显的特征为 @ini_set ("display_errors","0");
同时会带有base64编码解码等字符特征, **每个请求体都存在@ini_set(“display_errors”, “0”);
@set_time_limit(0)开头**。并且存在base64等字符,响应包的结果返回格式为 随机数 结果 随机数

哥斯拉:

不修改User-Agent,User-Agent会类似于Java/1.8.0_121(具体什么版本取决于JDK环境版本)
在请求包的Cookie中有一个非常致命的特征,最后的分号
标准的HTTP请求中最后一个Cookie的值是不应该出现;的
**请求包的特征**
1. “pass=”起始
2. 请求包较长 响应包为0
3. 一个tcp包里面有三个http
**响应包特征**
整个响应包的结构体征为:md5前十六位+base64+md5后十六位

哥斯拉4.0.1中JAVA_AES_BASE64特征流量特征

host头
密码和base64字符串是密码=base64字符串的形式
发送包是密码=bae64字符串的形式,返回包是类base64字符串的格式
1. 对称加密算法:JAVA_AES_BASE64是哥斯拉4.0.1使用的对称加密算法;因此可以根据哥斯拉4.0.1的流量中是否包含JAVA_AES_BASE64来判断是否为哥斯拉4.0.1攻击流量
2. 长度固定:哥斯拉4.0.1使用JAVA_AES_BASE64算法对数据进行加密后,加密后数据的长度是固定的因此,可以根据攻击流量的长度是否固定来判断是否为哥斯拉4.0.1攻击流量
3. 常见数据前缀:哥斯拉4.0.1加密的数据在明文数据前会添加特定的前缀;因此,可以根据攻击流量中是否包含常见的数据前缀来判断是否为哥斯拉4.0.1攻击流量。

Cobalt Strike攻击流量?

1、http-beacon通信中,默认使用get方法向/dpixel、/__utm.gif、/pixel.gif等地址发起请求,同时请求头存在cookie字段并且值为base64编码
2、dns-beacon通信中,默认使用cdn.、www6.、api.、www.、post.为开头发起dns请求,并且查询结果伴随0.0.0.0、0.0.0.80、0.0.0.241等非常规IP
3、心跳包间隔一定时间,均有通信,且流级上的上下行数据长度固定
4、常见User-Agent:Cobalt Strike通常使用自定义的User-Agent字符串,例如Mozilla/5.0 (Windows NT 10.0; Win64; x64) Cobalt Strike
5、命令和控制流量:Cobalt Strike的HTTP请求中可能包含与C2服务器通信的命令和控制信息,这些信息在正常的Web请求中不会出现。

分析shiro反序列化漏洞是否攻击成功?

1. 在HTTP请求头Cookie里出现rememberMe字段以及可能出现自定义类型例如c: aWQ=,响应体中出现大量编码字符串,若需要判断是否攻击成功,需对请求数据和响应体内容进行解密判断
2. 检查请求头中的"rememberMe" cookie。攻击者可能会在此处插入恶意序列化数据
3. 观察服务器响应。如果服务器返回了异常错误信息,如Java反序列化异常,可能表明攻击成功分析应用程序日志:如果日志中出现了异常堆栈跟踪,可能表明攻击成功例如,攻击者发送了一个包含恶意序列化数据的请求,服务器响应了一个包含Java反序列化异常的错误信息这可能表明攻击成功。

分析struts2漏洞执行命令是否攻击成功?

1. 在请求头中存在OGNL表达式,一般在url中会出现的攻击特征主要是:.action?method | ?redirect:$ 在conten-type中出现的攻击特征主要有:%{#context 、在报文体中出现的攻击特征主要有:#_memberAccess 等
2. 判断请求中是否包含特定的 Struts2 关键字,如"method:"、"redirect:"等,这些关键字可能是用于执行命令的操作;
3. 检查请求中是否包含"Content-Type"头字段,并且值为"application/x-www-form-urlencoded",这是 Struts2 框架默认的 Content-Type 值,用于处理 POST 请求;
4. 检查请求参数中是否包含OGNL表达式,如"${}"、"%{}"等字符;
5. 检查请求是否包含一个名为"class"的参数,值为"java.lang.Runtime",这个参数可以用于执行系统命令

**struts2命令执行的流量特征

一般Struts2框架的接口会以.do、.action结尾;struts2一些常见的关键字:memberAcecess,getRuntime,println,双引号,单引号,等号,括号之类的符号。

如何分析文件上传告警是否攻击成功?

1、查看响应体响应结果判断服务器是否接受了该上传请求,上传成功通常状态码为200,查看响应体中是否响应了上传路径,访问该上传路径查看文件是否被解析是否存在
2、通过查看态势感知日志判断文件是否落地
3、登陆受害者主机全局搜索上传文件

文件上传的攻击特征是什么

文件上传首先是POST的数据包,且content-type为multipart/form-data,如果为恶意的文件上传漏洞攻击,则数据包中filename属性的后缀为jsp,php,asp等恶意后缀,且文件内容一般为Webshell内容

发生挖矿木马事件通过流量层面如何判断真实性?

1. 通信端口:挖矿木马可能会使用特定的端口进行通信。例如,Monero挖矿木马通常会使用TCP端口3333或5555进行通信
2. 通信流量:挖矿木马的通信流量可能会具有特定的特征,例如大量的高速数据传输和周期性的通信,在数据包中可以看到大量的计算资源使用信息和挖矿结果信息
3. 进程和文件系统:挖矿木马可能会创建特定的进程和文件来执行挖矿操作。例如,Monero挖矿木马通常会在操作系统上创建名为"xmrig"的进程,并在文件系统上创建名为"config.json"的配置文件
4. 系统资源:挖矿木马可能会占用系统资源,例如CPU和内存,并可能导致系统崩溃或变得缓慢。
5. 判断流量的数据:挖矿木马通常会在通信中发送一些特定的数据,例如挖矿难度、钱包地址、挖矿程序版本等如果流量中存在这些数据,就可能存在挖矿木马
6. 看数据包的详细信息,看终端或者服务器是否有与矿池交互的信息,判断是否存在登录到矿池(method“:”login“)、从矿池接收任务(”method“:”job“)字段,在载荷内容中是否存在ok、success等字段

分析Apache Log4j2 远程代码执行漏洞是否攻击成功?

1、dnslog类:查看是否存在源ip与dnslog的外联日志记录2、命令执行攻击2.1 有回显:响应体中存在命令执行结果2.2无回显 :存在源ip与ldap服务ip的外联日志记录

分析sql注入类型告警是否成功?

1.排除302、404、301、502,非200状态码
2.判断请求包内相关的sql语句是否为恶意的SQL语句
3.判断响应体内是否包含数据库敏感信息,或者系统信息。

如果看到一条sql注入告警,怎么判断是否是攻击成功?

对请求包的内容进行检查,检查是否存在sql注入的利用语句,同时检查响应包内容有执行成功的回显,若相应包中存在sql注入攻击成功的回显,则可判断攻击成功。

SQL注入攻击通常具有以下特征:

基于输入参数的攻击:SQL注入攻击是基于Web应用程序的输入参数进行的。攻击者通常通过修改输入参数中的某些值来注入恶意SQL语句。
错误提示信息:SQL注入攻击可能会导致Web应用程序返回错误提示信息。攻击者可以根据这些错误提示信息,获得Web应用程序的数据库结构和其他敏感信息。
时间延迟:攻击者可能会在恶意SQL语句中添加时间延迟语句,以便测试数据库的响应时间,从而获取敏感信息。
数据库操作:SQL注入攻击可以让攻击者执行未经授权的数据库操作,例如删除、修改、添加数据等。
为了判断SQL注入攻击是否成功,可以注意以下几点:
检查Web应用程序的日志和错误提示信息,是否包含异常的SQL语句和错误信息。
检查数据库的日志,是否存在异常的数据库操作记录。
检查Web应用程序的用户数据和操作结果,是否存在异常情况,例如修改、删除、添加了未经授权的数据。
进行代码审计,检查Web应用程序的代码是否存在漏洞,例如没有对输入参数进行充分的过滤和验证。

原理(口头语言):用户的输入嵌入到SQL语句中,然后被当做代码执行
成因:未对用户输入的数据做验证或者处理(预编译)
可有看设备报警,SQL注入的报警,能看到攻击时间,攻击ip,payload,如何判断是误报还是真是攻击,如果是真实攻击,怎么判断他攻击是否成功,如果成功怎么处理
先看ip,如果ip是公司内部的再看内部人员有没有相关操作,如果不是公司人员业务的操作那就是攻击了,
然后分析payload,分析它写的payload安全设备能否它进行过滤拦截,如果它确实能绕过,那就应该攻击成功了,
成功的话赶紧上报,做应急响应,做出相应处理,添加过滤规则,修改数据库中能修改的数据比如管理员账号密码啥的

分析JBOSS 反序列化是否攻击成功?

1.在访问JBOSS漏洞页面/invoker/readonly后,返回值为500
2.请求体有llections.map.LazyMap、keyvalue.TiedMapEntry攻击链特征并且有明显的命令执行行为比如whoami
3.在返回500 堆栈报错页面内容中包含了系统返回内容 比如系统用户:root

分析Fastjson反序列化是否攻击成功?

1.请求头:method: POST content_type: application/json
2.请求体:data:com.sun.rowset.JdbcRowSetImpl,dataSourceName,@type
3.请求体: 包含攻击者C2服务器地址
4.状态码为:400  也可能是500
5.通过态势感知平台进行回溯分析,在分析中心输入语法:(sip:(失陷服务器IP) OR sip:(攻击者C2IP)) AND (dip:(失陷服务器IP) OR dip:(攻击者C2IP))

分析log4j是否攻击成功?

以下是Log4j漏洞的一些特征:
攻击者使用恶意请求中的特定参数名称和值来触发Log4j漏洞。这些参数包括JNDI名称和恶意JNDI URL。
攻击者通常会使用反向Shell或远程访问工具来执行任意命令或控制受感染的系统。
攻击者的攻击可能被记录在受感染应用程序的日志中。这些日志通常会显示异常或错误信息,或者包含关于漏洞攻击的详细信息。
受感染的应用程序通常会发起大量的网络请求,尝试将攻击者的命令或代码发送到攻击者的服务器。
要判断Log4j漏洞攻击是否成功,可以采取以下措施:
监视受感染应用程序的日志,查看是否有异常或错误信息,或者是否包含与攻击相关的信息。
监视网络流量,查看是否有大量的请求被发送到攻击者的服务器。
检查系统中的异常或警告信息,例如系统崩溃、不正常的CPU使用率或内存使用率等。
在受感染的系统中进行代码审查,查看是否有与攻击相关的代码或配置文件。
如果发现应用程序受到了Log4j漏洞攻击,应立即采取措施来解决漏洞,并且必须对系统进行全面检查,以确保没有其他漏洞或后门存在。同时,建议采取安全措施,例如升级Log4j版本、禁用JNDI功能、限制应用程序的输入等,以防止类似漏洞的再次出现。

Linux 的 Selinux

SELinux(Security-Enhanced Linux)是一个针对 Linux 内核的安全模块,它可以限制进程和用户的访问权限,并提供更加细粒度的访问控制。SELinux 基于强制访问控制(MAC)模型,将每个进程/对象分配到不同的安全上下文中,并通过策略文件来定义这些上下文之间的关系。

在 Linux 中,SELinux 可以通过以下步骤进行设置:

  1. 检查 SELinux 状态:使用命令 getenforce 或者 sestatus 来检查当前 SELinux 的状态,例如 enforcing、permissive 或者 disabled 等。
  2. 修改 SELinux 配置文件 /etc/selinux/config:可以修改 SELINUX 参数的值为 enforcing(强制模
    式)、permissive(宽容模式)或者disabled(禁用 SELinux)等。
  3. 安装和管理 SELinux 策略包:使用 yum 命令安装和管理 SELinux 相关的策略包,例如
    policycoreutils 和 selinux-policy 等。
  4. 设定 SELinux 上下文:使用 chcon、semanage 和 restorecon 等命令来更改文件或目录的安全上
    下文。
  5. 确认 SELinux 日志:在排除 SELinux 相关问题时可以使用命令 ausearch、ausearch、auditctl 等
    来确认 SELinux 日志。
    需要注意的是,在对 SELinux 进行设置和管理时,需要有一定的 Linux 系统管理经验和 SELinux 相关知
    识。因为错误的配置可能会导致系统不稳定或者无法启动,所以在操作前应仔细阅读相关文档并进行备
    份。

安全基线规范检查

Linux 基线规范
Linux 基线规范是指为了保证 Linux 系统安全性和可靠性,制定的一系列最佳实践和标准化要求。Linux
基线规范通常包括以下几个方面:

  1. 安全加固:禁用不必要的服务、配置防火墙、强化密码策略等。
  2. 用户和权限管理:创建普通用户账号、限制 root 账号访问、使用 sudo 进行授权等。
  3. 日志管理:启用系统日志、日志文件备份和归档、监控日志信息等。
  4. 文件系统和目录结构规范:对重要数据进行加密、使用 ext4 文件系统、分区管理等。
  5. 网络安全:检查网络连接状态、限制入站和出站流量、使用 SELinux 或 AppArmor 等。
  6. 软件更新与安全漏洞修复:定期更新操作系统和软件补丁、及时处理已知漏洞等。
  7. 数据备份与恢复:定期备份和恢复系统数据和设置等

需要注意的是,不同的公司或组织可能会有不同的基线规范要求。在实践中,我们可以根据自己的需求
和安全风险评估情况,设计并实施相应的基线规范,并定期进行评估和调整。这样可以帮助我们规范化
Linux 系统的管理和维护,并提高系统的可靠性和安全性。

Windows 安全基线检查
Windows 安全基线检查是指通过对 Windows 操作系统进行安全配置和最佳实践检查,来评估系统的安
全性和完整性。Windows 安全基线包括以下几个方面:

  1. 用户和权限管理:创建普通用户账号、限制管理员账号访问、使用 UAC 进行授权等。
  2. 密码策略:设置强密码策略,并启用多因素身份验证。
  3. 网络安全:配置防火墙、禁用不必要的服务、加密敏感数据传输等。
  4. 软件更新与安全漏洞修复:定期更新操作系统和软件补丁、及时处理已知漏洞等。
  5. 日志管理:启用系统日志、监控日志信息、建立日志归档等。
  6. 文件和目录权限:配置文件系统和目录结构规范、限制文件和目录访问权限等。
  7. 数据备份与恢复:定期备份和恢复系统数据和设置等

为了进行 Windows 安全基线检查,可以使用 Microsoft Security Compliance Toolkit 工具,该工具包
含安全基线和最佳实践检查工具,并提供安全配置模板和分析报告。此外,还可以使用第三方商业化工
具,例如 SolarWinds、McAfee 等,来帮助进行 Windows 安全基线检查。


中间件基线规范(APACHE)

Apache 是一款常用的 Web 服务器软件,为了保障其安全可靠地运行,可以制定中间件基线规范。以下
是 Apache 中间件基线规范的一些重要措施:

  1. 版本号管理:定期检查并更新 Apache 版本,及时安装最新版本的补丁与安全更新。
  2. 配置文件规范:对 Apache 的配置文件进行规范化和审计,限制网站访问权限、禁止目录浏览等。
  3. 日志管理:启用 Apache 访问日志和错误日志,定期清理日志文件并做好备份、归档等工作。
  4. 安全加固:如禁用不必要的模块、关闭 TRACE 请求响应、限制 HTTP 方法等。
  5. SSL/TLS 加强:设置 TLS 选项、开启 HSTS、使用证书身份验证等。
  6. 防火墙和反向代理策略:通过防火墙等技术来过滤恶意流量,使用反向代理策略限制直接连接到
    Web 服务器的 IP 地址。
  7. 应用安全:对 Web 应用程序进行安全审计,确保程序的漏洞被修复、未受到攻击等。
    需要注意的是,以上这些措施只是 Apache 中间件基线规范的一部分,实际操作中还需要根据具体情况
    进行评估和调整。同时,要保障 Apache 服务器的安全性和可靠性,还需要定期备份数据、优化性能等
    工作

中间件常见漏洞

中间件:指位于操作系统和应用程序之间的软件组件,它有助于应用程序和不同操作系统之间的通信和互操作性。

IIS
概念:IIS是一种服务,是Windows 2000 Server系列的一个组件。不同于一般的应用程序,它就像驱动程序一样是操作系统的一部分,具有在系统启动时被同时启动的服务功能。(IIS就相当于把你的机器变成一个服务器用来浏览网页。)
1、目录解析漏洞
在IIS.x/6.0中,默认会将**.asp(.asa,.cer,.cdx)目录下的所有文件当成Asp解析。
2、文件名解析漏洞
在IIS5.x/6.0,默认会将**.asp;(
.asp;.jpg,*.cer;.jpg)这中格式的文件名,当成Asp解析,因为服务器默认不解析;号及其后面的内容,相当于截断。
3.短文件名猜解漏洞
IIS的短文件名机制,可以暴力猜解短文件名,访问构造的某个存在的短文件名,会返回404,访问构造的某个不存在的短文件名,返回400。

nginx
概念:Nginx是一个http服务器,是一个使用c语言开发的高性能的http服务器及反向代理服务器。
1.解析漏洞:
影响版本为:Nginx 0.8.41 ~ 1.4.3 / 1.5.0 ~ 1.5.7
原理:主要原因是错误地解析了请求的URI,
错误地获取到用户请求的文件名,导致出现权限绕过、代码执行的连带影响。
2.%00截断解析
影响版本:0.5,0.6 ,0.7<=0.7.65,0.8<=0.8.37
原理:php-fastcgi在执行php文件时,url在处理%00空字节与fastcgi处理不一致,使得我们在其他文件插入php代码,访问url+%00.php即可执行其中php代码

apache
概念:Apache HTTP Server(简称Apache)是Apache软件基金会的一个开放源码的网页服务器,可以在大多数计算机操作系统中运行,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。它快速、可靠并且可通过简单的API扩展,将Perl/Python等解释器编译到服务器中。
1.换行解析漏洞(CVE-2017-15715)
原理:它可以通过mod_php来运行PHP网页。其2.4.0~2.4.29版本中存在一个解析漏洞,在解析PHP时,1.php\x0A将被按照PHP后缀进行解析,导致绕过一些服务器的安全策略。
2.路径穿越漏洞(CVE-2021-41773)
利用条件:
版本等于2.4.49
穿越的目录允许被访问(默认情况下是不允许的)
原理:攻击者利用这个漏洞,可以读取位于Apache服务器Web目录以外的其他文件,或者读取Web目录中的脚本文件源码,或者在开启了cgi或cgid的服务器上执行任意命令。

tomcat

概念:Tomcat是一个应用服务器。他可以运行你按照J2EE中的Servlet规范编写好的Java程序。
日志路径:包括catalina.out和其他访问日志,通常位于Tomcat安装目录下的logs目录中
1.后台弱口令漏洞
进入网站后点击登录然后使用burp进行爆破测试, 可以发现账户密码是利用Authorization该授权字段以base64方式传递账户信息的 发现加密方式后,拿去解密后发现他的数据传输是将账户与密码用冒号进行组合之后在用base64加密所传递的。构造字段进行爆破 使用burp抓包后发送到 Intrude 模块进行暴力破解。
2.文件包含漏洞
影响版本:
Apache Tomcat 6Apache Tomcat 7 < 7.0.100Apache Tomcat 8 < 8.5.51Apache Tomcat 9 < 9.0.31
原理:Tomcat AJP协议存在缺陷而导致,攻击者利用该漏洞可通过构造特定参数,读取服务器webapp下的任意文件,如:webapp配置文件或源代码等。若目标服务器同时存在文件上传功能,攻击者可进一步实现远程代码执行。
3.文件上传漏洞
漏洞影响全部的 Tomcat 版本:Apache Tomcat 7.0.0 - 7.0.79 (windows环境)
原理:在一定条件下,攻击者可以利用这个漏洞,获取用户服务器上 JSP 文件的源代码,或是通过精心构造的攻击请求,向用户服务器上传恶意JSP文件,通过上传的 JSP 文件 ,可在用户服务器上执行任意代码,从而导致数据泄露或获取服务器权限,存在高安全风险

weblogic

概念:是一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器。将Java的动态功能和Java Enterprise标准的安全性引入大型网络应用的开发、集成、部署和管理之中。
通俗的讲weblogic是一种web容器。
1. 任意文件上传(CVE-2018-2894)
影响到的版本:weblogic 10.3.6、12.1.3、12.2.4、12.2.1.3
Weblogic 开启了 Web Service Test Page(web服务测试页面),这个配置默认在生产模式下是不开启的,由于管理员没注意开启了这个页面就可能造成任意文件上传。
2.管理控制台未授权远程命令执行漏洞(CVE-2020-14882,CVE-2020-14883)
影响版本:Oracle:Weblogic 10.3.6.0.0, 12.1.3.0.0, 12.2.1.3.0, 12.2.1.4.0, 14.1.1.0.0
cve-2020-14882(代码执行漏洞) ,在打完补丁后又出现了补丁被绕过的漏洞 cve-2020-14883(权限绕过漏洞),远程攻击者可以配合这两个漏洞构造特殊的HTTP请求,在未经身份认证的情况下接管 Weblogic Server Console,在控制台中执行任意代码。
CVE-2020-14882允许远程用户绕过管理员控制台组件中的身份验证,CVE-2020-14883允许经过身份验证的用户在管理员控制台组件上执行任何命令。利用这两个漏洞的链,未经身份验证的远程攻击者可以通过HTTP在Oracle WebLogic服务器上执行任意命令,并完全控制主机。
3.SSRF漏洞(CVE-2014-4210)
Weblogic中存在一个SSRF漏洞,利用该漏洞可以发送任意HTTP请求,进而攻击内网中redis、fastcgi等脆弱组件。

Docker
概念:一个运行与linux和windows上的软件,用于创建、管理和编排容器;docker平台就是一个软件集装箱化平台,是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,也可以实现虚拟化,并且容器之间不会有任何接口。
1.Docker-RunC漏洞致容器逃逸(CVE-2019-5736)
利用条件:Docker Version < 18.09.2
RunC Version <1.0-rc6
攻击者具有容器文件上传权限 & 管理员使用exec访问容器 || 攻击者具有启动容器权限
漏洞原理:攻击者可以将容器中的目标文件替换成指向runC的自己的文件来欺骗runC执行自己。比如目标文件是/bin/bash,将它替换成指定解释器路径为#!/proc/self/exe的可执行脚本,在容器中执行/bin/bash时将执行/proc/self/exe,它指向host上的runC文件。然后攻击者可以继续写入/proc/self/exe试图覆盖host上的runC文件。但是一般来说不会成功,因为内核不允许在执行runC时覆盖它。为了解决这个问题,攻击者可以使用O_PATH标志打开/proc/self/exe的文件描述符,然后通过/proc/self/fd/使用O_WRONLY标志重新打开文件,并尝试在一个循环中从一个单独的进程写入该文件。当runC退出时覆盖会成功,在此之后,runC可以用来攻击其它容器或host。
2.Docker-cp漏洞致容器逃逸(CVE-CVE-2019-14271)
利用条件:Docker Version == 19.03 && <19.03.1
原理:Docker采用Golang编写,更具体一些,存在漏洞的Docker版本采用Go v1.11编译。在这个版本中,包含嵌入式C代码(cgo)的某些package会在运行时动态加载共享库。这些package包括net及os/user,docker-tar都用到了这两个package,会在运行时动态加载一些libnss_*.so库。正常情况下,程序库会从宿主机的文件系统中加载,然而由于docker-tar会chroot到容器中,因此会从容器的文件系统中加载这些库。这意味着docker-tar会加载并执行受容器控制的代码。
3.Docker-Containerd漏洞致容器逃逸(CVE-2020-15257)
利用条件:
containerd < 1.4.3
containerd < 1.3.9
使用hostnetwork网络模式启动容器 && 使用root用户(UID:0)启动容器
漏洞原理:使用hostnetwork网络模式中,容器和主机共享网络命名空间,因此在容器内可以访问host特定的socket文件(shim.sock)。可通过启动一个新的容器,该容器挂在host目录到容器的/host目录,即可实现对host完全的读写。


DDOS CC等攻击应急思路以及如何防范

DDoS(分布式拒绝服务攻击)和 CC(HTTP)攻击是目前比较普遍的网络攻击方式之一。以下是应急响
应思路以及如何防范这些攻击的建议:

  1. 应急响应思路
    在受到DDoS和CC攻击时,应采取以下措施来降低攻击对系统的影响:
    快速检测并确认攻击类型和攻击源;
    提高带宽和资源利用率,以提供更强的承载能力;
    实施流量清洗、流量限制和IP封堵等措施,清除恶意攻击流量;
    配合 ISP 进行攻击源 IP 的追踪和协助;
    在攻击持续期间,保持实时监控和跟进,随时更新应急响应策略。
  2. 如何防范
    为了预防DDoS和CC攻击,可以采取以下方法:
    增加网络带宽,并提高硬件设备的承载能力,以抵御较小规模的攻击;

实现DDoS和CC攻击的检测和防御机制,如基于流量和行为的检测技术和防御技术;
确保服务器和网站软件及时更新,以弥补已知漏洞;
实施流量清洗、流量限制和IP封堵等措施;
配置合理的防火墙规则和入侵检测系统(IDS)等安全设备;
加强网络安全教育,提高用户密码安全性,并定期对敏感数据进行备份和加密。
总之,在防范DDoS和CC攻击方面,需要综合考虑多种因素,包括增加带宽、提高硬件承载能力、实现
攻击检测和防御机制、确保服务器和网站软件及时更新、加强网络安全教育等。同时,应该建立完善的
应急响应机制和紧急处理预案,以做好应急响应准备和快速响应。


挖矿病毒判断以及处理方式

挖矿病毒是指利用受感染的计算机进行加密货币挖矿的恶意软件。以下是判断和处理挖矿病毒的一些方
法:

  1. 判断挖矿病毒
    通过以下迹象可以判断计算机是否被感染了挖矿病毒:
    计算机运行速度变慢,CPU占用率高;
    电脑风扇声音变大,温度升高;
    安全软件报告未知病毒或恶意软件;
    系统出现闪退或死机等异常情况。
  2. 处理方式
    如果怀疑计算机已经被感染了挖矿病毒,可以采取以下措施:
    及时更新杀毒软件,并开启实时保护模式;
    扫描整个系统,清除所有恶意文件和注册表项;
    禁止不明程序自启动,及时关闭被感染的进程;
    在安装软件时仔细阅读许可协议,禁止安装未知来源的软件;
    加强账户权限管理,限制非管理员用户对系统的操作权限;
    及时备份重要文件,以便在恶意软件攻击后恢复数据。
    总之,在处理挖矿病毒方面,需要及时发现和清除感染,并加强系统的安全防护措施,如升级杀毒软
    件、限制非管理员用户权限、备份重要文件等。同时,也需要加强网络安全教育,提高用户对于计算机
    安全的意识和防范能力

威胁情报库

  1. 微步在线(ThreatBook):微步在线是国内领先的网络安全威胁情报服务提供商,其威胁情报库
    包括恶意软件、攻击源IP、域名等方面的信息。
  2. 国家互联网应急中心(CNCERT):CNCERT 是中国政府统一组织和协调全国互联网安全工作的部
    门,其威胁情报库包括漏洞、恶意代码、攻击事件等方面的信息。
  3. 安恒威胁情报中心(ATIS): ATIS 是安恒信息安全研究院旗下的威胁情报中心,其威胁情报库涵
    盖了APT攻击、Web攻击、恶意邮件、移动恶意软件等方面的信息。
  4. 漏洞盒子(KnownSec):漏洞盒子是一家致力于网络安全防御和攻防技术研究的公司,其威胁情
    报库包括漏洞、恶意代码等方面的信息。
  5. 360威胁情报中心(360 TI Center):360 威胁情报中心聚焦于威胁情报、安全事件响应和恶意代
    码研究等领域,其威胁情报库包括APT攻击、恶意URL等方面的信息。
    需要注意的是,以上威胁情报库只是其中一部分,实际应用中还有很多其他的威胁情报库。在使用威胁
    情报库时,需要根据具体需求进行评估和选择,并确保数据来源可靠、及时和准确。

怎么发现有没有被攻击?

发现自己是否被攻击是网络安全管理中非常重要的一环。以下是几种常见的发现被攻击的方法:

  1. 安全日志监控:对系统和应用程序的安全日志进行监控,可以及时发现异常活动和安全事件。例
    如,登录失败、异常访问、恶意软件入侵等。
  2. 网络流量分析:通过对网络流量进行监控和分析,可以发现可能存在的攻击行为。例如,大量来自
    某个 IP 地址或特定端口的流量、恶意脚本和代码注入等。
  3. 主机基线监测:通过对应用程序、操作系统和数据文件等资源进行基线监测,可以及时发现可能存
    在的异常变化和不正常的活动。
  4. 脆弱性扫描:通过使用脆弱性扫描工具,可以发现系统中可能存在的漏洞,并提供修补建议。
  5. 威胁情报监测:通过使用威胁情报库和服务,可以了解到当前存在的威胁活动,及时采取防御措
    施。
  6. 安全演练:通过进行安全演练,可以模拟真实的攻击场景,评估自身的安全状态,及时发现和修复
    存在的问题。

需要注意的是,以上方法只是其中一部分,实际应用中还有很多其他的发现被攻击的方法。在进行网络
安全管理时,需要综合使用多种方法,并不断更新和完善自身的防御措施,以提高安全水平和减少被攻
击的风险

同源策略是什么

同源策略(Same Origin Policy)是一种Web安全策略,它是浏览器中的一项重要特性,用于限制从一
个源加载的文档或脚本如何与来自另一个源的资源进行交互。同源指的是三个关键元素:协议、主机和
端口号,只有这三者完全相同的两个URL才被认为是同源的。
同源策略可以防止恶意网站访问其他网站的敏感数据,例如Cookie、LocalStorage和请求响应等信息,
从而保护用户的隐私和安全。
例如,假设您正在访问一个银行的网站,该银行使用Cookie来存储您的登录凭据。如果攻击者能够在他
们的网站上注入一些JavaScript代码并通过某种方式将其转移到您正在访问的银行网站上,那么该攻击者
就可以访问您的Cookie,以便窃取您的个人信息。然而,由于同源策略的存在,攻击者无法访问您正在
访问的银行网站的Cookie,因为它们不属于同一个源。
尽管同源策略对Web安全至关重要,但在某些情况下,它可能会成为开发过程中的挑战。为了解决这些
问题,Web开发人员可以使用一些技术和标记,如跨域资源共享(CORS)和JSONP等来解决这些限
制。


  • 18
    点赞
  • 49
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

是liku不是里库

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值