Jump to content
  • Entries

    16114
  • Comments

    7952
  • Views

    86377795

Contributors to this blog

  • HireHackking 16114

About this blog

Hacking techniques include penetration testing, network security, reverse cracking, malware analysis, vulnerability exploitation, encryption cracking, social engineering, etc., used to identify and fix security flaws in systems.

0x01はじめに

赤と青の対立のアイデアは、私の国《孙子兵法》で最も早い既存の軍事本にまでさかのぼることができます。攻撃に関する太陽の章には、「あなたの敵を知り、自分自身を知っていると、あなたは100の戦いで敗北することはありません。」という文があります。敵と私たちの両方の状況を徹底的に理解できる場合、何回戦っても失敗することは決してないということです。情報セキュリティの分野では、誰もが現在コンセンサスを持っています。攻撃的で防御的な対立自体は、継続的なプロセスです。特定の対立では、相手について知るほど、それが支配的になります。赤と青の対立の主な目的は、会社のセキュリティの成熟度と攻撃を検出して対応する能力を改善することです。レッドチームは攻撃し、青いチームは防御しますが、主な目標はそれらの間で共有されます:は組織のセキュリティ姿勢を改善します。

0x02準備

1)組織構造チャート

2)ネットワーク全体のトピックマップ

3)各システムの論理構造図

4)各システム間の関係を呼び出す

5)データフロー関係

6)コア資産リスト

7)緊急対応計画

8)ビジネス継続性計画

9)災害復旧計画

0x03簡単な安全評価

1.ポートスキャンと脆弱性の検出

1.1ホストディスカバリー(ping検出)

#NMAP -SN -PE IPアドレスまたはアドレスセグメント

1.2ポートスキャン

#NMAP - IPアドレスまたはアドレスセグメントを開く

1.3サービスバージョンの検出

#NMAP -SV IPアドレスまたはアドレスセグメント

1.4複数のポートをスキャン

#nmap -p 80,443 IPアドレスまたはアドレスセグメント

1.5 UDPスキャン

#NMAP -SU -P 53 IPアドレスまたはアドレスセグメント

1.6 TCP/UDPスキャン(-PNスキップホストディスカバリー)

#NMAP -V -PN -SU -ST -P U:53,111,137、T:21-25,80,139,8080 IPアドレスまたはアドレスセグメント

1.7 nessusスキャン

#nessus -q -x -t html server ip serverポート管理者アカウントターゲットターゲット。txt出力レポート.html

1.8 Openvasスキャン

#apt -yインストールpregrep

#wget https://goo.gl/tyblwe

#chmod +x openvas-automate.sh ./openvas-automate.shターゲットIP

2。 Windowsシステムの章

2.1ネットワークディスカバリー

基本ネットワーク発見:

#C:ネットビュー /すべて

#c:ネットビューホスト名

ping検出:

#c: for /l%i in(1,1,254)do ping -w 30 -n 1 192.168.1。%i | 「返信」output.txtを見つけます

2.2 DHCP

DHCPサーバーロギング機能を有効にする:

#c: reg add hklmsystemcurrentcontrolsetservicesdhcpserverparameters /v activitylogflag /t reg_dword /d 1

デフォルトのログファイルディレクトリ:

C:%Windir%System32DHCP

2.3 dns

DNSサーバーログ機能を有効にする:

#C: DNSCMD DNSサーバー名/config /logLevel0x8100F331

#ログファイルディレクトリ:を構成します

C: DNSCMD DNSサーバー名/config /logfilepath C:DNS.LOG

#ログファイルサイズ:を構成します

C: DNSCMD DNSサーバー名/config /logfilemaxsize0xffffffffff

2.4ハッシュ値

ファイルチェックサム整合性検証(FCIV):

REF:http://Support2.microsoft.com/kb/841290

#単一ファイル:

C: fciv.exeファイル名

#Cドライブ内のすべてのファイルを計算し、結果をファイル:に保存します

C: FCIV.EXE C: -R -SHA1 -XML result.xml

#すべてのハッシュ値:をリストします

