{"id":1970,"date":"2026-02-11T16:20:35","date_gmt":"2026-02-11T21:20:35","guid":{"rendered":"https:\/\/www.peteonsoftware.com\/?p=1970"},"modified":"2026-02-11T16:20:35","modified_gmt":"2026-02-11T21:20:35","slug":"hack-the-box-walkthrough-phishnet","status":"publish","type":"post","link":"https:\/\/www.peteonsoftware.com\/index.php\/2026\/02\/11\/hack-the-box-walkthrough-phishnet\/","title":{"rendered":"Hack the Box Walkthrough: PhishNet"},"content":{"rendered":"<p><img decoding=\"async\" src=\"https:\/\/peteonsoftware.com\/images\/2026\/phishnet_logo.png\" alt=\"HTB PhishNet Logo\" title=\"HTB PhishNet Logo\" style=\"float:left;margin:.5rem;\">This time, we&#8217;re taking a look at another Sherlock from Hack the Box called <a href=\"https:\/\/app.hackthebox.com\/sherlocks\/PhishNet?tab=play_sherlock\">PhishNet<\/a>.  We can probably already guess by the name that this is going to be some Blue Team work around investigating emails or a phishing attack or the like and it turns out that this is a fun little adventure into entry-level email header research.  If we take a look at the scenario, we get this: &#8220;An accounting team receives an urgent payment request from a known vendor. The email appears legitimate but contains a suspicious link and a .zip attachment hiding malware. Your task is to analyze the email headers, and uncover the attacker&#8217;s scheme.&#8221;<\/p>\n<p>So there we have it.  To start off, we download the .zip file attached to the lab and unzip it using the provided password <em>hacktheblue<\/em>.  Inside, we find one file called <em>email.eml<\/em>.<\/p>\n<p><strong>Task 1: What is the originating IP address of the sender?<\/strong><\/p>\n<p>To start off and answer a few of these questions, we can just open the .eml file in plain text viewer of our choice.  The answer to this one is right near the top.  These headers both agree, so this is definitely the answer.<\/p>\n<pre>\r\nX-Originating-IP: [45.67.89.10]\r\n...\r\nX-Sender-IP: 45.67.89.10\r\n<\/pre>\n<p><em><strong>Task 1 Answer: 45.67.89.10<\/strong><\/em><\/p>\n<p><strong>Task 2: Which mail server relayed this email before reaching the victim?<\/strong><\/p>\n<p>Looking at the headers again, we see the following.  The last server to touch it was mail.business-finance.com.  HTB didn&#8217;t want that, but the IP instead.<\/p>\n<pre>\r\nReceived: from mail.business-finance.com ([203.0.113.25])\r\n\tby mail.target.com (Postfix) with ESMTP id ABC123;\r\n\tMon, 26 Feb 2025 10:15:00 +0000 (UTC)\r\nReceived: from relay.business-finance.com ([198.51.100.45])\r\n\tby mail.business-finance.com with ESMTP id DEF456;\r\n\tMon, 26 Feb 2025 10:10:00 +0000 (UTC)\r\nReceived: from finance@business-finance.com ([198.51.100.75])\r\n\tby relay.business-finance.com with ESMTP id GHI789;\r\n\tMon, 26 Feb 2025 10:05:00 +0000 (UTC)\r\n<\/pre>\n<p><em><strong>Task 2 Answer: 203.0.113.25<\/strong><\/em><\/p>\n<p><strong>Task 3: What is the sender&#8217;s email address?<\/strong><\/p>\n<p>I wasn&#8217;t sure if this was a trick or not, but nothing here appears too crazy and these items all agree, so this is definitely the answer.<\/p>\n<pre>\r\nReturn-Path&colon; &lt;finance&commat;business-finance&period;com&gt;\r\n&period;&period;&period;\r\nX-Envelope-From&colon; finance&commat;business-finance&period;com\r\n&period;&period;&period;\r\nFrom&colon; &quot;Finance Dept&quot; &lt;finance&commat;business-finance&period;com&gt;\r\n<\/pre>\n<p><em><strong>Task 3 Answer: finance@business-finance.com<\/strong><\/em><\/p>\n<p><strong>Task 4: What is the &#8216;Reply-To&#8217; email address specified in the email?<\/strong><\/p>\n<p>This is at the top (second line).  This might seem shady at first, but it is pretty common for emails to be sent from one mailbox that&#8217;s unmonitored and to have replies directed to a monitored box.<\/p>\n<pre>\r\nReply-To&colon; &lt;support&commat;business-finance&period;com&gt;\r\n<\/pre>\n<p><em><strong>Task 4 Answer: support@business-finance.com<\/strong><\/em><\/p>\n<p><strong>Task 5: What is the SPF (Sender Policy Framework) result for this email?<\/strong><\/p>\n<p>Headers again.<\/p>\n<pre>\r\nReceived-SPF: Pass (protection.outlook.com: domain of business-finance.com designates 45.67.89.10 as permitted sender)\r\n<\/pre>\n<p><em><strong>Task 5 Answer: Pass<\/strong><\/em><\/p>\n<p><strong>Task 6: What is the domain used in the phishing URL inside the email?<\/strong><\/p>\n<p>Reading the email, we find a link coded as follows:<\/p>\n<pre>\r\n&lt;a href=\"https:\/\/secure.business-finance.com\/invoice\/details\/view\/INV2025-0987\/payment\"&gt;Download Invoice&lt;\/a&gt;\r\n<\/pre>\n<p><em><strong>Task 6 Answer: secure.business-finance.com<\/strong><\/em><\/p>\n<p><strong>Task 7: What is the fake company name used in the email?<\/strong><\/p>\n<p>Check and see how the rogues signed their email.<\/p>\n<pre>\r\n&lt;p&gt;Best regards&comma;&lt;br&gt;Finance Department&lt;br&gt;Business Finance Ltd&period;&lt;&sol;p&gt;\r\n<\/pre>\n<p><em><strong>Task 7 Answer: Business Finance Ltd.<\/strong><\/em><\/p>\n<p><strong>Task 8: What is the name of the attachment included in the email?<\/strong><\/p>\n<p>Down at the very bottom, under where it starts <em>&#45;&#45;boundary123<\/em><\/p>\n<pre>\r\nContent-Type&colon; application&sol;zip&semi; name&equals;&quot;Invoice&lowbar;2025&lowbar;Payment&period;zip&quot;\r\n&NewLine;Content-Disposition&colon; attachment&semi; filename&equals;&quot;Invoice&lowbar;2025&lowbar;Payment&period;zip&quot;\r\n<\/pre>\n<p><em><strong>Task 8 Answer: Invoice_2025_Payment.zip<\/strong><\/em><\/p>\n<p><strong>Task 9: What is the SHA-256 hash of the attachment?<\/strong><\/p>\n<p>There are probably a lot of ways to do this.  In this case, I&#8217;m using <em>ripmime<\/em> (<em>sudo apt install ripmime<\/em>)<\/p>\n<pre>\r\n$ ripmime -i email.eml \r\n$ ls\r\nemail.eml  Invoice_2025_Payment.zip  textfile0  textfile1\r\n$ sha256sum Invoice_2025_Payment.zip \r\n8379c41239e9af845b2ab6c27a7509ae8804d7d73e455c800a551b22ba25bb4a  Invoice_2025_Payment.zip\r\n<\/pre>\n<p><em><strong>Task 9 Answer: 8379c41239e9af845b2ab6c27a7509ae8804d7d73e455c800a551b22ba25bb4a<\/strong><\/em><\/p>\n<p><strong>Task 10: What is the filename of the malicious file contained within the ZIP attachment?<\/strong><\/p>\n<p>When I try to use unzip to unzip this, I get an error.  When I use 7Zip, it yells at me, but extracts a file, giving us the answer.<\/p>\n<pre>\r\n$ unzip Invoice_2025_Payment.zip \r\nArchive:  Invoice_2025_Payment.zip\r\n  End-of-central-directory signature not found.  Either this file is not\r\n  a zipfile, or it constitutes one disk of a multi-part archive.  In the\r\n  latter case the central directory and zipfile comment will be found on\r\n  the last disk(s) of this archive.\r\nunzip:  cannot find zipfile directory in one of Invoice_2025_Payment.zip or\r\n        Invoice_2025_Payment.zip.zip, and cannot find Invoice_2025_Payment.zip.ZIP, period. \r\n\r\n$ 7z x Invoice_2025_Payment.zip \r\n\r\n7-Zip 25.01 (x64) : Copyright (c) 1999-2025 Igor Pavlov : 2025-08-03\r\n 64-bit locale=en_US.UTF-8 Threads:128 OPEN_MAX:1024, ASM\r\n\r\nScanning the drive for archives:\r\n1 file, 75 bytes (1 KiB)\r\n\r\nExtracting archive: Invoice_2025_Payment.zip\r\n\r\nERRORS:\r\nUnexpected end of archive\r\n\r\n--\r\nPath = Invoice_2025_Payment.zip\r\nType = zip\r\nERRORS:\r\nUnexpected end of archive\r\nPhysical Size = 75\r\nCharacteristics = Local\r\n\r\nERROR: Data Error : invoice_document.pdf.bat\r\n                               \r\nSub items Errors: 1\r\n\r\nArchives with Errors: 1\r\n\r\nOpen Errors: 1\r\n\r\nSub items Errors: 1        \r\n<\/pre>\n<p>Doing a little research, I also apparently could have used <em>exiftool<\/em> and found the information like this<\/p>\n<pre>\r\n$ exiftool Invoice_2025_Payment.zip \r\nExifTool Version Number         : 13.44\r\nFile Name                       : Invoice_2025_Payment.zip\r\nDirectory                       : .\r\nFile Size                       : 75 bytes\r\nFile Modification Date\/Time     : 2026:02:11 15:52:58-05:00\r\nFile Access Date\/Time           : 2026:02:11 15:52:58-05:00\r\nFile Inode Change Date\/Time     : 2026:02:11 15:52:58-05:00\r\nFile Permissions                : -rw-------\r\nWarning                         : Format error reading ZIP file\r\nFile Type                       : ZIP\r\nFile Type Extension             : zip\r\nMIME Type                       : application\/zip\r\nZip Required Version            : 20\r\nZip Bit Flag                    : 0\r\nZip Compression                 : Deflated\r\nZip Modify Date                 : 2025:02:26 15:56:48\r\nZip CRC                         : 0x2a8e3d17\r\nZip Compressed Size             : 1249907\r\nZip Uncompressed Size           : 1690811\r\nZip File Name                   : invoice_document.pdf.bat\r\n<\/pre>\n<p><em><strong>Task 10 Answer: invoice_document.pdf.bat<\/strong><\/em><\/p>\n<p><strong>Task 11: Which MITRE ATT&#038;CK techniques are associated with this attack?<\/strong><\/p>\n<p>So this information isn&#8217;t located in the file.  I also searched our SHA256 on VirusTotal and there were a ton of MITRE ATT&#038;CK techniques associated with the file, so I had to think broader.  What kind of attack is this?  This is a phishing attack.  Specifically, it seems like a targeted phishing attack making it likely <em>spearphishing<\/em>.  However, it doesn&#8217;t qualify as <em>whaling<\/em> because this isn&#8217;t a single high-value individual being targeted.  When we look up Phishing on the MITRE ATT&#038;CK pages, we see this category and sub-categories.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/peteonsoftware.com\/images\/2026\/phishnet_mitre.png\" alt=\"MITRE Phishing\" title=\"MITRE Phishing\"><\/p>\n<p>Given that this was phishing with an attachment, I tried T1566.001 and that is what they wanted.<\/p>\n<p><em><strong>Task 11 Answer: T1566.001<\/strong><\/em><\/p>\n<p><img decoding=\"async\" src=\"https:\/\/peteonsoftware.com\/images\/2026\/phishnet_pwned.png\" alt=\"HTB PhishNet Pwned\" title=\"HTB PhishNet Pwned\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>This time, we&#8217;re taking a look at another Sherlock from Hack the Box called PhishNet. We can probably already guess by the name that this is going to be some Blue Team work around investigating &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[153],"tags":[159,141,142],"class_list":["post-1970","post","type-post","status-publish","format-standard","hentry","category-capture-the-flag","tag-blue-team","tag-information-security","tag-infosec"],"_links":{"self":[{"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/posts\/1970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/comments?post=1970"}],"version-history":[{"count":7,"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/posts\/1970\/revisions"}],"predecessor-version":[{"id":1977,"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/posts\/1970\/revisions\/1977"}],"wp:attachment":[{"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/media?parent=1970"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/categories?post=1970"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.peteonsoftware.com\/index.php\/wp-json\/wp\/v2\/tags?post=1970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}