Break In 2016

Break In 2016 writeup Question 11

Question 11

Go to ScoreBoard (Score 20)


If you aren't on the Score Board this question is for you! :D
特に手がかりがないので、このページのHTMLソースを表示してみます。コメントにフラグが記載されていました。

no title

フラグは、
#breakin
です。



Break In 2016 writeup Question 2

Question 2

You can(t) see me (Score 100)


On the wonderland of britannia, there are two kinds of dragons Red and Black
Master Zero is the commander of blacks and all the black dragons support him.The Red dragons' leader Amiya thinks that the Reds are the best among dragons and blacks are nothing but useless.
So they want to teach a lesson to black dragons.They encoded a message in this image and sent it to them asking them to decode it. Can they see the message?

Tags: #stego #reversing


画像の中に埋め込まれたメッセージを解読する問題です。
このPNG画像「color.png」は幅7×高さ200のサイズで、赤と黒のピクセルから構成されています。幅が7ドットですので、赤黒のピクセルで1,0のビット、1ラインで1文字のASCIIコードを表していると予想します。
ためしに、最初の数ラインについて、赤(1)、黒(0)として解読してみます。
no title
1行目 0110011=33    3
2行目 1111000=78    x
3行目 1011000=58    X
4行目 1001011=4B    K
4行目までですが、全て印字可能文字になりました。それでは、200行すべてをASCIIコードに変換するRubyプログラムを書いてみます。画像のピクセルを取得するのに、RMagickライブラリを使っています。
require "RMagick"
include Magick

def get_rgb_arry(file)
  img = ImageList.new(file)
  str = ""
  for y in 0...img.rows
    ch = 0
    for x in 0...img.columns
      src = img.pixel_color(x, y) # 元画像のピクセルを取得
      ch = ch << 1
      if src.red > 0 then
        ch += 1
      end
    end
    str = str + ch.chr
  end
  return str
end

pic1 = "color.png"
print get_rgb_arry(pic1)
プログラムを実行すると、次の文字列を得ることができます。
3xXKkFstTUpsG2IFDirE6xDrcAF8DSx4iWxd5f9IQ9T205izN8lS2MQUlsF11gT4TFXHHlLHVHprNTtrh6lURfdUW7Lpuzgu1VKzwb1bg1oq6Ae3GnykkLZZsnze3HVLxHlfCYtzyrcV2Oxp0Gb0Z2ELphR4Oxo7TyvHCuWKWlN8t8KIfHysZK7jBNPu6wRVEUPIwVra
submitすると、見事正解でした。
ということで、フラグは、
3xXKkFstTUpsG2IFDirE6xDrcAF8DSx4iWxd5f9IQ9T205izN8lS2MQUlsF11gT4TFXHHlLHVHprNTtrh6lURfdUW7Lpuzgu1VKzwb1bg1oq6Ae3GnykkLZZsnze3HVLxHlfCYtzyrcV2Oxp0Gb0Z2ELphR4Oxo7TyvHCuWKWlN8t8KIfHysZK7jBNPu6wRVEUPIwVra
です。

Ruby on Rails環境構築ガイド
黒田 努
インプレス
2013-03-22


Break In 2016 writeup Question 4

Question 4

Find The idiot (Score 100)


Your friend Bob, is an expert penetration tester. He loves solving and creating puzzles. He is invited by Pied Diaper Inc. for some testing. You join him for this technical expedition. At the site, you watch him work for a few minutes, when he exclaims, "What an idiot!". Then, he looks at you with a with a playful gaze. Then, handing out a flash drive to you he says, "Find the idiotic user".
Link: Here

ダウンロードしたファイルを解凍すると、Linuxのファイルシステムが得られます。ディレクトリを探索すると、次のファイルが見つかります。問題文に"Find the idiotic user"(馬鹿なユーザーを探せ)とありますので、おそらく脆弱なパスワードを設定しているユーザーを探す問題でしょうか。

  • /etc/passwd
  • /etc/shadow

それでは、John the Ripperでパスワードを解析してみます。unshadowコマンドでpasswdファイルとshadowファイルからJohn the Ripperで処理できるファイルを作成します。作成したファイルをjohnコマンドで処理すると、パスワードが解析されます。

>cd etc

>unshadow passwd shadow > johnpasswd
>chmod 400 johnpasswd

>john johnpasswd
Created directory: /root/.john
Warning: detected hash type "sha512crypt", but the string is also recognized as "crypt"
Use the "--format=crypt" option to force loading these as that type instead
Loaded 7 password hashes with 7 different salts (sha512crypt [32/32])
dragon1          (gohan)

早速、gohanユーザーのパスワードが解析できました。とりあえず、このパスワード「dragon1」をsubmitしてみると、見事正解でした。


フラグは、

dragon1

です。




記事検索
ギャラリー
  • TetCTF 2023 NewYearBot
  • UUT CTF writeup Find The Password
  • UUT CTF writeup The Puzzle
  • Hack Zone Tunisia 2019 writeup Microscope
  • Hack Zone Tunisia 2019 writeup Welcome
  • SwampCTF 2019 writeup Brokerboard
  • SwampCTF 2019 writeup Leap of Faith
  • SwampCTF 2019 writeup Last Transmission
  • CBM CTF 2019 writeup Long road
カテゴリー