• Познакомьтесь с пентестом веб-приложений на практике в нашем новом бесплатном курсе

    «Анализ защищенности веб-приложений»

    🔥 Записаться бесплатно!

  • CTF с учебными материалами Codeby Games

    Обучение кибербезопасности в игровой форме. Более 200 заданий по Active Directory, OSINT, PWN, Веб, Стеганографии, Реверс-инжинирингу, Форензике и Криптографии. Школа CTF с бесплатными курсами по всем категориям.

Статья APT2 - Penetration Testing Toolkit (сканирование Nmap и не только)

Привет! В этой теме я расскажу об одном полезном инструменте для сканирования и выявления возможных уязвимостей. Называется он APT2. Главным его преимуществом является автоматизация процесса поиска и подбора эксплоитов к цели, во всяком случае так обещают разработчики.

upload_2016-10-6_21-47-15.png


Эта утилита будет выполнять сканирование Nmap, или импортировать результаты сканирования из Nexpose, Nessus, или Nmap. Полученные результаты будут использоваться для запуска эксплойтов и перечисления модулей подходящих под выбранный Safe Level перед началом сканирования.

Все результаты хранятся на локальном хосте и являются частью базы знаний APT2 (KB). KB доступна из приложения и позволяет пользователю просматривать собранные результаты модуля.

APT2
использует default.cfg в директории /root/apt2. Отредактируйте его чтобы запускать APT2 с своими параметрами.

Текущие опции включают в себя:
· Metasploit
· Nmap
· Threading

Доступные модули:

· anonftp Test for Anonymous FTP
· anonldap Test for Anonymous LDAP Searches
· crackPasswordHashJohnTR Attempt to crack any password hashes
· gethostname Determine the hostname for each IP
· httpoptions Get HTTP Options
· httpscreenshot Get Screen Shot of Web Pages
· httpserverversion Get HTTP Server Version
· hydrasmbpassword Attempt to bruteforce SMB passwords
· impacketsecretsdump Test for NULL Session
· msf_dumphashes Gather hashes from MSF Sessions
· msf_gathersessioninfo Get Info about any new sessions
· msf_javarmi Attempt to Exploit A Java RMI Service
· msf_ms08_067 Attempt to exploit MS08-067
· msf_openx11 Attempt Login To Open X11 Service
· msf_smbuserenum Get List of Users From SMB
· msf_snmpenumshares Enumerate SMB Shares via LanManager OID Values
· msf_snmpenumusers Enumerate Local User Accounts Using
· LanManager/psProcessUsername OID Values
· msf_snmplogin Attempt Login Using Common Community Strings
· msf_vncnoneauth Detect VNC Services with the None authentication type
· nmapbasescan Standard NMap Scan
· nmaploadxml Load NMap XML File
· nmapms08067scan NMap MS08-067 Scan
· nmapnfsshares NMap NFS Share Scan
· nmapsmbshares NMap SMB Share Scan
· nmapsmbsigning NMap SMB-Signing Scan
· nmapsslscan NMap SSL Scan
· nmapvncbrute NMap VNC Brute Scan
· Test for NULL Session
· nullsessionsmbclient Test for NULL Session
· openx11 Attempt Login To Open X11 Servicei and Get Screenshot
· reportgen Generate Report
· responder Run Responder and watch for hashes
· searchftp Search files on FTP
· searchnfsshare Search files on NFS Shares
· searchsmbshare Search files on SMB Shares
· sslsslscan Determine SSL protocols and ciphers
· ssltestsslserver Determine SSL protocols and ciphers
· userenumrpcclient Get List of Users From SMB


Для установки вводим следующее:

> git clone link removed

> pip install python-nmap


Когда все установилось, запустим:

> cd /root/apt2

> ./apt2.py

Затем следует подключить модули Metasploit к APT2, так как они необходимы для работы.

upload_2016-10-6_21-58-30.png


Конкретнее, подгружаем плагин msgrpc, который позволит запуститься MSGRPC серверу.

В командной строке Metasploit пишем:

> load msgrpc User=msf Pass=msfpass


upload_2016-10-6_21-59-42.png


Перезапустим APT2, теперь все в норме.

upload_2016-10-6_22-0-35.png


Рассмотрим пример сканирования удаленного хоста, для этого запустим приложение с такими параметрами:

> ./apt2.py –v –v –s 1 –- target 192.168.0.XXX

Вызов справки по аргументам – > ./apt2 --help

upload_2016-10-6_22-2-33.png


Выполнялось сканирование хоста с ОС Windows 7, по результатам видим:

upload_2016-10-6_22-2-54.png


Все результаты сканирования можно увидеть в папке /root/apt2/proofs.

В дополнение, ссылка на видео от разработчика:

 
Последнее редактирование:

kot-gor

Grey Team
07.09.2016
529
705
BIT
0
Добрый вечер , как раз уже второй день разбираюсь с этой программой..)Не все так гладко идет как у автора данного софта.Например когда использую флаг -f demo.xml выбивает ошибку


