Команди для ознайомлення з незнайомою системою [закрито]


19

Ви увійдете в незнайому систему UNIX або Linux (як root). За якими командами ти працюєш, щоб зорієнтуватися та зрозуміти, на якій системі ти працюєш? Як ви з'ясуєте, який тип обладнання використовується, який тип операційної системи працює і яка зараз ситуація, коли мова йде про дозволи та безпеку?

Яку першу та другу команди ви вводите?


3
Я б uname -aтоді використовував apropos whatever твій друг.
fd0

1
nmap -A -T4 localhostможе також дати вам корисну інформацію
seumasmac

@seumasmac netstat буде кращим і ефективнішим, ніж nmapping локальна машина.
Андре Борі

@ AndréBorie nmap та netstat дають зовсім інші результати. Тому не має сенсу порівнювати їх за ефективністю (якою б не була).
moooeeeep

@ AndréBorie Я спочатку планував поставити :) в кінці цього. Я перевіряв безпеку на одній із власних машин, і, тримаючи nmapмолоток, localhostраптом виглядав як цвях. Але потім я зрозумів, що це насправді дає цікаву інформацію, тому я залишив це як напівсерйозну пропозицію.
seumasmac

Відповіді:


22

питання подвійного використання! Відповіді на це запитання могли використати археолог з програмного забезпечення або Злий хакер! Тепер, хто я?

Я завжди використовував ps -efпроти, ps -augxwwщоб дізнатися, на чому я. У вікнах Linux та System V, як правило, подобається "-ef" та помилка на "-augxww", навпаки для BSD та старих версій SunOS. Результат psможе також дати вам багато інформації.

Якщо ви можете увійти в систему під корінь, і це машина Linux, ви повинні зробити , lsusbі lspci- що попадеться вам 80% від шляху до знаючи , що ситуація з апаратною частиною. dmesg | moreможе допомогти вам зрозуміти будь-які поточні проблеми майже нічого.

Він починає поетапно припинятися, але ifconfig -aзазвичай це може багато розповісти про мережеві інтерфейси та мережу. Запуск mii-toolта / або ethtoolінтерфейси, які ви бачите на ifconfigвиході, схожі на кабельну мережу, можуть також дати вам інформацію.

Runnin ip routeабо netstat -rможе бути інформаційним щодо маршрутизації Інтернет-протоколів, а може бути, і про мережеві інтерфейси, що використовуються.

mountВиклик може сказати вам про диск (ах) , і як вони встановлені.

Запуск uptime, а потім last | moreможе розповісти щось про поточний стан обслуговування. Час роботи 100+ днів, ймовірно, означає "час міняти масло і рідини", метафорично кажучи. Біг whoтакож

Дивлячись /etc/resolv.confі /etc/hostsможе розповісти вам про налаштування DNS цієї машини. Можливо, зробіть nslookup google.comчи dig bing.comперевірте, чи функціонує DNS в основному.

Завжди варто переглянути, які помилки ("команда не знайдена") та які варіанти команд ("ps -ef" проти "ps augxww") працюють, щоб визначити, на якому варіанті Unix або Linux або BSD ви тільки що потрапили.

Важливо наявність чи відсутність компілятора С, і де він живе. Зробіть which ccабо краще, which -a ccщоб їх знайти.


Я віддаю перевагу netstat -tulpanwбільше продуктивності, але це справді справа смаку.
Ned64,

Є також lshwпід Linux.
Шахбаз

mountбезладний, findmntнатомість дуже чистий.
edmz

10

