<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" version="2.0">

<channel data-v-component-posts="feed" data-v-limit="50" data-v-type="post" data-v-direction="desc" data-v-order_by="updated_at">	<title>News Vvveb</title>
	<link>https://vvveb.com/feed/posts</link>
	<description>The latest news about Vvveb</description>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://vvveb.com</generator>

	<image>
		<url>/favicon.ico</url>
		<title>Vvveb News</title>
		<link>https://www.vvveb.com/feed/posts</link>
		<width>32</width>
		<height>32</height>
	</image> 

		<item data-v-post="post" data-v-id="30">
			<title data-v-post-name="name">Backstory for securing my SSH server</title>
			<link data-v-post-full-url="name">https://roytakanen.fi/backstory-for-securing-my-ssh-server</link>
			<dc:creator data-v-post-display_name="name"><![CDATA[Admin]]></dc:creator>
			<pubDate data-v-post-pubDate="date">Thu, 03 Sep 2026 00:31:56 +0300</pubDate>
			<category data-v-post-category-name="category" data-filter-cdata=""><![CDATA[Category]]></category>
			<description data-v-post-excerpt="excerpt" data-filter-cdata=""><![CDATA[

What had happened
My server got hacked, and I received an email from my ISP regarding that. They said that my server was doing port scans and tried to brute force login into a honeypot. Immediate]]></description>
			<content:encoded data-v-post-content="content" data-filter-cdata=""><![CDATA[
<div>
<h2 id="whathadhappened">What had happened</h2>
<p>My server got hacked, and I received an email from my ISP regarding that. They said that my server was doing port scans and tried to brute force login into a honeypot. Immediately after I finished reading the mail, I checked <a href="https://web.archive.org/web/20250328100911/https://www.abuseipdb.com/check/84.248.204.115">AbuseIPDB</a> for a database listing about my server, only to be faced with 18 abuse reports.</p>
<div><img src="https://web.archive.org/web/20250328100911im_/https://roytakanen.fi/img/backstory-for-securing-my-ssh-server/Pasted%20image%2020221025135527.png" alt="Pasted image 20221025135527.png"></div>
<h2 id="locatingtheserver">Locating the server</h2>
<p>I was almost certain that the malware had infected one of my virtual machines running on my server at home. I logged into my Proxmox instance web UI and sorted hosts by CPU usage (I thought that maybe I got some mining malware too).</p>
<div><img src="https://web.archive.org/web/20250328100911im_/https://roytakanen.fi/img/backstory-for-securing-my-ssh-server/Pasted%20image%2020221026120017.png" alt=""></div>
<p>The first host that popped up is not supposed to have that high CPU usage. The VM is used only for programming and I was not doing any work at the moment. When I logged into the server and ran <code>htop</code> I was greeted with multiple processes by user <code>temp</code>.</p>
<div><img src="https://web.archive.org/web/20250328100911im_/https://roytakanen.fi/img/backstory-for-securing-my-ssh-server/Pasted%20image%2020221026120137.png" alt=""></div>
<p>The running programs were originating from <code>/tmp/.X2s9-unix</code> folder. In the folder there was a lonely <code>dota3.tar.gz</code> file and a hidden folder named <code>.rsync</code> (not visible in the picture).</p>
<div><img src="https://web.archive.org/web/20250328100911im_/https://roytakanen.fi/img/backstory-for-securing-my-ssh-server/Pasted%20image%2020221026120227.png" alt=""></div>
<p>Running the dota3 file through VirusTotal resulted in 39 malware detections. From the detections names I could figure out that the high CPU usage was due to a crypto mining process running in the background.</p>
<div><img src="https://web.archive.org/web/20250328100911im_/https://roytakanen.fi/img/backstory-for-securing-my-ssh-server/Pasted%20image%2020221026120458.png" alt=""></div>
<p>I found an <a href="https://web.archive.org/web/20250328100911/https://www.countercraftsec.com/blog/dota3-malware-again-and-again/">article</a> from <em>CounterCraftSec</em> that had information about the malware and an SSH public key on my server that matched the one in the article.</p>
<pre><code>root@fi-op-terminal-1:/home# cat temp/.ssh/authorized_keys 
ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEArDp4cun2lhr4KUhBGE7VvAcwdli2a8dbnrTOrbMz1+5O73fcBOx8NVbUT0bUanUV9tJ2/9p7+vD0EpZ3Tz/+0kX34uAx1RV/75GVOmNx+9EuWOnvNoaJe0QXxziIg9eLBHpgLMuakb5+BgTFB+rKJAw9u9FSTDengvS8hX1kNFS4Mjux0hJOK8rvcEmPecjdySYMb66nylAKGwCEE6WEQHmd1mUPgHwGQ0hWCwsQk13yCGPK5w6hYp5zYkFnvlC8hGmd4Ww+u97k6pfTGTUbJk14ujvcD9iUKQTTWYYjIIu5PmUux5bsZ0R4WFwdIe6+i6rBLAsPKgAySVKPRK+oRw== mdrfckr
</code></pre>
<h2 id="howthishappened">How this happened</h2>
<p>I had been experimenting with cloud-init and decided to build my own image using it for my Proxmox server. That was the first mistake. I should have just used an image from <a href="https://web.archive.org/web/20250328100911/https://cloud.debian.org/images/cloud/">https://cloud.debian.org/images/cloud/</a>.</p>
<p>I was able to find the problem very fast thanks to my documentation of the cloud-init template. The documentation had the following lines.</p>
<pre><code class="md language-md">Other user
Name: `temp`
Username: `temp`
Password: `temp`

Deleted later
</code></pre>
<p>That was it. The user was never actually deleted, and someone had just found my server and tried to log in with user <code>temp</code> and password <code>temp</code>. The article from <em>CounterCraftSec</em> describes that the malware is distributed via weak SSH servers and I had exactly one like that.</p>
<blockquote>
<p>It is based on a botnet that attacks weak SSH servers using dictionaries with default or common credentials</p>
</blockquote>
<h2 id="preventingthisfromhappeninginthefuture">Preventing this from happening in the future</h2>
<p>With a proper SSHD config, I would have avoided this incident completely. The following rules would have stopped an attacker:</p>
<ul>
<li>Public key is required for login</li>
<li>Password login is not allowed</li>
<li>SSH access is allowed only for users in a specific group</li>
</ul>
<p></p>
<p>In the end, I had to reformat the server completely, since the malware could have left some hidden hooks to the OS. Thankfully, I used that server only for programming and did not lose anything important. I do have daily backups of important services in case something similar happens again.</p>
</div>
<hr>]]></content:encoded>		
		</item><item data-v-post="post" data-v-id="18">
			<title data-v-post-name="name">Do not leave your Radarr instance public</title>
			<link data-v-post-full-url="name">https://roytakanen.fi/do-not-leave-your-radarr-instance-public</link>
			<dc:creator data-v-post-display_name="name"><![CDATA[Admin]]></dc:creator>
			<pubDate data-v-post-pubDate="date">Fri, 08 May 2026 23:57:41 +0300</pubDate>
			<category data-v-post-category-name="category" data-filter-cdata=""><![CDATA[Category]]></category>
			<description data-v-post-excerpt="excerpt" data-filter-cdata=""><![CDATA[



I thought I would not have to make this post, but here we are. I had bought recently a very nice seedbox and found out that it has SSH access and custom addons (radarr, autodl-irssi, jackett a]]></description>
			<content:encoded data-v-post-content="content" data-filter-cdata=""><![CDATA[
<div>
<div>
<div>
<p>I thought I would not have to make this post, but here we are. I had bought recently a very nice seedbox and found out that it has SSH access and custom addons (radarr, autodl-irssi, jackett and so on).</p>
<p>That was handy. I started poking around and checked <code>/etc/passwd</code> to see how many users there are. There were many. Another important thing I noticed was that addon (radarr) url was easily reconstructable. It was following this format: <a href="https://server/user/service">https://server/user/service</a>.</p>
<p>This was the moment when I knew that ffuf would come in handy (I had found this in a CTF not too long ago). I started fuzzing through services. <code>ffuf -w usernames.txt -u "https://madeuphost.com/FUZZ/radarr" -fs 381</code>.</p>
<p>I found couple radarr instances. This was interesting. Then came the most startling part. SOMEONE HAD NOT SECURED THEIR RADARR INSTANCE WITH PASSWORD. I checked immediately what movies the user had downloaded. Just two. Huh. Maybe this was not that interesting after all.</p>
<p>I continued my exploration though and found their Deluge client. With some little inspect element trickeroo I got the password to their Deluge instance. Bang! I was in. I had access to the Deluge client. Now I could download torrents as them and be able to play with their Torrentleech passkey. As the icing on the cake they used the same password on their seedbox SSH accountâ€¦</p>
<p>TL:DR; Do not let your web services sit on public without protection. Do not reuse the same password.</p>
<p>PS. I think Radarr should improve here and not reveal the download client password in HTML</p>
</div>
</div>
</div>
]]></content:encoded>		
		</item><item data-v-post="post" data-v-id="17">
			<title data-v-post-name="name">My keychain</title>
			<link data-v-post-full-url="name">https://roytakanen.fi/my-keychain</link>
			<dc:creator data-v-post-display_name="name"><![CDATA[Admin]]></dc:creator>
			<pubDate data-v-post-pubDate="date">Fri, 08 May 2026 23:55:43 +0300</pubDate>
			<category data-v-post-category-name="category" data-filter-cdata=""><![CDATA[Category]]></category>
			<description data-v-post-excerpt="excerpt" data-filter-cdata=""><![CDATA[
Yeah, a whole-ass article about my keychain. I got to this point after losing my previous one somewhere in Finland (and later finding out that it was all the time in my backpack). This article tells]]></description>
			<content:encoded data-v-post-content="content" data-filter-cdata=""><![CDATA[
<p>Yeah, a whole-ass article about my keychain. I got to this point after losing my previous one somewhere in Finland (and later finding out that it was all the time in my backpack). This article tells how I assembled my new keychain (and combined some of the old stuff with it).</p>
<h2 id="keyring">Keyring</h2>
<p>During the migration period from the old to the new, I was using a simple paracord loop to hold my keys together. I wouldn't recommend this to anyone who cares about their access to the home. The knot on the paracord is just too flimsy and has to be retightened constantly. One could also fix this by learning how to tie a knot.</p>
<p>On the previous keychain, I had a sturdy ring repurposed from an old Kevlar key retractor that was broken. It was made to last and wouldn't bend ever (too many keyrings look like hardened butter).</p>
<h2 id="tracking">Tracking</h2>
<p>I would have never thought about needing my keychain to know its location and telling it to me until I lost mine. Choosing a way to track the keys was easy. I had an iPhone and Apple had announced two years ago (in 2021) its competitor to Bluetooth trackers. Their tiny coin-sized AirTags were able to transmit the location of your lost stuff to your iPhone by utilizing a large network created by other Apple devices.</p>
<p>The Apple pricing though is ridiculous for the keyring attachment. I wouldn't ever pay close to 50 euros for a piece of leather (even the Airtag costs less). I found quickly "Belkin Secure Holder for Airtag" that seemed to fit my use case exactly and cost less than the official Apple variant.</p>
<h2 id="multitool">Multitool</h2>
<p>I had experience with Victorinox tools attached to my keys but had been eyeing a Leatherman for quite some time. When choosing a replacement for the new keychain, I settled on the red Leatherman Squirt PS4. I was surprised at how small it is, but I don't mean that it is bad. It is the best size for something to carry alongside keys in your pocket every day.</p>
<h2 id="usbflashdrive">USB flash drive</h2>
<p>I have a 128 GB Kingston USB drive. Ventoy is a tool that simplifies the creation of live USBs. Normally you would have only one operating system on a live USB drive, but with Ventoy, you can fill all the storage space on the drive with ISO files. Ventoy has a single partition where you can copy your Linux, Windows, and other ISOs. I have downloaded:</p>
<ul>
<li>Arch</li>
<li>Ubuntu (Desktop &amp; Server) 22.04 LTS</li>
<li>Windows 10</li>
<li>Kali Linux</li>
<li>Clonezilla</li>
</ul>
<h2 id="keys">Keys</h2>
<p>What are those!?</p>
<p>NOTE: Attach pictures later.</p>
]]></content:encoded>		
		</item>		
		
		
		
	</channel>
</rss>
