121 有文件上传了漏洞了,linux下怎么找xx.conf的文件
目录遍历,目录扫描
122 反序列化漏洞原理
## 你要把别人序列化好的文件进行反序列化进行利用,但是在序列化的过程中,被别人注入了攻击代码、魔
法函数之类的,当你反序列化的时候,这些攻击代码就被执行了
123 常见中间件漏洞
?IIS5.x-6.x解析漏洞
## 使用iis5.x-6.x版本的服务器,大多为windows server 2003,网站比较古老,开发语句一般为
asp;该解析漏洞也只能解析asp文件,而不能解析aspx文件。win7-win10中多为iis7.x-8.x了,版本比较高。
目录解析(6.0)
形式:www.xxx.com/xx.asp/xx.jpg
原理: 服务器默认会把.asp,.asa目录下的文件都解析成asp文件。
文件解析
形式:www.xxx.com/xx.asp;.jpg
原理:服务器默认不解析;号后面的内容,因此xx.asp;.jpg便被解析成asp文件了。
解析文件类型
IIS6.0 默认的可执行文件除了asp还包含这三种 :
/test.asa
/test.cer
/test.cdx
修复方案
1.目前尚无微软官方的补丁,可以通过自己编写正则,阻止上传xx.asp;.jpg类型的文件名。
2.做好权限设置,限制用户创建文件夹。
apache解析漏洞
漏洞原理
## Apache 解析文件的规则是从右到左开始判断解析,如果后缀名为不可识别文件解析,就再往左判断。
比如test.php.owf.rar “.owf”和”.rar” 这两种后缀是apache不可识别解析,apache就会把
xx.php.owf.rar解析成php。
## 漏洞形式
www.xxxx.xxx.com/test.php.php123这个漏洞当时通杀了所有的apache搭建的网站。
## 其余配置问题导致漏洞
## (1)如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件
名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。
## (2)如果在 Apache 的 conf 里有这样一行配置 AddType application/x-httpd-php .jpg 即
使扩展名是 jpg,一样能以 php 方式执行。xx.jpg
其余配置问题导致漏洞
## (1)如果在 Apache 的 conf 里有这样一行配置 AddHandler php5-script .php 这时只要文件
名里包含.php 即使文件名是 test2.php.jpg 也会以 php 来执行。
## (2)如果在 Apache 的 conf 里有这样一行配置 AddType application/x-httpd-php .jpg 即
使扩展名是 jpg,一样能以 php 方式执行。
修复方案
? 1.apache配置文件,禁止.php.这样的文件执行,配置文件里面加入
? 2,用伪静态
nginx解析漏洞
大致原理:该漏洞与nginx、php版本无关,属于配置不当造成的解析漏洞。
## 当php.ini配置文件中开启了cgi.fix_pathinfo,该值默认为1,表示开启。看名字大概知道是处理路径用的配置。
## 比如我们上传了一个木马文件web.jpg,因为web.php不能上传,现在我们想执行这个web.jpg,可以如下路径访问
http://192.168.2.104/pikachu/web.jpg/aaa.php
## 而目标服务器上没有aaa.php文件,本来如果nginx.conf的配置没有问题的话,nginx会先去找下这个文件是否存在,如果存在,在找php解释器来解释执行代码,如果不存在,nginx会直接返回错误信息,说找不到该文件,但是如果nginx.conf配置不当会导致nginx把以’.php’结尾的文件交给fastcgi处理,也就是说首先nginx看到你路径中要找aaa.php,哦,原来是php文件,nginx不去找这个文件了,而是就直接交给了fastcgi,fastcgi又去找php解释器去处理该路径,而php开启了cgi.fix_pathinfo,那么php解释器处理这个路径的时候,发现没有aaa.php文件,那么他会找路径中上一层路径的文件作为aaa.php来运行,如是乎就找到了web.jpg,将web.jpg当作aaa.php来运行了,所以代码被执行,
修复方案
? 1.修改php.ini文件,将cgi.fix_pathinfo的值设置为0;
2.在Nginx配置文件中添加以下代码:
? ? if ( $fastcgi_script_name ~ ..*/.*php ) {
return 403;
}
IIS7.x解析漏洞
S7.5的漏洞与nginx的类似,都是由于php配置文件(php.ini文件)中,开启了cgi.fix_pathinfo,而这
并不是nginx或者iis7.5本身的漏洞,都是配置不当引起的。
124 常见中间件漏洞
(一) IIS
? 1、PUT漏洞
? 2、短文件名猜解
? 3、远程代码执行
? 4、解析漏洞
(二) Apache
? 1、解析漏洞
? 2、目录遍历
(三) Nginx
? 1、文件解析
? 2、目录遍历
? 3、CRLF注入
? 4、目录穿越
(四)Tomcat
? 1、远程代码执行
? 2、war后门文件部署
(五)jBoss
? 1、反序列化漏洞
? 2、war后门文件部署
(六)WebLogic
? 1、反序列化漏洞
? 3、任意文件上传
? 4、war后门文件部署
125 windows,linux提权
Windows提权
? ## 微软官网找公布的exp --- 查看哪些补丁没有打,找到对应漏洞利用工具
? ## 使用工具 ---- 很多专门提权的工具,比如我用过一个叫Pr的工具
? ## sc命令提权 --- 针对版本windows 7、8、03、08、12、16
? ## 利用 kali 的msf 提权
Linux提权
## 内核漏洞提权,比如老版本kali的内核漏洞
## 脏牛提权
## sudo 提权
## SUID提权
数据库提权
## mssql提权 ------ sqlTools 工具
## Oracle数据库 ------ 使用oracleshell工具
## MySQL提权
## UDF自身提权
## MOF漏洞提权
## MySQL启动项提权
126 mysql数据库提权,udf提权怎么利用
mysql提权:udf、mof、启动项提权
mof提权:https://www.cnblogs.com/zzjdbk/p/12991468.html
udf提权:https://www.cnblogs.com/sfsec/p/15241860.html
## udf是mysql自带的拓展函数的功能模块,方便用户使用自定义函数来完成某些任务,只需要写一个dll文
件(动态链接库文件),上传到指定目录中,比如Mysql>5.1版本时,是放到mysql安装目录下面的一个叫
做/lib/plugin目录下。Mysql会自动加载这个dll文件和里面的代码。基于它来进行提权,就是我们的udf
提权
实践:
1.手工:
通过sql注入点,可以使用原生sql语句, SELECT 0x4d5a900003... INTO DUMPFILE
'C:/phpstudy_pro/Extensions/MySQL5.7.26/lib/plugin/lib_mysqludf_sys_64.dll';
目标主机目录
0x4d5a900003...是16进制编码的dll文件数据
语法:Select … into dumpfile ‘目录路径’
还可以使用sqlmap基于sql注入点来写入。
python sqlmap.py -u "http://192.168.178.130/sqli-labs/Less-1/?id=1" --file-
write="d:/tools/sqlmap/extra/cloak/lib_mysqludf_sys_64.dll" --file-
dest="C:/phpstudy_pro/Extensions/MySQL5.7.26/lib/plugin/lib_mysqludf_sys_64.dll"
2:工具
webshell大马也具备udf.dll提权功能。
127 mof 提权?
## 在 linux 下不能使用,就是利用了c:/windows/system32/wbem/mof/目录下的nullevt.mof 文
件,每分钟都会在一个特定的时间去执行一次的特性
128 常见的未授权访问
## redis未授权访问漏洞:通过上传公钥的方式将自己的公钥上传上去,以达到了免密登录的效果。
1、SpringBoot Actuator 未授权访问
2、Apache Spark未授权访问
3、Solr 未授权访问
4、Weblogic 未授权访问
5、Zabbix 未授权访问
6、Kibana 未授权访问漏洞
7、Elasticsearch 未授权访问漏洞
8、Druid未授权访问漏洞
9、FTP 未授权访问漏洞
10、JBoss未授权访问漏洞
129 常见的逻辑漏洞
## 密码修改
## 任意用户注册
## 积分修改
## 手机号无限注册
## 支付修改金额
## 修改积分
## 任意注册
## 任意密码修改
130 越权漏洞的分类
就是使得一个低权限的用户可以执行高权限用户的一些操作
分类:## 水平越权、垂直越权
水平越权:## 一个普通用户可以执行另一个普通用户的一些操作,查看的其信息或执行一些操作。
垂直越权:## 普通用户可以执行管理员用户的一些权限,进行增删改查
漏洞怎么测的:## 接受这个项目的时候,有一个普通用户登录的界面,有一个管理员用户的界面,在登陆的
时候,可以用普通用户的cookie登录管理员的cookie,可以执行一些管理员的操作。
## 公司会给我两个账号,一个普通一个管理员,管理员添加一条数据,普通用户是没有这个操作的,管理员
用户登录,添加数据抓个包,管理员用户的cookie替换为普通用户的cookie,这样就用普通用户的身份去发
送数据,以管理员的身份就可以成功添加用户。
131 了解哪些命令执行漏洞,说一下命令执行漏洞原理
命令执行漏洞就是服务器端没有对客户端用户输入的命令进行过滤,导致用户可以通过任意拼接系统命令,使
服务器端成功执行任意系统命令
命令执行漏洞主要是服务端没有对执行命令的函数做出过滤导致的。我们可通过编写一些系统函数来输入疑似
存在命令执行接口的地方,来检测是否此接口是否存在命令执行漏洞
s2命令执行漏洞,
命令执行原理:## 设计者在编写代码时没有做严格的安全控制,导致攻击者通过接口或相关参数提交“意想不
到”的命令,从而让后台进行执行,从而控制整个后台服务器 。
132 nmap常用参数
nmap看一个ip开放了什么端口你怎么输入
nmap -PA ip
namp工作原理
发送请求数据包,通过相应结果来判断是否开放或者存活
133 base64编码到后端,会继续解析吗?
不能解析,因为传输过程中+或被处理为空格
解决办法:发送base64编码数据之前,先进行一次URL编码在发送。
134 安全巡检:
甲方项目的安全巡检工作,是月检、每个月月底检查、主要是系统和数据库的巡检。
基线检查就是看哪里不合规、检查密码复杂度之类的
加固就是将不合规的地方改掉
135 应急响应一般的流程--windows
1,查看进程,
2,看有没有异常连接,
3,查看ip地址的归属地,
4,在对进程查看其服务的名字,进一步确认是不是攻击,
5,确认之后再去杀掉进程,并检查是否留有后门,比如设置了开机启动项或者设置了定时任务。
136 木马查杀流程
1,查看异常连接
2,查看进程名字及服务
3,删除进程并查看系统配置
4,查找病毒注册表开机启动项
5,删除病毒源文件
6,删除一些后门程序之类的
137 说一个印象深刻的应急响应事件
自己凭亲身经验说就可以
138 服务器被入侵了,怎么搞应急响应,windows和linux,用到了什么工具
windows应急
一、查看系统账号安全
? 1、查看服务器是否有弱口令、可疑账号、隐藏账号、克隆账号、远程管理端口是否对公网开放
? 2、win+r(eventwmr.msc)查看系统日志,查看管理员登录时间、用户名是否存在异常
二、检查异常端口、进程
? 1、netstat -ano 检查端口连接情况,是否有远程连接、可疑连接
? 2、tasklist | findstr "PID"根据pid定位进程
? 3、使用功能查杀工具
三、启动项检查、计划任务、服务检查
? 1、检查服务器是否有异常的启动项,msconfig看一下启动项是否有可以的启动
? 2、检查计划任务,查看计划任务属性,可以发现木马文件的路径
? 3、见擦汗服务自启动,services.msc注意服务状态和启动类型,检查是否有异常服务
四、检查系统相关信息
? 1、查看系统版本以及补丁信息 systeminfo
? 2、查找可疑目录及文件 是否有新建用户目录 分析最近打开分析可疑文件
(%UserProfile%\Recent)
五、自动化查杀
使用360 火绒剑 webshell后门可以使用d盾 河马等
六、日志分析
360星图日志分析工具 ELK分析平台
linux应急
1、检查用户及密码文件,查看是否存在多余帐号或陌生账号,
## 主要看一下帐号后面是否是 nologin,如果没有 nologin 就要注意;
2、查看用户登录情况,用户行为
? ## 通过 who 命令查看当前登录用户(tty 本地登陆 pts 远程登录)、
? #3 通过w 命令查看系统信息,查看某一时刻用户的行为、
? ## 通过 uptime查看登陆多久、多少用户,负载;
3、 查看history历史命令
4、 令分析可疑端口
## 用 netstat -antlp| more命令分析可疑端口、IP、PID,查看下 pid 所对应的进程文件路径,运行
ls -l /proc/$PID/exe 或 file /proc/$PID/exe($PID 为对应的pid 号);
5、分析可疑进程
## 使用ps命令,分析进程 ps aux | grep pid
6、检查当前系统运行级别,检查运行级别对应目录下有没有可疑文件
## 使用 vi /etc/inittab 查看系统当前运行级别,通过运行级别找到/etc/rc.d/rc[0~6].d对
应目录是否存在可疑文件;
7、查看定时任务
## 看一下crontab定时任务是否存在可疑启用脚本;
8、检查服务,排查可疑服务
## 使用chkconfig --list 查看是否存在可疑服务;
9、分析系统日志和web日志,判断是否存在攻击痕迹
## 通过grep awk命令分析/var/log/secure安全日志里面是否存在攻击痕迹;
10、用工具对系统进行查杀
## chkrootkit、rkhunter、Clamav 病毒后门查杀工具对 Linux 系统文件查杀;
11、如果有 Web 站点,可通过 D 盾、河马查杀工具进行查杀或者手工对代码按脚本木马关键字、关键涵数
(evel、system、shell_exec、exec、passthru system、popen)进行查杀Webshell 后门。
139 入侵之后如何做权限维持?应急时发现了权限维持,那么怎么解决。
权限维持方法:
## 添加匿名用户
## 激活Guest用户
## shift后门
## 添加schtasks计划任务
## 添加启动项,服务
解决权限维持
## 及时删除,排查有无其他权限维持方法
140 你对内网渗透有了解吗?
内网渗透分为域渗透和工作组渗透
内网渗透基本步骤
?Step1、信息收集 --- ## 基本信息,用户信息,网络信息,权限信息等
?Step2、获取权限 --- ## 通过一些漏洞拿下一台主机的系统权限?
?Step3、横向移动 --- ## IPC + at/schtasks | IPC + sc | wmic 远程命令执行 | msf横向移动工具,Python脚本工具
?Step4、权限维持 --- ## 添加匿名用户,激活Guest用户,添加schtasks计划任务,添加启动项,服务
?Step5、清理痕迹 ---- ## 操作记录,历史记录等
如果属于内部网络,不能触网的主机还需要进行端口转发,建立隧道,创建代理等
? ? 端口转发:nc、netsh、lcx
? ? 代理:socks代理,regeorg+profixer,ew毒液
? ? 隧道:ngrok,frp ,Stowaway,DNS隧道,ICMP隧道
141 socks代理原理
## 将内网主机的流量数据转发到被控制的主机上,然后利用
142 做过免杀吗?怎么做的?原理
木马免杀:## 对php语言的一句话木马变形,研究了一些,基于语言特性可以实现免杀,比如:变量多层赋
值,eval函数中通过反引号和注释符号来进行干扰 /**123**/ ,变量赋值可以换行、一维、二维数组变
形、可变变量
143 ips和ids的区别?
ips:入侵防御系统
ids:入侵检测系统
IPS
IPS对web应用层进行防御,作用是防火墙一个弥补。(对sql注入xss等进行拦截),同时具备对一到七层进
行一个检测和防御,详细的和态势感知一样流量包,底层的ARP一些僵、木、蠕的流量检测都可以实现
缺点:误报率太高。经常会拦截正常的用户。
IDS
IDS只有入侵检测功能,不带防御。优点:进出的流量进入核心的交换机,它在某一个端口做一个镜像。把
internet进来的流量已复制的方式进入到IDS进行分析,也是一到七层进行一个详细分析 。它没有防御的功
能,不会拦截攻击,只能检测出由用户做决定
144 内网渗透信息收集怎么做
本机信息收集 ----- ## 网络配置,系统和软件信息,服务信息,进程列表,计划任务,用户,端口,补
丁,防火墙配置
权限查询 ----- ## 当前用户权限,指定用户权限
判断存不存在域 ------- ## ipconfig查询,查看系统详细信息,查询当前登录域及登录用户信息,判断
主域
探测域内存主机 ---- ## NetBIOS快速探测,ICMP协议探测,ARP协议探测等
1、基本信息收集
## 进程列表,版本,补丁,服务,任务,防护
2、用户信息收集
## 域用户,本地用户,用户权限,组信息…
3、网络信息收集
## 端口,环境,代理通道…
1.获取本机网络配置信息
2.操作系统和软件信息
3.查询本机服务信息
4.查询进程列表
5.查看启动程序信息
6.查看计划任务
7.查看主机开机时间
8.查询用户列表
9.列出或断开本地计算机与所连接的客户端之间的会话
10.查询端口列表
11.查看补丁列表
12.查询本机共享列表
13.查询路由表及所有可用接口的ARP缓存表
14.查询防火墙配置
15.查看代理配置情况
16.查询并开启远程连接服务
权限查询
? 1.查看当前权限
? 2.获取域SID
? 3.查询指定用户的详细信息
判断是否存在域
? 1.ipconfig查询
? 2.查看系统详细信息
? 3.查询当前登录域及登录用户信息
? 4.判断主域
?执行 net time /domain ---- ## 该命令显示主域控制器的时间
?执行 ipconfig /all ?----- ## 当前主机如果是工作组中,则主DNS后缀为空。如果加入了域则主DNS为域名
?执行 systeminfo ------- ## 工作组环境systeminfo查询的显示为WORKGROUP,域环境查询的域是域名
探测域内存活主机
? 1.NetBIOS快速探测
? 2.ICMP协议探测
? 3.ARP协议探测
145 了解过cs工具么 功能有啥
## 了解,Cobalt Strike是一款美国Red Team开发的渗透测试神器,常被业界人称为CS。是渗透测试中不
可缺少的利器。
## 其拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,socket代理,office攻击,文件捆
绑,钓鱼等功能。
## 同时,Cobalt Strike还可以调用Mimikatz等其他知名工具,因此广受黑客喜爱
Cobalt Strike分为客户端和服务端可分布式操作可以协同作战
## 功能:
?代理
?远程vnc
?屏幕截图
?文件管理
?端口扫描
?生成无状态木马,
?键盘记录
146 用cs做一个免杀怎么做?
在线shellcode生成
147 日志记录被人删除了,你该怎么做?
看看能不能想办法恢复日志记录,备份恢复、使用工具来恢复,或者直接磁盘扇区物理恢复
? ## lsof(list open files)工具(是一个列出当前系统打开文件的工具)
? ## root 用户的身份运行lsof工具,具体实操不是我做的
148 等保工作
工作内容:## 基线检查、安全加固方面的工作,基本都是通过公司的加固文档来操作的。
流程:## 等级备案、差距评估、等保整改、等保测评。
操作系统加固:## windows、linux、数据库加固,身份识别加固、配置加固
149 apt攻击流程
## 有组织、有特定目标、持续时间极长的新型攻击和威胁,国际上有的称之为 APT(Advanced Persistent Threat)攻击
## 高级持续性威胁(Advanced Persistent Threat)是指组织(特别是政府)或者小团体使用先进的攻击手段对特定目标进行长期持续性网络攻击的攻击形式
150 域控、域渗透、拿下一个服务器,怎么判断是否存在域,如何进行域渗透
判断是否存在域
?执行 net time /domain ---- ## 该命令显示主域控制器的时间
?执行 ipconfig /all ?----- ## 当前主机如果是工作组中,则主DNS后缀为空。如果加入了域则主DNS为域名
?执行 systeminfo ------- ## 工作组环境systeminfo查询的显示为WORKGROUP,域环境查询的域是域名
内网渗透基本步骤
?Step1、信息收集 --- ## 基本信息,用户信息,网络信息,权限信息等
?Step2、获取权限 --- ## 通过一些漏洞拿下一台主机的系统权限?
?Step3、横向移动 --- ## IPC + at/schtasks | IPC + sc | wmic 远程命令执行 | msf横向移动工具,Python脚本工具
?Step4、权限维持 --- ## 添加匿名用户,激活Guest用户,添加schtasks计划任务,添加启动项,服务
?Step5、清理痕迹 ---- ## 操作记录,历史记录等
如果属于内部网络,不能触网的主机还需要进行端口转发,建立隧道,创建代理等
端口转发:nc、netsh、lcx
代理:socks代理,regeorg+profixer,ew毒液
隧道:ngrok,frp ,Stowaway,DNS隧道,ICMP隧道