
Apache Struts CVE-2017-5638을 악용하기 위한 대화형 명령줄 셸입니다. 취약한 대상에 대해 실시간 셸 상호작용을 통해 HTTP/HTTPS 악용을 자동화합니다.
Apache Struts (CVE-2017-5638) Shell
LowNoiseHG (LNHG) Struts Shell("StrutsShell"로 약칭)은 2017년 3월에 구상되었습니다. Apache Struts CVE-2017-5638을 수동으로(직접 HTTP GET 요청) 익스플로잇하지 않아도 되는 유용성을 깨닫고, 이 취약점에 대한 해당 metasploit 모듈이 (적어도 저희 테스트 케이스에서는) 작동하지 않음을 알게 된 후였습니다.
StrutsShell의 기본 작동 방식은 공격 대상 플랫폼(Windows, Linux 등)의 명령줄(shell) 입력을 처리하고, Apache Struts 취약점을 이용하여 이를 실행할 셸로 푸시하는 것입니다. 그런 다음 도구는 응답을 반환하고 다음 셸 명령을 기다리며 매끄러운 상호 작용 환경을 제공합니다.
# LowNoiseHG Apache Struts (CVE-2017-5638) Shell v.0.1 (2017/03/17)
# by F4Lc0N - LNHG - USA/Colombia
#
# Thanks to Andrew Weidenhamer (@AWeidenhamer), David Llorens (c4an),
# Tauseef Ghazi (@tghazi), and AJ (@nikamajinkya) for inspiration, ideas
# and debugging/betatesting help.
usage: StrutsShell.py [-h] [-d] [-u URL]
LNHG Apache Struts (CVE-2017-5638) Shell v.0.1
optional arguments:
-h, --help show this help message and exit
-d, --debug show debugging info
-u URL, --url URL Apache Struts vulnerable URL (i.e.:
http://www.example.com/test/login.action)
for inspiration, ideas and debugging/beta-testing help.
**LowNoiseHG (LNHG)**에서 수행된 대부분의 R&D와 마찬가지로, 이 도구는 오직 유용성만을 위해 설계 및 개발되었으며, 경제적 자금이나 할당된 시간은 없었습니다. 모든 개발은 개인 시간에만 이루어졌으며, 흥미로운 기능이 나타나고 다른 프로젝트를 고려하여 시간이 허락된다면 계속될 것입니다.
현재 버전은 매우 잘 작동하지만, 아직 해결해야 할 사소한 문제(버그)와 개선할 수 있는 기본 기능이 몇 가지 있습니다.
StrutsShell 및 관련 모든 코드는 GPL v3 오픈소스 라이선스에 따라 배포됩니다. 전체 라이선스는 LICENSE.md 파일에 첨부되어 있습니다.
StrutsShell을 "out-of-the-git"으로, 모든 옵션을 활성화한 상태로 실행하려면 다음이 필요합니다:
참고: StrutsShell은 Kali, Ubuntu 및 Debian에서 개발 및 테스트되었습니다. 여러분이 원하는 다른 플랫폼에서도 작동하게 할 수 있을 것이라고 확신합니다 ;)
$ sudo apt-get install -y python git
$ pip install requests
$ cd /opt
$ sudo git clone https://github.com/falcon-lnhg/StrutsShell.git
$ cd StrutsShell
$ ./StrutsShell.py -u http://www.example.com/test/login.action
언제든지 다음 명령어로 전체 옵션 목록을 확인할 수 있습니다:
$ ./StrutsShell -h
