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 ...
流量分析学习
Wireshark的基本使用基本界面介绍点进去就是wireshark的主界面,包含主机上存在的流量文件和用于捕获流量的网卡
工作界面
这里选用了以太网网卡捕获了一些流量进行演示
一些菜单栏
文件菜单
文件菜单主要负责打开已经抓取的数据包、最近打开的数据包合并数据包、导入导出特定数据包。
编辑菜单
编辑菜单主要负责对数据包分类标记,以及在抓包过程中按照时间大小进行分包存储,还有整个软件的首选项也在编辑菜单中。
捕获菜单
捕获菜单用于设置捕获规则,其中选项菜单可以设置捕获的网卡,还可以设置捕获规则
分析菜单
分析菜单针对已经获取的数据包进行分析,通过制定相应的规则筛分数据包。
视图菜单
视图菜单主要是针对软件中的视图显示进行设置,重点需要关注的是解析名称、列显示中的着色规则。
统计菜单
统计菜单可以通过对已有数据进行图形化数据分析,这个功能对于分析大量数据是非常有帮助的。
数据包显示相关数据包显示列信息
No:编号,根据抓取的数据包自动分配
Time:时间,根据捕获时间设定该列
Source:源地址信息,如果数据包包含源地址信息比如:IP、MAC等,会显 ...
msf基础使用学习
msf简介Metasploit Framework是一个综合性渗透测试工具,集成信息收集、漏洞扫描、漏洞利用以及提权等功能的工具
msf目录构成msf的目录位置
/usr/share/metasploit-framework
msf的各个模块
MSF有7个模块,分别对下面目录下的7个子文件夹
/usr/share/metasploit-framework/modules
auxiliary:负责执行信息收集、扫描、嗅探、指纹识别、口令猜测和Dos攻击等功能的辅助模块
encoders:对payload进行加密,躲避AntiVirus检查的模块
evasion:这是用于创建免杀木马的模块
exploits:利用系统漏洞进行攻击的动作,此模块对应每一个具体漏洞的攻击方法(主动、被动)
这里看一下Windows的一些提权脚本
/usr/share/metasploit-framework/modules/exploits/windows/local
可以看到有很多脚本可以使用,后续会进行学习使用。
payloads:成功exploit之后,真正在目标系统执行的代码或指 ...