LFW - Winexe 0.80
Linux Fuck Windows
开一个Linux监控Windows系列的大坑
先从不同版本的winexe搞起
Winexe 0.80
这里选择的代码是 https://github.com/greenbone/openvas-smb
原因是最近还有在更新
1 | [/root/test/openvas-smb-21.4.0/winexe/winexe.c:90:parse_args()] winexe version 0.80 |
编译
分别记录一下Fedora和CentOS7两种系统下的编译过程
搞了两套是因为
- CentOS7的EPEL源移除了mingw相关的包
- 在Fedora上编译完之后要迁往CentOS7,要同时迁移N多依赖,也很不方便
先说一下共有问题
No package ‘heimdal-gssapi’ found
dnf/yum出来的heimdal-devel不支持pkgconfig,后续许多操作都很麻烦,建议按下面的方法自己先compile一个
https://community.greenbone.net/t/full-gvm-11-build-guide-for-centos-8/5425
1 | ./configure --enable-otp=no --prefix=/opt/heimdal |
ld -ltspi
ld问题参考 https://www.hbspy.moe/2021/06/07/ld_cannot_find/
1 | ln -s /usr/lib64/libtspi.so.1 /usr/lib64/libtspi.so |
Fedora 编译
mingw can no longer be found in the Centos 7 EPEL Repository See bugzilla.redhat.com/show_bug.cgi?id=1807975 and pagure.io/fesco/issue/2333
1 | yum install gcc cmake pkg-config mingw64-gcc gnutls-devel \ |
https://wiki.videolan.org/Win32Compile_Under_Fedora/
CentOS7 编译
CentOS7多一个popt的问题,类似heimdal,也是yum出来的包不支持pkgconfig
参照heimdal的处理自己先compile一个
1 | ./autogen.sh |
主要需要搞定mingw的问题
这里分享一个可用的repo: https://copr.fedorainfracloud.org/coprs/alonid/mingw-epel7/
使用的时候需要只enable它,yum install --disablerepo=* --enablerepo=mingw-epel7 xxx
常见问题
NT_STATUS_IO_TIMEOUT
- 一种可能是0.80似乎只支持SBMv1
smb1protocol
顺便分享一些远程安装启用的命令
是在Windows下使用的
首先利用SysinternalsSuite包中提供的PsExec拉Dism,用WMIC process call create
应该也行
NOTE 这里加了/NoRestart,主要是由于Dism提供的重启不够强力,可能造成卡住
后面用WMIC shutdown -r -f
强制重启
1 | .\PsExec.exe \\[IP] -u [user] -p [passwd] Dism /online /Enable-Feature /FeatureName:smb1protocol /NoRestart /ALL |
- 另一种可能的原因是防火墙
可以查看目前网络配置文件是公用还是专用。如果是公用,进一步查看是否开启了公用网络的防火墙
可以考虑直接切换到专用,关闭或配置专用网络的防火墙规则
本机上的system32目录内容与winexe cmd.exe dir出来的不一致
这是一个32-bit/64-bit问题
winexe新一点的版本会有[–ostype=0|1|2]选项,来指定x86/x64
可以通过echo %programfiles%看判断
1 | C:\Windows\system32>echo %programfiles% |
这里%programfiles%会被认为是 (x86)
没有nvidia-smi.exe
我们可以直接拉"c:\windows\sysnative\cmd.exe"
1 | C:\Windows\system32>echo %programfiles% |
这样就正常了