分类 IT技术 下的文章

本文首发于我自己的博客https://blog.penglei.cn,并提交Panabit官方征文,仅允许Panabit官方转载!

1. 前言

虚拟机安装Panabit相信已经有很多人用了,PanabitNTM基于Panabit所以必然也支持虚拟机安装和使用。本文主要谈的也是虚拟机中使用PanabitNTM的一些心得。

PS:我猜测我应该是虚拟机使用Panabit最多的人,有多年在虚拟机里折腾Panabit的丰富奇技淫巧,上一个花时间实际测试出的结论是Panabit标准版实际免费稳定可用的iWAN隧道是2条,超过就会不定期随机中断某条,再也拨不上。。。

2. 前置三台Panabit介绍

说PanabitNTM之前必须还要提一下我实际环境当中的Panabit,因为毕竟要到交换机上做镜像口,之前帮忙做过虚拟机安装PanabitNTM的简单手册,不完全适用于我的复杂场景。

我的Panabit出于节俭(穷~)的目的,在1台6网口工控主机(I5/8G/16G Msata)上面跑了3个Panabit,为什么跑3个呢,因为一个Panabit要先占满1个核心的CPU,一个4核的I5,刚好3个占满,剩一个大家公用,虚拟机中实际每台分2核,内存给的2G,硬盘就更节俭了,每台经过测试,最低分400M就可以运行了。

接着说网络配置,其实早期我用Panabit是用的物理机的,6网口配2个网桥,但是数据都在一起,不方便看,后来就萌生了用虚拟机来跑的想法,现在用法已经比较成熟了。本例三台Panabit分别接联通、电信和移动的线路并做了路由(我的场景有很多种组合,也有一个Panabit主机同时接了3条外线的,本例就是3个独立Panabit各自接一条WAN线路当路由器用),配置如下:

工控机物理网卡:

物理网口1接外网交换机的Trunk,外网交换机中有3个VLAN:101、102、103对应联通、电信和移动;
物理网口2接内网交换机Trunk,内网也对应着有3个VLAN:11、12、13对应3个内网网段;
物理网口3接内网交换机Trunk,内网管理口,只用了一个VLAN10用作管理口。

注:个人习惯交换机上配Trunk,这样虚拟机可以远程随意改,自由度高一些:)

ESXi虚拟交换机:
物理网口1上的虚拟端口组:

WANCU:配置VLAN ID 101,高级里允许混杂模式
WANCT:配置VLAN ID 102,高级里允许混杂模式
WANCM:配置VLAN ID 103,高级里允许混杂模式

物理网口2上的虚拟端口组:

LANCU:配置VLAN ID 11,高级里允许混杂模式
LANCT:配置VLAN ID 12,高级里允许混杂模式
LANCM:配置VLAN ID 13,高级里允许混杂模式

物理网口3上的虚拟端口组:

ManageCU:配置VLAN ID 10,管理口无需配置混杂模式
ManageCT:配置VLAN ID 10,管理口无需配置混杂模式
ManageCM:配置VLAN ID 10,管理口无需配置混杂模式

三台Panabit虚拟机网卡分配:

联通PanabitCU:WANCU、LANCU,ManageCU
电信PanabitCT:WANCT、LANCT,ManageCT
移动PanabitCM:WANCM、LANCM,ManageCM

3. 三台PanabitNTM的配置
现在要增加PanabitNTM,就要给Panabit路由内网口做交换机镜像口,而我的环境是3台Panabit复用了同一个交换机端口,所以不是单纯做个镜像口那么简单,为了理想化应用,我要在一个镜像口上,实现3台PanabitNTM分别监控数据的目的:)

出于节约的目的(还是穷!)我找了一台服务器,刚好空一个网口,可以用来接交换机镜像口,管理口就复用就行啦~

服务器物理网口:

物理网口1(端口复用)接内网交换机的Trunk,已经用了好多虚拟机了,给管理口复用;
物理网口2接在交换机上配的镜像口,内网对应着有前面Panabit的3个VLAN:11、12、13;

ESXi虚拟交换机:
物理网口1上的虚拟端口组:

NTMManageCU:配置VLAN ID 10,管理口无需配置混杂模式
NTMManageCT:配置VLAN ID 10,管理口无需配置混杂模式
NTMManageCM:配置VLAN ID 10,管理口无需配置混杂模式

物理网口2上的虚拟端口组:

NTMLANCU:配置VLAN ID 11,高级里允许混杂模式
NTMLANCT:配置VLAN ID 12,高级里允许混杂模式
NTMLANCM:配置VLAN ID 13,高级里允许混杂模式

三台PanabitNTM虚拟机网卡分配:

联通PanabitNTMCU:NTMLANCU,NTMManageCU
电信PanabitNTMCT:NTMLANCT,NTMManageCT
移动PanabitNTMCM:NTMLANCM,NTMManageCM

这里强调一下,PanabitNTM至少2核CPU4G内存128G硬盘,低了装不上,有些人不懂英文,也不看提示,所以注意一下就好。

4. 交换机配置(重点!)

我用的CISCO 3560G的三层交换机,很老很老了,由于网络知识不够丰富,开始给Trunk口配了镜像,然后NTM里抓不到数据,各种测试后发现,把镜像输出口添加一个vlan id,然后给NTM的网卡vlan id去掉,就可以抓到数据,但是这不是我想要的,我想要的是1个Trunk口上3个虚拟机都能分别抓到自己vlan的数据,于是找到一个思科的朋友,咨询了一下,对方说也没遇到过我这个场景,说给我查一下,几分钟之后得到了答复,可以实现,命令如下,如果是别的品牌交换机请自行查阅相关资料,思路是一样的。

conf t
monitor session 1 source interface Gi0/42
monitor session 1 destination interface gigabitEthernet 0/41 encapsulation replicate

这里42口是我Panabit内网口,也就是源端口,41口就是镜像出来接服务器的NTM用于监听的口了
encapsulation replicate的含义是镜像口镜像数据时保留vlan tag信息,否则数据包没有vlan tag信息,所以得不到数据,按这样设置,就可以实现3个NTM通过一个镜像口分别监听3个vlan的数据了。
注:如果你不是Trunk口配镜像,用如下命令就可以了,不要抄我上面的

conf t
monitor session 1 source interface Gi0/42
monitor session 1 destination interface gigabitEthernet 0/41

最后,因为大部分人应该只会配1个镜像口,而不是把上行下行流量分开镜像到2个口,所以还需要到“应用识别”->“引擎参数”中把“伪IP防护功能”开启才可以正确区分上下行流量。

公司才买了几台11代处理器笔记本,原装是Home系统,必须干掉,计划安装Win10 LTSC 2019,把过程中遇到的问题罗列一下:
注:特别是LTSC的驱动问题,网上资料太少,所以贴出来给大家分享一下

1、 PE和安装盘无法识别硬盘的问题,原因很简单,太新了,没有驱动
驱动下载地址:https://downloadcenter.intel.com/zh-cn/download/29978/
下载F6开头的2个zip,解压到U盘就可以,根据你主板BIOS设置选择对应的一个,F6flpy-x64 (Non-Intel® VMD).zip或者F6flpy-x64 (Intel® VMD).zip
Win10安装盘直接在选择安装位置的时候加载驱动,PE下直接打开设备管理器,找到一个叫RAID控制器开头的未知设备更新驱动就可以了