Снимок экрана от 2016-10-07 04-07-34.png



Если же запускать ./apt2.py -v -v -b -s 1 ( без флага -f) запускается ,но корректно не работает.

Снимок экрана от 2016-10-07 04-09-20.png

Даже когда запускаю ее
./apt2.py -v -v -b -s 1 -target 192.168.0.103 пишет следующее:
Снимок экрана от 2016-10-07 04-25-01.png


На данный момент танцы с бубном продолжаются, у кого какие соображения?
 
Последнее редактирование:
  • Нравится
Реакции: Vander

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 345
BIT
0
Приветствую, итак:
-f - это выбрать готовый файл, в данном случае demo.xml - у вас его нет на компьютере, это пример.
--target - так правильнее будет
 
  • Нравится
Реакции: kot-gor
M

MAdDog719

Сори если не в тему, посоветуйте чем помимо Telnet узнать веб сервер сайта?
 

kot-gor

Grey Team
07.09.2016
529
705
BIT
0
Приветствую, итак:
-f - это выбрать готовый файл, в данном случае demo.xml - у вас его нет на компьютере, это пример.
--target - так правильнее будет
А я то думал это он пишет в файл..)с таргет почему то у меня тож не желает работать...я выше картинку и на таргет скинул..
 
I

Inject0r

не совсем понятно для чего опция s нужна
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 345
BIT
0
S - это Safe Level, показывает насколько безопасно применять сканирование против цели. 5 - наиболее безопасный. Полагаю это влияет на поведение сканеров, агрессивное сканирование etc...
 
  • Нравится
Реакции: Inject0r

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 345
BIT
0
Правильный вариант команды запуска выглядит так и не иначе - > ./apt2.py –v –v –s 1 –- target 192.168.0.XXX
 

kot-gor

Grey Team
07.09.2016
529
705
BIT
0
я так тоже делал..это уже вариации после ./apt2.py –v –v –s 1 –- target 192.168.0.XXX вашего варианта...Скажите а файл конфигурации вы правили?
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 345
BIT
0
Нет, все оставил так как было. Ничего не было изменено. А можно скрин, где программа ругается на ./apt2.py –v –v –s 1 –- target 192.168.0.XXX ?
 

Vander

CodebyTeam
Gold Team
16.01.2016
1 420
4 345
BIT
0
./apt2.py –v –v –s 1 –- target 192.168.0.XXX, --target , без пробела.
 

kot-gor

Grey Team
07.09.2016
529
705
BIT
0
Спасибо за что не оставили ,проблема решилась..суть была в том что на гитхабе несколько вариантов данного софта..скачал именно сейчас по вашей ссылке...все заработало.Какие появились замечания у данного софта: по умолчанию там присутствует интерфейс eth0 , сканирует проводную сеть на ура ..но через адаптер отказывается.В файле default.cfg поменял eth0 на wlan0 но проблема не решилась.((Предполагаю что где то еще задается параметр адаптера.Вот что выдает

Снимок экрана от 2016-10-11 22-04-31.png


потом еще встает вопрос как подключить остальные модули... потихоньку вот сижу и разбираюсь.Буду признателен за любую помощь.
 

jsat

Green Team
20.04.2017
30
8
BIT
0
При установке АРТ2 - ./apt2.py выдает сообщения:
Код:
Traceback (most recent call last):
  File "./apt2.py", line 58, in <module>
    main()
  File "./apt2.py", line 13, in main
    framework = Framework()
  File "/root/apt2/core/framework.py", line 29, in __init__
    self.version = pkg_resources.get_distribution("apt2").version
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 553, in get_distribution
    dist = get_provider(dist)
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 427, in get_provider
    return working_set.find(moduleOrReq) or require(str(moduleOrReq))[0]
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 963, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.7/dist-packages/pkg_resources/__init__.py", line 849, in resolve
    raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'apt2' distribution was not found and is required by the application
Как решить чтобы заработала, прошу помощи...
 
Последнее редактирование модератором:

kot-gor

Grey Team
07.09.2016
529
705
BIT
0
сейчас попробую у себя установить , через час отпишусь..
у меня так же как и у вас:

Снимок экрана от 2017-06-25 02-59-25.png


предполагаю что данная утилита не адаптирована под последнюю версию кали. народ попробуйте у кого есть возможность на других дистрибутивах прогнать..или может у кого есть какие либо соображения на этот счет.
 
Последнее редактирование:

Vertigo

Lex mea est Vulgate Linux
Gold Team
15.02.2017
1 318
3 997
BIT
1
На Kali проблем нет,а вот на Parrot словил такую же ошибку.
Как запустил:
$ cd apt2/
$ sudo python setup.py install
$ ./apt2.py
Выполнил просто репликацию,т.к. в директории apt2 может отсутствовать setup.py
Ещё там много модулей для подгрузки требует,но завёлся хотя бы для начала.
 
  • Нравится
Реакции: kot-gor и ghostphisher
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!