数据不回显、数据不出网

问题点:命令执行时执行结果不回显

执行回显/不回显的原因:代码层面调用问题以及没有输出测试等。

解决办法(命令执行存在的前提下):

①反弹权限

参考文章:https://cloud.tencent.com/developer/article/1906240

②数据外带

使用DNSLOG或者类似yakit存在反连功能的工具,执行命令,查看是否能够执行命令

③延迟判断

在F12检查,就可以看到网页响应时间,使用命令ping -n 3 x.x.x.x(windows下延迟3秒),执行ping -c 3 x.x.x.x(linux下延迟3秒)对比是否有延迟,延迟则表示命令执行存在。

④写文件并访问

写一个静态文件或者可访问文件确定是否能执行命令,如url参数输入(xxxx/php?后)echo 123 > 1.txt 然后访问该txt的路径查看是否执行命令。


问题点:数据不出网

原因:主机或应用防火墙限制

解决:正反向反弹、隧道


反弹shell

目的:解决防火墙出入站规则限制、端口被占用、无法进行正向连接、数据不回显

正反向:reverse反向,bind正向

操作系统区别:windows通过powershell反弹,linux通过nc反弹

在线生成反弹shell:

https://sec.lintstar.top

https://www.revshells.com

https://forum.ywhack.com/shell.php

抓包技术

WEB\APP\小程序\PC-burp\Yakit

抓包工具:

①burp

②yakit

一、抓包技术前提

安装证书:(用哪些抓包软件就要安装哪些软件的证书)

①浏览器安装证书:解决本地抓HTTPS报文

bp导出证书后安装证书,安装在:受信任的根证书颁发机构、中间颁发机构。

②模拟器安装证书:解决模拟器抓HTTPS报文

雷电模拟器为例子:将burp导出的的证书安装到模拟器

③真机器(指的是手机比如ios、鸿蒙、安卓)安装证书:解决真机器抓HTTPS报文

手机模拟器APP抓包:

1、模拟器安装了bp证书

2、在模拟器配置模拟器的网络。一般情况下,模拟器都是使用WIFI接入网络,因此在模拟器的WIFI配置中,设置“代理”,其中代理的ip地址为物理机的以太网适配器/无线局域网适配器的IP地址。而端口则配置一个不和其他要使用端口重复的端口号。

3、在burpsuite上,在监听设置处使用“specific address”配置第二步的IP地址(选择或设置成第二步的IP地址即可),端口也按照第二步的端口号进行配置。

可能遇到的问题:

①APP代理检测(抓不了包)

②APP证书校验(抓不了包)

③APP模拟器检测(运行不了)

小程序抓包:

1、需要使用转发工具:proxifier配合burpsuite

2、在proxifier上配置IP为127.0.0.1(与burp一样)端口为8888(与burp一样)

3、在proxifier上配置代理规则:应用程序处输入要抓的小程序名称.exe(打开小程序,打开任务管理器,在任务管理器中找到小程序的进程,右键进入小程序所在文件夹,找到小程序名称.exe);然后在“动作”设置成“proxy https 127.0.0.1”实现转发。

4、在proxifier代理规则处,将默认的规则的“动作”设置成“direct”,否则会转发大量的数据包无法正确抓到小程序的包。

PC应用抓包:

与小程序抓包同理。


yakit

抓包:使用MITM中间人劫持功能

配置:

1、免配置启动(需要谷歌浏览器)

2、参考burp,下载yakit的证书,安装,然后在yakit左上角系统设置

yakit与burpsuite的区别,抓APP的包时,在yakit的“劫持代理监听主机”处设置成0.0.0.0(监听所有网卡)


抓包工具联动:

1、流量从burpsuite处理再到yakit

①burp正常设置监听127.0.0.1:8088

②yakit设置监听127.0.0.1:8083

③Burpsuite->User options->Connections->Upstream Proxy Servers->添加一条上游代理(SSR-HTTP)
Destination host:目标网站域名或者IP,支持通配符,填写*
Proxy host:SSR-HTTP代理服务器的IP地址,即127.0.0.1
Proxy port:SSR-HTTP的代理端口,即1081
Authentication type:这里选择认证类型,由于SSR本地代理无需认证,这是选择None

