Загрузка ЦП заполнена. Как устранить неполадки, если на сервере произошел майнинг?
Загрузка ЦП заполнена. Как устранить неполадки, если на сервере произошел майнинг?

напиши впереди


  • Я арендовал станцию ​​у Alibaba Cloud, когда собирался в школу.студенческий сервер,Установлен одинDockerИграть,Я не знаю, что случилось потом,проходитьDocker连客户端暴露的端口
  • 被植入了国外的Майнинг-троян,Развертывается только один окончательный проект,CPUПолностью забронировано каждый день,Машину забрали на майнинг :(
  • Я долго боролся с этим, но процесс не удалось остановить. Удаление файлов привело к сбою компьютера. Позже я отправил рабочее задание на его сброс.
  • Организуйте этот пост в блоге и сделайте простую запись об этой проблеме.
  • Содержание блога включает в себя
    • Основные меры по устранению неполадок при майнинге
    • Два простых метода защиты
  • Сообщение в блоге не содержит конкретных примеров, а лишь дает некоторые указания по поиску проблем.

«Те, кто слишком много работает, не смогут далеко убежать. Те, кто действительно упорствует до конца, полагаются не на страсть, а на необходимое количество любви и преданности».


Майнинг-троян

Майнинг-троянЗлоумышленники используют различные методы для проникновения на компьютеры,без ведома владельцаТрояны, использующие вычислительную мощность взломанных компьютеров для добычи криптовалюты с целью получения прибыли.,Это может быть абзацАвтоматическое сканированиеСкрипт атаки,Также может быть интегрирован вв одном исполняемом файле

Майнинг-троянЧтобы иметь возможность оставаться надолгоПроживание на сервере,Будут использоваться различные контрмеры безопасности.,нравитьсяИзменить план задач,Изменить конфигурацию брандмауэра,Изменить системную динамическую библиотекуждать,Интенсивное использование этих технических средств может привести к перебоям в работе сервера.

Вы занимаетесь майнингом?

  • Растет ли загрузка ЦП компьютера, зависает ли система, работают ли некоторые службы неправильно и т. д.
  • Проверьте производительность сервера и определите отклонения от нормы с помощью оборудования для обнаружения производительности сервера.
  • Проверив сигнализацию оборудования обнаружения безопасности, определяется, что Майнинг-троян установит соединение с адресом пула майнинга.

Общие этапы обработки

  • При возникновении подозрительного процесса найдите пользователя текущего хоста, чтобы подтвердить процесс;
  • Когда определено, что это процесс добычи полезных ископаемых,Проводить расследования по отслеживанию,Потому что обычно злоумышленники делают соответствующие настройки,Чтобы гарантировать, что процесс добычи полезных ископаемыхkill После этого его можно запустить снова. Благодаря отслеживанию источника вы можете найти соответствующие конфигурации, проследить маршруты атак злоумышленников, а также выполнить целенаправленную защиту и установить исправления, чтобы предотвратить повторное использование злоумышленниками;
  • После завершения расследования прослеживаемости,Заблокируйте адрес майнинг-пула,Очистите планы задач и отключите подозрительных пользователей,Завершить аномальный процесс,Прозрачный Майнинг-троян,Комплексный антивирус и защита.
  • Определить время майнинга Майнинг-троян Время создания файла Майнинг-троян,Время создания плана задач,Посмотреть адрес майнинг-пула

Работа системы Linux

Устранение неполадок системы

Проверьте информацию о пользователе

「Вся информация о пользователеcat /etc/passwd

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[/usr/bin]
└─$cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
........
oprofile:x:16:16:Special user account to be used by OProfile:/var/lib/oprofile:/sbin/nologin
┌──[root@liruilongs.github.io]-[/usr/bin]
└─$

「Информация о последнем входе пользователяlastlog

❝Отображение последней информации для входа всех пользователей в систему.,lastlogФайл запрашивается каждый раз, когда пользователь входит в систему.。Можно использоватьlastlogКоманда для проверки времени последнего входа определенного пользователя в систему,И отформатируйте вывод последнего журнала входа в систему./var/log/lastlogсодержание。это основано наСортировка UID показывает имя пользователя, номер порта (tty) и время последнего входа в систему.。нравиться果一个用户从未登录过,lastlogпоказывать**Never logged**。Обратите внимание, что вам необходимоrootЗапустите команду как。 ❞

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$lastlog
Username         Port     From          Latest
root             pts/0    192.168.26.1  Thu Mar  3 16:47:46 +0800 2022
bin                                     **Never logged in**
daemon                                  **Never logged in**
...........
postfix                                 **Never logged in**
sshd                                    **Never logged in**
chrony                                  **Never logged in**
tom                                     **Never logged in**
nginx                                   **Never logged in**
etcd                                    **Never logged in**
apache                                  **Never logged in**
pcp                                     **Never logged in**
mysql                                   **Never logged in**
oprofile                                **Never logged in**
┌──[root@liruilongs.github.io]-[~]
└─$

「Список ошибок пользователя при входе в системуlastb

Linux lastbкоманда для вывода спискаИнформация о пользователях, которым не удалось войти в систему。Выполнить в одиночкуlastbинструкция,Он будет читать/var/logв каталоге,Имяbtmpфайлы,И запишите содержимое файла в список пользователей, которым не удалось войти.,Покажите им всем. ❞

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$lastb
root     ssh:notty    192.168.26.1     Thu Mar  3 16:50 - 16:50  (00:00)
root     ssh:notty    192.168.26.1     Thu Mar  3 16:50 - 16:50  (00:00)

btmp begins Thu Mar  3 16:50:54 2022
┌──[root@liruilongs.github.io]-[~]
└─$

「Информация о недавнем входе пользователяlast;」

Linux last Команда используется для отображения информации о последнем входе пользователя. ❞

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$last -5 root
root     pts/0        192.168.26.1     Thu Mar  3 16:47   still logged in
root     pts/0        192.168.26.1     Thu Mar  3 09:43 - 16:45  (07:02)
root     pts/0        192.168.26.1     Wed Mar  2 16:07 - 23:06  (06:58)
root     pts/0        192.168.26.1     Tue Mar  1 16:40 - 20:04  (03:23)
root     pts/1        192.168.26.1     Mon Feb 28 12:46 - 11:18  (22:31)

wtmp begins Thu Oct 18 23:13:06 2018
┌──[root@liruilongs.github.io]-[~]
└─$

«Пустой пароль учетной записи awk -F ':' 'length(2)==0 {print 1}' /etc/shadow」

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$awk -F ':' 'length($2)==0 {print $1}' /etc/shadow
┌──[root@liruilongs.github.io]-[~]
└─$
Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$useradd test
┌──[root@liruilongs.github.io]-[~]
└─$passwd -d test
Removing password for user test.
passwd: Success
┌──[root@liruilongs.github.io]-[~]
└─$awk -F ':' 'length($2)==0 {print $1}' /etc/shadow
test
┌──[root@liruilongs.github.io]-[~]
└─$

「Ограничения входа в систему с пустым паролемcat /etc/ssh/sshd_config | grep PermitEmptyPasswords

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$cat /etc/ssh/sshd_config | grep  PermitEmptyPasswords
#PermitEmptyPasswords no    #настраивать PermitEmptyPasswords yes То есть разрешить вход с пустым паролем
┌──[root@liruilongs.github.io]-[~]
└─$sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords yes/g' /etc/ssh/sshd_config
┌──[root@liruilongs.github.io]-[~]
└─$systemctl restart sshd
┌──[root@liruilongs.github.io]-[~]
└─$
Язык кода:javascript
копировать
PS E:\docker> ssh test@192.168.26.55
Last login: Thu Mar  3 17:30:48 2022 from 192.168.26.1
[test@liruilongs ~]$uptime
 17:34:27 up 3 days, 23:33,  2 users,  load average: 0.17, 0.09, 0.07
[test@liruilongs ~]$
Проверить прогресс

"здесь Давайте найдем инструмент измерения давления, чтобы смоделировать его.CPU 100%

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$yum -y install stress
┌──[root@liruilongs.github.io]-[~]
└─$nohup stress  -c 1 -t 100 & 
[1] 132748
┌──[root@liruilongs.github.io]-[~]
└─$nohup: ignoring input and appending output to ‘nohup.out’

「Необходимо одновременноlsofинструмент」

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[/usr/bin]
└─$yum -y install lsof

「Системный процессps aux

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$ps --no-headers -eo %cpu,pid,args | sort -k1 -n -r | head -10
99.6 134004 stress -c 1 -t 500
 1.7   8079 sidekiq 5.0.5 gitlab-rails [0 of 25 busy]
 1.4    843 /usr/bin/etcd --name=default --data-dir=/var/lib/etcd/default.etcd --listen-client-urls=http://192.168.26.55:2379,http://localhost:2379
 1.2   8156 /opt/gitlab/embedded/bin/prometheus -web.listen-address=localhost:9090 -storage.local.path=/var/opt/gitlab/prometheus/data -storage.local.chunk-encoding-version=2 -storage.local.target-heap-size=67827957 -config.file=/var/opt/gitlab/prometheus/prometheus.yml
 1.2   8060 /opt/gitlab/embedded/bin/redis-server 127.0.0.1:0
 1.1   8091 /opt/gitlab/embedded/bin/ruby /opt/gitlab/embedded/bin/gitlab-mon web -c /var/opt/gitlab/gitlab-monitor/gitlab-monitor.yml
 0.6   8198 ruby /opt/gitlab/embedded/service/gitaly-ruby/bin/gitaly-ruby 490 /tmp/gitaly-ruby360216715/socket.1
 0.6   8196 ruby /opt/gitlab/embedded/service/gitaly-ruby/bin/gitaly-ruby 490 /tmp/gitaly-ruby360216715/socket.0
 0.5   7467 java -Duser.home=/var/jenkins_home -Dhudson.security.csrf.GlobalCrumbIssuerConfiguration.DISABLE_CSRF_PROTECTION=true -Djenkins.model.Jenkins.slaveAgentPort=50000 -jar /usr/share/jenkins/jenkins.war
 0.3      9 [rcu_sched]
┌──[root@liruilongs.github.io]-[~]
└─$

«Процесс, порт и соответствующий PID netstat -antp или сс

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$netstat -antp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:2379          0.0.0.0:*               LISTEN      843/etcd
tcp        0      0 192.168.26.55:2379      0.0.0.0:*               LISTEN      843/etcd
tcp        0      0 127.0.0.1:2380          0.0.0.0:*               LISTEN      843/etcd
tcp        0      0 192.168.26.55:2380      0.0.0.0:*               LISTEN      843/etcd
tcp        0      0 0.0.0.0:8080            0.0.0.0:*               LISTEN      7347/docker-proxy
...........
tcp6       0      0 :::2376                 :::*                    LISTEN      1521/dockerd
tcp6       0      0 ::1:4330                :::*                    LISTEN      36013/pmlogger
┌──[root@liruilongs.github.io]-[~]
└─$

「CPUЗаполняемостьтоп или пс

Язык кода:javascript
копировать
top - 18:18:25 up 4 days, 17 min,  2 users,  load average: 0.51, 0.62, 0.77
Tasks: 249 total,   2 running, 247 sleeping,   0 stopped,   0 zombie
%Cpu(s): 52.5 us,  0.2 sy,  0.0 ni, 47.0 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2031912 total,    77056 free,  1712644 used,   242212 buff/cache
KiB Swap: 10485756 total,  8991960 free,  1493796 used.    88756 avail Mem

   PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
134004 root      20   0    7264    100      0 R 100.0  0.0   0:37.87 stress
  8079 chrony    20   0  889220 349276   1624 S   1.3 17.2  98:16.80 bundle
   843 etcd      20   0 10.308g   5488    824 S   1.0  0.3  83:53.19 etcd
  8156 992       20   0  348680  56736   3920 S   1.0  2.8  71:08.16 prometheus
  7467 tom       20   0 3109092 213956    764 S   0.7 10.5  30:15.35 java
  8060 nginx     20   0   41636   3676    888 S   0.7  0.2  70:50.13 redis-server
  8099 chrony    20   0  401332  16700   1964 S   0.7  0.8  15:00.93 gitaly
     9 root      20   0       0      0      0 S   0.3  0.0  20:37.39 rcu_sched
  8196 chrony    20   0 1314608     36      0 S   0.3  0.0  34:57.02 ruby
121037 root      20   0  151984    428    268 S   0.3  0.0   0:01.30 sshd
132973 root      20   0       0      0      0 S   0.3  0.0   0:00.21 kworker/1:1
134044 root      20   0  162032   2360   1556 R   0.3  0.1   0:00.05 top
........
    15 root       0 -20       0      0      0 S   0.0  0.0   0:00.00 kworker/1:0H

«Просмотр подозрительных процессов в деталях» lsof -p PID

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$lsof -p 134004
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF      NODE NAME
stress  134004 root  cwd    DIR    8,1     4096 134217793 /root
stress  134004 root  rtd    DIR    8,1     4096        64 /
stress  134004 root  txt    REG    8,1    27704 277828820 /usr/bin/stress
stress  134004 root  mem    REG    8,1  2127336 402654082 /usr/lib64/libc-2.17.so
stress  134004 root  mem    REG    8,1  1139680 402654090 /usr/lib64/libm-2.17.so
stress  134004 root  mem    REG    8,1   164264 402654075 /usr/lib64/ld-2.17.so
stress  134004 root    0w   CHR    1,3      0t0        18 /dev/null
stress  134004 root    1w   REG    8,1       66 145012428 /root/nohup.out
stress  134004 root    2w   REG    8,1       66 145012428 /root/nohup.out
┌──[root@liruilongs.github.io]-[~]
└─$

«Просмотр подозрительных процессов в деталях»информация ll /proc/PID

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$ll /proc/134004
ls: cannot access /proc/134004: No such file or directory
[1]+  Done                    nohup stress -c 1 -t 500
┌──[root@liruilongs.github.io]-[~]
└─$

«Подробный просмотр подозрительных портов lsof -i :port

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$lsof -i
COMMAND      PID      USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
chronyd      642    chrony    1u  IPv4   21585      0t0  UDP localhost:323
chronyd      642    chrony    2u  IPv6   21586      0t0  UDP localhost:323
etcd         843      etcd    5u  IPv4   24201      0t0  TCP vms55.rhce.cc:2380 (LISTEN)
etcd         843      etcd    6u  IPv4   24209      0t0  TCP localhost:2380 (LISTEN)
........
pmcd        1011       pcp    3u  IPv6   23985      0t0  TCP localhost:pmcd (LISTEN)
master      1036      root   13u  IPv4   24056      0t0  TCP localhost:smtp (LISTEN)
........
sshd      121037      root    3u  IPv4 3821579      0t0  TCP vms55.rhce.cc:ssh->192.168.26.1:13570 (ESTABLISHED)
sshd      127459      root    3u  IPv4 3850818      0t0  TCP *:ssh (LISTEN)
sshd      127459      root    4u  IPv6 3850820      0t0  TCP *:ssh (LISTEN)
sshd      128629      root    3u  IPv4 3856418      0t0  TCP vms55.rhce.cc:ssh->192.168.26.1:5928 (ESTABLISHED)
sshd      128631 liruilong    3u  IPv4 3856418      0t0  TCP vms55.rhce.cc:ssh->192.168.26.1:5928 (ESTABLISHED)
┌──[root@liruilongs.github.io]-[~]
└─$lsof -i :7269

Журнал устранения неполадок

Просмотрите журнал расписания задач:

«Текущий план миссии crontab -l

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$crontab -l
no crontab for root
┌──[root@liruilongs.github.io]-[~]
└─$

etcФайлы, связанные с планом задач каталога ls /etc/cron*

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$ls /etc/cron*
/etc/cron.deny  /etc/crontab

/etc/cron.d:
0hourly  sysstat

/etc/cron.daily:
logrotate  man-db.cron

/etc/cron.hourly:
0anacron

/etc/cron.monthly:

/etc/cron.weekly:
┌──[root@liruilongs.github.io]-[~]
└─$

「Просмотр журнала расписания задачcat /var/log/cron

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$cat /var/log/cron | head -3
Feb 27 03:43:13 liruilongs run-parts(/etc/cron.daily)[65785]: finished man-db.cron
Feb 27 03:43:13 liruilongs anacron[59178]: Job cron.daily'' terminated
Feb 27 03:43:13 liruilongs anacron[59178]: Normal exit (1 job run)
┌──[root@liruilongs.github.io]-[~]
└─$

「Просмотр связанных файлов журналовls /var/spool/mail

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$ls /var/spool/mail/
liruilong  test  tom
┌──[root@liruilongs.github.io]-[~]
└─$
Проверьте журнал автозапуска:

«Просмотр общей информации о системе, cat /var/log/message

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$cat /var/log/messages | head -3
Feb 27 03:50:01 liruilongs systemd: Started Session 157 of user root.
Feb 27 03:55:18 liruilongs systemd: Starting Check pmlogger instances are running...
Feb 27 03:55:21 liruilongs systemd: Started Check pmlogger instances are running.
┌──[root@liruilongs.github.io]-[~]
└─$

«Просмотр информации об аутентификации и авторизации, cat /var/log/secure

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$cat /var/log/secure | head -5
Feb 27 11:17:41 liruilongs sshd[110566]: pam_unix(sshd:session): session closed for user root
Feb 27 17:38:04 liruilongs sshd[148418]: Accepted password for root from 192.168.26.1 port 11561 ssh2
Feb 27 17:38:04 liruilongs sshd[148418]: pam_unix(sshd:session): session opened for user root by (uid=0)
Feb 28 10:05:52 liruilongs sshd[148418]: pam_unix(sshd:session): session closed for user root
Feb 28 12:12:37 liruilongs sshd[94739]: Accepted password for root from 192.168.26.1 port 13575 ssh2
┌──[root@liruilongs.github.io]-[~]
└─$

"Просмотреть информацию всех пользователей, недавно зашедших в систему: cat /var/log/lastlog

「Проверять所有失败登录информация:cat /var/log/btmp

«Просмотрите информацию журнала почтового сервера, работающего в системе: cat /var/log/maillog

«Просмотр ранее использованных команд оболочки: cat ~/.bash_history

❝Выше приведены обычные методы устранения неполадок.,Но хакеры обычно стирают все следы своих операций.,Возможно, в конце расследования я ничего не нашел.,Не забудьте вовремя завершить процесс майнинга,Снова проверьте его на предмет следующей атаки.。 ❞

Простые меры профилактики

Обнаружение вторжений AIDE

AIDE(Advanced intrusion detection environment)Программное обеспечение представляет собой систему обнаружения вторжений.

принцип помощника

  • Тщательно проверяйте наши компьютеры, прежде чем они будут взломаны.
  • Записывайте статус каждого файла (включая время, размер, разрешения, хеш-значение и т. д. данных).
  • Когда компьютер взломан, помощник выполняет ту же проверку и проверяет компьютер.
  • Наконец, сравнивая результаты проверки до вторжения и результаты проверки после вторжения, мы можем выяснить, какие данные изменились.
Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$yum -y install aide

«Информация о файле конфигурации»

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$vim /etc/aide.conf
1 # Example configuration file for AIDE.
2
3 @@define DBDIR /var/lib/aide #aide После проверки данных место хранения файла результатов
4 @@define LOGDIR /var/log/aide #aide каталог файлов журнала
......
###При вторжении в систему данные перед вторжением необходимо переименовать aide.db.new.gz в aide.db.gz
##После проникновения в систему при повторной проверке Aide он сравнит вновь сгенерированный результат проверки aide.db.new.gz с предыдущим результатом проверки aide.db.gz.
7 database=file:@@{DBDIR}/aide.db.gz
......
##### Определите, в каком каталоге и в каком каталоге будут храниться результаты проверки после проверки данных.
##По умолчанию он хранится в каталоге /var/lib/aide; имя сохраненного файла — aide.db.new.gz.
12 database_out=file:@@{DBDIR}/aide.db.new.gz
......
28 #p: permissions #Проверяем, были ли изменены права доступа к файлу
29 #i: inode: #Проверяем, был ли изменен индексный дескриптор файла
30 #n: number of links #Проверяем, увеличивается или уменьшается количество ссылок на файл
31 #u: user #Проверяем, был ли изменен владелец файла
32 #g: group #Проверяем, была ли изменена группа, к которой принадлежит файл
33 #s: size #Проверяем, изменился ли размер файла
......
42 #md5: md5 checksum #Проверяем хеш-значение, сгенерированное файлом md5
43 #sha1: sha1 checksum #Проверяем хэш-значение, сгенерированное файлом sha1
44 #sha256: sha256 checksum #Проверяем хеш-значение, сгенерированное файлом sha256
......
######Определите переменные, которые содержат все вышеперечисленные проверки
54 FIPSR = p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
......
71 NORMAL = sha256 #Определяем переменные, проверяем хеш-значения и вызываем

«Настройки каталога проверки»

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$vim /etc/aide.conf
.........
# Extended content + file type + access.
CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

# Some files get updated automatically, so the inode/ctime/mtime change
# but we want to know when the data inside them changes.
DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

# Next decide what directories/files you want in the database. Aide
# uses a first match system. Put file specific instructions before generic
# matches. e.g. Put file matches before directories.

/boot/   CONTENT_EX  #Проверьте каталог /boot с помощью sha256+ftype+p+u+g+n+acl+selinux+xattrs, CONTENT_EX — это переменная
/bin/    CONTENT_EX
/sbin/   CONTENT_EX
/lib/    CONTENT_EX
/lib64/  CONTENT_EX
/opt/    CONTENT

# Admin's dot files constantly change, just check perms.
/root/\..* PERMS
# Otherwise get all of /root.
/root/   CONTENT_EX

# These are too volatile.
!/usr/src/ #! Отменить, установить каталог, не требующий проверки
!/usr/tmp/
# Otherwise get all of /usr.
/usr/    CONTENT_EX

Здесь мы кратко проверим,Изменить файл конфигурации,Только проверятьtmpв каталогефайлы

Язык кода:javascript
копировать
DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256
........
/tmp/ DATAONLY
#/boot/   CONTENT_EX
#/bin/    CONTENT_EX
#/sbin/   CONTENT_EX
#/lib/    CONTENT_EX
#/lib64/  CONTENT_EX
#/opt/    CONTENT
.........

Проверка инициализации

«Проверка идеи: прежде чем подвергнуться атаке, проверьте данные в соответствии с файлом конфигурации».

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$aide --init

AIDE, version 0.15.1
### AIDE database at /var/lib/aide/aide.db.new.gz initialized.
┌──[root@liruilongs.github.io]-[~]
└─$

«Проверьте сгенерированные данные результатов проверки. #aideИмя сгенерированного файла результатов проверки одно и то же при каждой проверке»

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$ll /var/lib/aide/aide.db.new.gz
-rw------- 1 root root 39758 Mar  3 19:04 /var/lib/aide/aide.db.new.gz
┌──[root@liruilongs.github.io]-[~]
└─$

«Создайте резервную копию базы данных. Прежде чем подвергнуться вторжению, создайте резервную копию проверенных файлов базы данных в безопасном месте, например на USB-накопителе, компакт-диске, мобильном жестком диске или сетевом хранилище».

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$mv /var/lib/aide/aide.db.new.gz /mnt/
┌──[root@liruilongs.github.io]-[~]
└─$

Проверка на вторжение

Скопируйте ранее созданную резервную копию файла базы данных проверки в /var/lib/aide

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$cp /mnt/aide.db.new.gz /var/lib/aide/aide.db.gz

「В файле конфигурации определено, что вновь созданный файл базы данных будетaide.db.gzСравнивать,Поэтому имя нужно изменить. "

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$aide --check

AIDE, version 0.15.1

### All files match AIDE database. Looks okay!

┌──[root@liruilongs.github.io]-[~]
└─$

«До изменения файла не было обнаружено никаких изменений».

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$echo aide test >> /tmp/test.txt

「верно/tmpв каталогефайлы进行修改,повторное использованиеaide进行校验比верно」

Язык кода:javascript
копировать
┌──[root@liruilongs.github.io]-[~]
└─$aide --check
AIDE 0.15.1 found differences between database and filesystem!!
Start timestamp: 2022-03-03 19:10:51

Summary:
  Total number of files:        2712
  Added files:                  1
  Removed files:                0
  Changed files:                0


---------------------------------------------------
Added files:
---------------------------------------------------

added: /tmp/test.txt
┌──[root@liruilongs.github.io]-[~]
└─$

NMAP-сканирование

NMAP一款强大的网络探测利器инструмент,Поддерживает несколько технологий обнаружения:ping Сканирование, многопортовое сканирование, TCP/IPПроверка отпечатков пальцев

Основное использование : nmap [тип сканирования] [параметры] <Цель сканирования ...>

«Распространенные типы сканирования»

  • -sS, сканирование TCP SYN (полуоткрытое)
  • -sT, сканирование TCP-соединений (все открыто)
  • -sU, сканирование UDP
  • -sP, сканирование ICMP
  • -А, комплексный анализ целевой системы

Вставьте сюда описание изображения

«Сканирование TCP SYN (полностью открыто):»Изображение слева:Чтобы проверить целевой хост80Порт открыт?,Во время сканирования,Хост A отправляет запрос syn,Целевой на установление соединения с портом 80 целевого хоста. хост отвечает синхронизацией и подтверждением.,AХозяин также отвечаетack,Соединение установлено,Порт 80 целевого хоста открыт; ❞

«Сканирование TCP SYN (полуоткрытое):»Изображение справа:Чтобы проверить целевой хост80Порт открыт?,Во время сканирования,Хост A отправляет запрос syn,Целевой на установление соединения с портом 80 целевого хоста. хост отвечает синхронизацией и подтверждением., Целевой хост ответил, что означает, что порт 80 целевого хоста открыт. Хост A больше не отвечает на подтверждение, сохраняя ресурс ответа на подтверждение, поскольку нет необходимости устанавливать соединение, пока целевой хост отвечает. будет сканироваться при сканировании большего количества хостов. Экономьте больше системных ресурсов; ❞

Примеры применения NMAP

«Здесь сканирующая машина представляет собой подсистему Linux в локальной Windows, а сканируемая машина — это виртуальная машина Linux в Windows».

「Проверьте выживаемость целевого хостасостояние(Является ли это возможнымpingПроходить)」

Язык кода:javascript
копировать
┌──(root💀Liruilong)-[/mnt/e/docker]
└─# nmap -n -sP 192.168.26.0/24
Starting Nmap 7.91 ( https://nmap.org ) at 2022-03-03 19:28 CST
Nmap scan report for 192.168.26.55
Host is up (0.0012s latency). #192.168.26.55 выжил
Nmap done: 256 IP addresses (1 host up) scanned in 10.61 seconds

«Сканировать http-порт»

Язык кода:javascript
копировать
┌──(root💀Liruilong)-[/mnt/e/docker]
└─#  nmap -n 192.168.26.55 -p 80
Starting Nmap 7.91 ( https://nmap.org ) at 2022-03-03 19:31 CST
Nmap scan report for 192.168.26.55
Host is up (0.00089s latency).

PORT   STATE SERVICE
80/tcp open  http  #Открыть, обслуживать http

Nmap done: 1 IP address (1 host up) scanned in 0.40 seconds

«Сканируйте, чтобы просмотреть состояние порта 80 во всех сегментах сети 26.0»

Язык кода:javascript
копировать
┌──(root💀Liruilong)-[/mnt/e/docker]
└─# nmap -n 192.168.26.0/24 -p 80
Starting Nmap 7.91 ( https://nmap.org ) at 2022-03-03 19:32 CST
Nmap scan report for 192.168.26.1
Host is up (0.00052s latency).

PORT   STATE    SERVICE
80/tcp filtered http

Nmap scan report for 192.168.26.55
Host is up (0.0011s latency).

PORT   STATE SERVICE
80/tcp open  http

Nmap done: 256 IP addresses (2 hosts up) scanned in 18.83 seconds

«Сканировать для просмотра состояния портов TCP-протоколов 53-55 и 25»

Язык кода:javascript
копировать
──(root💀Liruilong)-[/mnt/e/docker]
└─# nmap -n 192.168.26.55 -p 53-55,25
Starting Nmap 7.91 ( https://nmap.org ) at 2022-03-03 19:37 CST
Nmap scan report for 192.168.26.55
Host is up (0.00098s latency).

PORT   STATE  SERVICE
25/tcp closed smtp
53/tcp closed domain
54/tcp closed xns-ch
55/tcp closed isi-gl

Nmap done: 1 IP address (1 host up) scanned in 0.40 seconds

«Комплексное сканирование: проверьте отпечаток операционной системы, версию программного обеспечения и другую информацию»

Язык кода:javascript
копировать
┌──(root💀Liruilong)-[/mnt/e/docker]
└─#  nmap -n -A 192.168.26.55
Starting Nmap 7.91 ( https://nmap.org ) at 2022-03-03 19:27 CST
Nmap scan report for 192.168.26.55
Host is up (0.00087s latency).
Not shown: 995 closed ports
PORT      STATE SERVICE VERSION
#На целевом хосте открыт порт 22, использующий службу ssh, и используется программное обеспечение OpenSSH. 7.4
22/tcp    open  ssh     OpenSSH 7.4 (protocol 2.0)
| ssh-hostkey:
|   2048 5b:40:0e:e6:1d:70:7f:f1:05:34:8d:2b:72:a1:c5:b3 (RSA)
|_  256 f1:27:ee:82:cc:94:b2:7c:68:c9:ea:a0:88:64:20:b3 (ECDSA)
#Целевой хост открыл порт 80 и использует службу http. Используемое программное обеспечение. nginx
80/tcp    open  http    nginx
| http-robots.txt: 53 disallowed entries (15 shown)
| / /autocomplete/users /search /api /admin /profile
| /dashboard /projects/new /groups/new /groups/*/edit /users /help
|_/s/ /snippets/new /snippets/*/edit
222/tcp   open  ssh     OpenSSH 7.2p2 Ubuntu 4ubuntu2.4 (Ubuntu Linux; protocol 2.0)
| ssh-hostkey:
|_  256 03:b8:32:59:ad:e7:9c:33:63:5c:04:7a:45:68:93:cb (ED25519)
8080/tcp  open  http    Jetty 9.4.43.v20210629
|_http-title: Site doesn''t have a title (text/html;charset=utf-8).
#Целевой хост открыл порт 50000, используя службу http, и используется программное обеспечение  Jenkins
50000/tcp open  http    Jenkins httpd 2.319
|_http-title: Site doesn't have a title (text/plain;charset=UTF-8).
No exact OS matches for host (If you know what OS is running on it, see https://nmap.org/submit/ ).
TCP/IP fingerprint:
OS:SCAN(V=7.91%E=4%D=3/3%OT=22%CT=1%CU=36908%PV=Y%DS=2%DC=T%G=Y%TM=6220A6BE
OS:%P=x86_64-pc-linux-gnu)SEQ(SP=102%GCD=1%ISR=10C%TI=Z%CI=I%II=I%TS=A)SEQ(
OS:SP=102%GCD=1%ISR=10C%TI=Z%TS=A)SEQ(SP=102%GCD=1%ISR=10C%TI=Z%CI=I%TS=A)O
OS:PS(O1=M5B4ST11NW7%O2=M5B4ST11NW7%O3=M5B4NNT11NW7%O4=M5B4ST11NW7%O5=M5B4S
OS:T11NW7%O6=M5B4ST11)WIN(W1=7120%W2=7120%W3=7120%W4=7120%W5=7120%W6=7120)E
OS:CN(R=Y%DF=Y%T=40%W=7210%O=M5B4NNSNW7%CC=Y%Q=)T1(R=Y%DF=Y%T=40%S=O%A=S+%F
OS:=AS%RD=0%Q=)T2(R=N)T3(R=N)T4(R=Y%DF=Y%T=40%W=0%S=A%A=Z%F=R%O=%RD=0%Q=)T5
OS:(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)T6(R=Y%DF=Y%T=40%W=0%S=A%A=Z
OS:%F=R%O=%RD=0%Q=)T7(R=Y%DF=Y%T=40%W=0%S=Z%A=S+%F=AR%O=%RD=0%Q=)U1(R=Y%DF=
OS:N%T=40%IPL=164%UN=0%RIPL=G%RID=G%RIPCK=G%RUCK=8E44%RUD=G)IE(R=Y%DFI=N%T=
OS:40%CD=S)

Network Distance: 2 hops
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

TRACEROUTE (using port 6002/tcp)
HOP RTT     ADDRESS
1   0.32 ms 172.24.208.1
2   0.77 ms 192.168.26.55
#Все обнаружение заняло в общей сложности 171,45 секунды
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 171.45 seconds

Работа системы Windows

Устранение неполадок системы

「Проверьте информацию о пользователе,使用инструкцияnet users,илиуправление компьютером--->локальные пользователи и группы,Найти клонированных пользователей через реестр"

Язык кода:javascript
копировать
D:\>net users

\\LIRUILONG учетная запись пользователя

-------------------------------------------------------------------------------
__HSKDDNS_USER__         Administrator            DefaultAccount
Guest                    lenovo                   WDAGUtilityAccount
Команда выполнена успешно.

«Устранение неполадок сетевого подключения, netstat -ano,Проверьте наличие подозрительных сетевых подключений»

Язык кода:javascript
копировать
D:\>netstat -ano

активное соединение

  протокол  местный адрес          внешний адрес        состояние           PID
  TCP    0.0.0.0:135            0.0.0.0:0              LISTENING       1116
  TCP    0.0.0.0:443            0.0.0.0:0              LISTENING       8036
  TCP    0.0.0.0:445            0.0.0.0:0              LISTENING       4
  .......
  TCP    192.168.1.5:2384       112.86.128.91:443      ESTABLISHED     14184
  TCP    192.168.1.5:2386       112.86.128.91:443      ESTABLISHED     14184
  TCP    192.168.1.5:2413       112.86.128.91:443      ESTABLISHED     14184
  TCP    192.168.1.5:2415       112.86.128.91:443      ESTABLISHED     14184
  TCP    192.168.1.5:2511       124.238.121.41:80      CLOSE_WAIT      5144
  TCP    192.168.1.5:2513       113.96.237.36:443      CLOSE_WAIT      11696
  TCP    192.168.1.5:2523       113.96.237.36:443      CLOSE_WAIT      11696
  TCP    192.168.1.5:2524       113.96.237.36:443      CLOSE_WAIT      11696
  .......

«Процесс устранения неполадок,диспетчер задачПроверять,Проверьте наличие подозрительных процессов

«Обзор планирования задач,планировщик задачПроверять,Проверьте планы подозрительных миссий»

«Устранение неполадок в сервисе,диспетчер задач---> Служить

Журнал устранения неполадок

Системный журнал: по умолчанию WindowsСистемный журнал находится в%SystemRoot%\System32\Winevt\Logsсередина,Соответствующие журналы включают:

  • Application.evtx (журнал приложения) ,
  • Security.evtx (Безопасностьсекс-дневник)
  • System.evtx (системный журнал)

Вы можете использовать встроенную программу просмотра событий системы для просмотра журналов безопасности.

Язык кода:javascript
копировать
PS C:\Windows\System32\winevt\Logs> ls


    Оглавление: C:\Windows\System32\winevt\Logs


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a----          2022/3/3     15:46       20975616 Application.evtx
-a----         2021/2/17     16:02          69632 HardwareEvents.evtx
-a----         2021/2/17     16:02          69632 Internet Explorer.evtx
-a----         2021/2/17     16:02          69632 Key Management Service.evtx
-a----         2022/2/25     21:42        1118208 Lenovo-Power-BaseModule%4Operational.evtx
-a----          2021/4/9      8:23          69632 Microsoft-AppV-Client%4Admin.evtx
-a----          2021/4/9      8:23          69632 Microsoft-AppV-Client%4Operational.evtx
-a----          2021/4/9      8:23          69632 Microsoft-AppV-Client%4Virtual Applications.evtx
............................
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose