{"id":7157,"date":"2017-03-29T11:40:47","date_gmt":"2017-03-29T19:40:47","guid":{"rendered":"http:\/\/www.palada.net\/index.php\/2017\/03\/29\/news-948\/"},"modified":"2017-03-29T11:40:47","modified_gmt":"2017-03-29T19:40:47","slug":"news-948","status":"publish","type":"post","link":"http:\/\/www.palada.net\/index.php\/2017\/03\/29\/news-948\/","title":{"rendered":"Microsoft Word File Spreads Malware Targeting Both Mac OS X and Windows (Part II)"},"content":{"rendered":"<p><strong>Credit to Author: Chris Navarrete &amp; Xiaopeng Zhang| Date: Wed, 29 Mar 2017 12:29:47 -0700<\/strong><\/p>\n<div class=\"entry\">\n<p>In <a href=\"http:\/\/blog.fortinet.com\/2017\/03\/22\/microsoft-word-file-spreads-malware-targeting-both-apple-mac-os-x-and-microsoft-windows\">the blog<\/a> we posted on March 22, FortiGuard Labs introduced a new Word Macro malware sample that targets both Apple Mac OS X and Microsoft Windows. After deeper investigation of this malware sample, we can confirm that after a successful infection the post-exploitation agent Meterpreter is run on the infected Mac OS X or Windows system. Meterpreter is part of the Metasploit framework. More information about Meterpreter can be found <a href=\"https:\/\/www.offensive-security.com\/metasploit-unleashed\/about-meterpreter\/\">here<\/a>.<\/p>\n<p>For this to work, the attacker&rsquo;s server must be running Metasploit as the controller to control the infected systems. Since the attacker&rsquo;s server doesn&rsquo;t currently respond to any requests, we decided to set up a Metasploit to confirm our observation.<\/p>\n<p>This blog provides a walk-through of the attack process with the server we set up, and shows what an attacker can do on an infected system.<\/p>\n<h2>Testing Environment<\/h2>\n<p>The testing environment consists of three virtual machines running 64-bit Windows 7, 64-bit Mac OS X, and 64-bit Kali Linux, respectively. The Windows 7 machine acts as an infected Windows system, the Mac OS X machine acts as an infected Mac OS X system, and the Kali Linux VM acts as the attacker&rsquo;s server running Metasploit.<\/p>\n<p>Following are the IP addresses of these virtual machines.<\/p>\n<p>Windows 7: 192.168.71.127<\/p>\n<p>Mac OS X: 192.168.71.128<\/p>\n<p>Kali Linux: 192.168.71.129<\/p>\n<h2>Setting Up the Metasploit<\/h2>\n<p>First, we created a new script file on the Kali Linux VM with Metasploit installed containing the commands required to set Metasploit.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali1.png\" style=\"width: 430px; height: 192px;\" \/><\/p>\n<p align=\"center\">Figure 1 &ndash; The content of the script file<\/p>\n<p>Typing &ldquo;<strong>msfconsole -q -r osx_meterpreter_test&rdquo;<\/strong> executes Metasploit in quiet mode (-q) and loads the script file (-r) provided.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali2.png\" style=\"width: 656px; height: 56px;\" \/><\/p>\n<p align=\"center\">Figure 2 &ndash; Running Metasploit<\/p>\n<p>Once the settings are loaded, running the command <strong>show options <\/strong>shows the current Metasploit configuration for the session.<\/p>\n<p>Our test uses two Metasploit components. The first is the <strong>web_delivery<\/strong> module, and the second is the payload <strong>reverse_https<\/strong>.<\/p>\n<p>The SRVHOST and LHOST parameters are set to the Kali Linux&rsquo;s IP address (192.168.71.129). This IP address acts as a listener (for the connect-back connection, listening on TCP\/443 (LPORT)) as well as a server (listening on TCP\/8080(SRVPORT)) to deliver the <strong>reverse_https<\/strong> payload.<\/p>\n<p>The <strong>show options<\/strong> command hides certain settings that can only be viewed by the <strong>show advanced<\/strong> command. The only setting that is not shown is <strong>StagerVerifySSLCert<\/strong>, which we set to false. That prevents the validity of the SSL certificate to be verified while establishing secure communications.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali3.png\" \/><\/p>\n<p align=\"center\">Figure 3 &ndash; Showing the options set for the attack<\/p>\n<p>The next step is to execute the <strong>run <\/strong>command, which starts the HTTPS reverse handler\/server so it is ready for victims to connect. See Figure 4. A piece of Python script code is then generated for infected systems to run.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali4.png\" style=\"width: 975px; height: 193px;\" \/><\/p>\n<p align=\"center\">Figure 4 &ndash; Running the attack<\/p>\n<p>Instead of directly executing this code on the victim&rsquo;s machine, however, an HTTPS request is made to see what data the server will reply with. Typing <strong>curl -k <\/strong><strong>https:\/\/192.168.71.129:8080\/<\/strong>, we can see that a chunk of Python script code has been received.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali5.png\" style=\"width: 975px; height: 228px;\" \/><\/p>\n<p align=\"center\">Figure 5 &ndash; The Python script code returned to victim<\/p>\n<p>If we compare the code structure between the code found in the malicious Macro and the one generated by Metasploit in the previous step, it is easy to visually identify the same elements (highlighted in yellow), but obviously the base64 data is different.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali6(1).png\" style=\"width: 705px; height: 227px;\" \/><\/p>\n<p>The next step is to decode the base64 data to reveal the code that will be executed on the victim&rsquo;s machine. To do that, a call to the base64 tool is more than enough, and can be done inside the Metasploit prompt as well.<\/p>\n<p>The command syntax is: <strong>echo &ldquo;<base64 data=\"\" encoded=\"\">&rdquo; | base64 -d <\/base64><\/strong><\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali7.png\" style=\"width: 975px; height: 400px;\" \/><\/p>\n<p align=\"center\">Figure 6 &ndash; Decoding the base64 data<\/p>\n<p>In the malware sample, the base64 decoded data is passed to the <em>ExecuteForOSX()<\/em> function (on the left side of the table). Again, through a comparison between that code and the code generated by Metasploit, we can see that they are same, without counting the URL, which is different.<\/p>\n<p><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali8.png\" style=\"width: 704px; height: 318px;\" \/><\/p>\n<h2>Demonstrating the attack on Mac OS X<\/h2>\n<p>Next, on the Mac OS X machine, we create a new file with the name &ldquo;osx_meterpreter.py&rdquo; that includes the code above (on the right side) generated by Metasploit. It is then executed by calling the Python interpreter with the script as a parameter.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkalifig7.png\" style=\"width: 975px; height: 226px;\" \/><\/p>\n<p align=\"center\">Figure 7 &ndash; Running the Python script on the Mac OS X machine<\/p>\n<p>We can now see that the script is executed without any issue. Great!<\/p>\n<p>When going back to the Metasploit prompt on the Kali Linux, we can see that a meterpreter session is opened. The <strong>sessions<\/strong> command can be run to see the current meterpreter session. The output shows that an active session with the type &ldquo;meterpreter python\/osx&rdquo;. It confirms that the session has been established correctly.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali10.png\" style=\"width: 975px; height: 206px;\" \/><\/p>\n<p align=\"center\">Figure 8 &ndash; The Meterpreter session is opened<\/p>\n<p>The command <strong>sessions -i 1<\/strong> is now run to start interaction with the session, so the meterpreter prompt is given. The first command we execute is the meterpreter command called <strong>sysinfo,<\/strong> which collects information from the remote infected system, as shown in Figure 9. For this scenario, it shows information from the compromised Mac OS X machine.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali11.png\" style=\"width: 975px; height: 92px;\" \/><\/p>\n<p align=\"center\">Figure 9 &ndash; Getting the sys info of the infected Mac OS X<\/p>\n<p>Now, to be a bit more adventurous, the <strong>shell<\/strong> command is executed. This command starts a shell on the remote compromised system that can be controlled locally. A &ldquo;sh-3.2&rdquo; prompt appears, and from here we can execute any command that is the OS command run on the remote machine. The <strong>id<\/strong> command is executed showing the user&rsquo;s id, which in this case is the &ldquo;root&rdquo; user.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali12.png\" style=\"width: 975px; height: 137px;\" \/><\/p>\n<p align=\"center\">Figure 10 &ndash; Getting the shell of the infected Mac OS X<\/p>\n<p>It is also worth a mention that, even if the Metasploit server goes down, the Python process running on the victim&rsquo;s machine stays alive and keeps trying to connect back until the server goes up. Once this happens, the victim&rsquo;s machine is automatically connected and establishes a session with the server.<\/p>\n<h2>Demonstrating the attack on Windows 7<\/h2>\n<p>On the Windows 7 machine, the first thing we do is to modify the file &ldquo;hosts,&rdquo; as shown below, which you can find in &ldquo;%SystemRoot%System32driversetc&rdquo;. This file is used to map host names to IP addresses.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali13.png\" style=\"width: 778px; height: 288px;\" \/><\/p>\n<p align=\"center\">Figure 11 &ndash; Modifying the &ldquo;hosts&rdquo; file<\/p>\n<p>As a result, all the request packets directed to pizza.vvlxpress.com will be sent to the Kali Linux machine (192.168.71.129).&nbsp; We then let the 64-bit DLL restore to run inside the powershell.exe process. It will connect to the Kali Linux running Metasploit.<\/p>\n<p>When going back to the Metasploit prompt on the Kali Linux, we see that a meterpreter session has been opened. We then use the <strong>sessions<\/strong> command to see the current meterpreter session. The output shows that there&rsquo;s an active session with the type &ldquo;meterpreter x64\/windows&rdquo;. The<strong> sysinfo <\/strong>command then shows the sys info of the infected Windows system. See Figure 12.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali14.png\" \/><\/p>\n<p align=\"center\">Figure 12 &ndash; Getting the sys info of the infected Windows 7 device<\/p>\n<p>After the connection is established, we next check the victim&rsquo;s system information. See Figure 13. We are able to compare it with the information we got in Metasploit (Figure 12.)<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali15.png\" style=\"width: 755px; height: 452px;\" \/><\/p>\n<p align=\"center\">Figure 13 &ndash; The info of the infected Windows<\/p>\n<p>We then execute the <strong>shell<\/strong> command to take control of the infected Windows machine. Figure 14 shows the output of executing the <strong>dir<\/strong> command after we get the shell.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali16.png\" style=\"width: 974px; height: 502px;\" \/><\/p>\n<p align=\"center\">Figure 14 &ndash; Getting the shell of the infected Windows machine<\/p>\n<p>From here, you can execute any command you want on the infected Windows machine.<\/p>\n<p>As you probably notice, in the output of the <strong>shell<\/strong> command there is a line of message reading &ldquo;Process 1172 created.&rdquo; This means that a new <strong>cmd.exe<\/strong> with process id 1172 was run on the infected system, which is used to handle commands from the server.<\/p>\n<p align=\"center\"><img decoding=\"async\" alt=\"\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali17.png\" style=\"width: 973px; height: 275px;\" \/><\/p>\n<p align=\"center\">Figure 15 &ndash; A new &ldquo;cmd.exe&rdquo; process is created<\/p>\n<h2>Conclusion<\/h2>\n<p>Based on FortiGuard Labs&rsquo; analysis and testing, we can confirm the following:<\/p>\n<ol>\n<li>Meterpreter was used for post-exploitation by the attacker<\/li>\n<li>The <strong>web_delivery<\/strong> module was used by the attacker<\/li>\n<li>The <strong>reverse_https<\/strong> payload was used by the attacker for secure communication<\/li>\n<\/ol>\n<p>This walk-through shows how this malware is able to take control of the infected system. Once the meterpreter session is established, the attacker can get the sys info of the infected system and execute commands on the infected system.<\/p>\n<p>In fact, meterpreter is a very powerful tool for post-exploitation. In the Appendix, below, you can see the commands it supports. This helps you imagine how serious the consequences of such an attack can be if your system is infected by this malware.<\/p>\n<h2>Appendix<\/h2>\n<p>The commands that meterpreter supports:<\/p>\n<blockquote>\n<p>&nbsp;<tt>Stdapi: File system Commands<\/tt><\/p>\n<p><tt>&nbsp;============================<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Description<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; cat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Read the contents of a file to the screen<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; cd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Change directory<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; checksum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Retrieve the checksum of a file<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; cp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Copy source to destination<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; dir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List files (alias for ls)<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; download&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Download a file or directory<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; edit&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;Edit a file<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getlwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print local working directory<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print working directory<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; lcd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Change local working directory<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; lpwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print local working directory<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; ls&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List files<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; mkdir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Make directory<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; mv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Move source to destination<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; pwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Print working directory<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; rm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Delete the specified file<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; rmdir&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Remove directory<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; search&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Search for files<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; show_mount&nbsp;&nbsp;&nbsp; List all mount points\/logical drives<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; upload&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Upload a file or directory<\/tt><\/p>\n<p>&nbsp;<\/p>\n<p><tt>&nbsp;Stdapi: Networking Commands<\/tt><\/p>\n<p><tt>&nbsp;===========================<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Description<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; arp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display the host ARP cache<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getproxy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display the current proxy configuration<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; ifconfig&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display interfaces<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; ipconfig&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display interfaces<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; netstat&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Display the network connections<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; portfwd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Forward a local port to a remote service<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; resolve&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Resolve a set of host names on the target<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; route&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; View and modify the routing table<\/tt><\/p>\n<p>&nbsp;<\/p>\n<p><tt>&nbsp;Stdapi: System Commands<\/tt><\/p>\n<p><tt>&nbsp;=======================<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Description<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; clearev&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Clear the event log<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; drop_token&nbsp;&nbsp;&nbsp; Relinquishes any active impersonation token.<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; execute&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Execute a command<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getenv&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get one or more environment variable values<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getpid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get the current process identifier<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getprivs&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Attempt to enable all privileges available to the current process<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getsid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get the SID of the user that the server is running as<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getuid&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Get the user that the server is running as<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; kill&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Terminate a process<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; localtime&nbsp;&nbsp;&nbsp;&nbsp; Displays the target system&#39;s local date and time<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; pgrep&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Filter processes by name<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; pkill&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Terminate processes by name<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; ps&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; List running processes<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; reboot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Reboots the remote computer<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; reg&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Modify and interact with the remote registry<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; rev2self&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Calls RevertToSelf() on the remote machine<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; shell&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Drop into a system command shell<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; shutdown&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Shuts down the remote computer<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; steal_token&nbsp;&nbsp; Attempts to steal an impersonation token from the target process<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; suspend&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Suspends or resumes a list of processes<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; sysinfo&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Gets information about the remote system, such as OS<\/tt><\/p>\n<p>&nbsp;<\/p>\n<p><tt>&nbsp;Stdapi: User interface Commands<\/tt><\/p>\n<p><tt>&nbsp;===============================<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Description<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; enumdesktops&nbsp;&nbsp; List all accessible desktops and window stations<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getdesktop&nbsp;&nbsp;&nbsp;&nbsp; Get the current meterpreter desktop<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; idletime&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Returns the number of seconds the remote user has been idle<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; keyscan_dump&nbsp;&nbsp; Dump the keystroke buffer<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; keyscan_start&nbsp; Start capturing keystrokes<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; keyscan_stop&nbsp;&nbsp; Stop capturing keystrokes<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; screenshot&nbsp;&nbsp;&nbsp;&nbsp; Grab a screenshot of the interactive desktop<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; setdesktop&nbsp;&nbsp;&nbsp;&nbsp; Change the meterpreters current desktop<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; uictl&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Control some of the user interface components<\/tt><\/p>\n<p>&nbsp;<\/p>\n<p><tt>&nbsp;Stdapi: Webcam Commands<\/tt><\/p>\n<p><tt>&nbsp;=======================<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Description<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; record_mic&nbsp;&nbsp;&nbsp;&nbsp; Record audio from the default microphone for X seconds<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; webcam_chat&nbsp;&nbsp;&nbsp; Start a video chat<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; webcam_list&nbsp;&nbsp;&nbsp; List webcams<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; webcam_snap&nbsp;&nbsp;&nbsp; Take a snapshot from the specified webcam<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; webcam_stream&nbsp; Play a video stream from the specified webcam<\/tt><\/p>\n<p>&nbsp;<\/p>\n<p><tt>&nbsp;Priv: Elevate Commands<\/tt><\/p>\n<p><tt>&nbsp;======================<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Description<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; getsystem&nbsp;&nbsp;&nbsp;&nbsp; Attempt to elevate your privilege to that of local system.<\/tt><\/p>\n<p>&nbsp;<\/p>\n<p><tt>&nbsp;Priv: Password database Commands<\/tt><\/p>\n<p><tt>&nbsp;================================<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Description<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; hashdump&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Dumps the contents of the SAM database<\/tt><\/p>\n<p>&nbsp;<\/p>\n<p><tt>&nbsp;Priv: Timestomp Commands<\/tt><\/p>\n<p><tt>&nbsp;========================<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; Command&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Description<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; -------&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------<\/tt><\/p>\n<p><tt>&nbsp;&nbsp;&nbsp;&nbsp; timestomp&nbsp;&nbsp;&nbsp;&nbsp; Manipulate file MACE attributes<\/tt><\/p>\n<\/blockquote>\n<p>&nbsp;<\/p>\n<\/div<br \/><a href=\"http:\/\/blog.fortinet.com\/2017\/03\/29\/microsoft-word-file-spreads-malware-targeting-both-mac-os-x-and-windows-part-ii\" target=\"bwo\" >https:\/\/blog.fortinet.com\/feed<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/d3gpjj9d20n0p3.cloudfront.net\/ngblog\/uploads\/files\/wordkali1.png\"\/><\/p>\n<p><strong>Credit to Author: Chris Navarrete &amp; Xiaopeng Zhang| Date: Wed, 29 Mar 2017 12:29:47 -0700<\/strong><\/p>\n<p>In the blog we posted on March 22, FortiGuard Labs introduced a new Word Macro malware sample that targets both Apple Mac OS X and Microsoft Windows. After deeper investigation of this malware sample, we can confirm that after a successful infection the post-exploitation agent Meterpreter is run on the infected Mac OS X or Windows system. Meterpreter is part of the Metasploit framework. More information about Meterpreter can be found here.    For this to work, the attacker\u2019s server must be running Metasploit as the controller to control the&#8230;<\/p>\n","protected":false},"author":4,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"colormag_page_container_layout":"default_layout","colormag_page_sidebar_layout":"default_layout","footnotes":""},"categories":[10424,10378],"tags":[],"class_list":["post-7157","post","type-post","status-publish","format-standard","hentry","category-fortinet","category-security"],"_links":{"self":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/7157","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/comments?post=7157"}],"version-history":[{"count":0,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/posts\/7157\/revisions"}],"wp:attachment":[{"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/media?parent=7157"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/categories?post=7157"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.palada.net\/index.php\/wp-json\/wp\/v2\/tags?post=7157"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}