2、流量从yakit处理再到burpsuite

①MITM交互式劫持处,“劫持代理监听主机”设置成127.0.0.1,“监听端口”设置8083,然后在“下游代理”处配置代理认证,如burp监听ip为127.0.0.1监听端口为8088,则设置成“http://127.0.0.1:8088”。意思是流量先从yakit的8083经过,再转发到burp的8088端口。

②burpsuit按照普通设置即可。


配置代理抓包:clash->burp->yakit

目的:目标需要梯子;ip需要隐藏

①clash使用全局代理

②burp配置上游代理:Burpsuite->User options->Connections->Upstream Proxy Servers
配置ip:127.0.0.1,配置端口7890(以clash为例子)

③此时浏览器或者系统代理监听burp端口如8888

④burp配置监听ip127.0.0.1,监听端口8888

yakit配置同理,因此从这里看出burp的upstream proxy 和yakit的下游代理是一个回事。


全局协议抓包:

使用工具:wireshark、科来

目的:

①解决部分代理校验:

APP/PC应用检测到物理机使用了代理后,设置策略拒绝被抓包。wireshark、科来抓的是网卡。

②APP/小程序/PC应用

由于应用类型不同,不是所有数据都是https

③蓝队分析TCP/UDP流量

敏感端口

1、操作系统
Linux(必备)、微软

2、负载均衡
DNS、F5、LVS、Nginx、OpenResty、HAproxy、负载均衡SLB(阿里云)

3、分布式框架
Dubbo、Motan、Spring-Could

4、数据库中间件
DRDS (阿里云)、Mycat、360Atlas、Cobar (不维护了)

5、消息队列
RabbitMQ、ZeroMQ、Redis、ActiveMQ、Kafka

6、注册中心
Zookeeper、Redis

7、缓存
Redis、Oscache、Memcache、Ehcache

8、集成部署
Docker、Jenkins、Git、Maven

9、存储
OSS、NFS、FastDFS、MogileFS

10、数据库
MySql、Redis、MongoDB、PostgreSQL、Memcache、HBase

11、网络
专用网络VPC、弹性公网IP、CDN

原文链接:https://blog.csdn.net/daijin888888/article/details/80160288

网站分类、技术

一、网站的细分

①主站

www.baidu.com

②分站

blog.baidu.com //也叫子域名

③端口站

www.baidu.com:8088

④目录站

www.baidu.com/zweb/

⑤子站

123.blog.baidu.com

了解目的:若其他网站失陷,主站可能会受到影响。比如主站和分站共用同一个公网IP地址。

关联步骤:信息搜集-子域名搜集

相关工具:御剑

二、数据库的细分

①本地数据库 //网站与数据库使用相同的公网IP

由本地服务器搭建

②分离数据库 //网站与数据库使用不同的公网IP

由其他服务器搭建

③云数据库

如阿里云云服务器专门起一个MYSQL,此时网站关联的数据库外网地址可能是:rm-xxxxxxxx.mysql.rds.aliyun.com(RDS) //可以设置白名单IP,因此站库分离的情况下,即便获取了数据库的账号密码,除非攻陷了白名单的IP,否则也无法连接数据库。

三、平台的细分

①系统:windows、linux、macos //涉及-提权

②容器:docker、K8s、vmware、virtualbox //涉及-需要使用虚拟机的逃逸技术

③中间件:apache、nginx、iis、lighttpd、tomcat、jboss、weblogic、websphere、jetty等 //涉及-能解析的文件类型不同


网站搭建差异:

① 宝塔搭建:需要绕过宝塔限制

②镜像环境搭建:需要提权横向

③docker容器搭建:需要逃逸提权


网站的前后端代码差异:

①前端:nodejs、vue等

②后端:php、java、python等


web使用的应用技术(影响渗透测试效果)

①WEB+WAF:网络应用防火墙

