应急响应基础入门混子篇
# 应急响应基础入门混子篇
1、W
indows应急响应
1.显示隐藏文件/扩展名
先进入组织,然后打开文件夹选项,把隐藏文件显示
先进入组织,然后打开文件夹选项,把隐
藏文件显示
win7w
win10
2.检测启动项:是否有可以的开机启动项
1、到对应目录查看
C:\Users\x\AppData\Roaming\Microsoft\Windows\Start 菜单\程序\启动
2、搜索启动
3、命令行查看
msconfig
wmic startup list full
4.检测注册表regedit
1.当前系统的启动项:程序安装是的设定
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
一般不是C盘的启动项其他都是开机多余的,右键就可以看到删除字样
2.当前电脑开机启动项:用户自定义的
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
出题C盘启动项建议不要更改,一般是输入法或者网卡信息
5、检查正在运行的服务
6、组策略:计算机配置-脚本(启动 关闭)
gpedit.msc
C:\Windows\System32\GroupPolicy\Machine\Scripts
3.查看历史痕迹
1.查看最近打开文件
C:\users\用户名\Recent
2.win+r
输入recent
C:\Users\用户名\AppData\Roaming\Microsoft\Windows\Recent
4.文件历史记录:
控制面板\系统和安全\文件历史记录 (要事先启用才记录)
2.查看零时异常文件
C:\Users\用户名\AppData\Local\Temp
2.win+r
输入%temp%
,查看那些比较打一点的文件(exe/dll/sys)之类的文件,并且上传恶意分析平台
3.浏览器历史记录
攻击者拿下服务器后,会访问内网(更多是用来下载恶意文件)
通过时间进行筛选
1.查看历史记录工具:browserhistory
2.查看cookie信息:iecookies view
4.文件时间
:关注修改时间早于创建时间 -- 正常修改时间必定晚于创建时间
5.操作历史记录
win+r:cmd doskey/HISTORY
6.应用程序运行历史
C:\Windows\Prefetch
7.安装包
控制面板\程序\程序和功能
4.可疑进程分析
1.查看分析可以建立连接的IP和端口
工具:Tcpview
1.netstat -ano | find "ESTABLISHED" 已经建立连接
2.netstat -ano | find "LISTENING" 已经建立连接
3.netstat -ano
2.定位可以连接的程序名字
1.根据ID定位
tasklist /svc | find "PID号"
tasklist | findstr "PID"
3.定位可疑程序路径
1.命令wmic process|findstr "xxx.exe"
2.图像
2.1 任务管理器 -- 进程 -- 进程右键 -打开文件所在位置
2.2 找到想要定位的程序就可以
4.杀死可疑程序
1.taskkill /PID号
2.PID号 /T
3.killall<进程名>
4.taskkill /im进程名 /f
解释:im立即 f 强制
5.wmic查询进程
5.1 查询所有进程 wmic process list brief
5.2 查询进程名和ID wmic process get name,processid,executablepath
5.3 根据ID查进程名和路径 wmic process where processed=”进程ID” get name, executablepath
5.异常任务排查
1.命令查看
1.1at
旧版本机器,新机器舍弃用schtasks.exe了
1.2 schtasks.exe
1.2.1参数
参数列表:
/Create 创建新计划任务。
/Delete 删除计划任务。
/Query 显示所有计划任务。
/Change 更改计划任务属性。
/Run 按需运行计划任务。
/End 中止当前正在运行的计划任务。
/ShowSid 显示与计划的任务名称相应的安全标识符。
/? 显示此帮助消息。
/TN 计划任务名称
/SC 执行周期MINUTE: 1 到 1439 分钟。HOURLY: 1 - 23 小时。DAILY: 1 到 365 天。WEEKLY: 1 到 52 周。
/ST 指定运行任务的开始时间
/TR 指定运行程序的路径
1.2.2 创建计划任务
Schtasks /Create /TN 计划任务的名字 /SC HOURLY /ST 时间 /TR 指定程序
1.2.3 删除计划任务
Schtasks /Delete /TN 计划任务名字
1.2.4 默认也是展示所有的计划任务
schtasks /query
1.3
taskschd.msc
1.4
PE进入拷贝出来用notepad++查看 C:\Windows\System32\Tasks
改目录下一个文件对应一个任务
2.图形化查看
查看正在运行的计划任务:具体详细信息
程序放 威胁平台分析,改删就删(样本备份)
6.检测异常服务
1.命令
services.msc
7.账号安全排查:主要是隐藏账号
1.注意
win+r
,输入net user
,无法查看隐藏账号
2.检查注册表
是否有可疑新增用户
HKEY_LOCAL_MACHINE\SAM\SAM\ Domains\Account\Users\Names
1.命令检查
lusrngr.msc
2.弱口令确定
3.图形化检查
4.D盾检查
5.是否被远程登录过
query user; 可以看到会话名字段包含rdp字符
8.恶意程序的发现与停止
高级病毒具备再生性质和多个守护进程
推荐使用工具分析
1.查看父子进程关系以及命令行参数
对可以的DLL和进程放入威胁情报分析平台进行分析
1.process explorer
检查项:数字签名,父子进程关系,进程的运行参数,进程加载的dll是否有签名,是否是可以的DLL(DLL劫持白加黑)
(1)没有签名验证信息的进程
(2)没有描述信息的进程
(3)路径不合法的进程
(4)CPU或者内存长时间过高占用的进程
(5)存在异常网络连接的进程
(6)属主异常的进程
2.可疑进程分析
1.Xutr
2.psexplore
3.火绒剑:对怀疑的进程检查其线程,主要看是否存在没有模块,没有版本,没有描述的线程在运行的情况
3.查看加载了DLL文件的进程
1.查看所有加载了dll tasklist /m
2.查看加载了指定的dll进程 tasklist /m 文件名.dll
4.获取木马进程
1.修改hosts,讲本机IP绑定攻击者的回连地址
8.查看和更新补丁
1.查看系统信息
systeminfo
2.更新补丁
控制面板\程序和功能\已安装更新
9.自身防护检查
1.防火墙检查
1.路径:设置-->更新和安全-->Windows安全中心-->防火墙和网络保护-->高级设置
2.检查:入站和出站规则,是否有异常
9.后面查杀
1.工具
1、D盾 http://www.d99net.net/index.asp
2、河马 http://www.shellpub.com
3、深信服 http://edr.sangfor.com.cn/backdoor_detection.html
4、Safe3 http://www.uusec.com/webshell.zip
10.日志分析:eventvwr.msc
1.安全日志
1.安全日志类型
Logon/Special Logon登录/特殊登录
User Account Management用户帐户管理
Security Group Management安全组管理
Security State Change安全状态改变 Authentication Policy Change身份验证策略更改 Audit Policy Change审核策略更改
tegrity系统完整性
icy Change Events其他政策变更事件
tem Events其他系统事件
2.检查项
2.注意登录成功的记录: 4624
3.注意登录失败的记录:4625/529
2.系统日志
3.日志路径
Windows 2000/2003/XP日志路径: C:/Windows/System32/Config/*.evt
WindowsVista/7/10/2008日志路径: C:/Windows/System32/winevt/Logs/*.evtx
该路径下存放所有系统日志evt文件, 无法进入系统时用PE引导拷贝出来, 在用其他系统的事件查看器打开查看
11.高危端口确定
用扫描工具扫
1.namp
2.goby
3.msscan
12.内存检测工具 1.Volatility:取证工具
https://www.cnblogs.com/zaqzzz/p/10350989.html
https://blog.csdn.net/qq_45951598/article/details/110914935
https://www.cnblogs.com/sesefadou/p/11804566.html
1.取证工具
1.FTK成像仪
https://accessdata.com/product-download/ftk-imager-version-4-5
2.Redline
https://www.fireeye.com/services/freeware/redline-download-confirmation.html
3.win32dd.exe / wind64dd.exe
2.内存文件类型
-
最常见的:
.raw
-
操作系统内存文件
-
1.inux
-
2.window -- window休眠、系统错误关闭内存文件
hiberfil.sys
-
3.虚拟机内存文件
VMware
--.vmen
Hyper-V
--.bin
Rrallels
--.mem
VirtualBox
--.sab
3.具体使用
- 查询对应内存文件的配置信息profile
-
.获取window的内存信息
-
命令
volatility -f 内存文件名 imageinfo
通文件的提示:有2个可能而大概率是WinXPAP2x86
-
命令
-
volatility -f 内存文件名 kdbgscan
-
这个工具可以扫到多个结果,但是只有一个是正确的,所以需要手工验证
-
-
-
查看取证工具volatility安装了那些插件
-
命令
volatility -f 内存文件名 --profile=对应得配置文件 pstree
- 进程树:pstree
- 作用:可以显示出被隐藏得病毒
-
-
查看程序-有意-隐藏得进程
-
命令
-
`
volatility -f 内存文件名 --profile=对应得配置文件 pseview
特征:只有一个false
-
解释:恶意软件试图隐藏自己与之相关得进程。
-
-
-
查找被注入的进程
-
命令
-
volatility -f 内存文件名 --profile=对应的配置文件 ldrmodules
这个程序最可以,因为三个都是false
-
解释:这里中介会出现三列,
InLoad
,InInit
,InMem
,其中热河一个都是错误的,着该模板就可能已经被注入了(注意:系统进程除外)
-
-
-
根据PID导出生成可执行程序
-
命令
volatility -f 内存文件名 --profile=对应的配置文件 procdump --pid=PID号 -D 保存的文件夹路径
然后再丢到微信平台去分析
-
-
查看具体的恶意进程
-
命令
-
`volatility -f 内存文件名 --profile=对应的配置文件 pstree|egrep '(a.exe|b.exe|c.exe)'
-
解释:以树的形式来列出正在进行的程序
-
-
4.查看用户名账号密码信息
-
命令
-
volatility -f 内存文件名 --profile=对应的配置文件 hashdump
-
导出哈希 用户密码等信息:hashdump
-
5.获取恶意软件/后门/木马 执行的代码
volatility -f 内存文件名 --profile=对应的配置文件 apihooks
5
6.检查恶意链接
-
查看建立链接的列表:仅适用于windows XP和2003 --命令--
volatility -f 内存文件名 --profile=对应的配置文件 connections
-
查看sockets链接的列表
volatility -f 内存文件名 --profile=对应的配置文件 sockets
7.检测DLL部分
-
找到注入的可执行代码或者DLL
- 命令
volatility -f 内存文件名 --profile=对应的配置文件 malfind
-
命令
-
解释:将找到的注入代码/DLL 保存到我们指定的目录,便于分析
-
volatility -f 内存文件名 --profile=对应的配置文件 malfind -D 路径
-
2.列出内存中的所有DLL
-
命令
volatility -f 内存文件名 --profile=对应的配置文件 dlllist
解释:以程序为单位,展示该程序调用的所有DLL共享系统库
-
命令
volatility -f 内存文件名 --profile=对应的文件名 dlllist -p PID号
解释:查看指定的端口的程序调用的DLL
-
命令
-
解释:显示所有DLL信息(包括隐藏DLL)
-
volatility -f 内存文件名 --profile=对应的配置文件 ldrmodules -v
显示所有程序的DLL
-
显示指定PID程序的DLL
volatility -f 内存文件名 --profile=对应的配置文件 ldrmodules -p PID号 -v
-
8.打印程序正在使用的程序列表
-
命令
volatility -f 内存文件名 --profile=对应的配置文件 modules
-
命令
-
导出程序
-
volatility -f 内存文件名 --profile=对应的配置文件 moddump -D 指定目录 --base
-
9.查看开启的window服务
-
命令
volatility -f 内存文件名 --profile=对应的配置文件 svcscan
10.查看注册表项
-
命令
volatility -f 内存文件名 --profile=对应的配置文件 printkey
11.查看缓存内存中的注册表
-
命令
volatility -f 内存文件名 --profile=对应的配置文件 hivelist
列举缓存在内存中的注册表:hivelist
-
volatility -f 内存文件名 --profile=对应的配置文件 hivedump -o 0x93fc41e8(注册表的virtual地址)
12.查看注册表SAM列表中的用户
volatility -f 内存文件名 --profile=对应的配置文件 printkey -K "SAM\Domains\Account\User\Names"
13.查看注册表最后登录的用户
volatility -f 内存文件名 --profile=对应的配置文件 printkey -K "SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon"
14.查看浏览器历史
volatility -f 内存文件名 --profile=对应的配置文件 iehistory
15.查看各种文件在内存中创建的时间
volatility -f 内存文件名 --profile=对应的配置文件 timeliner
16.查看cmd的操作
-
cmd下的命令
volatility -f 内存文件名 --profile=对应的配置文件 cmdscan
-
列出命令行下运行的程序
volatility -f 内存文件名 --profile=对应的配置文件 cmdline
17.扫描文件列表
-
volatility -f 内存文件名 --profile=对应的配置文件 filescan
扫描文件:filsecan
-
filescan | grep "条件"
-
还可以配合grep命令来筛选使用
-
volatility -f 内存文件名 --profile=对应的配置文件 filescan | grep "flag"
-
-
解释:下载对应的文件
volatility -f 内存文件名 --profile=对应的配置文件 dumpfiles -Q 偏移量 -D 保存的地址
18.查看截图
volatilty -f 内存文件名 --profile=对应的配置文件 screenshot --dump-dir=./
19.查看网络连接
volatility -f 内存文件名 --profile=对应的配置文件 netscan
4.具体参数-待总结
-f 文件名
-l 位置
-w 写操作
Q 进程号
imageinfo 内存镜像的基本信息
iehistory 查看浏览器进程
-k KPCR 指定一个特定的
列出进程:pslist
进程树:pstree
导出哈希 用户名密码等信息:hashdump
扫描文件:filescan
列出命令行下运行的程序:cmdline
列出缓存在内存中的注册表:hivelist
常规应急响应
1.检查进程和文件
1.异常进程
top -c
2.查看进程
- 直接查看:
netstat -ano
- 将进程以执行时间排序:
ps -ano --sort=start_time
- 将进程以树形排列,可以清晰的看到进程父进程:
ps -auxf
3.定位进程
ls -al /proc/pid号/exe
file /proc/pid号/exe
ps aux | grep pid号
4.杀死进程
kill -9 PID号
5.查看进程占用信息
lsof -p PID
6.根据文件名特征查找
grep -rni "shell.name"
7.根据文件大小特征查找
find / -size 1223123c
8.根据文件创建/修改时间查找
- 查询对应目录下:修改时间
find 路径 -ctime -n/n/+n -name 文件名/
-ctime -n 查找距现在 n*24H 内修改过的文件
-ctime n 查找距现在 n*24H 前, (n+1)*24H 内修改过的文件
-ctime +n 查找距现在 (n+1)*24H 前修改过的文件
-
十分钟内修改过的文件:
sudo find ./ -cmin -10 -name "*.php"
-
查找隐藏文件或者隐藏的文件夹
find / -name "\.*"
-
查找除wordpress目录外的名称符合*.php正则的文件,并且大小小于2K,修改时间在5天内,这个可用于查找webshell
find / path "./wordpress" -a prune-o -name ".php" -type-size -2k -mtime -5
-
查找被修改时间大于一天小于30天内的文件,可以指定到攻击发生的时间段
find / -mtime +1 -mtime -30
-
查找两天内新增加的文件
find /root/-ctime-2
-
查询对应目录下:最后一次访问的文件
find /路径 -mtime -n/n/+n 文件名/*
-
查询对应目录下:最后一次访问的文件
-
find 路径 -atime -n/n/+n -name 文件名/* find /root/ -atime n //n表示n天之前的"一天之内"被访问过的文件 find /root/ -atime +n //列出在n天之前(不包括含n天本身)被访问过的文件 find /root/ -atime -n //列出在n天之前(包含n天本身)被访问过的文件
-
9.用户目录
/root
/home/*(用户名)
10.无文件落地
进程在运行但是没有文件
要么:无文件落地
要么:加载完成自动删除
直接用rootkit
查杀
推荐工具:rkhunter
11.文件名伪装:文件名类似/相似
12.系统命令名伪装
即系统命令下不在系统目录下
系统目录:https://www.runoob.com/linux/linux-system-contents.html
13.文件类型异常
本来是elf,突然变成exe
file 文件名
file *
14.移动系统文件
系统文件被移动到其他目录,而在系统目录下的一个黑客自创目录下
15.文件详细信息
命令:stat 文件名
大小:
设备:
权限:
最近访问:
最近更改:
最近改动:
创建时间:-
2.检查网络
1.查看端口占用情况
lsfo -i:"Port"
2.查看TCP链接的目标IP
netstat -an | grep tcp |awk '{print $5}'
3.查看SYN链接
netstat -an | grep SYN |awk '{print $5}' | awk -F:'{print $1}' | sort | uniq -c | sort -nr | more
4.删除IP
awk '{print $1}' access.log>ip.txt
5.统计IP次数
sort ip.txt | uniq -c
3.检查系统命令
1.是否被篡改
1.alias
2.~/.bashrc
黑客常光顾:
top
netstat
ps
这些命令
4.检查日志
1.系统日志
-
系统日志简述:
-
/var/log/wtmp 记录所有用户最近登陆信息, 用last命令查看 /var/log/lastlog 记录用户最后一次登录的信息, 用lastlog命令查看 /var/log/btmp 记录登录系统失败的用户信息, 用lastb命令查看 /var/log/utmp 记录当前正登录的用户及其执行信息, 用who或w命令查看 /var/log/message 记录系统重要信息(异常错误等)信息 /var/log/secure 记录安全相关:验证授权,账号密码信息, 如ssh登陆su切换sudo授权 /var/log/cron 记录定时任务执行相关的日志信息 /var/log/auth.log 包含系统授权信息, 包括用户登录和使用的权限机制等 /var/log/userlog 记录所有等级用户信息的日志 /var/log/wtmp 和/var/run/utmp 两个文件无法直接使用cat命令输出,但是可以使用一些命令来查看,比如w/who/finger/id/last/ac/uptime
-
查看登录成功的信息
cat /var/log/secure
-
查看登录成功的IP
grep "Accepted" /var/log/aecure | awk '{print $11}'|sort|uniq -c | sort -nr | more grep "Accepted" /var/log/auth.log
-
-
命令的使用
-
w
该命令查询/var/log/wtmp 文件并显示当前系统中每个用户和他所运行的程序 /var/log/wtemp/ 登录进行,推出,数据交换,关机和重启记录
-
last:
改命令往回搜索/var/log/wtemp 文件来显示用户的最近登录信息 1.默认last 2.指定用户:last用户名
-
lastlog
lastlog
:使用lastlog
命令来查看某特定用户上传登录的时间lastlog
:查询系统中所有用户最近一次登录信息lastlog -u 0
:超级管理员登录信息 -
lasttb
:查看用户的错误登录信息
-
2.web日志
-
筛选日志
access_log error_log
-
根据时间筛选
sudo cat access.log | grep '27/Jun/2018'
-
根据特殊文件名筛选
sudo cat access.log | grep '文件名'
-
根据IP
sudo cat access.lgo | grep 'IP'
-
对访问服务器的IP进行排序
sudo cat /var/log/apache2/access.log|cat -f1 -d '' |sort|uniq -c
-
-
WEB/中间件日志路径
-
Apache
apache的日志一般配置在httpd.conf的目录下或者位于/var/log/http
-
IIS
IIS的日志默认在系统目录下的Logfiles下的目录中
-
Tomcat
tomcat 一般位于tomcat安装目录下的一个logs文件夹下面
-
Nginx
Nginx日志一般配置在nginx.conf或者vhost的conf文件中
-
-
日志分析工具
https://github.com/JeffXue/web-log-parser
3.Tips
1.日志分析
-
列出当天访问次数最多的IP命令
cut -d- -f 1 log_file|uniq -c |sort -rn | head -20
-
查看当前有多少个IP访问
awk '{print $1}' log_file|sort|uniq|wc -l
-
查看某一个页面被访问的次数
grep "/index.php" log_file | wc -l
-
查看每一个IP访问了多少个页面
awk '{++S[$1]} END {for(a in S) print a.S[a]}' log_file
-
将每个IP访问的页面数进行从小到大的排序
awk '{++S[$1]} END {for(a in S) print S[a].a}' log_file | sort -n
-
查看某一个IP具体访问了那个页面
grep ^111.111.111.111 log_file | awk '{print $1.$7}'
-
去掉搜索引擎统计的页面:
awk '{print $12,$1}' log_file | grep ^\*Mozilla | awk '{print $2}' | sort|uniq|wc -l
2.Mysql数据库
-
查看当前正在登录的用户
SELECT user.db.command.current_statement.last_statement.time FROM sys.session;
-
查看重要的数据库以及表
select table_schema,table_name,sum(io_ read_requests+io_write_requests) io from sys. schema_table_statistics group by table_ schema,table_name order by io desc;
-
通过数据库历史连接记录
SELECT host,total_connections FROM sys. host_summary;
5.启动项检查
1.systemctl list-unit-files | grep enabled
2.ls -alt /etc/init.d
3./etc/init.d/rc.local /etc/rc.local
linux检查工具
1.whohk
-
下载地址
https://github.com/heikanet/whohk
-
使用
- 程序自动获取系统的CPU,内存,C盘使用情况以及当前在线用户的信息
- 参数
-h
或者-help
获取工具使用说明 - 参数
-user
检查系统账号的情况 - 参数
-history
会筛选出所有用户下的可疑历史命令 - 参数
-cron
列出所有用户的定时任务 - 参数
--cron-file 7
列出7天内被修改过的各个级别定时任务目录和脚本,输入参数为天数,参数为必选。 - 参数
-ip
用来查看进程中对外链接情况 - 参数
--pid 2848
根据进程pid来获取进程物理路径等详细信息,输入参数值为进程的pid,参数为必选。 - 参数
--ssh-fip
查看登录失败的ip以及对应的次数,可用来分析爆破情况 - 参数
--ssh-sip
查看登录成功的IP以及对应的次数 - 参数
--ssh-sinfo
查看登录成功的详细记录 - 参数
--starup 7
查看7天内被修改的启动项,输入参数为天数,参数为必选。 - 参数
--osfile 7
查看7天内被劫持的系统文件,输入参数为天数,参数为必选。 - 参数
--s-webshell/home
用来检测指定目录下webshell,输入参数为天数,参数为必选。 - 参数
--s-backdoor /home
用来检测指定目录下的恶意软件,输入参数为待检测的目录的绝对路径,参数为必选
2.webshell查杀工具
1.河马
下载地址:
https://www.shellpub.com/
3.木马查杀工具
1.RKhunter
2.Chkrootkit
3.LinuxCheck
4.日志分析工具
1.360星图
1.修改配置:/conf/config.ini文件中的log_file:这一行谢文件路径或文件
2.执行start.bat自动处置日志
3.生成结果在result目录。
2.Apache Logs Viewer
注意事项:
一定要惨系统命令师傅被替换,否则所做的的一切都是徒劳
若系统替换可用其他代替,如ps用top,netstat使用ss,busybox等
losf -n | grep delete 查找以及删除但是还是在使用的文件
留意下是否有ssh后门
注意是否存在隐藏进程
实在无法三层可用chattr+i锁定相应的计划任务文件
实在不行修改把curl,wget,lynx为你全局重命名
Window检查工具总结
1.主机检查工具
(进程\网络\启动项\注册表等)
- 火绒剑
- PCHunter
- PowerTool
- procexp
2.Webshell查杀工具
- D盾
- 牧云:https://webshellchop.chaitin.cn/demo
- sangfor_Webshell
3.日志分析工具
-
Log Parser
下载地址:https://www.microsoft.com/en-us/ download/details.aspx?id=24659
- 使用
- 打开日志文件 Home --> Open File
- 取消不需要的字段
- 过滤器的使用
- 打开日志文件 Home --> Open File
- 使用
-
EventLog Analyzer
-
360星图
1.修改配置:/conf/config.ini文件中的log_file:这一行谢文件路径或文件 2.执行start.bat自动处置日志 3.生成结果在result目录。
-
Apche Logs Viewer
应急响应工具集合
应急文件夹
- 流量分析攻击:
Wireshark
,TCPView 科来网络
- 分析攻击
tcpdump
- 进程分析攻击
ProcessHacker
PCHunter
- 启动项分析工具
AutoRuns
火绒
- 专杀工具
- 内存扫描工具
MemScanner
常规应急朔源手法
1.核心思路
1.初步预判:是否是安全事件
2.配合设备-研判确定
3.上级排查
-
确定攻击行为
- 假设攻击存在
- 设备告警:IP失陷或者攻击者已经开始投递载荷或者内网横向,反弹,扫描等
- 常见手段:断网,降权,网络封堵等。
- 确定攻击存在:判断是否安全事件,何种安全事件,乐山,挖矿,断网,Dos等等
- 攻击IP
- 以攻击IP为索引:搜索攻击时间 频率 手法
- 攻击者攻击的受害者对象有那些
- 攻击路径
- 去对应路径下确定是否存在响应载荷
- 反弹shell
- 可疑IP丢到沙箱分析
- 攻击命令
- 查看历史命令
- 异常登录
- 多余账号
- 攻击IP
- 假设攻击存在
-
溯源还原:正推/逆推 日志分析,进程分析,启动项分析,样本分析
-
溯源背景
攻击溯源作为安全事故中事后响应的重要组成部 分,通过对受害资产与内网流量进行分析一定程 度上还原攻击者的攻击路径与攻击手法,有助于 修复漏洞与风险避免二次事件的发生。攻击知识 可转换成防御优势,如果能够做到积极主动且有预见性,就能更好地控制后果。
-
思路
看对方的目的是什么,就是最终目标是做什么。 然后根据自己经验,看看达到这个目标需要进行什么操作,逆推回去。 看看过程中都会留下什么日志。
-
具体思路和操作
1.有设备 2.无设备 2.1 能够被用户感知到异常点 网页被篡改,被挂黑页,web文件丢失等 数据库被篡改,web系统运行异常影响可用性,web用户密码被篡改等 主机出现异常反应,文件被加密,主机出现其他用户等 2.2 信息收集 发现异常多久了(发现自己生病了) 异常持续多久(大概从什么时候知道自己生病了,到现在持续多久了) 异常服务器的主要业务(个人 / 服务器) 异常服务器是否可以联网(外部访问内部 / 内部可以主动访问外部) 异常服务器所在的拓扑图区域(判断当前黑客攻击的深度) 异常服务器开放了那些端口、是否有打不补丁、最近是否有所变更、是否有相关安全设备 history 个人被钓鱼/暴力破解... 服务器被打穿/成为跳板;了解服务可疑快速赛选初步确定攻击手法
-
-
溯源常规排查(应急+溯源):溯源是为了抓人/定位样本IP时间,为反制创造机会
-
应急保障:恢复 直接杀掉进程,删除文件,打补丁,亦或是修复文件
恢复系统的运⾏过程,就是把受影响系统、设备、软件和应⽤服务还原到正常的⼯作状态; 系统恢复、⽹络恢复、⽤⼾恢复、数据恢复以及重新部署。 常⻅⼿段:系统重装、补丁加固、⽹络恢复、密码重置、⽊⻢清除等。
-
反制取证:
-
上报
2.信息收集留意的对象以及思路:最好是反制
常见社工手法+搜索引擎
真实IP定位:https://www.opengps.cn/Data/IP/ipplus.aspx
1.IP
-
IP
-
端口,域名,子域名
-
https://x.threatbook.cn/(主要) https://ti.qianxin.com/ https://ti.360.cn/ https://www.venuseye.com.cn/ https://community.riskiq.com/
-
端口查询:
masscan -p 1-65535 ip --rate=500 nmap -p 3389,3306,6378 -Pn IP
-
-
-
whoami
-
收集此类信息:
http://whoissoft.com
联系人 联系电话 创建时间 过期时间 关联样本 域名服务商 注册商 更新时间 联系邮箱 IP地址 IP域名记录 域名反查 邮箱反查 电话反查 注册人反查 旁站
-
2.攻击者的昵称/ID
百度信息收集:"id"
谷歌信息收集
src信息后记(各大src排行榜)
微博搜索(如果发现微博有记录,可以去tg查一下微博泄露数据)
微信iD收集:微信进ID搜索,(直接发DINDGDING群里了一起查)
豆瓣
贴吧
知乎
脉脉
抖音
B站
各大安全论坛:freebuf
3.手机号
支付宝
微信
百度网盘
百度贴吧
QQ
脉脉
陌陌
抖音
社工
美团
4.QQ号
昵称
个性签名
空间
+支付宝好友
+微信好友
5.百度网盘
百度贴吧:https://tieba.baodu.com/home/main?un=百度ID
百度网盘好友
6.跳板机
- 登录成功日志:
last
- 历史命令:
cat ~/.bash_history
- 查看进程:
ps -aux
- 账号密码:
cat /etc/passwd
7.域名
8.CDN
9.敏感目录
10.源码
11.title
12.body
13.head
蜜罐类工具
-
蜜罐
-
json hi hacking
劫持攻击-
介绍:
- json hi jacking是一种劫持攻击,在攻击者点击
到存在json hi jacking攻击的页面时,触发跨域
获取数据的接口(jsonp),获取到攻击者的浏
览器cookie内存储的数据,如百度、爱奇艺、微
博等
-
代码
-
前端代码
-
<html><head> <meta http-equiv="Content-Type" content=" text/html;charset=UTF-8"> <title>apppppppp</title> <script src="http://xxx.com/api/jsonp.php? callback=jsonp1&other=xxx "></script> <!--调 用存在jsonp劫持的api--> <script>function test(obj){ <!--定义函数,接收 jsonp劫持的api返回的数据--> alert(JSON.stringify(obj));<!--弹窗jsonp返回的 数据,并在弹窗内部使用JSON.stringify将 avaScript值转为json字符串--> }test(jsonp1)<!--调用函数--> </script> </head> </html>
2、后端代码
<?php $data = $_GET['data'];//接收data数据 var_dump($data); $fp = fopen('data.txt','a');//向data.txt中写入 data数据 $fpp = fwrite($fp,$data."\r\n"); ?>
综合信息:Goby
攻击时间:
1.蓝队设备
2.反制攻击者后,查看登录时间,判断攻击时间
攻击频率
1.攻击频率快:扫描器
1.扫描器:查看
User-Agent
攻击手法
攻击样本/邮箱附件
1.微步在线:
2.VirusTotal:
htts://www.virustotal.com/gui
3.溯源助力工具
shrio反序列化解密工具
姓名/ID 攻击IP 地理位置 QQ IP所属公司 IP关联域名 邮箱 手机号 微信/微博/src/id证明 人物照片 跳板机(可选) 关联攻击事件
溯源蓝方报告
1.溯源的结果:(PS:以上为最理想的结果,溯源到名字公司加分最高) 2.拿到的数据 web攻击事件 -- 攻击事件:2020-05-06 09:09:09 预警平台:天眼/绿盟/ibm/长亭的waf 攻击类型:植入后门文件 处置方式:封禁需溯源 目标域名:10.0.0.1 www.xxx.com
-
-
IP归属
-
基站IP
使用手机通过运营商提供的网络进行上网的时候,目前都是在用户端使用私有IP,然后对外做NAT转换,这样的情况下就导致大家统一使用一些IP段访问网站或者app。一般我们称这些相对固定的IP为基站IP
-
第三方出口IP
-
云加速:只针对http网站有效,开启云加速IP会产生变化
-
高防IP
- 作用:抵御dos攻击
- 原理:将web服务器的域名指向高防IP
- 特征:
- 返回包cookie字段里有
aliyungf_tc
字段 - 则会个证书字段
CommonName:gaofang
- 返回包cookie字段里有
-
CDN
- 特征:
response
响应包的header
头cname
:别名- 自建
CND IP
库
- 特征:
反制
-
查用户
query user
-
查询系统中的所有用户
net user
-
不要放过隐藏用户
-
开启
3389
-
win2008/2012/win7
wmic /mamespace:\\root\cimv2\terminalservices path wimc32_terminalservicesetting where (_CLASS !="") call setallowtscoonections 1 wmic /namespace:\\root\cimv2\terminalservices path win32_tsgeneralsetting where (TerminalName='RDP-Tcp') call setuserauthenticationrequired 1 red add "HKLM\SYSTEMCURRENT\CONTROL\TERMINAL SERVER" /v fSingleSessionPerUser /t REG_DWORD /f 0 /f
-
win2003/xp
wmic path win32_terminalservicesetting where (__CLASS != "") call setallowtsconnections 1
-
-
查看远程端口
REG QUERY "HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\ Terminal Server\WinStations\RDP-Tcp" /V PortNumber
-
某个程序的命令行参数
wmic process where caption=”xxx.exe” get caption,commandline /value
-
自动化信息收集脚本
-
Windows.bat
@ECHO OFF TITLE windows-info v0.1 echo -------------------------机器 名------------------------- hostname echo -------------------------用户信 息------------------------- net user echo -------------------------在线用 户------------------------- query user echo -------------------------正在连接的 IP------------------------- netstat -ano |findstr ESTABLISHED | findstr / v 127.0.0.1 echo -------------------------正在监听的端 口------------------------- netstat -ano |findstr LISTENING | findstr /v 127.0.0.1 echo -------------------------尝试备份安全日志 到当前目录------------------------- wevtutil epl Security %USERPROFILE%\ desktop\Sec.evtx echo -------------------------尝试获取远程登录 日志------------------------- wevtutil qe Security "/q:*[System [(EventID= 4648)]]" /f:text /rd:true /c:10 echo -------------------------其他·提 示------------------------- echo 查询隐藏用户:HKEY_LOCAL_ MACHINE --SAM–SAM(需要右击权限修改管理 员权限)-Domains-Account-users echo 查询密码信息:mimikatz privilege:: debug sekurlsa::logonpasswords echo 查询web浏览记录、浏览器密码 PAUS
-
Linux.sh
#! /bin/bash # linux-info v0.1 echo "-------------------------机器 名-------------------------" hostname echo "-------------------------查看用户信 息-------------------------" cat /etc/passwd |grep -v nologin |grep -v / bin/false echo "-------------------------查看登录信 息-------------------------" w echo "-------------------------查看正在连接的 IP-------------------------" netstat -antlp |grep ESTABLISHED echo "-------------------------查看对外监听的 端口-------------------------" netstat -antlp |grep LISTEN | grep -v 127.0.0.1 echo "-------------------------查看历史登录信 息-------------------------" last -F -n 10 echo "-------------------------查看安全日志中 登录成功信息-------------------------" grep "Accepted " /var/log/secure | awk '{ print $1,$2,$3,$9,$11}' echo "-------------------------查看历史命令, 查找外联-------------------------" history | grep -E "([0-9]{1,3}[\.]){3}[0-9]{1,3}" echo "-------------------------查看计划任 务-------------------------" crontab -l echo "-------------------------查找隐藏文 件-------------------------" find / ! -path "/proc/*" ! -path "/usr/*" ! - path "/var/*" ! -path "/sys/*" -name ".*" -print echo "-------------------------其他·提 示-------------------------" echo "查看用户进程:lsof -u hack" echo "查看端口占用:lsof -i:8888" echo "查看公钥信息:~/.ssh/id_dsa.pub" echo "查看进程:ps -aux"
-
-
Tips
-
日志分析
1、列出当天访问次数最多的IP命令: cut -d- -f 1 log_file|uniq -c | sort -rn | head -20 2、查看当天有多少个IP访问: awk '{print $1}' log_file|sort|uniq|wc -l 3、查看某一个页面被访问的次数: grep "/index.php" log_file | wc -l 4、查看每一个IP访问了多少个页面: awk '{++S[$1]} END {for (a in S) print a,S[a]}' log_ file 5、将每个IP访问的页面数进行从小到大排序: awk '{++S[$1]} END {for (a in S) print S[a],a}' log_ file | sort -n 6、查看某一个IP访问了哪些页面: grep ^111.111.111.111 log_file| awk '{print $1,$7}' 7、去掉搜索引擎统计当天的页面: awk '{print $12,$1}' log_file | grep ^\"Mozilla | awk '{print $2}' |sort | uniq | wc -l
-
MYSQL数据库
1、 查看当前正在登录的用户 SELECT user,db,command,current_ statement,last_statement,time FROM sys. session; 2、 查看重要的数据库以及表 select table_schema,table_name,sum(io_ read_requests+io_write_requests) io from sys.schema_table_statistics group by table_schema.table_name order by io desc; 3、 通过数据库历史连接记录 select host,total_connections FROM sys. host_summary;
-
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通