banner
肥皂的小屋

肥皂的小屋

github
steam
bilibili
douban
tg_channel

内網 - スキャン生存ホスト

事の発端#

この記事の資料は、micropoor からのものです:https://micropoor.blogspot.com

本記事では、亮神の資料をできるだけ再現します。

内部ネットワークの生存ホストを迅速にスキャンすることは、必須のニーズです。一般的には以下の方法があります:

  1. UDP に基づく 2. ARP に基づく 3. netbios に基づく 4. snmp に基づく 5. ICMP に基づく 6. SMB に基づく 7. MSF に基づく 8. SqlDataSourceEnumerator に基づく

私たちのツールは主に nmap と metasploit、その他の優れたツールを使用します。

重要な注意:この記事は非常に長いため、あまり読みやすくありません。マニュアルとして使用し、目次をうまく活用してください!

環境準備#

(19-02-23 更新) 後に自分の環境選択に問題があると感じ、ブリッジ接続方式を使用した方がはるかに効果的である可能性があります。


ここでは、virtualbox で 2 台のマシンを立ち上げました。

Kali(NAT+Hostonly):192.168.2.6

image

Winxp_SP3(Hostonly):192.168.2.4

image

すべてのツールは、仮想マシンを起動する前は 192.168.2.1 という 1 つのゲートウェイアドレスしかスキャンできませんでした。仮想マシンを起動した後は、仮想マシンのアドレスに加えて、dhcp サーバーのアドレスもあります:192.168.2.2

実測#

UDP に基づく#

UDP の概要:

UDP(ユーザーデータグラムプロトコル)は、接続のないプロトコルであり、第四層 - トランスポート層に位置し、IP プロトコルの上層にあります。UDP には、データパケットの分割、組み立てを提供せず、データパケットの順序付けができないという欠点があります。つまり、メッセージが送信された後、そのメッセージが安全に完全に到達したかどうかを知ることはできません。

UDP の顕著な特徴:

  1. UDP は信頼性に欠けます。UDP 自体は確認、タイムアウト再送などのメカニズムを提供しません。UDP データグラムはネットワーク内で複製され、再順序付けされる可能性があり、各データグラムが一度だけ到達することを保証しません。
  2. UDP データグラムには長さがあります。各 UDP データグラムには長さがあり、データグラムが正しく目的地に到達した場合、そのデータグラムの長さはデータと共に受信者に渡されます。一方、TCP はバイトストリームプロトコルであり、(プロトコル上の)記録境界はありません。
  3. UDP は接続がありません。UDP クライアントとサーバーの間には長期的な関係が必要ありません。ほとんどの UDP 実装では、ソースの抑制エラーを無視することを選択し、ネットワークが混雑しているとき、目的地は大量の UDP データグラムを受信できません。
  4. UDP はマルチキャストとブロードキャストをサポートします。

nmap#

nmap -sU -T5 -sV --max-retries 1 192.168.2.4 -p 500

image

速度が非常に遅いことがわかります。

msf#

use auxiliary/scanner/discovery/udp_probe

image

use auxiliary/scanner/discovery/udp_sweep

image

unicornscan スキャン#

Linux での使用を推奨:unicornscan -mU 192.168.2.4

image

ScanLine スキャン#

McAfee 製、Windows での使用を推奨。管理者が実行します(ダウンロードボタンをクリックすると無限ループになると思われます)。

ここからダウンロード:http://www.ddooo.com/softdown/11258.htm、私は自分でウイルススキャンを行い、80%がウイルス報告をしましたが、Tencent Hubble はリスクを発見していません。自己判断でお願いします。

image

ScanLine.exe 192.168.2.4

image

附:オンラインの Nmap に基づく UDP スキャン:https://pentest-tools.com/network-vulnerability-scanning/udp-port-scanner-online-nmap

ARP に基づく#