2、LTSC还会多遇到一个问题,有个驱动死活打不上,Win10 Pro就没问题
该设备硬件设备号:PCIVEN_8086&DEV_9A0D
中文Win10 Pro正常设备名叫:Inter(R) Tigerlake 遥测聚合器驱动程序
英文设备名:Intel(R) Tigerlake Telemetry Aggregator Driver
目前网上只能搜索到关于HP战66的官方客服论坛上有一个帖子说了,说这个驱动是Win10 2004开始系统内置的驱动,使用与Intel后台发送反馈数据的驱动,对于我们用户来说,完全没有用处,反而还会被收集数据

最后我特意装了20H2的Win10,检验了一下,确实这个驱动自己就装上去了,尝试收到拷贝了一下该驱动到LTSC下面安装(IntelTA.sys和intelta.inf),但是得到错误信息:第三方INF不包含数字签名信息。
于是作罢,只能把这个设备禁用了事:)

用了很多年panabit了,相信很多人都在登录panabit时要点击信任排除证书什么的操作习以为常了。最近刚好有时间,就研究了一下替换证书(更关键的是没找到完全贴合我需求的文档,只好自己做一遍记录下来了)

实际上ip也是可以签发证书的,只不过没有免费的,所以我们需要给自己的panabit配置一个域名(多半时候二级域名就可以),并且去letsencrypt申请一个免费的证书(当然免费有免费的缺点,只有3个月有效期,当然你也可以去申请1年有效期的,我由于用的是通配符证书,所有二级域名用一个,反正也要3个月弄一次,所以就拿来直接用了)

//2021-04-07更新 追加自签发证书,更新证书太麻烦了,终于忍不了了,生成自签发根证书,生成了一个100年有效期的IP证书,把自签发的根证书导入系统和火狐浏览器以后就可以使用了,再也不用更新证书啦:)

接下来进入正题,申请域名证书的过程略,网上搜索一大堆,我就不在这里说了。

首先ssh登陆我们的panabit主机,panabit默认用户名root,默认密码panaos。
panabit存放https证书在如下两个路径,带system的是硬盘保持的文件路径,ramdisk是内存运行时的文件路径

/usr/system/admin/admin.pem
/usr/ramdisk/admin/admin.pem

我们需要替换2个文件中的证书,通过vi编辑文件,删除掉原有内容,将letsencrypt申请的证书文件cert.pem和privkey.pem里的内容依次粘贴进去即可,当然如果你命令行操作不熟练,可以使用WinSCP把文件下载下来改完在上传,注意协议要选SCP才可以连上。

接下来,懒人可以直接重启panabit服务器了,当然如果你直接重启服务器的话,前面是不用替换ramdisk目录那个文件的。

我替换2个文件的原因是不想重启就让它生效,搜了一些文章发现没有写怎么停和起https服务的,于是自己研究了一下,发现/usr/system/bin/ipectrl这个脚本,脚本里有启动的命令,于是就知道了怎么停止https服务了:)

停止https服务的命令

/usr/system/bin/ipectrl stop httpd

注意,此时已经生效了,因为panabit的https服务有守护进程,结束了会被立刻启动的。

当然,如果你没有启动,可以用下面命令启动一下

/usr/system/bin/ipectrl start httpd

至此就完成panabit上面的配置,还差最后一步,本来我想直接改hosts文件了事,结果浏览器告诉我不安全,所以又去设置了一下我的这个二级域名解析,给它解析到我的内网IP了,当然不用担心安全问题,毕竟别人不知道你这个域名,也访问不了你的内网,再说就算泄露也顶多泄露了你这个内网管理地址而已。

至此,终于可以直接通过域名打开panabit管理界面,看到绿色盾牌图标了:)

然而,并没有结束,此时的证书在部分浏览器里显示正常,但是很多默认不启用TLS1.2以下支持的浏览器依然会提示网站使用较弱的加密,接下来我们升级panabit的openssl。

打开下面网址,下载最新的openssl应用组件,我下的20200915版本的,限制panabit版本,需要2020年7月1号,NANBEIr5以上的版本才能使用,所以你可以能需要顺便升级一下panabit的版本。

