产品类
用过哪些厂商的工具?
webshell查杀
D盾_Web查杀,百度WEBDIR+(在线),河马(全平台,CloudWalker(牧云)(全平台),Web Shell Detector(在线),Sangfor WebShellKill(深信服),深度学习模型检测PHP Webshell(在线),PHP Malware Finder webshell(全平台),findWebshell,Webshell.pub专注查杀(在线)等
病毒查杀
火绒,腾讯安全管家,360杀毒,Rkhunter,卡巴斯基,金山毒霸,瑞星杀毒软件,大蜘蛛,深信服EDR,Rootkit,NOD32,Clamav,virustotal等
安全防护
网站安全狗,创宇盾,云锁,阿里云WAF,HiHTTPS,ModSecurity,Naxsi,OpenWAF,FreeWAF,ESAPI WAF,unixhot,Java WAF,X-WAF,VeryNginx,COMODO Firewall等
应急响应
火绒剑,微步云沙箱,Goby,PowerTool,Tcpview,PCHunter,ProcessHacker,Everything,ProcessExplorer,ProcessMonitor,XueTr,PCHunter,ProcessDump,AutoRuns,ntfsdir,FastIR,BrowsingHistoryView,sysinspector,sysinternals, Suite,Index.dat ,Analyzer,winhex,RegistryWorkshop,DiskGenius,passrecenc,Fulleventlogview,Wsyscheck,IPOP4.1,Process monitor,Netcat,Malware Defender,MyMonitor,DllInjector,RegShot,gscan,Fodler
Monitor,ResHacker,Kaspersky Virus Removal Tool ,DWirelessNetWatcher,ipradar,Fidder,ApateDNS,MiniSniffer,SysTracer等
态势感知产品
360态势感知:由中国著名安全厂商360推出的产品,主要提供网络威胁查询、漏洞扫描、流量分析等功能,同时集成了各种安全情报和指标,可以为用户提供全面的安全态势分析和预警服务。
腾讯云安全大脑:由腾讯云推出的产品,利用 AI、机器学习等技术对攻击进行实时监测和分析,提供包括漏洞扫描、风险评估、异常检测等一系列安全服务。
云锁事件响应中心:由阿里云推出的产品,提供网络空间威胁和安全事件的监测、预警、应急响应等服务。该产品采用 AI 算法进行态势感知,并可以自动化响应安全事故。
北京赛迪态势感知系统:由北京赛迪安全科技股份有限公司开发的产品,支持网络威胁情报搜集、风险事件自动识别、威胁行为关联分析等功能,可为企业提供全生命周期的网络安全保护。
启明星辰安全态势感知: 由启明星辰推出的产品,提供整体安全态势感知、针对性攻击检测、应急响应等功能,可帮助用户实现从被动防御到主动防御的转变。
渗透测试工具
- 你在渗透测试中常用到的工具?
信息收集
Nmap,Fofa,Shodan,zoomeye,站长工具,Bugscaner,潮汐指纹,云悉指纹,Censys,whatweb,WTFScan,子域名挖掘机,dnsdist6,WAFw00f,Fping,arping,nping,nbtscan,whois,Layer子域名收集工具,JSFinder,wwwscan等
抓包分析
Burp Suite,Wireshark, TrafficTools,fiddler,hack firefox,proxifier,shadowsocks等
端口扫描
Nmap,Zenmap,Masscan,御剑端口扫描工具,Hping3,Advanced_Port_Scanner,PortScan ,netscan tools,blackwater,Unicornscan,nast,Knocker,IPscan等
漏洞扫描
Nessus,AWVS,X-ray,Appscan,W3af,OpenVAS,Skipfish,lynis,WPscan,Comodo
HackerProof,Nexpose community,Vulnerability Manager Plus,Nikto等
目录扫描或爆破
Dirbuster,御剑目录爆破工具,dirsearch,dirb,ffuf,Dirmap,cansin,Wscan,
webdirscan,SourceLeakHacker,fuff等
暴力破解
Burp Suite,Hydra,cupp,crunch,Aircrack-NG(无线密码破解),John the Ripper,Rainbow
Crack,Cain & Able,L0phtcrack,Ophcrack,Crack,Hashcat,SAMInside,DaveGrohl(Mac os x) ,Ncrack,Brutus,Wfuzz,Medusa等
SQL注入漏洞扫描或利用
Sqlmap,SQLiScanner,DSSS,Jsql-injection,nosqlattack,Safe3 SQL Injector,
BSQL Hacker,The Mole,Pangolin,Havij,Enema SQLi,sqlsus,SQL Poizon,Netsparker,Leviathan,NoSQLMap,Tyrant SQL,Whitewidow等
XSS漏洞利用
Cobalt Strike,Beef,XSSer,XSpear,TamperIE,BlueLotus_XSSReceiver(XSS利用平台),XSSYA,xssfork,xssScanner,XSSCon,BruteXSS,XDT等
WebShell利用
冰蝎,哥斯拉,蚁剑,中国菜刀,天蝎(skyscorpion),
pyshell,w8ay,WebKnife,XISE,K8飞刀,Altman,Hatchet,AspxClient(仅支持ASPX脚本),C刀(Cknife),QuasiBot,Weevely,WeBaCoo,
Webhandler,Webshell-Sniper,PhpSploit,SharPyShell等
免杀
Shellter,FourEye,crazyKiller,DKMC,avevasion,charlotte,cool,crossnet,darkarmour,shellcodeloader,vmprotect,vprotect,ZheTian,peidtool,Mimikatz,PrintSpoofer,metasploit,Veil,avet ,Green hat pro,Venom ,TheFatRat,Insanity等
综合
Metasploit,GUI_Tools,Hijacker(针对Android),AttackSurfaceMapper,Burp Suite,watchdog,Empire等
溯源工具
Wireshark:Wireshark 是一款免费开源的网络协议分析工具,可以捕获和分析网络数据包。通过使用 Wireshark,您可以追踪网络数据流和操作记录,了解数据的来源、目的和内容等信息。 Sysinternals Suite:Sysinternals Suite 是一组 Windows 系统工具集合,其中包括了很多用于溯源的工具。例如,Process Monitor 可以监视 Windows 系统中的进程和操作记录,用于追踪应用程序和系统资源的使用情况;Regmon 可以监视系统注册表的操作记录,用于追踪应用程序对系统注册表的读写操作。 SIFT:SIFT(SANS Investigative Forensic Toolkit)是一款专业的数字取证工具集,用于支持取证人员对数字媒体进行取证分析。SIFT 包含了很多工具,例如,Autopsy 可以分析磁盘映像文件,Volatility 可以分析内存映像文件,用于追踪系统的操作记录和数据流。 **Sleuth Kit:**Sleuth Kit 是一款开源的数字取证工具集,提供了一系列用于分析文件系统和磁盘映像文件的工具。例如,fls 工具可以分析文件系统中的文件记录,用于追踪文件的创建、修改和删除记录;mactime 工具可以分析文件系统中的时间戳记录,用于追踪文件的时间戳信息。
在线网站:微步* 安恒威胁情报中心 全国互联网违法和不良信息举报中心 工业和信息化部网络安全管理局
溯源思路:首先通过系统日志、安全设备截获攻击包等从中分析出攻击者的ip和攻击方式,通过webshell或者木马去微步分析,
或者去安恒威胁情报中心进行ip检测分析,是不是云服务器,基站等,如果是云服务器的话可以直接反渗透,看看开放端口,域名,whois等进行判断,获取姓名电话等丢社工库看看能不能找到更多信息然后收工
日志分析工具
如LogForensics,Graylog,Nagios,ELK Stack等等
-
给你一个网页可能存在哪些注入点F
-
日志中有大量4625,怎么办?
-
SSH如何加固
-
edr是什么
深信服edr
即端点检测与响应。根据查询相关公开信息。英文全称是EndpointDetection&Response,即端点检测与响应平台
漏洞类
常见中间件对应漏洞
- IIS:PUT漏洞、短文件名猜解、远程代码执行、解析漏洞
- Apache:解析漏洞、目录遍历
- Nginx:文件解析、目录遍历、CRLF注入、目录穿越
- Tomcat:远程代码执行、war后门文件部署
- JBoss:反序列化漏洞、war后门文件部署
- WebLogic:反序列化漏洞、SSRF任意文件上传、war后门文件部署
- ApacheShiro反序列化漏洞:ShirorememberMe(Shiro-550)、ShiroPaddingOracleAttack(Shiro-721)
Fastjson
判断:正常请求是get请求并且没有请求体,可以通过构造错误的POST请求,即可查看在返回包中是否有fastjson这个字符串来判断。
原理:在请求包里面中发送恶意的 json 格式 payload,漏洞在处理 json 对象的时候, 没有对@type 字段进行过滤,从而导致攻击者可以传入恶意的 TemplatesImpl 类,而 这个类有一个字段就是bytecodes,有部分函数会根据这个_bytecodes 生成 java 实例,这就达到 fastjson 通过字段传入一个类,再通过这个类被生成时执行构造函数。
Shiro
框架提供了记住我的功能,关闭浏览器再次访问时无需再登陆即可访问。shiro默认使用CookieRemernerMeManager
,对rememberMe的Cookie做了加密处理,在CookieRemernerMeManager
类中将cookie中remernerMe字段内容先后进行序列化、AES加密、Base64编码操作。服务端识别身份解密处理cookie的流程是:
- 获取rememberMe cookie→base64解码→AES解密→反序列化(未过滤)
无论shiro是什么版本都可能会导致该漏洞的产生,因为是硬编码,将数据直接嵌入到程序或其他可执行对象的源代码中,即阅读源码就会拿到AES加密的密钥。
因此,攻击者可以构造一个恶意的对象,并且对其序列化、AES加密、base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终就造成了反序列化的RCE漏洞。只要rememberMe的AES加密密钥泄露
如果在返回包的 Set-Cookie 中存在 rememberMe=deleteMe 字段,那么就可能存在此漏洞。
Shiro 550 721区别(或问有几种类型)
Shiro rememberMe(Shiro-550) Shiro Padding Oracle Attack( Shiro-721)
Shiro 550和721都是密码学中常用的加密算法标准,但它们使用的加密密钥长度和加密算法细节有所不同。下面是它们的简要区别:
- Shiro 550:使用56位密钥进行加密,是DES算法的一种变体。DES算法已经被认为是不安全的,因为它的密钥长度过短,易受到暴力破解攻击
- Shiro 721:使用128位密钥进行加密,是AES算法的一种变体。Shiro 721是对AES算法的一个改进,增加了一些加密特性,使其更加适用于某些特定的应用场景。Shiro 721是目前较为安全和可靠的加密算法之一
Log4j2
- 每个系统都会使用日志框架,用于记录日志信息,这些信息可以提供程序运行的上下文,Apache Log4j2就是基于Java的日志工具,
- 恶意请求中的特定参数名称和值,包括JNDI名称和恶意JNDI URL。攻击者通常使用反向Shell或远程访问工具来执行任意命令或控制受感染的系统。
- 攻击者使用反向shell或远程访问工具来执行任意命令或控制受感染的系统
- 攻击记录于受感染的应用程序日志中
Strut2
Weblogic
- 直接通过T3协议发送恶意反序列化对象
- 利用T3协议配合RMP或者ND接口反向发送反序列化数据,还有利用IIOP协议的
- 通过javabean XML方式发送反序列化数据
TOP10
1)失效的访问控制
2)加密机制失效
3)注入(包括跨站脚本攻击XSS和SQL注入等)
4)不安全设计
5)安全配置错误
6)自带缺陷和过时的组件
7)身份识别和身份验证错误
8)软件和数据完整性故障
9)安全日志和监控故障
10)服务端请求伪造SSRF
遇到马的排查思路
内存马类型
是一种在受感染主机内存中运行的恶意软件
- 注入型:利用漏洞将恶意代码注入到正常进程中,从而在内存中运行
修复漏洞、升级软件,加强防护;对已感染的主机,选择杀掉受感染的进程或者卸载恶意程序
- 自执行:将恶意代码写入自启动项,启动后自动运行
清理自启动项,卸载恶意程序
- 进程注入型:利用进程注入技术,在受感染进程的内存中运行恶意代码
杀掉感染进程,卸载恶意程序
- Hook型:利用Windows API的Hook机制,修改进程中的关键函数,从而运行恶意代码
还原Hook,修复关键函数,杀掉受感染进程,卸载恶意程序
内存马查杀
查
如果发现webshell痕迹,需要根据各种类型的原理进行排查,以下为排查思路:
- 若为jsp注入,日志排查中可以查看到jsp的访问请求
- 如果是代码执行漏洞,排查中间件中的error.log,查看是否有可疑的报错,判断注入时间和方法
- 根据业务使用的组件排查可能存在的java代码执行漏洞,spring的controller类型的话根据上报webshell的url查找日志、filter或者listener类型,可能有较多404但是带有参数的请求
杀
- **中止进程:**如果确认某个进程是内存马,可以尝试中止进程。在Windows任务管理器或者命令行工具taskkill终止进程
- **删除文件:**终止后还需要删除,防止内存马重新启动,Windows下直接删除文件,Linux先中止再删除
告警流量分析类
常见webshell流量特征及如何检测webshell?
主机层⾯静态检测通过匹配特征码,特征值,危险函数函数;动态检测webshell的动作;检查web⽇志
流量层⾯掌握常⽤webshell管理⼯具的流量特征
菜⼑webshell 只使⽤了 url 编码 + base64 编码,使⽤传输参数名为 z0,还存在 int_set("display_erros","0")
字符串特征<?php @eval($_POST[value]);?>
- webshell为一句话木马
- ua头为百度爬虫
- 请求体中存在eval, base64,eval用于执行传递的攻击payload必不可少,将攻击payload进行base64编码
- 响应为明文,格式为X@Y+内容+X@Y
蚁剑shell默认连接时请求两次,①关闭报错和 magic_quotes,②主机⽬录列出来
- webshell同样有eval, base64
- ua头为蚁剑工具
- 请求体中存在@ini_set
- 响应为明文,格式为随机数+结果+随机数
- 参数名大多数以_0x的形式,所以以此开头的参数名,后面为加密数据的数据包可以识别为蚁剑流量特征
冰蝎2.0 payload先base64加密,再经过AES对称加密全部代码
使⽤ aes 加密发起三次请求,第⼀次服务端产⽣密钥写⼊ session,第⼆次获取 key,第三次使⽤ key 的 aes 加密进行通信。最与众不同的是有动态加密,强特征是accept中有个q.=2
冰蝎3.0 aes 加密发起两次请求,⽐ 2.0 少了动态密钥的获取的请求,不再使⽤随机⽣成 key,改为取连接密码的 md5加密值的前 16 位作为密钥
冰蝎4.0:v3.0 版本当中会把 key 作为 session 传入;接着判断 extension_loaded
,也就是判断服务端是否存在 openssl
拓展,如果不存在就用 base64 解码,然后使用 key 进行异或加密,这也是冰蝎 v4.0 版本当中的 xor_base64
加密方式;如果服务端能够加载 openssl 拓展,就使用 AES128 解密,这里对应冰蝎 v4.0 版本当中的 aes
加密方式。
- webshell同样有eval,base64
- 消息体内容AES加密
- webshell中有md5前16位
- 2.0有一次GET请求返回16位密钥
- 包含大量content-type,无论GET还是POAT,请求的http中,3.0特征content-type都为application/octet-stream,4.0特征ua头 referer头 accept 默认aes128 秘闻长度16整数倍
- 3.0内置16个ua头
哥斯拉⽀持N种加密,发起三次请求,第⼀次数据超级⻓,建⽴ session,第⼆三次请求确认连接
- webshell同样eval,base64
- 请求为pass=
- 特征检测为发送一段固定代码(payload),http响应为空
SQL注入告警流量特征
全天候出发高频率告警且数据流方向为从内到内的无敏感sql攻击字段的日志多为误报
查看url / Referer字段/User-Agent字段/cookie字段
1、出现一些特殊字符(eg:单引号【‘】、双引号【“”】、括号【()】、单引号括号【‘(】、双引号括号【“(】等一些常见的特殊的字符);
eg:<http://localhost/index.php/?id=1'and+1=1--+>
eg:<http://localhost/index.php/?id=1> and 1=1 -- -和1 and 1=2 --
2、出现SQL命令/语句(增加、删除、修改、查询语句或者各语句之间的串接)
eg:url/?id=1" union select updatexml(1,concat(0x7e,(select group_concat(username) from users),0x7e),1) -- -
eg:url/?id=-1' union select 1,group_concat(schema_name),3 from information_schemaschemata --+
3、出现注释符号(在语句的最后出现连续2个减号字元 – 后的 文字为注解,或“/”与“/”所包起来的文字为注解)
4、在url上出现万能密码字段 ‘or’1’='1
5、出现常见的特殊函数
database()、updatexml()、extractvalue()、group_concat()、concat()、limit()、order by()、unsion()、system_user()、version()、load_file()、sleep()、length()、exp()、group by()、substr()、、floor()and、or等函数。
eg:1” union select updatexml(1,concat(0x7e,(select group_concat(username) from users)),1) #
eg:?id=-1’ union select 1,2,seelp(5)--+
eg:?id=1” and updatexml(1,concat(0x7e,database()),3) --+
6、出现各种编码(eg:url编码,base64编码等)可利用Burp或 者在线解/编码器进行操作查看是否有特殊字段。
7、user-agent字段出现sqlmap/1.0.8.15#dev (http://sqlmap.org)
8、还有大小写绕过,编码绕过等等
9、报错函数包括
floor()报错注入
name_const()报错
exp()
convert()
extractvalue(),返回数据长度限制最长32位
updatexml(),返回数据长度限制最长32位
原理
通过某种方式将恶意的sql代码添加到输入参数中,然后传递到sql服务器使其解析并执行的一种攻击手法
原因
用户对sql查询语句参数可控
原本程序要执行的SQL语句,拼接了用户输入的恶意数据
类型
1)联合注入
2)堆叠注入3)宽字节注入4)cookie注入5)XFF头注入6)UA注入(user-agent注入)
7)Referer注入8)二次注入9)base64注入
10)万能密码11)文件读写
盲注类型: 1)基于时间的盲注 sleep() benchmark() 2)基于布尔的注入 3)基于报错的注入 updatexml() extractvalue() floor() exp()
绕过方法
1)大小写绕过注入
2)双写绕过注入
3)编码绕过注入
4)内联注释绕过注入
弱口令告警分析
- 登录口令安全威胁事件分类:弱口令、密码明文传输、密码base64传输
- 弱口令:对请求字段中登录信息进行分析验证,根据实际环境判断是否合乎弱口令标准(标准为8位数以上,数字、字母、大小写组合,判断是否为误报)
- 判断平台是否将base64编码识别为登录口令、进行编码转换后进行实际测试验证后判断,若登陆失败一般确认为误报信息
告警流量分析
总体思路:
以源地址和目的地址为筛选条件,利用“统计模型”思路进行分析,若近期一个/多个地址持续向某服务器发起数量较为均衡的攻击,多为误报信息,若短时间内某地址发起大量攻击行为,多为异常安全事件,恶意攻击发生概率较高。
由内而外的攻击也要注意,可能是因为成为了肉机
1)信息泄露
看访问路径中是否存在特殊文件或路径。
比如,访问备份文件.zip
访问默认文件,如phpMyAdmin3
或者特殊类型的文件.jar
2)XSS跨站脚本攻击
看请求参数或请求体中是否包含JavaScript代码如javascriptsample%3c
将响应体的数据复制到文件中执行,如果弹窗,说明攻击成功
特征语句:scirpt\javascirpt\alert\IMG scr=JaVaScRiPt:AlErT(”1”)
‘><script>alert(helloworld)</script>
3)代码执行
看请求参数、请求头、请求体中是否包含恶意代码
如看请求体中是否包含PHP代码:phpinfo()
Dedecems V5.7后台任意代码执行:%27source%27%20runphp
Fastjson反序列化:rowset.JdbcRowSetImpl
ThinkPHP 5.0x-6.1远程代码执行:_construct&filter[]
4)文件上传
看请求体中是否包含代码内容,如果响应体中包含success
等上传成功字样,或者有该文件的访问记录,说明webshell上传成功。
5)后门访问
Web后门访问语句:cat/etc/password /var/log/xx.log **.config **.mdb .exe root/bin/bash
- 优先对内部重要web服务器IP进行查询
- 重点查询扫描探测类攻击,短时间外网IP频繁发起“服务后门”访问行为,可能属于黑客通过工具发起WEBSHELL扫描,尝试是偶存在webshell后门;若出现说明攻击成功,可以在浏览器地址输入风险告警中的URL,判断是否存在账户、密码、其他可疑的输入口,从而判断是不是误报,确认不是误报,立即进行应急处置
- 发现内网主机对外对内攻击,首先看攻击频率,若频率较高,且不是内网渗透,则可能是内网主机变成肉机。
6)挖矿
- 挖矿报警根据传输的内容特征进行检测:1)登录到矿池;2)从矿池接受任务(method,job)
- 利用威胁情报网站对挖矿回连地址进行查询
- 查看详情信息,可以看到json结构,里面有特殊字段,除非正常通讯的内容和挖矿格式、内容类似,否则误报的几率较低
当我们的服务器或PC资源(CPU)使用率接近或超过100%,并持续高居不下导致服务器或PC操作延缓,我们就可以判定被挖矿。
7)暴力破解
- 误报类型多为异常连接
- HTTP暴力破解登陆失败的报警也需要重点关注(登录返回200,返回内容提示登陆失败则APT会认为登陆失败、其他登录未成功操作未尝试登陆,FTP暴力破解成功返回码未230重点关注)
- 观察攻击源,外部攻击内部建议服务器端查看系统日志,有无异常成功,提醒用户注意密码强度。若攻击源来自内部考虑员工破坏
8)钓鱼邮件
攻击者试图通过伪造数据包或伪造邮件服务器等方式来伪造指定的发件人,从而获取内网员工的信任,欺骗内网员工发开指定URL或恶意附件,达到控制内网终端的目的
钓鱼邮件是一种常见的网络针对性攻击手段,通常通过电子邮件发送虚假信息诱骗受害者提供个人敏感信息或进行非法行为。以下是几种发现钓鱼邮件的方法:
- 查看发件人地址:钓鱼邮件的发件人地址通常会伪装成合法、可信的机构或公司,但是如果您仔细查看发件人地址,就可能发现其不是该机构或公司真正的域名。
- 检查链接地址:钓鱼邮件中通常会包含可疑的链接,如果您将鼠标悬停在链接上,就可以看到链接的真实地址。如果该地址与邮件内容不符,就可能是钓鱼邮件。
- 注意邮件内容:钓鱼邮件通常会给人留下一种紧急、必须立即采取行动的感觉,从而诱骗用户点击链接或执行某些操作。因此,如果您收到这样的邮件,请仔细阅读邮件内容,并多加思考和确认。
- 注意邮件内容:钓鱼邮件通常会给人留下一种紧急、必须立即采取行动的感觉,从而诱骗用户点击链接或执行某些操作。因此,如果您收到这样的邮件,请仔细阅读邮件内容,并多加思考和确认。
- 尽量避免下载附件:钓鱼邮件通常会携带恶意附件,如果您无法确认邮件的真实性,最好不要下载或打开这些附件,以免被感染。
- 安装反钓鱼软件:有一些反钓鱼软件可以帮助用户检测和拦截钓鱼邮件,例如 Google 的Password Alert 等。
总之,发现钓鱼邮件需要多加警惕和注意,在收到可疑邮件时,应该仔细查看邮件内容和相关信息,并尽可能采取措施避免被钓鱼攻击。
CS流量特征
对比正常的http流量,CS的http通信流量具有以下几个特征:
A. 心跳包特征
a) 间隔一定时间,均有通信,且流级上的上下行数据长度固定;
B. 域名/IP特征
a) 未走CDN、域前置的,域名及IP暴露
b) 走CDN、域前置的,真实IP会被隐藏;
C. 指令特征
a) 下发指令时,通过心跳包接收指令,这时,server端返回的包更长,甚至包含要加载的dll模块数据。
b) 指令执行完后,client端通过POST请求发送执行的结果数据,body部分通过加密和base64编码。
c) 不同指令,执行的时间间隔不一样,可以通过POST请求和GET请求的间隔进行判断。
D. 数据特征
a) 在请求的返回包中,通信数据均隐藏在jqeury*.js中。
几万条告警?
对大量风险告警进行数据清洗,通过规则将无效告警和误报告警过滤掉,剩下就是待分析告警。
“哪些告警属于无效告警?” 比如说:攻击方通过对目标资产所处的C段进行批量扫描,但C段的资产都是处于「不活跃」状态,甚至根本没有这个资产。而安全设备还是因为这个「攻击尝试行为」产生了告警,那么这种告警就属于「无效告警」。 —“
怎么判断告警是误报?” 比如说:攻击方尝试利用现成的「EXP&POC集成脚本工具」对资产目标进行检测扫描,安全设备检测到**「攻击尝试行为」**中的攻击特征就会产生告警。在通常情况下,可以把告警中的URL的“网页状态码”、“页面回显数据”作为「误报告警」判断的条件之一。 —
“如何对「待分析告警」关联分析?” 从「待分析告警」中提取攻击特征,通过「攻击特征规则库」进行匹配,看能否获取到**「情报线索」** 比如说,在「待分析告警」数据发现这一段Payload,通过「攻击特征规则库」关联到它属于【ThinkPHP5 - 注入漏洞】 。但我们通过「资产指纹信息库」 进行核查发现「受攻击的资产」并没有使用「ThinkPHP5」框架。 按照这个分析逻辑,将整个流程脚本化输出。就可以排除「待分析告警」中那些真实的攻击尝试行为,却又未攻击成功的告警。
人工再对剩余的少量「待分析告警」进行分析研判,从其中捕获到「真实有效」的攻击事件的可能性相对于以往的分析方式会大的多。如果捕获到「真实有效」的攻击事件,还可以利用「资产指纹信息库」巡查具有同样指纹特征的设备是否也存在类似的漏洞。 安全设备进行报警如何看是否是外界的攻击,即是否是误报,或是内部人员进行的操作:查看报警日志,对报警的数据进行分析,看是不是内部人员的操作,还是真实的攻击
扫描和手动流量
扫描流量和手动流量的区别在于其产生的方式和行为特征,因此可以通过以下几种方法来查看区分它们:
- 查看流量来源:扫描流量通常是由自动化工具或蠕虫病毒等程序生成的,因此其源 IP 或者发起请求的主机通常不固定,而手动流量则来自人工操作的设备,其请求的 IP 地址和用户代理信息都会有所不同。
- 检测流量频率和规律:扫描流量通常会呈现出周期性、规律性的访问行为,例如连续大量的 TCP SYN 请求等。而手动流量则通常难以呈现出明显的规律和周期性。
- 观察流量的请求路径和参数:扫描流量通常是为了探测系统漏洞和弱点而产生的,它们通常会对一些已知的 URL 和参数进行大量的尝试,并使用一些特殊的 HTTP 头部信息。而手动流量则更加多样化,可能会包含更丰富的请求路径和参数。
- 分析流量的响应状态码和长度:扫描流量通常会通过检测返回的状态码和页面长度等信息来判断目标是否存在漏洞或弱点。手动流量则通常会具有更加正常的响应状态码和页面长度。
总之,通过综合分析流量来源、访问规律、请求路径和参数以及响应状态码等特征,我们可以比较准确地区分扫描流量和手动流量,并采取相应的防御措施。
命令/端口等死记类
Windows应急响应常用命令?
查看用户账号和组 lusrmgr
打开lusrmgr.msc,查看是否有新增/可疑的账号
敏感事件id:4624 登录成功4625 登录失败4634 注销成功4647 用户启动的注销4672 使用超级用户/管理员用户进行登录4720 创建用户4697 7045 PsExec
查看自启动项 msconfig
查看进程服务 taskmgr
wmic process where name=‘进程名’ list full 4 查看进程详细信息
taskkill /T /F /PID 强制关闭进程
wmic process | finderstr “xxxx.exe” 获取进程的全路径
查看计划任务 schtasks
查看用户会话 query user
查看端口和网络连接 netstat -ano
查看本地共享 net share
查看注册表 regedit
查看日志 eventvwr
查看进程
top 根据CPU占用率枚举进程
ps aux
ps aux | grep pid 根据进程号查看详细信息
ps elf | grep pid 根据进程号查看进程链
kill -9 pid 杀死进程
lsof -p pid 查询守护进程
pstree -aphn 树状显示进程
-a 显示该进程命令行参数
-p 显示pid
-n 按照pid排序
-h 高亮当前进程以及父进程
查看网络连接
netstat -antlp
-a 显示所有连接和端口-n 以数字形式显示ip和port-t 显示tcp-l 显示监听的服务-p 显示建立连接的进程名以及pid\ss –antpr-a 显示所有连接和端口-n 不解析服务的名称-t 显示tcp sockets-l 显示监听的端口 -p 显示监听端口的进程 -r 把ip解析为域名
查看异常文件
ls -alth -a 显示所有文件 -l 显示文件权限,属组属主,大小,日期 - t 按照时间顺序排序 -h 高亮
find / -ctime -2 查找72小时内新增的文件
查看用户
last 查询最近登录的用户记录\lastlog 查询所有用户最后一次登录的时间\last lastb 登陆失败的用户记录\usermod -L 用户名 禁用用户\userdel -r 用户名 删除用户
查看启动项
systemctl list-unit-files | grep enable 查看启动项
查看计划任务
crontab -l 查看计划任务crontab -e 编辑计划任务crontab -r 删除计划任务crontab -u 查看某用户计划任务
cat /etc/anacrontab 查看anacron异步定时任务
查看历史命令
history 查询主机历史命令
服务 | 端口号 | 说明 |
---|---|---|
FTP | 20 | FTP服务器真正传输所用的端口,用于上传、下载 |
21 | 用于FTP的登陆认证 | |
SSH、SFTP | 22 | 加密的远程登录,文件传输 |
Telnet | 23 | 远程登录(在本地主机上使用此端口与远程服务器的22/3389端口连接) |
SMTP | 25 | 用于发送邮件 |
DNS | 53 | 域名解析 |
HTTP | 80 | 用于网页浏览 |
POP3 | 110 | SUN公司的RPC服务所有端口 |
Network News Transfer Protocol | 119 | NEWS新闻组传输协议,承载USENET通信 |
SMTP | 161 | Simple Network Management Protocol,简单网络管理协议 |
SNMP Trap | 160、162 | SNMP陷阱 |
HTTPS | 443 | 加密的网页浏览端口 |
CIFS | 445 | 公共Internet文件系统 |
sql server | 1433 | Microsoft的SQL服务开放的端口 数据库 |
Oracle | 1521 | 数据库 |
NFS | 2049 | 通过网络,让不同的机器、不同的操作系统实现文件共享 |
MySQL | 3306 | 数据库 |
WIN2003远程登录 | 3389 | Windows 2000(2003) Server远程桌面的服务端口,本地服务器开放此端口,去连接到远程的服务器 |
QQ· | 4000 | 腾讯QQ客户端开放此端口 |
redis· | 6379 | 数据库 |
WebLogic | 7001 | 一个基于JAVAEE架构的中间件,WebLogic是用于开发、集成、部署和管理大型分布式Web应用、网络应用和数据库应用的Java应用服务器 |
Wingate | 8010 | Wingate代理开放此端口 |
TOMCAT | 8080 | WWW代理开放此端口 |
linux的日志存放目录
Linux 的日志文件通常存储在 /var/log 目录下,这是一个系统和应用程序日志文件的默认存储位置。不同的日志类型存储在不同的子目录下,以下是一些常见的子目录和对应的日志类型: /var/log/messages:系统日志,包含了操作系统的各种信息、警告和错误等。 /var/log/auth.log:安全认证日志,记录系统的用户登录、认证、授权等信息。 /var/log/syslog:系统日志的一个备份文件。
/var/log/kern.log:内核日志,记录内核级别的信息,例如硬件故障等。 /var/log/dmesg:内核环缓存,包含启动信息、硬件检测和驱动程序的信息等。 /var/log/cron:定时任务日志,记录定时任务执行的情况。 /var/log/maillog:邮件日志,包含了邮件服务器的日志信息。
windows事件ID
Windows系统的事件ID是在100到999之间的整数。例如,系统启动时的事件ID为100,关机时的事件ID为200,应用程序错误的事件ID通常在1000以上
提权操作
系统漏洞提权
- 获取操作系统类型及版本号
- 根据获取的系统版本号在互联网GitHub上搜索exp
- 尝试利用exp获取权限
- 尝试反弹shell
数据库提权
- mysql-udf提权
- mof提权、反弹端口提权、启动项提权
- 如果已经上传webshell,从中寻找数据库连接文件,从而获得数据库登陆密码
- 通过读取配置文件:命令规则(data\sql\inc\config\conn\database等等)
- 通过MySQL数据库的user表,数据库安装文件在data/mysql/user.myd下,
- frm:描述表结构文件,字段长度
- myi:索引信息
- myd:数据库信息文件,存储数据信心
- 获取当前mysql数据库连接信息,包括地址、端口、密码、账号、库名
- 数据库具有creat,insert,delete权限
- 寻找存在可读写的文件目录,一般是回收站(windows)或tmp(linux),用于上传提权工具或者写入脚本
redis漏洞原理:弱口令或者没密码直接进那种
应急响应类
流程
- 确认安全事件:要及时发现安全事件,快速确认其类型、范围和危害程度,并进行预警和通报。
- 切断攻击链:要采取有效措施,尽可能快地切断攻击链,阻止攻击扩散和进一步损失。
- 收集证据:要收集、保留安全事件相关的证据和信息,以便后续的调查和追踪。
- 分析病毒特征:要对病毒、木马等安全事件的特征进行分析,找出其入侵方式、攻击目的、传播途径等信息,以便防止类似安全事件的再次发生。
应对措施
根据安全事件的类型和程度,采取相应的应对措施,如修补漏洞、清除恶意软件、升级补丁、修改配置等。
恢复业务:在限制损失和消除安全风险的基础上,尽快恢复业务,保障用户和业务的正常运转。
事件总结:要对安全事件的应急响应过程进行总结和反思,发现问题并进行改进,提高应急响应能力。
常见的应急响应事件分类
- web入侵:网页挂马、主页篡改
- Webshell 系统入侵:病毒木马、勒索软件、远控后门
- 网络攻击:DDOS攻击、DNS劫持、ARP欺骗 网站被挂马如何应急(具体流程都是差不多的,看着变)
网站挂马
1.取证,登录服务器,备份,检查服务器敏感目录,查毒(搜索后门文件-注意文件的时间, 用户,后缀等属性),调取日志(系统,中间件日志,WAF日志等);
2.处理, 恢复备份(快照回滚最近一次),确定入侵方法(漏洞检测并进行修复)
3.溯源, 查入侵IP,入侵手法(网路攻击事件)的确定等
4.记录, 归档--------预防-事件检测-抑制-根除-恢复-跟踪-记录通用漏洞的应对等其他 安全应急事件
Linux入侵检测
- 分析安全日志var/log/secure看是否有IP爆破成功
- 查看etc/passwd分析是否存在攻击者创建的恶意用户
- 查看命令执行记录~/.bash_history分析近期是否有账户执行过恶意操作系统命令
- 分析/var/spool/mail/root Root邮箱,当日志被删除可查询本文件
- 分析中间件、Web日志,如access_log文件
- 调用命令last/lastb翻阅登录日志
- 分析/var/log/cron文件查看历史计划任务
- 分析history日志分析操作命令记录
- 分析redis\sql server\mysql\oracle等日志文件
Windows入侵检测
- 检查系统账号安全(弱口令、Netstat查看网络连接对应的进程,再通过tasklist进行进程定位)
- 查看系统登录日志,筛查4776、4624(登录成功)事件进行分析
- 使用命令lusrmgr.msc查看服务器是否存在可疑账号、新增账户
- 使用compmgmt.msc查看本地用户组有没有隐藏账户
- 导出日志利用Log Parser查看管理员登陆时间、用户是否存在异常
- 运行taskscd.msc排查有无可疑的任务
- 输入%UserProfile%\Recent分析最近打开过的可疑文件
- 分析中间件日志,如tomcat的logs文件夹localhost_access_log日志文件