C: FCIV.EXE -LIST -SHA1 -XML result.xml

#Certutil Powershell

#certutil -hashfileファイル名Sha1

#PS C: get-filehashファイル名|フォーマットリスト

#PS C: Get -Filehash -Algorithm MD5ファイル名

2.5 netbios

NBTSTATスキャン

#C: NBTSTAT -A宛先IPアドレス

netbiosキャッシュ

#C: NBTSTAT -C

バッチスキャン

#c: for /l%i in(1,1,254)do nbtstat -an 192.168.1。%i

2.6 Microsoft Baseline Security Analyzer(MBSA)

単一のIPをスキャンします

#C: mbsacli.exe /ターゲットIPアドレス /N OS+IIS+SQL+パスワード

IPアドレスセグメントをスキャンします

#C: MBSACLI.EXE /R IPアドレスセグメント /N OS+IIS+SQL+パスワード

3。 Linuxシステムの章

3.1ネットワークディスカバリー

オープンSMB共有を表示します

#smbclient -lターゲットホスト名

ping検出

#ip/dev/nullのIPの場合; [誤ったIP up '|| :終わり

3.2 DHCP

DHCPログ

rhel/centos

#cat /var/lib/dhcpd/dhcpd.Leas

Debian/Ubuntu

#grep -ei 'dhcp' /var/log/syslog.1

3.3 DNS

DNSログ

#rndc querylog tail -f/var/log/messages |名前のグレップ

3.4ハッシュ値

特定のディレクトリ内のすべての実行可能ファイルのハッシュ値を計算する

#find /sbin -type f -exec md5sum {} md5sums.txt;

#md5deep -rs /sbin md5sums.txt

3.5 netbios

NBTSTATスキャン

#NBTSCANターゲットIPアドレスまたはIPアドレスセグメント

例:NBTSCAN 192.168.1.2-100

4。安全補強

4.1 Windowsシステムの章

4.1.1サービス/停止サービス

#C: SCクエリ

#c: sc config 'service name' start=disabled

#c: sc stop 'service name'

#c: wmicサービスname='service name' call changestartmode disabled

4.1.2ファイアウォール管理

#すべてのルール:をリストします

#c: netsh advfirewallファイアウォールショールール名=すべて

#ファイアウォール:を有効または無効にします

C: Netsh AdvfireWall Set CurrentProfile State on

C: Netsh AdvfireWall Set CurrentProfile FirewallPolicy Blockinboundalways、Allowoutbound

C: Netsh AdvfireWall Set PublicProfile Stateを設定します

C: Netsh Advfirewall Set PrivateProfile State on

C: netsh advfirewall set domainprofile state on

C: Netsh advfirewall Set Allprofile State on

C: Netsh advfirewallセットオールプロフイルステートオフ

#configurationの例:

netsh advfirewall firewall add rule name='open tcp:80ポート' dir=in action=akain=tcp localport=80

netsh advfirewall firewall add rule name='open tcp:443ポート' dir=in action=akain

netsh advfirewall firewall add rule name='ブロックポートTCP:445' dir=in action=block protocol=tcp localport=445

netsh advfirewall firewall add rule name='ally myapp' dir=in action=aksion program='c:myappmyapp.exe' enable=yes=yes

4.1.3 DNSキャッシュとNetiosキャッシュをクリアします

#C: IPCONFIG /FLUSHDNS

#C: NBTSTAT -R

4.1.4アプリケーション制御

#Applocker構成

#Applockerモジュールをインポートします

PS C: Import-Module Applocker

#System32ディレクトリ内のすべてのEXEファイルのApplocker情報を表示

PS C: get -applockerfileinformation -directory c:windowssystem32 -recurse -filetype exe

#System32ディレクトリ内のすべてのexeファイルに許容ルールを追加する

PS C: Get-Childitem C:WindowsSystem32*、exe | get-applockerfileinformation | new -ApplockerPolicy -Ruletype Publisher、Hash -user Everyone -RulenAmeprefix System32

4.1.5 IPSEC

