This is why we can't have nice things

jksjks
edited June 2024 in KiwiSDR Discussion

Don't start multiple threads about the botnet topic. They will be deleted.

The proxy service has been disabled because the money (for which I am not compensated) is now flying out of my back pocket:

I will try and develop a fix in the code to better identify and remove these connections.

Update: The proxy service has been re-enabled if you're running v1.690 or later.

IK8SUTnitroenginestudentkrajolo22

Comments

  • v1.689 (and later) has countermeasures against the "botnet".

    v1.690 (and later) is necessary for your Kiwi to resume using the proxy service.

    These updates will happen automatically overnight (local time) unless you've disabled automatic updates. You can manually update by going to the admin page "update" tab and clicking "build now" and waiting 30 minutes or so for the build to complete. Your Kiwi will restart when the build is complete.

    HB9TMCstudentkranitroenginejolo22
  • Thanks for what you do to support KiwiSDR.

  • That seems to work, they get kicked after 1-2 seconds. Thanks!

    @jks was that traffic increase all from these HFDL bots?

  • Was that traffic increase all from these HFDL bots?

    Don't know for sure of course, but that's the presumption.

  • As mentioned by @HB9TMC the botnet will still attempt to connect to your Kiwi, and will still be logged. But is now kicked within a few seconds which will cause much less harm.

    So if you're running v1.689 or later and still see these log messages don't be alarmed. The countermeasure is working as intended. At some point maybe I'll stop logging the messages. But at this point they are useful because they tell us if the botnet has changed behavior.

    Sat Jun 29 18:24:16 07:11:58.043 01..  1   L API: non-Kiwi app fingerprint-3 was denied connection
    Sat Jun 29 18:24:16 07:11:58.086 0...  1   L  5514.00 kHz  iq z0  "kiwi_nc.py" 197.202.200.92 (LEAVING after 0:00:03)
    


  • A casualty is that it's now not possible to do TDoA near the HFDL frequencies, as someone just tried.

    But yeah, that's why whe can't have nice things. Perhaps it's possible to have a whilte-list for the TDoA server. Or they'll give up soon and the filter can be removed.


    Sun Jun 30 09:50:56 1d:00:11:49.625 01234567  1         API: decided connection is non-Kiwi app (served=0) 
    Sun Jun 30 09:50:56 1d:00:11:49.625 01234567  1         API: ext_api_users=1 >? ext_api_ch=8 F(OKAY)
    Sun Jun 30 09:50:56 1d:00:11:49.626 01234567  1       L API: TRIG=F SND(T3) f_kHz=6658.500 freq_trig=0 hasDelimiter=1 z=0
    Sun Jun 30 09:50:56 1d:00:11:49.630 01234567  1       L API: non-Kiwi app fingerprint-2 was denied connection
    Sun Jun 30 09:50:57 1d:00:11:49.668 0.234567  1       L  6658.50 kHz  iq z0  "TDoA_service" 50.116.2.70 (LEAVING after 0:00:10)
    
  • I can change that. But we shouldn't be talking about specifics of the countermeasures here because, well, you never know who's reading..

  • On my test Kiwi in Europe it seems the bot may have stopped about 10 hours ago (it's now 18:55 UTC 30 Jun). This output is from running this command in the admin console: msl | grs LEAVING | gr kiwi_nc | tail -n 10

    Jun 30 08:26:26 beaglebone kiwid: 21:14:07.710 .... 0    17919.00 kHz  iq z0  "kiwi_nc.py" 103.78.53.36 (LEAVING after 0:00:01)
    Jun 30 08:26:35 beaglebone kiwid: 21:14:16.917 .... 0    17919.00 kHz  iq z0  "kiwi_nc.py" 103.78.53.36 (LEAVING after 0:00:01)
    Jun 30 08:26:50 beaglebone kiwid: 21:14:31.625 .... 0    17919.00 kHz  iq z0  "kiwi_nc.py" 103.78.53.36 (LEAVING after 0:00:02)
    Jun 30 08:27:00 beaglebone kiwid: 21:14:41.300 .... 0    17919.00 kHz  iq z0  "kiwi_nc.py" 103.78.53.36 (LEAVING after 0:00:02)
    Jun 30 08:27:15 beaglebone kiwid: 21:14:56.321 .... 0    17928.00 kHz  iq z0  "kiwi_nc.py" 103.124.251.179 (LEAVING after 0:00:04)
    Jun 30 08:27:29 beaglebone kiwid: 21:15:10.654 .... 0    17928.00 kHz  iq z0  "kiwi_nc.py" 103.124.251.179 (LEAVING after 0:00:03)
    Jun 30 08:27:42 beaglebone kiwid: 21:15:24.016 .... 0    17928.00 kHz  iq z0  "kiwi_nc.py" 105.110.37.254 (LEAVING after 0:00:04)
    Jun 30 08:28:00 beaglebone kiwid: 21:15:41.471 .... 0    17928.00 kHz  iq z0  "kiwi_nc.py" 105.110.37.254 (LEAVING after 0:00:08)
    Jun 30 08:28:19 beaglebone kiwid: 21:16:00.806 .... 0    17928.00 kHz  iq z0  "kiwi_nc.py" 105.110.37.254 (LEAVING after 0:00:04)
    Jun 30 08:28:53 beaglebone kiwid: 21:16:34.097 .... 0    17928.00 kHz  iq z0  "kiwi_nc.py" 105.107.139.206 (LEAVING after 0:00:02)
    


    And the proxy service has returned to normal more or less:


  • They still tried it 2 hours ago here. From 11:49 to 11:54 and 17:11 to 17:17 UTC

    A non-public security forum would be good perhaps.

  • Like I have time to setup and manage such a thing, lol

    scratchmoney
  • I do, I could set up a mailing list, if there is interest.

  • In case the botnet is using the rx.kiwisdr.com list as the source of public Kiwi IP addresses I have removed any Kiwis from that list that are not running v1.690 or later. Currently that is about 90 Kiwis (out of 750+ total).

    These Kiwis did not update automatically overnight so must be set for manual updates.

  • jksjks
    edited July 2024

    I would like to know the IP addresses associated with the Kiwi log message fingerprint-2 was denied connection. Note -2, not -3. The IP will appear in the LEAVING message just after.

    Do not post here. Email to support@kiwisdr.com instead. Thank you very much.

  • An easy way to do this is to use the following command in the admin console tab:

    gr -A 1 fingerprint-2 /var/log/user.log

  • Grrrr..


  • If - say for example, your router / firewall that fronts the proxy traffic is say a mikrotik, you should be able to create dynamic address lists, which get updated when detecting certain types of traffic, then dropping it at the edge using a relevant firewall rule - this will prevent this traffic from getting to your core network.

    I found an interesting article from 2016 that uses a combination python script and a mikrotik router to detect and block botnet traffic.

    There are several ways to skin this cat.

  • And the better part of a day wasted beefing up the kiwisdr.com filtering against this nonsense. Time I really need to be spending on the cool stuff that's coming..


  • rx.kiwisdr.com (aka kiwisdr.com/public) is now subject to a simple click/tap captcha to help evade recent DDoS attacks on kiwisdr.com.

    Apologies, but this is the sorry state of the world we live in..



    studentkrajolo22
  • Do you mean the DDoS attacks on May 9th, like in the screenshot above?

  • Yes and no. There are all different kinds going on now.

  • I understood. Thanks!

  • That's a fairly elegant solution rather than a captcha, and it's in keeping with the current way to log into a Kiwi, and I thought it was just a new feature / UX upgrade! lol.... :-)

  • Well, let's see how long it remains effective.

  • Bookmarks with query strings: For those of you that have bookmarks to rx.kiwisdr.com or kiwisdr.com/public, those should carryover through the captcha and be applied. Please let me know if this doesn't seem to be working for you.

    Examples:

    rx.kiwisdr.com/?s=uk,gps

    kiwisdr.com/public/?n=40

  • Clicking on these two links goes through the captcha and produces the desired results.

  • Is the traffic generated by web scraping bots? Would software like Anubis help with that?

  • I have no way of knowing. How could I? However the traffic pattern makes me think it is malicious. Already it has stopped. Which tends to indicate there is a human actively monitoring it. It also means they will probably try something else. But that is all speculation on my part.

  • What ever is either doing the routing and / or proxying should be logging the header information on what the traffic is. It would look quite obvious what the malicious traffic looks like.

  • I have the web server log and that's all I need. tcpdump when anything more specific required.

    I'm not going to continue talking about this since we don't know who's reading the forum.

    smg
  • And there went half my day. This is from the forum server. Goddamn Chinese AI companies. OpenAI.com too (although they were slightly better behaved). I had to beef up the IP filtering on the forum server to match what the proxy/web server (kiwisdr.com) has.


    nitroengine
Sign In or Register to comment.