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之后,真正在目标系统执行的代码或指 ...
内网渗透体系建设-权限提升
权限提升可以分为横向权限提升和垂直权限提升,前者是指同级用户,后者是指低级用户到高级用户。
系统内核漏洞提权当目标系统存在该漏洞且没有更新安全补丁时,利用已知的系统内核漏洞进行提权测试人员往往可以获得系统级别的访问权限。
查找漏洞手动查找
systeminfo
可以利用该命令查看系统安装的补丁
然后可以结合系统版本信息,借助辅助工具寻找可用的提权漏洞。
借助WES-NG查找可用漏洞
项目地址:https://github.com/bitsadmin/wesng
使用方法:
执行下面命令更新漏洞库数据
python3 wes.py --update
在目标主机执行systeminfo命令,并将结果保存到sysinfo.txt中,然后执行下面命令,用WES-NG进行检查
python3 wes.py sysinfo.txt --impact "Elevation of Privilege"#--impact指定漏洞类型为提权漏洞
emmm我的win7systeminfo文件跑出来什么都没有,跑了一下我的win11竟然有cve没绷住
执行下面命令查找所 ...
内网渗透体系建设-端口转发和代理
端口转发和代理在渗透测试中,在获取目标外网权限后,需要通过转发端口或搭建代理等方式建立内网通道。
正向连接与反向连接两个基本概念:正向连接和反向连接。例如,Metasploit 大致可以分为两种Meterpreter,一种是以 windows/meterpreter/bind_tcp为代表的 Bind Shell,另一种是以 windows/meterpreter/reverse_tcp 为代表的 Reverse Shell。其中,Bind Shell用于正向连接,而ReverseShell用于反向连接。
正向连接:正向连接就是受控端主机监听一个端口,由控制端主机主动去连接受控端主机的过程,适用于受控主机具有公网IP的情况下。例如下图中,Attacker 和 Victim 主机都具有公网 IP,Attacker 可以直接通过IP地址访问到 Victim,所以能够使用正向连接来控制 Victim。
反向连接:反向连接是控制端主机监听一个端口,由受控端主机反向去连接控制端主机的过程适用于受控端主机没有公网 IP 的情况。如图所示,Victim ...
Nssctf刷题-网鼎杯
[网鼎杯 2020青龙组]Notes这里没给题目源码只能网上找,app.js源码如下:
var express = require('express');var path = require('path');const undefsafe = require('undefsafe');const { exec } = require('child_process');var app = express();class Notes { constructor() { this.owner = "whoknows"; this.num = 0; this.note_list = {}; } write_note(author, raw_note) { this.note_list[(this.num++).toString()] = ...