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漏洞将其推送至shell执行。随后工具返回结果并等待下一条shell命令,提供流畅的交互体验。
# 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) 中完成的大部分研发工作一样,本工具的设计和开发仅出于其实用性考虑,未获得任何资金或专门的时间投入。所有开发均在个人业余时间完成,未来如果有有趣的功能出现,且考虑到其他项目的时间允许,将继续进行开发。
当前版本运行良好,但仍有一些小问题(bug)需要解决,部分基础功能也有改进空间。
StrutsShell及其所有相关代码均采用GPL v3开源许可证发布。完整许可证附在LICENSE.md文件中。
要直接“开箱即用” StrutsShell(启用所有选项),您需要:
注意: 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