#事前共有キーを使用して新しいIPSECローカルセキュリティポリシーを作成し、すべての接続とプロトコルに適用します

c: netsh ipsec static add filterlist=myipsecfilter srcaddr=任意のdstaddr=任意のプロトコル=任意の

c: netsh ipsec static add filteraction name=myipsecaction action=negotiate

c: netsh ipsec static addポリシーname=myipsecpolicy assignment=yes

c: netsh ipsec static static addルール名=myipsecruleポリシー=myipsecpolicyフィルターリスト=myipsecfilter filteraction=myipsecaction conntype=all activate=yes psk=password

#外部ネットワークのポート80および443へのアクセスを可能にする新しいIPSECポリシーを作成する

C: NetSH IPSEC STATIC ADD FILTERACTION name=Allow Action=amplit

c: netsh ipsec static add filterlist=webfilter srcaddr=任意のdstaddr=任意のプロトコル=tcp dstport=80

c: netsh ipsec static add filterlist=webfilter srcaddr=任意のdstaddr=任意のプロトコル=tcp dstport=443

c: netsh ipsec static static addルール名=weballowポリシー=myipsecpolicy filterlist=webfilter filteraction=aking conntype=all activate=yes psk=password

#View IPSECローカルセキュリティポリシーを無効にします

c: netsh ipsec static showポリシー名=myipsecpolicy

c: netsh ipsec static setポリシー名=myipsecpolicy assign=no

#ipsecに対応する新しいファイアウォールルールを作成し、ソースと宛先アドレスを任意のものとともに作成します

c: netsh advfirewall consec add rule name='ipsec' endpointl=any endpoint2=any action=requireinrequireout qmsecmethods=default

#IPSECに対応する新しいファイアウォールルールを作成すると、すべてのアウトバウンドリクエストが事前に共有された秘密キーを提供する必要があります。

c: netsh advfirewall firewall add rule name='ipsec_out' dir=out action=lows enable=yespeprof=any remoteip=any protocol=interfaceType=any security=authenticate

4.1.6その他のセキュリティポリシー

#リモートデスクトップ接続を無効にします

c: reg add 'hklmsystemcurrentcontrolsetcontrolterminalserver' /f /v fdenytsconnections /t reg_dword /d 1

#NTLMV2応答のみを送信します(「永遠の青」脆弱性攻撃を防ぐ)

c: reg add hklmsystemcurrentcontrolsetcontrollsa /v lmcompativelivelevel /t reg_dword /d 5 /f

#ipv6を無効にします

c: reg add hklmsystemcurrentcontroltolsetservicestcpip6parameters /v disabledcomponents /t reg_dword /d 255 /f

#スティッキーキーを無効にします

c: reg add 'hkcucontrolpanelaccessibilitystickykeys' /v flags /t reg_sz /d 506 /f

#管理共有を無効にする(サーバー/ワークステーション)

c: reg add hklmsystemcurrentcontrolsetserviceslanmanserverparameters /f /v autoshareserver /t reg_dword /d 0

c: reg add hklmsystemcurrentcontrolsetserviceslanmanserverparameters /f /v autosharewks /t reg_dword /d 0

#レジストリエディターとCMDコマンドプロンプトを無効にします

c: reg add hkcusoftwaremicrosoftwindowscurrentversionpoliciesstem /v disableergistrytools /t reg_dword /d 1 /f

c: reg add hkcusoftwarepoliciesmicrosoftwindowssystem /v disablecmd /t reg_dword /d 1 /f

#UACを有効にします

c: reg add hklmsoftwaremicrosoft windowscurrentversionpoliciesstem /v enablelua /t reg_dword /d 1 /f

#ファイアウォールログを有効にします

C: NetshファイアウォールセットロギングDroppedPackets=enable

C: Netshファイアウォールセットロギング接続=有効

4.2 Linuxシステムの章

4.2.1サービス管理

#サービスステータスを確認してください

サービス–Status-All

PS -EFまたはPS -AUX

initctlリスト

Systemctl list-unit-files

#サービスを開始、停止、無効にします

