文章讲述了: 1.浏览器加密数据具体的文件位置homeDir + "/AppData/Local/Google/Chrome/User Data/"
用户的默认profile文件为Default,该目录下存储着浏览器的各种数据库文件。 其中主密钥文件位于数据目录下的Local State文件中,password和cookie两个数据库被该密钥加密,history无需解密可明文读取,各文件具体位置可以在本项目的item文件夹下查看。 2.浏览器加密数据使用的一些算法 windows平台下密码和cookie的加密并非直接的aes或rsa等加密,而是使用了DPAPI,DPAPI实现了用户层面的加密,即只有同一个用户调用该api时可以恢复对应的数据。而chrome这里的主密钥是经过dpapi加密的,因此只能在目标机器以对应用户的身份还原。将文件外带后本地还原是行不通的。 这也是部分情况下攻击者获取了system权限后,HackBrowserData无法还原数据的原因(另一个原因是其默认情况下是根据用户家目录搜寻数据的,system的家目录下自然没有东西)。 当然,dpapi的加密依赖于用户口令,如果攻击者直接是administrator及以上层级,能够mimikatz一把梭恢复出用户口令hash的话,也可以进行本地还原。 这句话就是说:如果只有任意文件读取的话,虽然能下载下来文件,但是无法解密。 3.如何绕过EDR的防护去导出数据 这里使用了chrome的devtools
去实现的操作:让浏览器自己把自己的这些东西弄下来,具体的操作看原文。
最新的一个Windows提权漏洞,具体利用细节什么的还没看,回来有空详细学习一下最新的这些东西
比SharpSQLTOOLs
多了一些土豆,两者相辅相成吧,会很不错多了一个BeiChen的clr_efspotato {cmd} - exec by EfsPotato like clr_exec clr_badpotato {cmd} - exec by BadPotato like clr_exec clr_godpotato {cmd} - exec by GodPotato like clr_exec
比SharpSQLTools
GodPotato
反弹shell(一个可交互的真shell)的时候是需要fork出来的子进程 execve /bin/bash 的,但是这样一般会引发告警,此时就有个需求,不让execve内核hook监控知道我执行的是 /bin/bash ,这里总结一下大概有如下方法: 1. 最简单的把/bin/bash拷贝一份,然后执行,但是一般会云查,所以最好修改一下/bin/bash的内容 2. 给/bin/bash 创建软链接,使用 ln -s ,或者 cp -s ,然后执行符号链接。 3. memfd ,这个syscall一般都会监控,而且会对内存的数据当做文件采集。 4. fexecve , 此方法本质上调用的依然是 execve,只不过路径传入的是 /proc/self/fd/%fd 5. 使用加载器,32位执行 /lib/ld-linux.so.2 /bin/bash , 64位执行 /lib64/ld-linux-x86-64.so.2 /bin/bash 6. 内存加载ELF文件,项目有ulexecve
之前面试的时候,面试官问的一个问题需要阅读SharpSQLTools的源代码,其中真正执行恶意payload的地方是在这个DLL中,备份一下