20

零信任SPA端口敲打

 4 years ago
source link: https://zhuanlan.zhihu.com/p/352441199
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

差不多2020年9月份研究ATT&CK的时候,做规则覆盖能力,遇到了端口敲击(Port Knocking,PK),当时我设计了检测方案,但是没有做实验来验证,也没有列入开发计划,直到今天2021年2月研究零信任的时候,再次碰到了PK,只不过这次换了个马甲,叫SPA(单包授权认证),终于下定决心来一探究竟~

SPA单包认证,通过wireshark抓包,发现是通过UDP报文敲打服务端的62201端口,然后那个ICMP报文是端口不可达,这是UDP的传输特性,因为它没有三次握手,所以需要借助ICMP来报信,咳咳,这是一个题外话,非常基础的网络知识,告诉客户端62201端口不可达,经过这么一个敲击动作,服务端就对客户端开放了22端口~

fwknop 敲打的UDP载荷(加密内容),就是一个授权认证的过程,这篇文章暂不细细品味,之后,服务端会开放22端口30秒,如果在这个窗口时间里面建立TCP连接,那么就会一直对客户端开放22端口,如果客户端没有建立连接,那么30秒后,服务端22端口就自动进入filtered状态 ~

uiQJRvi.jpg!mobile

实验环境:

  • 服务端:ubuntu18(192.168.160.137)
  • 客户端:ubuntu16(192.168.160.136)

安装fwknop:

  • 服务端
apt-get install fwknop-server
  • 客户端:
apt-get install fwknop-client

配置fwknop:

  • 客户端
fwknop -A tcp/22 -a 192.168.160.136 -D 192.168.160.137 --key-gen --use-hmac --save-rc-stanza

掉落物品

root@ubuntu:/home# grep KEY /root/.fwknoprc
KEY_BASE64                  n1Uv4xKOIJ+enb3EK/xFKU4zEkVh6Bq9BjTcEFn20jM=
HMAC_KEY_BASE64             dA1/7pnIS2tqIr2MVzCtUGj9Pk1Z/Spj/RwekYLcPZtlb4jNwFPhSAx93Yq+iwAdTSi7qA0v6Blhg9BumFlgtQ==
  • 服务端

将掉落的物品写入到 /etc/fwknop/access.conf

aeMJ3if.jpg!mobile

修改 /etc/fwknop/fwknopd.conf 网卡信息,改成自己的网卡

mIn2yuE.jpg!mobile

配置防火墙

  • 关闭22端口
iptables -I INPUT 1 -i ens33 -p tcp --dport 22 -j DROP
iptables -I INPUT 1 -i ens33 -p tcp --dport 22 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
  • 查看防火墙规则命中情况
fwknopd --fw-list-all
uyY7vie.jpg!mobile

启动fwknopd 服务

  • 启动fwknopd
fwknopd service start
  • 查看fwknopd 运行状态
fwknopd -S
AbY7Zre.jpg!mobile

效果验证

在客户端直接nmap扫描端口,发现端口22受保护了

ZriyMfJ.png!mobile

进行端口敲打SPA认证

fwknop -n 192.168.160.137
yE3E7v2.jpg!mobile

然而,敲烂了,22端口依然没有打开,像不像爱情???

yYbquq6.png!mobile

仔细检查了一遍全流程,发现我把客户端掉落的物品,贴错了,尴尬~

复制粘贴也能错,唉,无语了,修改之后,再次敲打端口,成功了~

2uyY3mA.png!mobile

本篇完,谢谢大家~


Recommend

  • 59
    • zhuanlan.zhihu.com 7 years ago
    • Cache

    极致 SPA 指南

  • 42

    从 AJAX(Asynchronous JavaScript + XML,异步 JavaScript 和 XML)开始, 尤其是 AngularJS 推出之后,SPA(Single Page App,单页应用)已经成为前端 App 的必选方案。 SPA 可以在客户端提供完整的路由、页面渲染、甚至一部分...

  • 39
    • 新浪科技 tech.sina.com.cn 5 years ago
    • Cache

    今天,耿爽好好“敲打”了这家美国公司!

    参考消息网6月24日报道(文/逸轩)“在哪里跌倒,就在哪里躺下。”最近,美国联邦快递公司正在用自身“劣迹”让这句话成为现实。6月21日,联邦快递被爆出对一件含有华为手机的包裹出现“误送”。而这也是继5月“误送”华为4个包裹之后,联邦快递针对

  • 41

    2019年12月12日阅读 4322左边敲打IDE!右边出现了一个世界!!!从(3°58′20″N,112°16′53″E) 到(53°33′34.51″N,123°17′22.29″E) 一首《野狼disco》火到老少皆知。 细细评味歌词中隐约透露出对程序...

  • 11
    • www.huxiu.com 4 years ago
    • Cache

    早该敲打敲打BAT这些巨头了

    虎嗅机动资讯组作品 作者 | 黄青春 题图 | 视觉中国 一纸公文,12小时内挤掉了互联网科技股近一万亿港元的市...

  • 10
    • www.askmaclean.com 4 years ago
    • Cache

    Oracle 11g OCM考试考点分析 SPA

  • 16
    • blog.arkency.com 4 years ago
    • Cache

    Loading all data when starting Flux SPA

    Loading all data when starting Flux SPA Re...

  • 4
    • blog.logrocket.com 4 years ago
    • Cache

    Enabling faster SPA navigation with Turbolinks

    ...

  • 7

    Developing Micro Frontends with Single-Spa In the process of building new or modernizing older applications, backend functionality is often broken down in multiple microservices. Without modular frontends though, app...

  • 4
    • blog.snowfrog.dev 4 years ago
    • Cache

    Your SPA is not the Front-end

    January 23, 2021 Your SPA is not the Front-end It is common when working on a web application, comprised of a server-side Web API, running on a framework like ASP.NET or NestJS, and a client-side Single Page A...

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK