学习路线:
这个方向初期比较容易入门一些,掌握一些基本技术,拿起各种现成的工具就可以开黑了。不过,要想从脚本小子变成黑客大神,这个方向越往后,需要学习和掌握的东西就会越来越多以下是网络渗透需要学习的内容:
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
get-wmiobject win32_process | select
name,processid,parentprocessid,path
wmic命令查询:可对进程进行查询以csv格式来显示进程名称、父进程id、进程id wmic process get
name,parentprocessid,processid/format:csv
Linux
netstat:分析可以端口、分析可疑ip地址、可疑pid及程序进程; ls -alt
/proc/PID:查看PID为600的进程可执行程序; lsof -p PID:查看进程所打开的文件; kill -9 PID:结束进程;
rm -rf filename :删除名为filename的文件;
如果root用户都无法删除相关文件,可能是因为该文件被加上了i属性,使用lsattr filename 查看文件属性,然后用chattr
-i filename 可移除i属性,进而删除文件。也有因为进程存在守护进程而无法被删除,可先将进程挂起,查杀守护进程后,再返回将进程删除。补充:chattr +i
filename 加i属性。 查看隐藏进程:顺序执行以下三条命令
ps -ef | awk ‘{print}’|sort -n |uniq>1
ls /proc |sort -n |uniq>2
diff 1 2 top:可用于挖矿进程排查,显示占用率较高的进程。
服务排查
服务可以理解为运行在后台的进程,服务可以在计算机启动时自动启动,也可暂停和重启,而且不显示任何用户界面,服务非常适合在服务器上使用,通常在为了不影响在同一天计算机上工作的其它用户,且需要长时间运行功能时使用。在应急响应中,服务作为一种运行在后台的进程,是恶意软件常用的驻留方法。
Windows
services.msc:打开服务窗口,查看所有的服务项,包括服务的名称、描述、状态等。
Linux
chkconfig --list:可查看系统运行的服务;
service --status-all:可查看所有服务的状态;
文件痕迹排查
恶意软件、木马、后门都会在文件维度上留下痕迹,排查思路:
对恶意软件常用的敏感路径进行排查;
在确定了应急响应事件的时间点后,对时间点前后的文件进行排查;
对带有特征的恶意软件进行排查,包括代码关键字或关键函数、文件权限特征。
Windows
敏感目录
各个盘下的temp(tmp)相关目录,有些恶意程序释放字体(即恶意程序运行时投放出的文件)一般会在程序中写好投放的路径,由于不同系统版本的路径有所差别,但临时文件的路径相对统一,因此在程序中写好的路径一般是临时路径;
查看浏览器历史记录、下载文件和cookie信息:攻击者可能会下载一些后续攻击工具;
查看用户Recent文件:存储最近运行文件的快捷方式,一般在windows中的路径为: C:\Document and
Settings\Administrator(系统用户名)\Recent C:\Document and Settings\Default
User\Recent
Prefetch:预读取文件夹,存放系统已经访问过的文件的读取信息,扩展名为pf,可加快系统启动进程,启动:%systemroot%\prefetch
amcache.hve:可查看应用程序执行路径、上次执行时间及sha1值。启动:%systemroot%\appcompat\programs
时间点查找 forfiles 攻击者可能会对时间动手脚 webshell
D盾、HwsKill、WebshellKill等工具对目录下的文件进行规则查询,
Linux
敏感目录 /tmp、 /usr/bin、 /usr/sbin:经常作为恶意软件下载目录及相关文件被替换的目录;
~/.ssh、/etc/ssh:经常作为后门配置的路径
时间点查找 find:可对某一时间段内增加的文件进行查找;
stat:对文件的创建时间、修改时间、访问时间进行排查;
特殊文件
查找777权限的文件:find /tmp -perm 777
webshell查找
初筛:find /var/www/ -name “*.php”
工具:findWebshell、Scan_Webshell.py扫描排查
对系统命令进行排查
ls、ps可能被攻击者替换,ls -alt /bin 查看命令目录中的系统命令的修改时间进行排查;
ls -alh /bin:查看相关文件大小,若明显偏大,则文件很可能被替换;linux后门检测
工具:chkrootkit(出现infected说明有后门)、rkhunter 排查suid程序
find /-type f -perm -04000 -ls -uid 0 2 >/dev/null
日志排查
Windows:在运行对话框中输入eventvwr,打开事件查看器窗口,可查看windows相关日志。
系统日志:%SystemRoot%\System32\Winevt\Logs\System.evtx 系统中的各个组件在运行中产生的各种事件
安全性日志:%SystemRoot%\System32\Winevt\Logs\security.evtx
记录各种安全相关的事件,登录操作、对系统文件进行创建、删除、更改等操作。
应用程序日志:%SystemRoot%\System32\Winevt\Logs\Application.evtx
日志常用事件id 4624:登陆成功 4625:登录失败
日志分析
日志筛选器进行分析
PowerShell分析 Get-WinEvent Get-WinEvent Security -InstanceId 4625:获取安全性日志下事件id为4625的所有日志信息。
使用工具
Linux
日志概述
linux系统日志一般在/var/log/下
/var/log/wtmp:记录登录进入、退出、数据交换、关机和重启,及last
/var/log/cron:记录与定时任务相关的日志信息;
/var/log/message:记录系统启动后的信息和错误日志;
/var/log/apache2/access.log:记录apache的访问日志;
/var/log/auth.log:记录系统授权信息,包括用户登录和使用的权限机制等;
…
日志分析
…
其它日志
除了windows、linux系统日志分析外,还有Web日志、中间件日志、数据库日志、FTP日志等进行分析。
IIS日志
%systemdrive%\inetpub\logs\logfiles
%systemroot%\system32\logfiles\w3svc1
…
Apache日志
/var/log/httpd/access.log
/var/log/apache/access.log
/var/log/apache2/access.log
/var/log/httpd-access.log
Nginx日志
默认在/usr/local/nginx/logs目录下,access.log代表访问日志,error.log代表错误日志。若没在默认路径下,则可到nginx.conf配置文件中查找。
Tomcat日志 tomcat/log下 Vsftp日志
/var/log/messages 可通过编辑/etc/vsftp/vsftp.conf配置文件来启用单独的日志,启用后,可访问vsftp.log和xferlog。
Weblogic日志
有三种日志:access log、 server log 、 domain log。
数据库日志
Oracle
select * from v$logfile:查询日志命令,默认在$ORACLE/rdbms/log目录下,
select * from v$sql:可查询之前使用的sql;
Mysql
默认路径:/var/log/mysql/
可查看日志是否开启:show variables like 'general';
开启日志:set global general_log = 'ON';
Mssql
一般无法查看,需要登录到SQL Server Management Studio,在管理——SQL Server日志 中查看。
内存分析
流量分析
ip.addrip:对指定ip地址进行过滤;
ip.srcip:对指定的源ip地址进行过滤;
直接输入http、https、smtp、arp等协议进行筛选;
top.port端口号或tcp.port端口号对端口进行过滤;
tcp contains stings :对数据包中的关键字进行检索。
威胁情报
三、工具
四、场景
1、勒索病毒网络安全应急响应
1、常见勒索病毒
WannaCry勒索病毒、GlobeImposter勒索病毒、Crysis/Dharma勒索病毒、GandCrab勒索病毒、Satan勒索病毒、Sacrab勒索病毒、Matrix勒索病毒、Stop勒索病毒、Paradise勒索病毒
2、常规处置方法
隔离被感染的服务器、主机
防止勒索病毒通过网络继续感染其它服务器、主机,防止攻击者通过感染的服务器/主机继续操纵其它设备
措施:
物理隔离:断网、断电,关闭服务器/主机的无线网络、蓝牙连接等,禁用网卡,并拔掉服务器/主机上的外部存储设备;
访问控制:对访问网络资源的权限进行严格控制和认证,加策略和修改登录密码;
排查业务系统
检查核心业务系统和备份系统,确定感染范围。
确定勒索病毒种类,进行溯源分析
从加密的磁盘中寻找勒索信息,再通过勒索病毒处置工具查看是否可以解密;
溯源分析:查看服务器/主机上的日志和样本,可疑文件,工具进行日志和样本分析;
恢复数据和业务
备份数据恢复业务
磁盘数据恢复
第三方方安全公司
后续防护建议
服务器终端防护
强密码、杀毒软件、打补丁、开启日志收集;
网络防护与安全监测
内网安全域合理划分,限制横向移动范围;
应用系统防护及数据备份
加固、备份、预案;
3、错误处置方法
不要再中毒服务器/主机上插U盘、硬盘等移动存储设备:勒索病毒会对服务器/主机上的所有文件加密;
不要用网上的解密工具反复读/写磁盘中的文件,可能降低数据正确恢复的概率,也可能破坏原始文件;
4、工具
被攻击之后,确定勒索病毒种类,判断能否解密
奇安信勒索病毒搜索引擎:lesuobingdu.qianxin.com
360安全卫士勒索病毒搜索引擎:lesuobingdu.360.cn
5、勒索病毒应急思路
了解事态现状、系统架构、感染时间、确定感染面;
对已中招服务器/主机下线隔离;
未中招做好防护:关闭端口加固、补丁等等
对服务器/主机进行检查:
系统排查
账户排查
Windows
打开本地用户与组:lusrmgr.msc
查看所有用户:wmic useraccount get name,sid
Linux
cat /etc/passwd :查看所有用户信息
awk -F: ‘{if($3==0)print KaTeX parse error: Expected ‘EOF’, got ‘}’ at position 2: 1}̲’ /etc/passwd :…":可查看能够登录的账户
进程排查
Windows
tasklist或任务管理器
Linux
网络连接:netstat -ano
任务计划:
服务:
启动项:
文件排查:
补丁排查:
日志排查
系统日志
安全日志
安全日志是否有暴力破解记录,异常ip地址登录记录,溯源,定位攻击的突破口;
网络流量排查
清除加固
对服务器/主机进行抑制和恢复:对恶意账号、进程、任务计划、启动项、服务等进行清理,删除恶意样本、打补丁、强密码、安装杀毒软件、部署流量检测设备。
6、如何判断遭遇勒索病毒攻击?
业务系统无法访问;
文件后缀被篡改;
勒索信展示;
桌面上有新的文本文件;
7、了解勒索病毒的加密时间
推断攻击者执行勒索程序的时间轴,方便后续进行溯源。
Windows
通过文件修改日期初步判断(要综合判断,因为攻击者可能伪造时间)
Linux
stat:可查看Access访问、Modify内容修改、Change属性改变三个时间
2、挖矿木马网络安全应急响应
1、挖矿木马:利用计算机的算力挖掘数字货币。
2、常见挖矿木马:WannaMine、Mykings(隐匿者)、Bulehero、8220Miner、匿影、DDG、h2Miner、MinerGuard、Kworkerds、Watchdogs。
3、挖矿木马的传播方法
漏洞传播
弱密码暴力破解传播
僵尸网络
无文件攻击方法
网页挂马
软件供应链攻击
社交软件、邮箱
4、挖矿木马利用漏洞
弱密码
未授权访问
命令执行
…
5、常规处置方法
隔离被感染的服务器/主机
防止攻击者以当前服务器/主机为跳板对统一局域网内的其它机器进行漏洞扫描和利用,禁用非业务端口、服务、配置ACL白名单,非重要业务系统建议下线隔离,再排查。
如何确认挖矿
进程排查
木马清除
阻断矿池地址连接
清除挖矿定时任务、启动项等
定位挖矿木马文件,删除
挖矿木马防范
挖矿木马僵尸网络防范
避免使用弱密码
打补丁
服务器定期维护
网页/客户端挖矿木马防范
浏览网页时,主页CPU、GPU使用率
避免访问高危网站
避免下载来路不明的软件
6、应急思路
判断挖矿木马
CPU使用率、系统卡顿、部分服务无法正常运行等现象;
通过服务器性能监测设备查看服务器性能;
挖矿木马会与矿池建立连接,通过安全检测类设备告警判断;
判断挖矿木马挖矿时间
查看木马文件创建时间;
查看任务计划创建时间;
查看矿池地址,通过安全类检测设备;
判断挖矿木马传播范围
挖矿木马会与矿池建立连接,通过安全类监测设备监测;
了解网络部署环境
网络架构、主机数据、系统类型、相关安全设备
系统排查
Windows
用户排查:攻击者为了在系统中实现持久化驻留,
net user
lusrmgr.msc可查看隐藏用户
查注册表:攻击者可能会克隆正常用户名来隐藏自己
网络连接
netstat -ano |find “445”
进程排查
tasklist
任务管理器
工具
任务计划
打开计算机管理——系统工具——任务计划程序——任务计划程序库:可查看任务计划的名称、状态、触发器等信息;
命令行输入schtasks:可获取任务计划信息,要求是本地Administrator组的成员;
在PowerShell下输入get-scheduledtask 可查看当前系统中所有任务计划信息,包括路径、名称、状态等详细信息。
服务排查
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!