ARP の概要:ARP は、ネットワーク層アドレスを解析してデータリンク層アドレスを見つけるための、ネットワークプロトコルパケット内で非常に重要なネットワーク伝送プロトコルです。IP アドレスに基づいて物理アドレスを取得する TCP/IP プロトコルです。ホストが情報を送信する際、ターゲット IP アドレスを含む ARP リクエストをネットワーク上のすべてのホストにブロードキャストし、返されたメッセージを受信することで、ターゲットの物理アドレスを特定します。

nmap スキャン#

nmap -sn -PR 192.168.2.1/24

image

msf スキャン#

use auxiliary/scanner/discovery/arp_sweep

image

注意:デフォルトではネットワークカードが設定されていないため、手動で設定する必要があります。

netdiscover#

netdiscover -r 192.168.2.1/24 -i eth1

image

arp-scan(Linux)#

**(推奨)** 速度と迅速さ

arp-scan --interface=eth1 --localnet

image

Powershell#

PowerShell Empire ツールキット内の Invoke-ARPScan.ps1 を使用します。Github アドレス

コピーして貼り付けて Invoke-ARPScan.ps1 として保存し、PowerShell でそのファイルがあるフォルダに入り、次のコマンドを実行します:

powershell.exe -exec bypass -Command "Import-Module ./Invoke-ARPScan.ps1;Invoke-ARPScan -CIDR 192.168.2.1/24"

image

arp scannet#

ダウンロードリンク:https://sourceforge.net/projects/arpscannet/files/latest/download

image

出力をソートするオプションを選択すると、アクティブなホストの後ろの値が空でないことがわかります。

arp-scan(Windows)#

(推奨)速度と迅速さ

Github アドレス(非公式):https://github.com/QbsuranAlang/arp-scan-windows-/tree/master/arp-scan

arp-scan.exe -t 192.168.2.1/24

image

arp-ping.exe#

ダウンロードリンク(ネットで適当に探した):https://elifulkerson.com/projects/arp-ping.php

ウイルススキャンを行ったところ、1 件だけウイルス報告があり、Tencent Hubble はリスクを発見していません。

arp-ping.exe 192.168.2.4

image

その他#

cain の arp 発見、一部のオープンソース py、pl スクリプトなどについては、すべて紹介することはできません。

netbios に基づく#

netbios の概要:

IBM 社が開発したもので、数十台のコンピュータの小規模なローカルエリアネットワークで主に使用されます。このプロトコルは、ローカルエリアネットワーク上のプログラムが使用できるアプリケーションプログラミングインターフェース(API)であり、プログラムに低レベルサービスを要求するための同一のコマンドセットを提供します。これは、ローカルエリアネットワークにネットワークおよびその他の特別な機能を提供するためのものです。システムは WINS サービス、ブロードキャスト、Lmhost ファイルなどのさまざまなモードを利用して、NetBIOS 名(NETBIOS プロトコルに基づいて取得したコンピュータ名を指す)を対応する IP アドレスに解決し、情報通信を実現します。したがって、ローカルエリアネットワーク内で NetBIOS プロトコルを使用することで、メッセージ通信やリソースの共有を簡単に実現できます。

nmap スキャン#

nmap -sU --script nbstat.nse -p137 192.168.2.1/24 -T4

image

msf スキャン#

use auxiliary/scanner/netbios/nbname

image

nbtscan スキャン#

プロジェクトアドレス:http://www.unixwiz.net/tools/nbtscan.html

nbtstat -n (推奨)

nbtscan-1.0.35.exe -m 192.168.2.1/24

image

  • Linux