cat /etc/*release* це хороша команда для огляду того, який дистрибутив працює.


9

http://bhami.com/rosetta.html може бути корисним для огляду, інакше я зазвичай мовчу під/etc (акаунти, init речі, підказки аромату ОС тощо) crontab -lі переглядаю psсписок речей, про які слід дізнатися.

Також "як root" - це дуже страшно, тому що мені довелося виправляти системи, де адміністратор Linux, який проводив таке розслідування, встановлював усі імена хостів Solaris -f .

Також df є небезпечною командою, відмінний спосіб про вигуках висів на блокування введення / виведення. Тому ніколи не запускайте це, доки ви хоча б не дослідили монтажі, або не знаєте, що можете відкрити ще один сеанс.

Використовуйте дуже прості команди ( uname, cd /etc; ls, cat, $PAGER) , поки ви не з'ясувати , що господар, і якщо ви не знайомі з ним, перевірити Rosetta або завжди прочитати сторінку людини перш , ніж прийняти будь - яку команду або прапор команди робить те , що він робить на більш популярні системи.


Мене здивує: чи існує надійний спосіб (тимчасово) потрапляння в середовище з нижчими пільгами? Або це неможливо або якось не є хорошою ідеєю?
Оліфант - відновити Моніку

1
Чому це dfнебезпечно? Чи є системи, де вона робить щось інше, ніж показує використання файлової системи?
terdon

1
блокування вводу / виводу ядра @terdon, наприклад, на жорсткому кріпленні NFS, яке не працює; в кращому випадку ви можете отримати нову сесію або відкрити термінал якось (час витрачається під час відключення), або, в гіршому випадку, це була ваша єдина консоль на цій старій системі Solaris і так, так ... можливо, вона завантажиться, може, і не буде, соромно, що інформація про кріплення спочатку не була розглянута, і ця проблематична лінія сервера NFS розпізнана ...
триг.

1
Якщо dfвисить, то ви просто CTRL-Z це і kill -9це. Я також зіткнувся з цією проблемою, і це завжди працювало для мене. Крім того, в ідеалі ваші кріплення не повинні підвішуватися. Я також не думаю, що багато хто вважає програми, що звисають як "небезпечні", тому я думаю, що Тердон був розгублений.
Братчлі

3
@Bratchley О, ніколи не було з'єднання з консоллю, через яку ви не можете надсилати контрольні символи? Гм, де був цей посібник з zmodem, чи о, боже, як ми їх надіслали через баггічну річ Java на ту іншу баггі-річ, а-дже, яка має фізичний доступ?
триг

5

dmidecodeі lspci, як правило, дасть вам хороше уявлення про те, що апаратне забезпечення працює в системі. Якщо це звичайно запущений сервер, netstat -tlpnвін віддасть мету сервера. df -hPє хорошою командою для перевірки поточного сховища в системі. lsb_release -aповинен повідомити вам, на який дистрибутив ви перебуваєте:

[root@vle02 ~]# lsb_release -a
LSB Version:    :base-4.0-amd64:base-4.0-noarch:core-4.0-amd64:core-4.0-noarch:graphics-4.0-amd64:graphics-4.0-noarch:printing-4.0-amd64:printing-4.0-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 6.7 (Santiago)
Release:        6.7
Codename:       Santiago

Запуск lastповинен повідомити, хто використовує систему. Якщо припустити, що ви отримали доступ до цього сервера законно, часто ви можете просто попросити когось із людей, які ввійшли в нього, отримати більше інформації про нього.

Для перевірок безпеки нейтральних постачальників: часто брандмауер матиме унікальні дані конфігурації, тому запуск a iptables -nvLкорисний. Ви також повинні перевірити файли конфігурації пам’яті вашого дистрибутива, щоб побачити, чи використовуєте ви лише місцевих користувачів або якщо ви налаштовані на використання ldap / kerberos / winbind / sssd / що завгодно.

Ви також можете перевірити конфігурацію служб, які з’являються у вашому netstat -tlpn. Наприклад, якщо ви бачите apache, ви можете подивитися /etc/http/conf/httpd.conf(на RHEL, /etc/apache2на Ubuntu) і спробувати побачити, які веб-сайти працюють. Крім того, ви можете зробити a, apachectl -Sщоб отримати список усіх налаштованих віртуальних хостів. Це вболівальники звідти, тому все, що я насправді можу, - це запропонувати apache як приклад і просто сказати, щоб перевірити конфігурацію демона, якщо це щось інше.

На RHEL я також хотів би перевірити, rpm -qa --last | headколи останній раз вони робили оновлення системи. Я також хотів би перевірити, чи включено SELinux черезgetenforce


0

Ще кілька ідей:

  • Наявність або відсутність /procфайлової системи може означати, чи ви працюєте на Mac , FreeBSD або Linux.
  • Управління пакетами відрізняється від Linux distro до distro. На основі Debian є влучні, такі як Deepin, Ubuntu, Mint; У Red Red Hat та Fedora було до кінця, але тепер у Fedora є DNF ; Арка використовує Pacman. Тож ми могли б зробити щось подібне:ls /usr/bin | grep 'apt\|yum\|pacman'
  • Наявність певних служб на певних портах під час перегляду netstat -tulpan. Може бути sshd, веб - сервер, ftp;

Зауважте, що наявність даного виконуваного файлу в системі насправді нічого не означає. Наприклад, Debian має yumпакет. Як би наявність системи ssh вказувало на систему? AFAIK ви можете знайти sshdмайже все.
terdon

@terdon Правда. Я просто підходжу до цього з точки зору нового sysadmin, де вам говорять: "У нас є якийсь скринька Linux, перейдіть, зробіть щось з цим". Тоді ви можете запитати, ну: чи має він віддалений доступ? Це віддалений доступ загартований? Чи є у мене управління пакетами, з яким я знайомий або мені потрібно вивчити нового менеджера пакунків? Ціль не обов'язково визначає, яку ОС ви отримуєте, Брюс Едігер уже це висвітлював, але я зосереджуюсь більше на дослідженні самої системи
Сергій Колодяжний
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.