软件型WAF(如长亭的雷池)

硬件型WAF(如长亭的雷池)

云WAF

内置WAF

②WEB+CDN:内容加速

影响渗透测试:隐藏真实源IP,导致目标测试错误,如对一个CDN进行测试也不会对原网站造成影响。

③WEB+OSS :云存储如阿里云OSS

影响:文件上传漏洞只能上传下载,但是不会解析代码,并且域名和网站没关系,因为域名是aliyun。

常见OSS:本机存储、从机存储、七牛、阿里云OSS、又拍云、腾讯云COS、onedrive、AWS S3

阿里云OSS的配置:使用API访问OSS时,需要使用AccessKey(包括AccessKeyId和AccessKeySecret)进行身份验证。

④WEB+反向代理

影响:渗透测试的目标只是一个代理为非真实的服务器,当前没有有效手段识别所进行渗透测试的IP是否为反向代理。

⑤WEB+负载均衡

影响:多个服务器加载服务,测试过程存在许多目标。如有多台服务器,渗透测试只对其中一台备份服务器进行了测试,而真正的主服务器不受影响。

PS:CDN和负载均衡的区别:CDN节点多,负载均衡少。通过超级ping等主动探测手段测试是否为CDN

漏洞库:https://www.yuque.com/u25571586/dyaqbugs?# 密码:xnzx

接口泄露:

swagger为例子:

登录接口:爆破密码

用户信息:枚举其他用户信息

文件上传:上传后门

票据交易:泄露敏感数据


网站使用的身份鉴权的主要分类:
①Cookie(常见、简单)

②Session

③Token(主流)

④JWT(主流)

⑤oauth2(主流,中大型网站,第三方验证)


参考:https://mp.weixin.qq.com/s/Z6rt_ggCA8dNVJPgELZ44w

IPtables

主要参数:

  • -A: 在指定链的末尾添加一条规则。
  • -D: 删除指定链中的规则。
  • -I: 在指定链中插入一条规则。
  • -R: 替换指定链中的规则。
  • -L: 列出指定链中的所有规则。
  • -F: 清空指定链中的所有规则。
  • -Z: 将指定链中的所有计数器清零。
  • -N: 创建一个新的用户定义链。
  • -X: 删除指定的用户定义链。
  • -P: 设置指定链的默认策略。
  • -s: 指定源 IP 地址或子网。
  • -d: 指定目标 IP 地址或子网。
  • -p: 指定协议(如 tcp、udp、icmp)。
  • -j: 指定目标动作(如 ACCEPT、DROP、REJECT)。
  • -i: 指定数据包进入的网络接口。
  • -o: 指定数据包离开的网络接口。
  • --sport: 指定源端口。
  • --dport: 指定目标端口。
  • -m: 指定扩展模块(如 state、limit、mac 等)。

主要文件:

  • /etc/sysconfig/iptables: 在某些 Linux 发行版中,这是 iptables 规则的保存文件。
  • /etc/iptables/rules.v4: 在某些发行版中,用于保存 IPv4 规则的文件。
  • /etc/iptables/rules.v6: 用于保存 IPv6 规则的文件。
  • /proc/net/ip_tables_names: 包含当前系统中所有 IP 表的列表。

ipv6

在路由器的接口

[g 0/0/0]ipv6 enable // 先启用ipv6
ipv6 add xx::xx 64 //类比ipv4

ipv6路由:osp v3

[r1] ospfv3 1
[r1-ospfv3-1]router-id 1.1.1.1 //v3需要配置id 类比ipv4

ospf v2 和 v3的区别:

1、v3 只要两边在同一个链路就能都成为邻居,不是同一个网段都可以。
2、通过instance id实现邻居建立

osfp v3 的LSA

8型LSA:每个设备都会对每个链路产生一个LINK-LSA,目的是向该链路上的其他路由器通告本接口的链路本地地址;同时通告本接口的ipv6前缀
对于IPv6,链路本地地址的前缀是FE80::/10,通常看到的链路本地地址形如FE80::XXXX