#Upstart Services:の場合

/etc/init.d/apache2 start |停止|状態

サービスapache2 start |停止|状態

update-rc.d apache2無効

#SystemD Services:の場合

Systemctl start |停止|ステータスNTP.Service

SystemCtlはSSHD.Serviceを無効にします

4.2.2ファイアウォール管理

#iptables共通操作:

iptables-save filewall_rules.bak#現在のルールをエクスポートします

iptables -vnl –line#すべてのルールをリストします

iptables -s#上記と同じ

iptables -p入力ドロップ#デフォルトポリシー、すべての接続を禁止します

iptables -a input -s 10.10.10.10 -jドロップ#単一IPを無効にする

iptables -a input -s 10,10.10.0/24 -jドロップ#ネットワークセグメントを禁止

iptables -a input -p tcp -dport ssh -s 10.10.10.10 -jドロップ#IPがネイティブSSHサービスにアクセスすることを禁止します

iptables -a input -p tcp –dportssh -jドロップ#ネイティブSSHサービスへのアクセスを無効にする

iptables -i input 5 -m limit –limit 5/min -j log –log -prefix '

iptables denied: '–log-level 7#ロギングを有効にします

iptables -f#すべてのロードされたジョブをクリアします

4.2.3 DNSキャッシュ

#unix/linuxシステムにはシステムレベルのDNSキャッシュがありません

4.2.4 IPSECの構成

#2つのサーバー間にIPSECチャネルを確立します

1.)ファイアウォールルールを追加すると、IPSECプロトコルが可能になります

iptables -a input -p esp -j Accept

iptables -a input -p ah -j Accept

iptables -a input -p udp -dport 500 -j Accept

iptables -a input -p udp -dport 4500 -j Accept

2.)Racoonをインストールします

apt -yインストールracoon

3.)構成file:/etc/ipsec-tools.confを編集します

フラッシュ;

spdflush;

ホストのspdaddIPアドレスaホストbのIPアドレスany -p out ipsec

ESP/Transport //require;

ホストBのSPDADDD IPアドレスbホストのIPアドレスa任意の-p Ipsecの-p

ESP/Transport //require;

4.)構成file:/etc/racoon/racoon.confを編集します

ログNotify;

PATH pre_shared_key '/etc/racoon/psk.txt';

パス証明書'/etc/racoon/certs';

リモート匿名{

Exchange_Mode Main、Aggressive; Proposal {encryption_algorithm AES_256; hash_algorithm sha256; Authentication_method

pre_shared_key;

DH_GROUP MODP1024;

}

Generate_policy off;

}

sainfo anonymous {

pfs_group 2; encryption_algorithm aes_256; authentication_algorithm hmac_sha256; compression_algorithm deflate;

}

5.)事前に共有キーを追加します

ホストA:エコーホストB 123 /etc/racoon/psk.txt

ホストB:エコーホストA 123 /etc/racoon/psk.txt

6.)サービスを再起動し、交渉と構成のポリシーを確認します

サービスSetKey Restart

SetKey -D

SetKey -DP

5。可視性

5.1ネットワークセキュリティ監視

5.1.1パケットキャプチャと分析

1.)tcpdumptcpdump -tttt -n -vv#プリントタイムスタンプ、名前の解像度を実行しないで、冗長で表示しない

tcpdump -nn -c 1000 | awk '{$ 3を印刷}' |カット-D。 -F1-4 | sort -n | uniq -c | sort -nr#1000パケットをキャプチャして、トップトーカーを見つけてください

tcpdump -w Target.pcap -i任意のDST TargetIPとポート80#ポート80を使用してすべてのインターフェイスでターゲットIPを備えたパケットをキャプチャし、ターゲットに書き込みます。pcapファイル

TCPDUMPホスト10.0.0.1ホスト10.0.0.2#2つのホスト間でパケットをキャプチャする

TCPDUMP NOT NET 10.10ホストではない192.168.1.2 #10.10ネットワークセグメントではないデータパケットは、192.168.1.2ではないホスト

TCP