<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <title>blog.icmp.sh</title>
    <link href="https://blog.icmp.sh/feed.xml" rel="self" />
    <link href="https://blog.icmp.sh" />
    <updated>2026-07-16T21:33:27+03:00</updated>
    <author>
        <name>shiromiso</name>
    </author>
    <id>https://blog.icmp.sh</id>

    <entry>
        <title>Remote diagnosis of WAN failure</title>
        <author>
            <name>shiromiso</name>
        </author>
        <link href="https://blog.icmp.sh/remote-diagnosis-of-wan-failure.html"/>
        <id>https://blog.icmp.sh/remote-diagnosis-of-wan-failure.html</id>
        <media:content url="https://blog.icmp.sh/media/posts/6/IMG_0380.jpeg" medium="image" />

        <updated>2026-07-16T21:24:12+03:00</updated>
            <summary type="html">
                <![CDATA[
                        <img src="https://blog.icmp.sh/media/posts/6/IMG_0380.jpeg" alt="" />
                    I love networking, so I recently decided to add a second WAN to my home network as failover. If I am being honest, my current ISP has been exceptionally reliable! It's not that this is a pressing issue. Still, I love messing with new configs. The goal was to get&hellip;
                ]]>
            </summary>
        <content type="html">
            <![CDATA[
                    <p><img src="https://blog.icmp.sh/media/posts/6/IMG_0380.jpeg" class="type:primaryImage" alt="" /></p>
                <p>I love networking, so I recently decided to add a second WAN to my home network as failover. If I am being honest, my current ISP has been exceptionally reliable! It's not that this is a pressing issue. Still, I love messing with new configs.</p>
<p>The goal was to get a notification and ability to remotely troubleshoot the primary fiber connection in case it fails.</p>
<p>My ISP provides me with a fiber optic cable that runs to my apartment, which I then connect to a Nokia G-010S-A GPON. This GPON exposes SSH, which allows the user to perform relatively low-level diagnosis.</p>
<p>My current gateway is UniFi Dream Router 7, which is excellent, but unfortunately it does not expose much GPON details on the dashboard, and neither does it have the ability to add a second IP to the GPON WAN interface.</p>
<p>Fortunately, this can be overcome with manual SSH commands.</p>
<p>I wrote a small script that SSHs into UniFi, temporarily adds the required IP, opens an interactive GPON shell, and removes the address when I exit. If the fiber link fails while I am away, I can connect through cellular and inspect the GPON directly with minimal effort.</p>
<p>In case this is useful for somebody else, I put this script on my GitHub: <a href="https://github.com/shiromiso/ssh-gpon" target="_blank" rel="noopener noreferrer">https://github.com/shiromiso/ssh-gpon</a></p>
<p>Feel free to drop a comment on the <a href="https://www.linkedin.com/posts/shiromiso_recently-i-got-a-cellular-router-for-failover-share-7483589332738564098-i3eJ/?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAC8B8XEBGB0EtsIQUU63q_O-TlEXf_maPFg" target="_blank" rel="noopener noreferrer">LinkedIn</a> post for this article.</p>
            ]]>
        </content>
    </entry>
    <entry>
        <title>From Day Zero to Zero Day</title>
        <author>
            <name>shiromiso</name>
        </author>
        <link href="https://blog.icmp.sh/from-day-zero-to-zero-day.html"/>
        <id>https://blog.icmp.sh/from-day-zero-to-zero-day.html</id>
        <media:content url="https://blog.icmp.sh/media/posts/5/IMG_0252.jpeg" medium="image" />

        <updated>2026-06-26T00:24:02+03:00</updated>
            <summary type="html">
                <![CDATA[
                        <img src="https://blog.icmp.sh/media/posts/5/IMG_0252.jpeg" alt="" />
                    My physical copy of Eugene Lim's From Day Zero to Zero Day arrived today. I came across the book on LinkedIn, looked into it, and quickly realized it fit very well with the study path I am building. What stood out immediately is how practical and technical it seems. It&hellip;
                ]]>
            </summary>
        <content type="html">
            <![CDATA[
                    <p><img src="https://blog.icmp.sh/media/posts/5/IMG_0252.jpeg" class="type:primaryImage" alt="" /></p>
                <p>My physical copy of Eugene Lim's <strong><a href="https://fromdayzerotozeroday.com/" target="_blank" rel="noopener noreferrer">From Day Zero to Zero Day</a></strong> arrived today.<br><br>I came across the book on LinkedIn, looked into it, and quickly realized it fit very well with the study path I am building.<br><br>What stood out immediately is how practical and technical it seems. It focuses on reading real code, mapping attack surfaces, finding sources and sinks, understanding bug patterns, and turning vulnerability research into a repeatable process rather than a vague skill.<br><br>Over the past few weeks, I have been trying to balance full-time work with expanding my vulnerability research knowledge. I watched Alisa Esage's <strong>Hypervisor Security Research 101</strong> <a href="https://zerodayengineering.com/training/masterclass/" target="_blank" rel="noopener noreferrer">masterclass</a> and started doing several bug self-studies: finding the vulnerable code in the real repo, locating the fix commit, and explaining the mechanics, reachability, and potential impact.<br><br>The goal is not only to understand each specific bug, but to distill it into a more general invariant or pattern I can recognize later.<br><br>A few practical observations have already come out of these studies. Bugs often repeat as patterns, not isolated accidents. If a developer makes the same mistake in one place, it may exist elsewhere too, even after one instance is fixed.<br><br>They also reinforced how difficult real-world code is to reason about. Values move through long flows, internal types hide important assumptions, and a suspicious pattern may not actually be reachable if earlier code constrains the input or state. Security impact is contextual as well: whether a given behavior is actually a vulnerability may depend on design, deployment, or even regulation, not only on what the code does.<br><br>I am looking forward to working through the book and studying the skills, examples, and methodology it presents. One thing many experienced researchers emphasized when I asked for study advice is the importance of self-study in this field. Structured resources are relatively rare, which makes a practical book like <strong>From Day Zero to Zero Day</strong> especially valuable. Hopefully, it will help me build a stronger foundation, continue studying more effectively independently, and eventually find bugs of my own.</p>
<p>Feel free to drop a comment on the <a href="https://www.linkedin.com/posts/shiromiso_my-physical-copy-of-eugene-lims-from-day-share-7476026305168453633-13OD/?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAC8B8XEBGB0EtsIQUU63q_O-TlEXf_maPFg" target="_blank" rel="noopener noreferrer">LinkedIn</a> post for this article.</p>
            ]]>
        </content>
    </entry>
    <entry>
        <title>IDA-Style Highlighting in VS Code</title>
        <author>
            <name>shiromiso</name>
        </author>
        <link href="https://blog.icmp.sh/ida-style-highlighting-in-vs-code.html"/>
        <id>https://blog.icmp.sh/ida-style-highlighting-in-vs-code.html</id>
        <media:content url="https://blog.icmp.sh/media/posts/4/screenshot2.png" medium="image" />

        <updated>2026-06-14T04:08:25+03:00</updated>
            <summary type="html">
                <![CDATA[
                        <img src="https://blog.icmp.sh/media/posts/4/screenshot2.png" alt="" />
                    As I work through Zero Day Engineering training, I have been spending more time reading large open-source codebases from a vulnerability-research perspective. One small thing I kept missing from IDA Pro is the highlight feature: select a token, and instantly see the other matching occurrences nearby. It is simple, but&hellip;
                ]]>
            </summary>
        <content type="html">
            <![CDATA[
                    <p><img src="https://blog.icmp.sh/media/posts/4/screenshot2.png" class="type:primaryImage" alt="" /></p>
                <p>As I work through <a href="https://zerodayengineering.com/" target="_blank" rel="noopener noreferrer">Zero Day Engineering</a> training, I have been spending more time reading large open-source codebases from a vulnerability-research perspective.<br><br>One small thing I kept missing from IDA Pro is the <a href="https://hex-rays.com/blog/igor-tip-of-the-week-05-highlight" target="_blank" rel="noopener noreferrer">highlight feature</a>: select a token, and instantly see the other matching occurrences nearby. It is simple, but very useful when trying to understand data flow, control flow, and repeated use of variables or fields.<br><br>VS Code has some built-in behavior around selection highlighting, but I found it inconvenient for this workflow. I wanted something closer to IDA: automatic, whole-word matching and visually obvious.<br><br>I found a useful extension, <a href="https://github.com/xuchengli/highlight-selection" target="_blank" rel="noopener noreferrer">highlight-selection</a>, which was almost exactly what I needed. Since it was open source, I forked it, made the small changes I wanted, tested it locally in VSCodium, and opened a pull request upstream.<br><br>The result is a small quality-of-life improvement: IDA-like selected-word highlighting, but inside my regular source-code editor.</p>
<p>Feel free to drop a comment on the <a href="https://www.linkedin.com/posts/shiromiso_i-wrote-a-short-post-about-adding-ida-style-share-7471744787117735936-opfT/?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAC8B8XEBGB0EtsIQUU63q_O-TlEXf_maPFg" target="_blank" rel="noopener noreferrer">LinkedIn</a> post for this article.</p>
            ]]>
        </content>
    </entry>
    <entry>
        <title>From Firmware to Full Systems: Why I&#x27;m Studying Penetration Testing</title>
        <author>
            <name>shiromiso</name>
        </author>
        <link href="https://blog.icmp.sh/from-firmware-to-full-systems-why-im-studying-penetration-testing.html"/>
        <id>https://blog.icmp.sh/from-firmware-to-full-systems-why-im-studying-penetration-testing.html</id>
        <media:content url="https://blog.icmp.sh/media/posts/3/cat_network_small-2.jpg" medium="image" />

        <updated>2026-03-20T01:50:24+02:00</updated>
            <summary type="html">
                <![CDATA[
                        <img src="https://blog.icmp.sh/media/posts/3/cat_network_small-2.jpg" alt="" />
                    I've spent years working with embedded systems in a security context, and I love it. There's something uniquely satisfying about exotic architectures, soldering (or occasionally releasing the magic smoke when things don't go as planned), and the bridge between software and the physical world. Watching systems break in completely unexpected&hellip;
                ]]>
            </summary>
        <content type="html">
            <![CDATA[
                    <p><img src="https://blog.icmp.sh/media/posts/3/cat_network_small-2.jpg" class="type:primaryImage" alt="" /></p>
                <p>I've spent years working with embedded systems in a security context, and I love it. There's something uniquely satisfying about exotic architectures, soldering (or occasionally releasing the magic smoke when things don't go as planned), and the bridge between software and the physical world. Watching systems break in completely unexpected way - sometimes mind-bogglingly complex, sometimes equally mind-bogglingly simple ("how did I never think of this?") - never gets old.</p>
<p>But that's not the only thing that keeps me engaged. I also find real satisfaction in seeing how my work connects to day-to-day business operations. It's motivating to know that something I built is actually being used by a customer, that it solves a real problem for them, and that my work wasn't just theoretical. That connection between technical depth and practical impact matters to me.</p>
<p>Beyond my professional work, I'm also a bit of an IT enthusiast. I run my own home lab - networking, compute, storage, virtualization, Docker, the works. What can I say? I enjoy not just writing software, but building systems and exploring different operating systems and configurations. It's where I experiment, break things safely, and learn how infrastructure actually works.</p>
<p>All this to say: my professional interests extend beyond vulnerability research.</p>
<h2>Expanding the Scope</h2>
<p>Recently I caught myself thinking: what if I could integrate these interests more deliberately? What if there was a way to combine security with business context, networking, IT infrastructure, and also introduce more variety in the types of problems you solve?<br>Turns out penetration testing fits that description remarkably well.<br>Penetration testers apply a similar methodology to security researchers, but they zoom out. Instead of focusing on a specific component or service, they look at an entire organization - its network, its applications, its people, its physical security. The discipline expands beyond bits and bytes to include the human element, business processes, and environmental factors. I find that fascinating.<br>It's not just about identifying what's broken - it's about proving what an attacker can actually accomplish. That shift in perspective, from isolated bugs to chained impact, resonates with how I already think about security, but applied at a broader scale.</p>
<h2>A Structured Challenge</h2>
<p>For this reason, I decided to make good use of my spare time and challenge myself. I looked over the various penetration testing certifications and courses available, and settled on CPENT by EC-Council. The training material is structured and high-quality, and both the coursework and the final exam are hands-on and practical - which was important to me. I'm not interested in memorizing definitions; I want to build skills I can actually use.<br>I'm currently working through the material, and it's been a useful exercise in formalizing concepts I've encountered informally. For example, the CPENT methodology breaks engagements into three phases: Pre-Attack (reconnaissance and intelligence gathering), Attack (exploitation and privilege escalation), and Post-Attack (impact assessment and reporting). It also draws a clear distinction between vulnerability assessment - identifying potential flaws - and penetration testing, which is about proving whether those flaws can actually be exploited to achieve specific objectives. This maps well to how I already approach security problems, but it provides a clearer framework for thinking about dependencies and attack paths.<br>I believe my existing experience - reverse engineering, proof-of-concept development, low-level systems analysis - will be an asset as I work through this material. At the same time, I'm hoping to expand my perspective and develop new skills, particularly around network-level exploitation, Active Directory environments, and the kinds of infrastructure I don't typically encounter in embedded work.</p>
<h2>What's Next</h2>
<p>This blog is part of that process. I'm planning to use it as a space to document what I'm learning, share technical insights, and explore the intersection between the low-level security work I've done and the broader offensive security mindset I'm developing.<br>Thanks for reading. More to come.</p>
<p>Feel free to drop a comment on the <a href="https://www.linkedin.com/posts/activity-7440553529695494144-b5mb?utm_source=share&amp;utm_medium=member_desktop&amp;rcm=ACoAAC8B8XEBGB0EtsIQUU63q_O-TlEXf_maPFg" target="_blank" rel="noopener noreferrer">LinkedIn post</a> for this article.</p>
            ]]>
        </content>
    </entry>
</feed>