9型LSA 传递路由信息:只在所属区域传播,依赖拓扑信息

网络

运维:
运维时将所有的网络设备使用同一个网段进行管理,比如192.168.254.x,这些ip是交换机的唯一IP地址,也就是桥ip。并且使用特殊的vlan号进行管理。

当某网络中。192.168.x.250-254作为X网段的网关,此时是主备,是两台交换机上的两个接口的物理地址,如果使用VRRP+MSTP则可能还有一个虚拟的网关地址如192.168.x.1

新的防火墙:替代了出口路由器 华为USG统一安全网关 也就是下一代防火墙

目前路由器交换机本质是转发,下一代防火墙的本质是控制。

防火墙的区域:防火墙需要划分安全区域,比如将某几个口划分到受信任域,其他为不受信或者DMZ,每一个接口只能被划分到一个安全域中。
其中,防火墙还有一个local区域,防火墙本身对外发送的报文视为从local区域发出,需要由防火墙接收而不是转发的报文,也在loical区域接收。

防火墙的模式:
透明桥:
路由:

透明桥:旧网络要加入防火墙,但是不便更改。此时使用透明桥模式,相当于一个交换机(非三层)

路由模式:相当于出口路由器(也就是将防火墙替换掉出口路由器)

混合模式:某些接口透明桥。某些接口路由。

注意到upnp会自动映射端口,出于安全考虑应该关闭upnp。upnp不是必要的。

VPN:IPsec、SSL MPLS-vpn、L2TP、PPTP、GRE vpn
专线:DDN、PTN、SDH

高级vlan:

hybrid:交换机的接口类型
使用场景:pc、服务器、交换机、路由器、语音终端、AP
必须使用hybrid的场景:一台交换机的接口属于不同vlan,且该接口需要传输多个非标签报文。比如 语音终端、AP

查看交换机接口类型:
[sw1]dis port vlan actice
当把hybrid当成access(不打标签)
int g 0/0/0
port hybrid pvid vlan 10 //将该接口划分成vlan10中
port hybrid untagged vlan 10 //不打标签
undo port hybrid vlan 1 //因为vlan1 是默认的pvid,也就是默认所属vlan,若不想允许vlan1 则可以去除。

把hybrid当trunk:
int g 0/0/1
port hybrid tagged vlan 10 //打上vlan10的标签

由于192.168.1.2和192.168.1.3属于不同vlan,他们不能互访,被隔离。

int g 0/0/1
port hybrid pvid vlan 30
port hybrid untagged vlan 10 20 30

int g 0/0/2
port hybrid pvid vlan 10
port hybrid untagged vlan 10 30

int g 0/0/1
port hybrid pvid vlan 20
port hybrid untagged vlan 20 30

基于MAC的vlan:
将所有接口的mac-vlan 都enable
[sw1-vlan10]mac-vlan mac-address xxxx-xxxx-xxxx

高级vlan

允许多个vlan用户在同一个网段。

在SW2创建聚合vlan30 该vlan是逻辑vlan,trunk不允许通过。
1、创建并进入vlan30 : int vlan 30
2 、给地址:ip add 192.168.1.1 24 //该地址是vlan10 vlan20的ip的网关地址
3、valn 30 聚合vlan 也叫父vlan
aggregate-vlan
access-vlan 10 20 //10和20为子vlan

vlan mapping :vlan转换
实现二层无缝连接,类似nat映射(但在企业网中使用并不多)

如上图,最关键的配置在SW2进行。
int g 0/0/1
qinq vlan-translation enable //关键命令,启动qinq vlan转换功能
pott link-type trunk
port trunk allow-pass vlan 100 //100相当于公网地址,如上图sw2会将30 31 转换为100 ,回包也会从100 转换成 30 31
port vlan-mapping vlan 30 to 39 map-vlan 100 //这里配置30 到 39 进行转换
注意:vlan-mapping映射只有报文携带tagged标签的时候才可以转换。也就是trunk或者hybrid(tag)才生效,access不行。

Qinq:标签嵌套标签