注:openssl组件里就有网页替换证书的功能了,不过我没研究它支持什么版本,我用免费证书直接导入是失败的,反正用前面我的手动方法好用就可以了。

经常遇到给开发人员分配Linux服务器后,告诉我说,没法用远程桌面连接。。。

最近疫情影响,一直在家办公,发现Linux还有个叫xrdp的好东西,它的原理其实也不复杂,首先linux下有个rdesktop的客户端,是用来远程windows用的,既然协议知道那么就有人基于这个协议做了个服务端,它就是xrdp,当然,xrdp也没多做事情,它在本地的图形来源依然是vnc,也就是远程桌面会创建一个临时vnc服务,用于远程桌面用,而且是根据客户端请求来的分辨率自动创建的,这个非常赞!
并且这样也不用考虑让大家拷贝或安装vnc客户端的问题了,远程桌面全搞定!

废话不多说,我们开始吧。先说CentOS/Redhat上的安装方法

yum install -y epel-release
yum install -y xrdp
systemctl enable xrdp
systemctl start xrdp

然后就可以用windows的远程桌面连接了,不过这里我遇到一个bug,也就是远程桌面客户端如果设置成15位色,那么登陆之后会报错(大约是无法连接本机新创建的vnc的5910端口)改成16位色或者以上就可以了。

接下来是Debian/Ubuntu的安装方法

sudo apt install xrdp
sudo systemctl enable xrdp
sudo systemctl start xrdp

一般安装好之后还需要修改一下,否则可能会遇到这个错误(login failed for display 0 )

sudo vi /etc/X11/Xwrapper.config
将
allowed_users=console
改为
allowed_users=anybody

保存退出即可生效,之后就可以用远程桌面连接Linux了。

安全工作者在对系统环境进行渗透测试时常常会自己配置虚拟机,如果是Linux的话还好,还有Kali Linux可以用。但是碰上Windows环境就惨了,往往配置虚拟机环境就要好几个小时。一边要维护自定义的虚拟机环境,一边还要时常升级集成的工具套件,花费的时间成本颇高。火眼推出了一款面向红队的Commando VM渗透测试套件,包含超过140个开源Windows渗透工具包,有需要的小伙伴可以看一看,免费又好用。
有现成的VM可以下载,懒得配置的小伙伴可以直接下载 链接: https://pan.baidu.com/s/1t4-X-LFRjbarbMIShmT5rg 提取码: akuf (需要用2345好压来解压,我用7zip解压失败,密码“逆向驿站”)

建议在虚拟机中部署Commando VM,使用虚拟机软件的快照功能减少重新配置环境所需的时间,虚拟机环境要满足以下最低要求:
60GB磁盘空间
2GB内存

在完成虚拟机的基本配置后安装Windows镜像,支持:
Windows 7 Service Pack 1
Windows 10

系统安装完成后建议添加配套的虚拟机工具(例如VMware Tools)以支持复制/粘贴、屏幕显示调整等其他设置。虚拟机环境配置成功后,以下所有的步骤均在该环境中操作。

1、下载GitHub上的Commando VM文件并解压缩。

2、以管理员身份运行powershell,运行以下命令,让系统允许执行ps1脚本,否则会提示“无法加载文件 .ps1,因为在此系统中禁止执行脚本”

set-executionpolicy remotesigned 

3、继续执行以下命令 ,关闭签名验证,否则会提示“未经数字签名 系统将不执行该脚本”

set-executionpolicy Bypass

4、执行commando安装脚本

.\install.ps1

5、执行install.ps1安装脚本。系统将提示输入当前用户的密码。Commando VM需要当前用户的密码才能在重启后自动登录。可以通过命令行“-password ”来指定当前用户的密码。

6、剩下的安装过程需要联网并自动执行,根据网络速度可能至少需要2至3小时完成。期间虚拟机系统会重启多次。安装完成后,PowerShell保持打开状态,键入任意键可退出即可。