应急响应的命令
Linux
ps -aux 查看进程 netstat -antlp 查看端口
top查看 cpu使用情况 Windows
tasklist 查看进程 netstat -an 查看端口
struts2原理特征
原理:
045:默认的content-type解析器会把用户传来的数据直接当成代码执行,造成rce
特征:ognl表达式,memberaccess字段,可以通过catalina日志过滤关键信息查找攻击特征
016:ongl表达式可以被当作代码执行,其中的类为defaultactionmapper支持的redirecraction方法
特征同上
fastjson的原理和特征
原理:codegen生成的writer会被getjson调用,当传入json数据即向上递归实现代码执行
fastjson通过AutoType,可以前端输入json格式字符串,其中的@type 指定class类型,再通过get和set方法设置属性,这个时候就可以尝试寻找可利用的方法,常见的有两种:TemplatesImpl:其中包含_bytecodes字段,可以传入恶意字节码,但是限制很大,一般不使用利用jndi注入:寻找可以使用jndi的地方,如JdbcRowSetImpl,其中的dataSourceName设为jndi,需要保证autoComit不为空,这个时候才可以进入lookup方法
特征:发送json数据会有datesourename字段,(dataSourceName只是其中的一种利用方式,正常来讲一定会有@type)
shiro550原理及特征
原理:shiro使用rememberMe来作为下次不需要登陆的设置,这个值放在cookie中, rememberMe的生成过程是:序列化用户数据、使用Key进行AES加密(默认使用硬编码的key)、base64编码,因此rememberMe的cookie构造就很简单了,只需要加载恶意的序列化数据使用key加密然后base64编码即可。
特征:在cookie值得rememberMe是一段很长的base64值,正常的值一般比较短(仅个人理解)
shiro 550key固定 721不固定
shiro721,Key不固定,使用了CBC模式,可以使用Padding Oracle Attack
log4j2的原理及特征
原理:log4j2框架下的lookup服务提供了{}字段解析功能,传进去的值会被直接解析,JNDI服务会请求远程服务来链接本地对象,这时候只用在{}里面调用JNDI服务即可反弹shell到指定服务器
特征:数据包里有{jndi:ladp//}字段
weblogic特征原理
原理:xml反序列化,这是wls组件对外提供的webserver页面,通过xmlDecoder功能来解析用户的xml数据导致的任意字符串都被当作代码去执行
特征:开放7001端口,传递xml数据到wls-wsat,数据包内容有bash 或者dnslog字段
原理:
从日志查看(日志存放位置:/domains/当前域目录/servers/AdminServer/logs)弱口令利用上传war的特征:分析AdminServer.log日志查找deploy war字样利用T3协议传输反序列化数据特征:AdminServer.log日志中,一般利用的cc链(common-collections),因此日志文件可能有InvokerTransformer、ChainedTransformer等利用socket连接特征:base_domain.log或AdminServer.log日志中,会有socket字样文件操作:base_domain.log中会有FileOutputStream字样
weblogic T3 反序列化
原理:weblogic调用rmi服务传递对象时对参数没过滤完全,而中间T3协议对传递的字符串只能增加黑名单,这次的poc爆出来的marshalledobject类中的objbytes方法进行二次反序列化即可绕过当前weblogic的参数传递黑名单
特征:数据内包含t3字段,类似:t3 12.2.1\nAS:255\nHL:19\nMS:10000000\nPU:t3://us-l-breens:7001\n\n
ssrf特征分析
可以看请求包内一些绕过姿势
0x01 一些特殊符号 @ [::] 。
0x02 看协议 dict gopher file
0x03 短连接 localhost
0x04 ip进制绕过
登录框怎么渗透
爆破,弱口令,注册,找回密码,越权,寻找cms特征再去搜公开漏洞
登录后台后怎么办
寻找上传点/利用点,查看是否是一些框架漏洞版本进行利用
windows应急响应中了cs木马怎么排查 ,溯源
排查:sysmon日志内提供了windows所有的出入站日志可以直接查看,当cs上线以后更改sheep属性会触发event_id字段参数,直接过滤查找即可,还可以编写cef规则去查看是否恶意外链tcp udp
cs反制
批量上线钓鱼马,启几百个进程,ddos红队cs端
爆破cs密码-teamsever50050 有脚本
假上线 发送心跳包,模拟上线 有脚本
用过的安全设备
ips ids 入侵防御 入侵检测 waf 防火墙 蜜罐 EDR NGAF
有告警怎么分析是否是攻击
查看请求包里面是否带有top10的特征
常见中间件的解析漏洞有什么
iis5.x /6.0 Apache从右往左读取文件名(1.php.xxx) Nginx解析漏洞(1.png/.php)
jsp内存马
jsp内存马已知的有四种形式:(可能不止四种,笔者水平有限,这里没有讲冰蝎、哥斯拉的内存马实现方式)基于servlet:基于某个指定的URL访问,后面跟上系统命令,如/xxxx?cmd=whoami基于filter:只要设置filter是/*,那么访问baseURL的所有命令都可以执行命令,如baseURL/?cmd=whoami基于listener:同样可以是所有的baseURL均可基于javaagent
排查方式:主要是通过日志(error.log,access.log)找到是否有执行相关系统命令,如果存在且访问的URL可以任意或者指定的URL(这里的“指定URL”指的是基于baseURL的,比如说/xxxx?cmd=whoami,的/xxxx,前面的域名都是baseURL),基本可以猜测确定存在内存马,也可以通过工具进行分析,如:FindShell(原理大概也是动态读取filter或servlet下所有url写到某文件?这是笔者猜测,没有具体去分析)
各种工具辅助查杀:https://www.anquanke.com/post/id/253386#h2-5
解决方法:最简单的方式就是重启如果不可以重启可以尝试重新写一个良好的内存filter覆盖?(这个是笔者观点,没有测试过?)利用javaagent或javaassit进行覆盖(百度搜索,原理暂不了解)
php不死马查杀
重启服务器
强行kill进程
while循环写脚本删文件
while循环写同名文件
防火墙如何使用
防火墙看报警看流量分析误报(内网存在一些误报 如果误报数据过多可以直接拉白名单 担心需要跟客户沟通一下)设置策略以及一些黑白名单
你怎么做应急响应
查看日志,端口,进程,输入的命令那个h啥玩意寻找文件修改的时间或者上传的时间
计划任务 开机启动项 注册表 影子账户
shiro反序列化原理?特征
攻击者构造一个恶意的对象,并且对其序列化,AES加密,base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞
特征就是有可能请求里面带有rememberMe=deleteMe或者返回包里面也带rememberMe=deleteMe 或者去指纹识别
csrf
...跨站请求伪造攻击 ssrf为服务器请求伪造攻击
两者区别:csrf客户端 ssrf服务端
内网
落地机权限判断,服务判断,出网判断,信息收集,密码及hash获取转存,权限维持,网段信息收集,存活主机收集
域内主机权限判断,出网判断,定位域控提权补丁判断,tgt票据伪造横向传递,打域的三种手段,域密码置空,域哈希获取
sql注入原理
恶意sql语句传入数据库并运行
sqlmap高低level的区别,-os-shell原理,sql注入写文件条件
不同leave包含的payload数量不一样,还有速度不同。
sql注入写文件需要写入 权限
sql写shell用什么函数
dumpfile outfile file_put_contents #outfile适合导库 不能写二进制可执行文件
xss,csrf,xxe的区别
有些区别??xss??原理不会?? ssrf不会原理?服务端请求伪造 xxe??我也有点忘记了
XSS是服务器对用户输入的数据没有进行足够的 过滤,导致客户端浏览器在渲染服务器返回的html页 面时,出现了预期值之外的 脚本语句被执行。CSRF: CSRF是服务器端没有对用户提交的数据进行随机值校 验,且对http请求包内的refer字段校验不严,导致攻击 者可以 利用用户的Cookie信息伪造用户请求发送至服 务器。
XXE漏洞即xml外部实体注入漏洞,发生在应用程序解析 XML输入时,没有禁止外部实体的加载,导致可加载恶 意外部文件,造成文件读取、命令执行、内网端口、 攻击内网网站、发起dos攻击等危害。
对于业务逻辑漏洞的了解
由于程序员对于权限控制不足,导致越权,水平越权,等,多看看百度
网页被挂黑链怎么处置??
两种思路:首先要保护现场利用日志定位到修改时间,(找到最近修改的所有文件),定位到和修改时间相近的部分日志查看使用webshell查杀脚本或工具找到对应后门文件,从后门文件和日志一步一步分析
redis未授权修复
答:白名单/添加口令
java0day咋处置
答:未感染的主机acl隔离,关闭ssh,rdp,排查,已经被攻击的断网封ip,开启厂商临时防护,预防口令策略加固,服务打开 cmd netstat vno
进去后台干嘛
答:找上传利用点,或者看一下版本信息是否是互联网暴露有漏洞进行getshell
redis未授权利用
答:写入公钥/知道路径可写webshell/利用计划任务执行命令反弹shell 问具体怎么操作,有点忘记需要看笔记。
SQL注入流量分析
答:查看包里面是带有sql注入特征比方说查看version,或者查看数据库databases/注入有自己的特征 报错函数 盲注函数 联合查询函数
HVV前准备
答:hw前期准备就培训说的那些,资产收集,查版本,升级打补丁,扫文件,弱口令,培训员工安全意识
流量分析
答:从物理层向上解析到应用层,命令有http查看http请求,ip.addr ip.src tcp.post 等
中间件漏洞
IIS PUT漏洞、短文件名猜解、远程代码执行、解析漏洞
Apache 解析漏洞、目录遍历
Nginx 文件解析、目录遍历、CRLF注入、目录穿越
Tomcat 远程代码执行、war后门文件部署
JBoss 反序列化漏洞、war后门文件部署
WebLogic 反序列化漏洞
SSRF 任意文件上传
war 后门文件部署
Apache Shiro 反序列化漏洞
Shiro rememberMe(Shiro-550)
Shiro Padding Oracle Attack(Shiro-721)
挖矿木马如何解决 linux
先用top命令查看占用很高的进程,然后记住他的pid
ls /proc/(pid)/exe 查看挖矿进程 在那个目录
先 chmod 000 file 然后 在锁死这个目录让木马无法操作(linux锁死目录的命令忘了 那个大佬补充一下)
pid 吧木马kill了
再去top 目录下 查看占用高的进程 这个进程一般就是写挖矿木马的进程
同上去proc 找到 目录 chmod 000 file
kill这个写木马的进程
再去吧木马文件删除就解决了
windows
打开资源管理员,查找占用cpu资源较高的服务和进程,打开文件所在位置,对文件进行分析查看是否属于挖矿程序
确认挖矿程序后,先对挖矿程序进行备份(主要也是自己也要采样了解挖矿的样本)
关闭对应的服务与进程
在删除对应的定时任务
最后删对应文件 删除完以后在重启试试看看还有没有定时任务,进程,服务这些
自己其实最好准备一个edr啥的东西 到时候用也好用 别自己查了半天没找到相关进程任务啥的(edr找到时候对应的项目经理要一个 对应哪个厂商就要哪个厂商的edr 别hw去的sxf的厂拿出来trx的edr)
进程排查
火绒剑
除了解析漏洞你还知道哪些中间介漏洞,挑几个说说
shiro log4j tomcat iis