(推奨)ソースをダウンロード(gzip'd tarball)

tar -zxf nbtscan-source-1.0.35.tgz
make
nbtscan -r 192.168.2.1/24

image

nbtscan -v -s: 192.168.2.1/24

image

NetBScanner#

プロジェクトアドレス:https://www.nirsoft.net/utils/netbios_scanner.html

image

ダウンロードボタンはここにあります(探すのに時間がかかりました)。言語パックをインストールディレクトリに置き、スキャンネットワークセグメントを設定できます:

image

snmp に基づく#

SNMP の概要:

SNMP はシンプルネットワーク管理プロトコルであり、TCP/IP 五層プロトコルのアプリケーション層プロトコルに属し、ネットワーク管理のためのプロトコルです。SNMP は主にネットワークデバイスの管理に使用されます。SNMP プロトコルは主に 2 つの部分で構成されています:SNMP 管理ステーションと SNMP エージェント。SNMP 管理ステーションは中心ノードであり、各 SNMP 要素の情報を収集し、維持し、処理し、最終的にネットワーク管理者にフィードバックします。一方、SNMP エージェントは、管理される各ネットワークノード上で実行され、そのノードの各種情報を統計し、SNMP 管理ステーションと対話し、管理ステーションのコマンドを受信して実行し、さまざまなローカルネットワーク情報をアップロードします。

nmap -sU --script snmp-brute 192.168.2.1/24 -T4

image

msf スキャン#

use auxiliary/scanner/snmp/snmp_enum

image

SNScan#

macafee 製のスキャンツール、プロジェクトアドレス(依然として無限ループ):https://www.mcafee.com/us/downloads/free-tools/snscan.aspx

私はネットで 1.05 バージョンを見つけましたが、virustotal では何も報告されていませんでした。Tencent Hubble はリスクを発見していません:ここをクリックしてダウンロード

image

NetCrunch#

内部ネットワークのセキュリティ監査ツールで、DNS 監査、ping スキャン、ポート、ネットワークサービスなどを含みます。

インストール後、Google または Facebook または Microsoft アカウントでログインする必要があります。

image

snmp for pl スキャン#

image

./snmpbw.pl を実行する際のCan't locate NetAddr/IP問題:

image

wget https://cpan.metacpan.org/authors/id/M/MI/MIKER/NetAddr-IP-4.079.tar.gz
tar xzf ./NetAddr-IP-4.079.tar.gz
cd NetAddr-IP-4.079/
perl Makefile.PL
make
make install
cd ../
./snmpbw.pl

image

image

image

その他のスキャン#

  • snmpbulkwalk

image

  • snmp-check

image

  • snmptest

image

附録:

use auxiliary/scanner/snmp/aix_version
use auxiliary/scanner/snmp/snmp_enum
use auxiliary/scanner/snmp/arris_dg950
use auxiliary/scanner/snmp/snmp_enum_hp_laserjet
use auxiliary/scanner/snmp/brocade_enumhash
use auxiliary/scanner/snmp/snmp_enumshares
use auxiliary/scanner/snmp/cambium_snmp_loot
use auxiliary/scanner/snmp/snmp_enumusers
use auxiliary/scanner/snmp/cisco_config_tftp
use auxiliary/scanner/snmp/snmp_login
use auxiliary/scanner/snmp/cisco_upload_file
use auxiliary/scanner/snmp/snmp_set
use auxiliary/scanner/snmp/netopia_enum
use auxiliary/scanner/snmp/ubee_ddw3611
use auxiliary/scanner/snmp/sbg6580_enum
use auxiliary/scanner/snmp/xerox_workcentre_enumusers

その他の内部ネットワークセキュリティ監査ツール(snmp):

ICMP に基づく#

ICMP の概要:

これは TCP/IP プロトコルファミリーのサブプロトコルであり、IP ホストやルーター間で制御メッセージを伝達するために使用されます。制御メッセージとは、ネットワークが通じているか、ホストが到達可能か、ルーティングが利用可能かなど、ネットワーク自体に関するメッセージです。これらの制御メッセージはユーザーデータを伝送しませんが、ユーザーデータの伝送に重要な役割を果たします。

nmap スキャン:#

nmap ‐sP ‐PI 192.168.2.1/24 ‐T4

image

nmap ‐sn ‐PE ‐T4 192.168.2.1/24

image

CMD でのスキャン#

for /L %P in (1,1,254) DO @ping ‐w 1 ‐n 1 192.168.2.%P | findstr "TTL="

image

私が使っているのは偽の cmd かもしれません。しばらく反応がありませんでした。

powershell スキャン#

Invoke‐TSPingSweep.ps1 のダウンロード:GitHub アドレス

powershell.exe -exec bypass -Command "Import-Module ./Invoke‐TSPingSweep.ps1; Invoke-TSPingSweep -StartAddress 192.168.2.1 -EndAddress 192.168.2.254 -ResolveHost -ScanPort -Port 445,135"

image

tcping#

elifulkerson のこのウェブサイトで見つけました:ダウンロードリンク

tcping64.exe -n 1 192.168.2.1 80

image

cping(19-02-23 更新)#

cping は K8 チームによって作成されました。詳細な紹介:https://www.cnblogs.com/k8gege/p/10367844.html

ブログには詳細が記載されているため、再度紹介する必要はありません。ダウンロードリンク(移動して解凍して再パッケージ化したもの):https://www.lanzous.com/i3837ne

パッケージ内には以下のファイルがあります:

image

cping**.exe ** は、.net でコンパイルされたバージョンを示します。システムのデフォルト.NET バージョンは以下の通りです:

XP/2003(廃止、ユーザーが少なく、使用しているほとんどは.netをインストールするため、ほとんどのアプリがドライバーを連携させるために.netを必要とします。具体的にはインストールバージョンは一般的に2.0)

Vista       2.0(基本的にユーザーはほとんどいません)
Win7/2008   2.0 3.0 3.5
Win8/2012   4.0
Win8.1      4.0 4.5
Win10/2016  4.0 4.6(4.5は未測定ですが、問題ないと思います)

私の内部ネットワークマシンのスキャンデモ画像:

image

SMB に基づく#

msf に基づく#

モジュール:auxiliary/scanner/smb/smb_version

image

cme に基づく#

このようにインストールした後、cme smbを実行できません:

apt-get install cme
apt-get install crackmapexec

したがって、pipenv を使用してインストールします:

apt-get install libssl-dev libffi-dev python-dev build-essential -y
pip install --user pipenv -i https://pypi.tuna.tsinghua.edu.cn/simple/
git clone --recursive https://github.com/byt3bl33d3r/CrackMapExec
cd CrackMapExec && pipenv install

この時、bash:pipenv: コマンドが見つからないというエラーが発生する可能性があります。上記の問題が発生した場合、次の操作を行う必要があります。
vim ~/.profileの下部に以下の文を追加します:

PYTHON_BIN_PATH="$(python3 -m site --user-base)/bin"
PATH="$PATH:$PYTHON_BIN_PATH"

その後、source ~/.profileを実行するとpipenvが使用できるようになります。

次に続けます:

pipenv shell
python setup.py install

image

環境が作成されると、cme smbコマンドが使用できるようになります(現在の環境を終了しないでください。そうでない場合は、cd CrackMapExec && pipenv installから再スタートしてください)。

cme smb 192.168.2.1/24

image

nmap に基づく#

nmap ‐sU ‐sS ‐‐script smb‐enum‐shares.nse ‐p 445 192.168.2.1/24

image

私の設定が不十分で、何も調べられませんでした。

CMD に基づく#

もしcmdの中でtelnetを入力しても、内部または外部のコマンドではなく、実行可能なプログラムまたはバッチファイルではないと表示された場合:

image

コントロールパネルのプログラムのアンインストールページの左側にある「Windows の機能の有効化または無効化」に行き、Telnet クライアントのオプションを選択して適用すれば大丈夫です:

image

for /l %a in (1,1,254) do start /min /low telnet 192.168.2.%a 445

image

254 個の telnet ページが開き、192.168.2.1 から 192.168.2.254 の 445 ポートに接続します。もしホストの 445 ポートに接続できれば、そのまま残り、他はすべて自動的に閉じます:

image

powershell に基づく#

  • 一文スキャン:
  • 単一 IP:
445 | %{ echo ((new‐object Net.Sockets.TcpClient).Connect("192.168.2.7",$_)) "$_ is open"} 2>$null

image

なぜかスキャンできませんでした。

  • 複数 IP:
1..5 | % { $a = $_; 445 | % {echo ((new‐object Net.Sockets.TcpClient).Connect("192.168.2.$a",$_)) "Port $_ is open"} 2>$null}

image

これもスキャンできませんでした。

複数ポート、複数 IP:

118..119 | % { $a = $_; write-host "‐‐‐‐‐‐"; write-host "192.168.2.$a"; 80,445 | % {echo ((new‐object Net.Sockets.TcpClient).Connect("192.168.2.$a",$_)) "Port $_ is open"} 2>$null}

image

emmm、設定が不十分で、何もスキャンできませんでした。

MSF に基づく#

この部分では、より良いスキャン結果を得るために、いくつかのホストを柔軟に切り替え、一時的にいくつかのサービスを追加します。ターゲットマシンは以下の通りです:

  • WinXP_SP3:192.168.2.4
  • Win7_SP1(以後 win7 と略称):192.168.2.7
  • Ubuntu Desktop 18.04 LTS(以後 ud18lts と略称):192.168.2.18
  • msf が存在するマシン:Kali:192.168.2.6

MSF の search は type 検索をサポートしています:

image

以下の 20 個を紹介します:

auxiliary/scanner/http/http_version
auxiliary/scanner/smb/smb_version
auxiliary/scanner/ftp/ftp_version
auxiliary/scanner/discovery/arp_sweep
auxiliary/scanner/discovery/udp_sweep
auxiliary/scanner/ssh/ssh_version
auxiliary/scanner/telnet/telnet_version
auxiliary/scanner/discovery/udp_probe
auxiliary/scanner/dns/dns_amp
auxiliary/scanner/mysql/mysql_version
auxiliary/scanner/netbios/nbname
auxiliary/scanner/http/title
auxiliary/scanner/db2/db2_version
auxiliary/scanner/portscan/ack
auxiliary/scanner/portscan/tcp
auxiliary/scanner/portscan/syn
auxiliary/scanner/portscan/ftpbounce
auxiliary/scanner/portscan/xmas
auxiliary/scanner/rdp/rdp_scanner
auxiliary/scanner/smtp/smtp_version

http/http_version に基づく HTTP サービスの発見#

  • HTTP サービスを起動します。

win7 上で phpstudy サービスを起動し、ud18lts 上で apache2 のデフォルト画面を起動しました:

image

image

  • msf でスキャン

use auxiliary/scanner/http/http_version

image

smb/smb_version に基づく SMB サービスの発見#

  • samba サーバーを構築します。

ud18lts で docker を使用して一時的に samba サーバーを構築しました。参考記事:https://www.cnblogs.com/geekmao/p/7873338.html

Ubuntu での Docker のインストールについては、私が以前書いた記事を参照してください:https://www.soapffz.com/sec/99.html

samba サーバーのイメージをプルします:docker pull dperson/samba、その後、チュートリアルに従ってポートをマッピングします:

docker run -it --name samba -p 139:139 -p 445:445 -v /home:/mount -v /etc/passwd:/etc/passwd -v /etc/group:/etc/group -d dperson/samba -s "www;/mount/;yes;no;no;all;none"

image

ここまで進めました。他のことに興味があれば、チュートリアルに従って続けてください。このイメージの公式文書も参考にできます:https://github.com/dperson/samba

  • msf でスキャン

use auxiliary/scanner/smb/smb_version

image

私たちが構築した samba サーバーが表示され、ポート情報だけがスキャンされ、他の情報は何もスキャンされませんでした。

ftp/ftp_version に基づく FTP サービスの発見#

  • win7 上で FTP サービスを起動します。

このシステムのインストール時の ISO イメージをマウントします。

「Windows の機能の有効化または無効化」の中で、FTP サーバーのすべてのサービスと WEB 管理ツールの IIS 管理コンソールを有効にします。

image

次に、win+r で compmgmt.msc を入力してコンピュータ管理画面を開き、「サービスとアプリケーション」を展開し、「Internet 情報サービス(IIS)管理者」をクリックし、右クリックして「サイト」を開き、「FTP サイトの追加」を選択します:

image

次に、サイト情報をカスタマイズします:FTP サイト名はwin7_ftpです:

image

IP アドレスはローカル IP を選択し、ポートは任意に設定できます。SSL は「許可」を選択し、次に進みます:

image

認証は「基本」を選択し、権限は「すべてのユーザー」(このコンピュータに存在するすべての有効なアカウントがログインできる)を選択し、権限設定は「読み取り」と「書き込み」にします:

image

私たちの FTP サイトは追加されました。Windows エクスプローラーまたはブラウザで「ftp://IP」を入力すると、ログインダイアログが表示されます:

image

アカウントとパスワードを入力すればログインできます。接続できない場合は、ファイアウォールがオフになっていない可能性があります。「Windows ファイアウォール」の左側に「プログラムまたは機能を Windows ファイアウォールを通過させる」オプションがあります:

image

FTP サーバーのオプションをすべて選択して適用すれば大丈夫です:

image

注意:FTP が匿名ログインを有効にしていない場合は、パスワードが必要です。私の win7 は Administrator アカウントを直接使用しているため、パスワードが設定されていないと FTP サービスにログインできません。実際の使用では、FTP アカウントにパスワードを設定することを忘れないでください。ここでは FTP サービスのスキャンテストを行うために続けません。

win7 での FTP サービスのインストールに関する参考記事:https://www.cnblogs.com/liangxuru/p/6148212.html

  • ud18lts 上で FTP サービスを起動します。

ud18lts の docker で FTP サービスのイメージをプルします:docker pull fauria/vsftpd、次に次のコマンドを使用します:

docker run -d -v /home/vsftpd:/home/vsftpd -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -e FTP_USER=test -e FTP_PASS=test --name vsftpd fauria/vsftpd

image

FTP サーバーを構築し、ログインユーザー名(test)でディレクトリ(/home/vsftpd/test)を作成します。

  • msf でスキャン

use auxiliary/scanner/ftp/ftp_version

image

discovery/udp_sweep に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/discovery/arp_sweep

image

udp_sweep に基づく#

  • msf でスキャン

use auxiliary/scanner/discovery/udp_sweep

image

ssh/ssh_version に基づく SSH サービスの発見#

ここでは win7 で SSH サービスを起動しません。誰が SSH を使って Windows システムにアクセスするのか、3389 リモートデスクトップを使用するのが一般的です。ネット上の記事では、win7 で SSH を有効にするためのツールがいくつかあります:

Bitvise
Openssh(現在win10に標準装備されています)
freeSSHd
  • msf でスキャン

use auxiliary/scanner/ssh/ssh_version

image

telnet/telnet_version に基づく TELNET サービスの発見#

  • Win7 で telnet サービスを起動します。

同様に、システムインストール時に使用した ISO イメージファイルをマウントした後、コントロールパネルのプログラムのアンインストールページの左側にある「Windows の機能の有効化または無効化」で Telnet サーバーとクライアントの両方を選択します:

image

物理マシンの win10 から win7 に telnet 接続しようとしましたが、接続できませんでした。win+rで services.msc を入力してサービス管理画面に入り、telnet サービスがデフォルトで無効になっていることを確認し、自動に設定してこのサービスを起動しました:

image

再度 telnet 接続を試みると、接続できることがわかりました:

image

同様に、無パスワードアカウントでログインできないようです:

image

このサービスを有効にすれば大丈夫です。

  • ud18lts に telnet サービスをインストールします。

Ubuntu にはデフォルトで telnet クライアントしかインストールされていないため、telnetdxinetdをインストールしてサーバー側を実現します:

apt-get install telnetd && apt-get install xinetd -y

これで OK です。参考記事:https://blog.csdn.net/xkwy100/article/details/80328646

  • msf でスキャン

use auxiliary/scanner/telnet/telnet_version

ここで ud18lts の telnet サービスが見つかりました:

image

ここで win7 の telnet サービスが見つかりました:

image

discovery/udp_probe に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/discovery/udp_probe

image

dns/dns_amp に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/dns/dns_amp

image

これはスキャンできませんでした。

mysql/mysql_version に基づく mysql サービスの発見#

  • Win7 で mysql サービスを構築します。

phpstudy を直接起動すれば大丈夫です。

  • ud18lts で mysql サービスを構築します。

前述の私の記事:Ubuntu での docker を使用したテスト環境の迅速な構築で述べたように、docker で mysql/5.6 のイメージをプルします:

docker pull mysql:5.6
docker run --name testmysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=a123456 -d mysql:5.6
docker exec -it testmysql mysql -uroot -p
以前に設定したrootパスワード(a123456)を入力してデータベースにログインします。
  • msf でスキャン

use auxiliary/scanner/mysql/mysql_version

image

netbios/nbname に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/netbios/nbname

image

http/title に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/http/title

image

Kali と ud18lts が開いている apache2 サービスのデフォルト画面しかスキャンできませんでした。どうやら phpstudy はデモには適していないようです。何度もパフォーマンスが悪いです。

db2/db2_version に基づく db2 サービスの発見#

IBM DB2 は、アメリカの IBM 社が開発したリレーショナルデータベース管理システムで、主な実行環境は UNIX(IBM 自身の AIX を含む)、Linux、IBM i(旧称 OS/400)、z/OS、および Windows サーバーバージョンです。

  • ud18lts で docker を使用して db2 を構築します。

公式イメージ文書:https://hub.docker.com/r/ibmcom/db2express-c/
参考記事:https://dongrenwen.github.io/2018/05/07/docker-install-db2/

公式の db2 イメージをプルします:docker pull ibmcom/db2express-c、これは非常に大きいことに驚きました!

image

次にコンテナを起動します:

docker run --name DB2ExpressC -d -p 50000:50000 -e DB2INST1_PASSWORD=db2inst1 -e LICENSE=accept  ibmcom/db2express-c db2start

--name DB2ExpressCはコンテナにDB2ExpressCという名前を指定します。
-dはバックグラウンドで実行することを示します。
-p 50000:50000は外部に公開されるポートが50000であることを示します。
-e DB2INST1_PASSWORD=db2inst1はデフォルトユーザーdb2inst1のパスワードをdb2inst1に設定します。
-e LICENSE=acceptはデフォルトのライセンス情報に同意することを示します。
db2startはdb2サービスを起動します。

デフォルトインスタンスをインストールします:

起動したコンテナに入ります:docker exec -it DB2ExpressC /bin/bash
db2inst1にユーザーを切り替えます:su - db2inst1
デフォルトインスタンスをインストールします:db2sampl
新しく作成されたデータベースインスタンスに接続します:db2 connect to sample
環境が正常であることを確認するためにSQL文を実行します:db2 "SELECT * FROM STAFF"
デフォルトユーザーdb2inst1からexitコマンドで退出します。
コンテナからexitコマンドで退出します。

image

image

SAMPLE データベースを作成しました。つまり、db2samplのステップを実行したときに、何度も作成に成功しました。

  • msf でスキャン

use auxiliary/scanner/db2/db2_version

データベース名をSAMPLEに変更することを忘れないでください:

image

portscan/ack に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/portscan/ack

image

portscan/tcp に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/portscan/tcp

image

portscan/syn に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/portscan/syn

image

portscan/ftpbounce に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/portscan/ftpbounce

image

これもスキャンできませんでした。奇妙です。

portscan/xmas に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/portscan/xmas

image

rdp/rdp_scanner に基づく内部ネットワークの生存ホストの発見#

  • win7 で 3389 ポートを開きます。

3389 ポートを開く(cmd):

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f

image

3389 ポートを閉じる(cmd):

REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 11111111 /f

image

  • msf でスキャン

use auxiliary/scanner/rdp/rdp_scanner

image

smtp/smtp_version に基づく内部ネットワークの生存ホストの発見#

  • msf でスキャン

use auxiliary/scanner/smtp/smtp_version

image

SqlDataSourceEnumerator に基づく#

まとめ#

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。