# TryHackMe-USTOUN ## Rustscan ```bash PORT STATE SERVICE REASON VERSION 53/tcp open domain? syn-ack ttl 127 | fingerprint-strings: | DNSVersionBindReqTCP: | version |_ bind 88/tcp open kerberos-sec syn-ack ttl 127 Microsoft Windows Kerberos (server time: 2021-04-03 18:57:34Z) 135/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 139/tcp open netbios-ssn syn-ack ttl 127 Microsoft Windows netbios-ssn 445/tcp open microsoft-ds? syn-ack ttl 127 464/tcp open kpasswd5? syn-ack ttl 127 593/tcp open ncacn_http syn-ack ttl 127 Microsoft Windows RPC over HTTP 1.0 636/tcp open tcpwrapped syn-ack ttl 127 1433/tcp open ms-sql-s? syn-ack ttl 127 3268/tcp open ldap syn-ack ttl 127 Microsoft Windows Active Directory LDAP (Domain: ustoun.local0., Site: Default-First-Site-Name) 3269/tcp open tcpwrapped syn-ack ttl 127 3389/tcp open ssl/ms-wbt-server? syn-ack ttl 127 | rdp-ntlm-info: | Target_Name: DC01 | NetBIOS_Domain_Name: DC01 | NetBIOS_Computer_Name: DC | DNS_Domain_Name: ustoun.local | DNS_Computer_Name: DC.ustoun.local | DNS_Tree_Name: ustoun.local | Product_Version: 10.0.17763 |_ System_Time: 2021-04-03T19:00:24+00:00 | ssl-cert: Subject: commonName=DC.ustoun.local | Issuer: commonName=DC.ustoun.local | Public Key type: rsa | Public Key bits: 2048 | Signature Algorithm: sha256WithRSAEncryption | Not valid before: 2021-01-31T19:39:34 | Not valid after: 2021-08-02T19:39:34 | MD5: fce5 375e 0190 ebc1 bf6e f384 468f 69f6 | SHA-1: dbe7 28d6 1980 1221 c9cb 712a 911e 99b2 303e 5de7 | -----BEGIN CERTIFICATE----- | MIIC4jCCAcqgAwIBAgIQWPJp5aVu8JlPCbMkI/U6AjANBgkqhkiG9w0BAQsFADAa | MRgwFgYDVQQDEw9EQy51c3RvdW4ubG9jYWwwHhcNMjEwMTMxMTkzOTM0WhcNMjEw | ODAyMTkzOTM0WjAaMRgwFgYDVQQDEw9EQy51c3RvdW4ubG9jYWwwggEiMA0GCSqG | SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDErxES6mfg1M0Ur5tZJHE8BKV+voQAWLa4 | gKJfNi0av9nZ80wp2gJnQmHmZC0ACVpQUufMU9vlaCnk35rqsyM0/igqigSqWXAM | OY/876ZWGbo5R1g3PjH4bE3mdPtPAJF0wfS8aZ8CdHlmuGDFlJmnu6qFEP/PoACC | tf1S/vky+8GVs4uLFyxZOY5mam5PNULQvsMz2ycOPwj2CYwgWnrnA52N6m/6O9v7 | XK+K6XBSGHamrHR5EYFXG+u1vItwm4qpUZerUhZl2/WVKIIN4pDXWDCrS59nsVvc | UC3fDPcgzruHIVJcA+g+CsEYdidS+E1NO3e3ZnWBeWE77ZCSDyTNAgMBAAGjJDAi | MBMGA1UdJQQMMAoGCCsGAQUFBwMBMAsGA1UdDwQEAwIEMDANBgkqhkiG9w0BAQsF | AAOCAQEAj9XeCOtYI4LrmeM7qZVQYuuDHIDosWkIw0LMpin4/gt0CDaEB1/uXUnX | JnBUEHWMDdjzC22hTsTdUIntZgJAk81aQbPm3qMvSE1AXPCCfsN7GehA4kX/n42X | xiz2rwZo/5DYH0JOWj8iCZyFMiXqSwQm3GWbG4LuTOct+x/rv0UwhyCvdllVRtwz | P9BM/9qZqy3LecKtJh6UUo8FZ8zkekT9nsJ9/vCv3/THRUMOtEtSXdZUUqccXwRm | 0HVLxT09wdGGbwdOzzdQSQfLmewi3rSZQf9liaXDtpkK60qrzj4zcyGG2QvX+9EI | pZV0B4rzCUDWrpaTOsv8z7Qlgeb2GA== |_-----END CERTIFICATE----- |_ssl-date: 2021-04-03T19:01:07+00:00; +1m25s from scanner time. 5985/tcp open http syn-ack ttl 127 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) |_http-server-header: Microsoft-HTTPAPI/2.0 |_http-title: Not Found 9389/tcp open mc-nmf syn-ack ttl 127 .NET Message Framing 47001/tcp open http syn-ack ttl 127 Microsoft HTTPAPI httpd 2.0 (SSDP/UPnP) |_http-server-header: Microsoft-HTTPAPI/2.0 |_http-title: Not Found 49664/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 49665/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 49666/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 49667/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 49669/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 49670/tcp open ncacn_http syn-ack ttl 127 Microsoft Windows RPC over HTTP 1.0 49673/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 49689/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 49709/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 49712/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC 49726/tcp open msrpc syn-ack ttl 127 Microsoft Windows RPC ``` From the scan we can see a domain name ## PORT 445 (SMB) We can only access `$IPC` as anonymous but there is no use of it. So using `crackmapexec` we can use RID bruteforce which will enumerate all AD objects including users and groups by guessing every resource identifier (RID) Here you can see `SVC-Kerb` might be a user we can try to bruteforce as MS-SQL is running we can try there ## PORT 1433 (MS-SQL) The database is Microsfoft SQL so let's brute force credentials using `hydra` We found the password so we can use metasploit's module for code execution `use admin/mssql/mssql_exec` So there's a command execution alternatively we can try do `sqsh` which is an opensource program for getting a interactive database shell Here `-S` indicates the server where we put the IP address or the port if MS-SQL was on a different port `-U` specifies the username `-P` specifies the passowrd Now to execute windows commands we are going to use `xp_cmdshell` which spawns a windows command shell . `xp_cmdshell` is an extended stored procedure provided by Microsoft and stored in the master database. So the whole command will be `EXEC master ..xp_cmdshell'whoami'` , here `EXEC` is used to execute stored procedure on a database and stored procedures are kinda like functions in mysql /mssql. We can find the user.txt in `C:\Users\SVC-Kerb.DC01` But when I tried to read it I get access denied So first to get a proper shell I uploaded `ncat64.exe` you can download it from here https://github.com/int0x33/nc.exe Now we got a shell at least so to see what permissions does `SVC-kerb` has we can do `net user SVC-kerb` It tells that we are just a domain user also this looks like a service account and we won't be able to with it much since this is a Active Directory we can try to run `SharpHoundp.ps1` to gather everything it could find about the domain I transfered the file onto target machine but before run it let's find the domain name we already know it from the nmap scan but just to be sure spawn a powershell by running `powershell` and run `Get-ADDomain` this will show you the information of the domain Now we will import sharphound.ps1 and use it's functions We need to transfer this on to our local machine so we can analyze the data through `BloodHound` To transfer it I tried creating a smb share on my local machine and copying the zip file there but windows gave an error that it wasn't allowing to transfer the file so I thought of trying to get a meterpter shell through which I can download the zip file Run `neo4j console` Then `bloodhound` I imported that zip file in blood hound but didn't find anything intersting, so can now upload `PowerUp.ps1` to enumerate for misconfigurations or privilege escalation techniques ## PowerUp You can download the script from here https://github.com/PowerShellMafia/PowerSploit/tree/master/Privesc Also read the documentation from here https://www.harmj0y.net/blog/powershell/powerup-a-usage-guide/ Now importing the powershell script and running `Invoke-AllChecks` So here we have 2 ways of getting admin first let's try abusing the service `UsoSvc` ### Service Abuse Looking at the documentation We can abuse a service by creating a local administartor by creating a new username and then adding it local adminstrators group or by using the current username Creating a new username and adding it to local adminstrator To see if this user was added Now to switch to this user we can `evil-winrm` to login since winrm service is rinning ### SeImpersonatePrivilege Running `whoami /all` to see what privleges the user has Now we can abuse this service by through `PrintSpoofer` Download printspoofer 64 bit verison https://github.com/itm4n/PrintSpoofer/releases/tag/v1.0 And we can access Administrator's directory