传输文件一般发生在后渗透测试阶段,即已经突破边界并在目标主机上获取初始低权限账户 一般的任务有: 1. 权限提升 2. 权限维持 3. 横向渗透 FTP 以pure-ftpd为例,安装并设置用户权限 apt install pure-ftpd groupadd ftpgroup useradd -g ftpgroup -d /dev/null-s /etc ftpuser pure-pw useradd offsec -u ftpuser -d /ftphome #这里的offsec是ftp账号,映射到系统账号ftpuser,并设置密码 pure-pw mkdb cd /etc/pure-ftpd/auth/ ln -s ../conf/Pu…
EXP搜索 可以通过一些联网数据库获得 Exploit-DB已知漏洞及POC等 Sync开源漏洞数据库 也可以通过kali自带的searchsploit查找(Exploit-db离线版) searchsploit <NAME> <VERSION> msf里面也有 msfconsole search <NAME> EXP利用 在msf/exploit-db中有一些ruby/python/lua/c的exp,使用之前需要修改、查看文件了解功能,更改参数 有可能存在同一漏洞、不同版本不同系统的EXP EXP修复 缓存区溢出 需要注意的有文件路径、IP地址、端口、URL、偏移量、返回地址、跳转指令 对于不同系统的E…
客户端攻击即攻击客户端软件、邮件 例如:浏览器、PDF、OFFICE、邮件附件、恶意链接 Fingerprintjs Fingerprintjs是一个浏览器指纹库,它可以查询浏览器的属性,并从中计算出一个哈希的访问者标识符。与Cookie和本地存储不同,指纹在隐私模式下和浏览器数据被清除时仍然保持不变。 Github-Fingerprintjs <script> // Initialize the agent at application startup. const fpPromise = import('https://openfpcdn.io/fingerprintjs/v3') .then(FingerprintJS =&…
下面以x86架构为例 缓存结构 x86架构的计算机最多可管理4GB内存 堆栈 堆栈内存是以LIFO结构被CPU访问(Last-In,First-Out) 函数返回时需要读取返回地址 会存在堆栈溢出操作 CPU寄存器 x86寄存器指令为32位,4个字节,首个字节为操作符 EBP基指针(访问堆栈)<--一般来说程序访问临时变量就在这里 EIP指令指针(命令跳转)<--覆盖这个指令指针可以执行任意指令 Immunity Debugger 一个二进制程序调试器 可以通过断点等方式,跟踪程序执行过程,利用某些EIP指针实现命令执行 TODO:实操
基本信息收集 在没有明确目标之前可以通过扫描器等形式获取目标相关信息 信息主要如下: 1. 功能 2. 开发语言 3. 服务端软件 Web枚举 识别目标系统技术栈 a. 分析URL b. 浏览器信息 c. 分析路由信息 d. 相应头 选择对应技术栈的攻击载荷 a. 编程语言和框架 b. Web服务器软件 c. 数据库软件 d. 服务器操作系统 路径枚举 dirb内建字典,默认递归发现隐藏路径 dirb <{URL}/{FILE}> [-r非递归] [-z {TIME_MS}延时] [-X {.TYPE}枚举指定后缀] dirsearch查找隐藏文件和目录 python3 dirsearch.py -u <URL> -e…
被动信息收集 Whois信息 域名公开信息 whois [HOST] #信息查询 whois [IP] #IP反查 Web查询 站长之家 搜索引擎过滤器 Google Hacking Database site:[HOST] filetype:<TYPE> ext:<TYPE> intitle:"<NAME>" DNS信息搜索服务 Netcraft英国互联网公司 微步在线 Recon-ng信息收集框架 命令行聚合信息收集框架,KEY需要自己设置 recon-ng marketplace search github marketplace info [MODULE] marketplace install […
NATCAT(NC) TCP/UDP连接和数据传输工具 nc [-nv连接-nvlp监听] [-e '/bin/bash'/'cmd.exe'远程shell] [HOST] [-p {PORT}监听] -l:监听模式,用于创建一个服务器端口并等待客户端连接。 -u:使用UDP协议而不是TCP协议。 -z:扫描模式,只扫描开放的端口,不发送任何数据。 -v:详细模式,显示更多的信息。 -w:超时时间,设置连接或读写操作的超时时间(秒)。 -n:不进行DNS解析,直接使用IP地址。 -e:执行命令,将输入和输出重定向到指定的命令。 -p:源端口号,指定本地主机的源端口号。 -s:源IP地址,指定本地主机的源IP地址。 Socat 加密shell,…
查询指令的若干方法 tldr too long don't read tldr [command] tldr --update man系统手册 man [-k]/[N] [command] which/whereis/whatis/locate 查询指令所在目录,如果不存在可以先执行 ```updatedb```更新文件目录 systemctl 启用或关闭系统服务 systemctl start/enable/stop/disable [service] 列出所有服务 systemctl list-unit-files ss 查询所有tcp套接字 ss -anltp ENV $SHELL #使用的shell类型 $USER #当前用户 $PW…
Hyper-V Hyper-V,代号Viridian,旧称Windows Server Virtualization,是Microsoft的本地虚拟机管理程序,它可以在运行x86-64位的Windows上创建虚拟机。从Windows 8开始,Hyper-V取代Windows Virtual PC作为Windows客户端版本的硬件虚拟化组件。可以配置运行Hyper-V的服务器计算机能够将单个虚拟机公开到一个或多个网络。Hyper-V是与Windows Server 2008一起首次发布,自Windows Server 2012和Windows 8以来一直无需额外付费。独立的Windows Hyper-V Server是免费的,但仅具有命令行接口…
引言 最近在折腾自己学校的镜像源,看到差不多20T的硬盘都被塞满了,我是很好奇系统是如何管理这些文件的,于是顺便就研究下APT源的工作原理 原理 在Ubuntu/Debian等系统下,常见的应用安装方式为apt/apt-get 前者可以说是后者的升级版,提供了更友好的命令行界面,包含了apt-get和apt-cache等常用功能,本质上都是基于dpkg的高级包管理工具。 Ubuntu/Debian采用集中式的软件仓库机制,将各式各样的软件包分门别类地存放在软件仓库中,进行有效地组织和管理。由于网络环境的问题,我们可能无法正常访问官方的软件仓库,所以许多镜像服务器被建立,并且时刻保持与官方服务器的同步。在使用apt之前,我们一般都会进行换源处理…