相同vlan端口隔离:二层隔离(ACL是在三层的隔离手法)二层交换机无法使用访问控制列表acl来进行隔离。
堡垒机:安全审计设备,和交换机差不多。

在sw上配置隔离组,在同一个隔离组中不能互访(接口)

[sw1] interface g 0/0/1
port-isolate enable group 1

interface g 0/0/4
port-isolate enable group 1 //此时,接口1 和 4 由于处于同一个隔离组中,它们之间不能互访。

mux vlan:二层vlan隔离技术

满足:同一个二层广播域,某些能互通,某些要隔离

核心操作:在sw将vlan 10 设置成主vlan,2成隔离型,3为互通型

separate 隔离型
group 互通型
其他接口 仍然按照配置access口配置,最后再加上port mux-vlan enable

端口安全(二层功能,限制的是mac) :目的是防止私接交换机
在交换机某个接口下 port-securiyt enable 就会开启接口安全,此时默认情况下,交换机的MAC地址表只能学习一个地址。
另外可有手动配置mac绑定:port-security mac-address sticky xxxx-xxxx-xxxx-xxxx vlan x
port-security 的保护动作有down接口(高危操作,接口会down,只能undo shutdown

二层ACL:也可以根据MAC进行控制

镜像流量:

在交换机(核心或者汇聚或者接入交换机)配置一个观察口,接收镜像流量。

[sw]observe-port 1 interface g 0/0/3 //如上图,将3口设置成观察接口
int g 0/0/2
port-mirroring to observe-port 1 both //将2 口的报文进出的流量镜像一份发给观察组1 (也就是3口)

如上图:镜像流量有三种 进出、进、出

检查配置:dis port-mirroring
dis observe-port

如上图:若是监控设备不在交换机或者路由器旁边,可以进行远程镜像。
在R1 observe-server destination-ip 5.5.5.5 source-ip 3.3.3.1
int g 0/0/0
mirror to observe-server both //将3.3.3.1的进出流量镜像后发送给5.5.5.5

路由器的端口镜像:

注意:

1、一个接口只能是镜像或者观察,不能同时配置成两个

2、主接口做镜像,子接口也会被镜像

3、多个接口的镜像可以到一个观察口,对于交换机也可以将一个接口的流量镜像到多个观察口。


基于流的镜像:
命中acl的流量镜像到观察组

首先写一个acl xx

然后:int g 0/0/x
traffic-mirror inbound acl xx to observe-port 1 //将命中acl 3000 的数据流从观察口发出

MQC:

WLAN:

mac认证:手动配置mac允许如打印机、网络摄像头无法输入账号密码的设备接入无线网络。

网络设备-堆叠技术:

可靠组网:
1、之前是MSTP+VRRP对网关、破环进行冗余备份。
2、堆叠+链路捆绑(ether-trunk)

什么是堆叠:
多台交换机用线缆连接后组合在一起,虚拟化成一台设备,是一种横向虚拟化技术(核心和核心,接入和接入等),在数据中心中则使用纵向虚拟化(核心和接入组合等)

华为堆叠技术:
CSS(框式交换机)
istack(盒式)
思科堆叠技术:VSS
华三堆叠技术:IRF
锐捷堆叠技术:VSU //各个厂商的堆叠技术不兼容

华为堆叠:登录一台设备就可以操作其他设备,最多可以堆叠9台。若结合跨设备链路聚合技术,可以实现链路的高可靠性备份、避免二层环路。

堆叠中,所有交换机都处于转发状态,分成主、备、从,如下图:

多台交换机堆叠之后,管理上变成一台,且只有一台主交换机。主交换机会进行选举,按照优先级选举。堆叠中只有一台备交换机,其余都是从交换机。登录时不管登录哪个都相当于登录主设备。

堆叠端口:
每台交换机的堆叠端口最多有两个
华为堆叠端口:

堆叠建立流程:


避免堆叠分裂:堆叠双主检测。

堆叠成功后登录哪个交换机都能操作其他交换机的接口,如两台50口交换机堆叠后变成100个。