waf绕过学习
来学习一下waf的相关知识,参考文章:https://www.kancloud.cn/noahs/src_hacker/2395057
https://xz.aliyun.com/t/12684?time__1311=mqmhDvqIOaGNDQtiQGkIfdAI3GKA9xhD&alichlgref=https%3A%2F%2Fwww.google.com%2F
WAF的分类
软件装在主机侧(服务器)上的软件,如安全狗、D盾、云锁等。
硬件装在企业链路上的,所有流量都要进过的硬件,一般由厂商安装,其串联在内网交换机,防护范围大。
云waf通过DNS解析到云WAF,访问网站的流量要经过指定的DNS服务器解析,然后进入WAF节点进行过滤,最后访问原始服务器,如阿里云、腾讯云之类。
WAF工作原理处理流程大致分为四部分:预处理、规则检测、处理模块、日志记录
预处理
接收到数据请求流量时,先判断该请求是否白名单,如果在白名单内直接交给服务器响应,否则解析后进入到规则检测。
规则检测
数据解析后就会进入到WAF的检测体系中进行规则匹配,检查是否符合要求。
处理模块
针对检测结果,符 ...
Tomcat常见漏洞
来学习一下Tomcat常见的漏洞。
Tomcat是什么tomcat就是一个免费的web服务器,和apache相同性质,主要用于jsp框架的网站,可以看作是apache的一个扩展,但是运行的时候是和apache属于不同进程的。
Tomcat的目录结构
bin:存放tomcat的脚本文件,例如启动、关闭
conf:存放tomcat的配置文件,例如server.xml、web.xml
lib:存放tomcat运行所需要的库文件(jar包)
log:存放tomcat执行时的log文件
temp:存放tomcat运行时产生的临时文件
webapps:Web发布目录,默认情况下Web应用文件存放于此目录
work:存放jsp编译后产生的class文件
介绍一些重要的配置文件:
server.xml:配置tomcat的启动端口号、host主机、Context等
web.xml:部署描述文件,该文件描述了一些默认的servlet,部署每个webapp时都会调用这个文件
tomcat-users.xml:tomcat的用户密码与权限
常见绕过手法Windows
利用/shell.j ...
Kerberos攻击专题
Kerberos认证基础在内网渗透中,Kerberos认证协议是基于票据的一种认证方式,由美国麻省理工学院发明,简单理解可以分为三部分:用户(Client)、服务器(Server)和 KDC(Key Distribution Center,密钥分发中心)。KDC包含AS(Authentication Server,认证服务器)和TGS(Ticket Granting Server,票据授权服务器)。
Kerberos基础认证流程其流程图如下:
解释如下:
AS_REQ。CIient向AS发起AS_REQ,请求内容为通过Client的哈希加密的时间戳、ClientID 等内容。
AS_REP。AS使用Client密码哈希值进行解密,如果解密正确,就返回用krbtgt的 NTLM-hash 加密的 TGT(Ticket Granting Ticket,票据授权凭证)票据。TGT 包含 PAC(Privilege Attribute Certificate,特权属证书),PAC包含 Client的相关权限信息,如 SID及所在的组。简单理解,PAC就是用于验证用户权限,只有KDC能制作和 ...
w1r3s.v1.0.1靶场学习
靶场介绍这是一个vulnhub里的一个初级的渗透靶场,主要是为了熟悉一下各个信息搜集工具的使用,以及跟着红队笔记的视频来学习一下渗透思路打一下基础。
这里的环境就一台靶机,直接打开vmx即可进行测试。
信息搜集主机存活探测渗透第一步需要做的就是信息搜集,我们先要确定主机的存活,确认我们要攻击的主机。
这里用几种方式来进行探测主机存活
namp
namp -sn 192.168.20.0/24 # -sn 采用四种不同类型的数据包探测目标主机是否在线,只进行主机探测不进行端口扫描
arp-scan
arp-scan -l
经过上面两种探测之后可以知道我们的目标靶机就是192.168.20.129,接下来就是对端口进行扫描搜集一下有哪些服务
端口扫描探测nmap -sT 192.168.20.129 # -sT 使用TCP进行端口扫描#还可以用这个命令扫描制定其他要求nmap -sT --min-rate 10000 -p- 192.168.20.129 -oA nmap/ports# --min-rate,设置最低发包速率,这里为每秒一万次;-p- 是扫描1-65535端口的简化 ...
内网权限持久化
权限持久化(Persistence,权限维持)技术就是包括任何可以被测试人员用来在系统重启、更改用户凭据或其他可能造成访间中断的情况发生时保持对系统的访问的技术,如创建系统服务、利用计划任务、滥用系统启动项或注册表、映像劫持、替换或劫持合法代码等。
常见系统后门技术创建影子账户就是创建隐藏的用户,无论通过计算机管理还是命令行查询都无法看到,只能在注册表中查到其信息。
下面是创建影子账户的步骤:
输入下面命令创建一个Hacker$用户
net user Hacker$ Hacker@123 /add # 创建隐藏用户,$符号代表该用户为隐藏用户
不过现在还是可以看到该用户
此时该用户仍为标准用户,我们还需要进行注册表的修改
在注册表编辑器中定位到HKEY_LOCAL_MACHINE\SAM\SAM,单击右键,在弹出的快捷菜单中选择“权限”命令,将 Administrator用户的权限设置为“完全控制”
在注册表项 HKEY_LOCAL_MACHINE\SAM\SAM\Domains\Account\Users\Names处选择 Administrator 用户,在左侧找到与 ...
pickle反序列化
主要是记录一下opcode方便查
参考文章:pickle反序列化初探 - 先知社区 (aliyun.com)
这篇文章已经说的很详细了值得细品
pickle介绍pickle就是python下一个用于进行序列化和反序列化的包,传输和存储数据更加灵活,是给python专用的。
与json相比,pickle以二进制储存,不易人工阅读;json可以跨语言,而pickle是Python专用的;pickle能表示python几乎所有的类型(包括自定义类型),json只能表示一部分内置类型且不能表示自定义类型。
pickle实际上可以看作一种独立的语言,通过对opcode的更改编写可以执行python代码、覆盖变量等操作。直接编写的opcode灵活性比使用pickle序列化生成的代码更高,有的代码不能通过pickle序列化得到(pickle解析能力大于pickle生成能力)。
可序列化对象
None 、 True 和 False
整数、浮点数、复数
str、byte、bytearray
只包含可封存对象的集合,包括 tuple、list、set 和 dict
定义在模块最外层的函数(使用 def ...
内网信息搜集常用工具
Nmap参考文章:https://cloud.tencent.com/developer/article/1933509
参考手册:https://wizardforcel.gitbooks.io/nmap-man-page/content/index.html
Nmap用于列举网络主机清单、管理服务升级调度、监控主机或服务运行状况。Nmap可以检测目标机是否在线、端口开放情况、侦测运行的服务类型及版本信息、侦测操作系统与设备类型等信息。
Nmap包含四项基本功能:
主机发现 (Host Discovery)
端口扫描 (Port Scanning)
版本侦测 (Version Detection)
操作系统侦测 (Operating System Detection)
copy一下一些nmap的参数过来
nmap –iflist : 查看本地主机的接口信息和路由信息-A :选项用于使用进攻性方式扫描-T4: 指定扫描过程使用的时序,总有6个级别(0-5),级别越高,扫描速度越快,但也容易被防火墙或IDS检测并屏蔽掉,在网络通讯状况较好的情况下推荐使用T4-oX test.xml: ...
内网渗透体系建设-内网横向移动
横向移动中的文件传输制定文件传输的方案,以便在后续操作过程向攻击目标部署攻击载荷或其他文件。
通过网络共享Windows 系统中的网络共享功能可以实现局域网之间的文件共享。通过提供有效的用户凭据,用户可以很轻松地将文件从一台机器传输到另一台机器。
执行net share命令可以查看Windows系统默认开启的网络共享
C$:C盘共享D$:D盘共享...依次类推ADMIN$:系统目录共享IPC$(Internet Process Connection):是共享“命名管道”的资源,为了让进程间通信而开放的命名管道,通过提供可信任的用户名和口令,连接双方可以建立安全的通道并以此通道进行加密数据的交换,从而实现对远程计算机的访问。
而实战中往往会建立IPC$连接。因为通过IPC$连接,不仅可以进行所有文件共享操作,还可以实现其他远程管理操作,如列出远程主机进程、在远程主机上创建计划任务或系统服务等。
建立IPC$连接要满足两个条件:
远程主机开启了IPC连接
远程主机的139端口和445端口开放
执行下列命令与远程主机建立IPC连接:
net use \\<IP/Hostname ...
MSSQL学习
来学习一下MSSQL相关的安全知识,不能只学MySQL
这里找到一位大佬的文章,跟着这个来逐步学习:https://github.com/aleenzz/MSSQL_SQL_BYPASS_WIKI
MSSQL介绍简介
MSSQL也叫Microsoft SQL Server。
SQL Server是由Microsoft开发和推广的**关系数据库管理系统(DBMS)**;
SQL Server使用方便,伸缩性好与相关软件集成程度高;
SQL Server 数据库引擎为关系型数据和结构化数据提供了更安全可靠的存储功能。
SQL Server各服务作用
SQL Server(MSSQLSERVER)是必须要开启的,这个是数据库引擎服务,它就像汽车的发动机一样,缺它不可。
SQL Server代理(MSSQLSERVER)是代理服务,比如你有一些自动运行的,定时作业,或者是一些维护计划,比如定时备份数据库等操作,那么就要打开,否则,就不会备份数据库了。
SQL Server Analysis Services (MSSQLSERVER)是分析服务,一般不用开启,除非你做多位分析,和数据挖掘, ...
redis常见漏洞学习
redis基础知识redis是一个非常快速的、开源的、支持网络、可基于内存亦可持久化的日志型、非关系类型的.Key-Value数据库,并提供多种语言的API。它提供了Java,C/C++,C#,PHP,JavaScript,PerlObject-C,Python,Ruby,Erlang等客户端,使用很方便。
与MySQL数据库不同的是,Redis的数据是存在内存中的。它的读写速度非常快,每秒可以处理超过10万次读写操作。因此redis被广泛应用于缓存,另外,Redis也经常用来做分布式锁。除此之外,Redis支持事务、持久化、LUA 脚本、LRU 驱动事件、多种集群方案。
一些常用的命令set xz "Hacker" # 设置键xz的值为字符串Hackerget xz # 获取键xz的内容info # 获取服务器的各种信息和统计数据比如服务器当前的状态、统计信息、配置参数、客户端连接情况等,我们还可以获取特定信息,比如info memory只获取内存信息SET s ...