
Artikel ini berisi solusi untuk Pengkodean tugas ASCII dan Pengkodean UU yang ditujukan untuk pengodean, Hash Message Digest 5 dan Hash SHA-2 - untuk menemukan gambar kebalikan dari hash, Shift cipher - shift cipher, dan Pixel Madness - untuk menyusun gambar.
Informasi OrganisasiTerutama bagi mereka yang ingin mempelajari sesuatu yang baru dan berkembang di bidang informasi dan keamanan komputer, saya akan menulis dan berbicara tentang kategori berikut:
- PWN;
- kriptografi (Crypto);
- teknologi jaringan (Jaringan);
- membalikkan (Reverse Engineering);
- steganografi (Stegano);
- pencarian dan eksploitasi kerentanan WEB.
Selain itu, saya akan membagikan pengalaman saya dalam forensik komputer, analisis malware dan firmware, serangan pada jaringan nirkabel dan jaringan area lokal, melakukan pentest dan menulis eksploitasi.
Agar Anda dapat mengetahui tentang artikel baru, perangkat lunak, dan informasi lainnya, saya membuat
saluran di Telegram dan
grup untuk membahas masalah apa pun di bidang ICD. Juga, saya pribadi akan mempertimbangkan permintaan pribadi Anda, pertanyaan, saran dan rekomendasi
secara pribadi dan akan menjawab semua orang .
Semua informasi disediakan hanya untuk tujuan pendidikan. Penulis dokumen ini tidak bertanggung jawab atas kerusakan yang disebabkan seseorang sebagai akibat dari menggunakan pengetahuan dan metode yang diperoleh sebagai hasil dari mempelajari dokumen ini.
Pengkodean - ASCII
Mari kita mulai dengan pekerjaan pertama - Encoding-ASCII.

Kami lolos ke tugas itu sendiri. Kami melihat urutan 16 karakter. Asumsi pertama adalah hex reguler (semua karakter disajikan dalam bentuk ke-16).

s = "4C6520666C6167206465206365206368616C6C656E6765206573743A203261633337363438316165353436636436383964356239313237356433323465" s.decode("hex")

Kami mendapatkan jawabannya dan melanjutkan.
Pengkodean - UU

Kami lolos ke tugas itu sendiri. Meskipun ada petunjuk nama tugas, mudah untuk membedakan file dalam UUE (penyandian untuk mentransfer file yang berisi data non-teks) - mereka mulai dari baris:
Begin_--_-

s = '''begin 644 root-me_challenge_uudeview B5F5R>2!S:6UP;&4@.RD*4$%34R`](%5,5%)!4TE-4$Q%"@`` ` end''' f = open('./uu.enc', 'w') f.write(s) f.close() import uu uu.decode('uu.enc', 'uu.dec') ans = open('uu.dec', 'r').read()

Kami menyerahkan bendera.
Hash - Intisari Pesan 5

Kami diminta untuk menemukan prototipe untuk hash md5. Ini dapat dengan mudah dilakukan menggunakan situs ini (https://md5decrypt.net/). Tapi kami, untuk tujuan pelatihan, tentu saja, menggunakan hashcat. Untuk melakukan ini, gunakan parameter dan kode berikut:
- -a 0 - mencari melalui kamus;
- -m 0 - tipe hash MD5;
- File.hash - file dengan hash;
- rockyou.txt - kamus kami;
- --force - abaikan kesalahan.

Kami melanjutkan ke tugas berikutnya.
Hash - SHA-2

Sebagai jawaban, Anda perlu memberikan hash SHA1 dari gambar terbalik hash ini. Faktanya adalah ini adalah karakter tambahan.

Hapus itu. Untuk menentukan algoritma hashing, kami menggunakan program hashid.

Dari algoritma yang disajikan, kemungkinan besar SHA-256. Hashcat menunjukkan bagaimana menyelesaikan tugas seperti itu menggunakan hashcat, sekarang kita akan melakukannya menggunakan ini
situs
Masih harus mengambil SHA-1 dari baris ini.
from hashlib import * sha1('4dM1n').hexdigest()

Shift cipher

Nah, dengan algoritma enkripsi, mereka membantu kami. Cipher Caesar yang sama, hanya pergeseran tidak terjadi dalam kisaran dari nol ke panjang alfabet, tetapi menurut semua kemungkinan 256 nilai satu byte. Kami akan menulis sebuah program yang pertama menggeser masing-masing karakter dengan 1, kemudian oleh 2, dll. hingga 255.
s = open('ch7.bin', 'r').read() for x in range(255): ââ.join( chr((ord(y) + x)%256 ) ) for y in s)

Di antara kalimat-kalimat itu kita menemukan jawaban yang berisi jawabannya.

Kegilaan piksel

Kami diberi beberapa ekspresi, dan pada akhirnya mereka mengatakan bahwa 0 adalah putih dan 1 adalah hitam. Kemungkinan besar hasilnya harus berupa gambar. Saya mengira bahwa dalam ekspresi Anda tidak perlu mengalikan, tetapi untuk mengulangi jumlah yang diperlukan kali karakter tertentu.
Anda dapat dengan cepat mengeksekusi ekspresi menggunakan fungsi eval, tetapi pertama-tama Anda perlu mengubah format 0x1 menjadi '0' * 1.
s = ''''0x3+1x1+0x1+0x1+0x7+1x2+0x15+1x1+0x8+1x1+0x8+1x1+0x1+1x1+0x1+1x1+0x1+1x1+0x1+1x1+0x3+1x1+0x1+1x1+0x3+1x1+0x1+1x4+0x2+1x1+0x25 '0x2+1x1+0x4+1x1+0x4+1x3+0x1+1x2+0x2+1x8+0x11+1x4+0x1+1x3+0x6+1x2+0x4+1x1+0x4+1x2+0x7+1x4+0x4+1x2+0x7+1x2+0x3+1x2+0x3 '0x3+1x1+0x2+1x1+0x2+1x1+0x11+1x2+0x2+1x3+0x7+1x1+0x4+1x2+0x2+1x2+0x7+1x1+0x6+1x1+0x2+1x1+0x4+1x3+0x1+1x1+0x4+1x1+0x2+1x1+0x2+1x1+0x3+1x1+0x2+1x3+0x2+1x2+0x3 '1x1+0x2+1x1+0x4+1x1+0x2+1x1+0x1+1x1+0x2+1x1+0x2+1x1+0x1+1x2+0x2+1x2+0x1+1x2+0x3+1x1+0x3+1x1+0x2+1x2+0x1+1x3+0x3+1x1+0x2+1x1+0x4+1x2+0x1+1x1+0x4+1x1+0x3+1x2+0x12+1x2+0x1+1x1+0x3+1x7+0x3 '0x3+1x1+0x7+1x1+0x1+1x1+0x4+1x1+0x2+1x2+0x2+1x2+0x4+1x1+0x2+1x1+0x1+1x2+0x1+1x8+0x1+1x1+0x4+1x1+0x5+1x1+0x3+1x2+0x2+1x1+0x1+1x2+0x2+1x1+0x3+1x2+0x9+1x1+0x1+1x2+0x2+1x3+0x2+1x1 '0x7+1x1+0x4+1x1+0x4+1x1+0x1+1x1+0x1+1x7+0x3+1x1+0x1+1x2+0x3+1x1+0x1+1x6+0x1+1x1+0x3+1x1+0x2+1x1+0x14+1x2+0x8+1x1+0x10+1x2+0x3+1x2+0x1+1x1+0x1 '0x6+1x5+0x4+1x1+0x7+1x1+0x2+1x1+0x3+1x2+0x4+1x1+0x8+1x1+0x3+1x2+0x1+1x2+0x3+1x1+0x8+1x1+0x2+1x2+0x1+1x1+0x3+1x7+0x5+1x2+0x2+1x1+0x2+1x2+0x3 '0x1+1x1+0x2+1x1+0x1+1x2+0x5+1x1+0x6+1x2+0x3+1x1+0x2+1x1+0x1+1x2+0x20+1x8+0x1+1x1+0x1+1x1+0x4+1x2+0x3+1x1+0x2+1x2+0x3+1x2+0x7+1x2+0x3+1x2+0x4 '0x2+1x1+0x3+1x5+0x5+1x2+0x7+1x1+0x4+1x2+0x2+1x1+0x2+1x2+0x1+1x1+0x3+1x1+0x6+1x2+0x2+1x2+0x3+1x2+0x2+1x3+0x1+1x1+0x6+1x3+0x3+1x5+0x3+1x1+0x4+1x1+0x5 '0x4+1x2+0x3+1x2+0x3+1x1+0x5+1x2+0x2+1x1+0x1+1x1+0x1+1x1+0x1+1x2+0x9+1x1+0x3+1x1+0x2+1x1+0x1+1x1+0x2+1x1+0x1+1x2+0x2+1x1+0x2+1x1+0x1+1x1+0x4+1x3+0x1+1x1+0x2+1x2+0x3+1x2+0x3+1x1+0x5+1x1+0x4+1x1+0x2 '0x6+1x5+0x4+1x1+0x1+1x1+0x2+1x2+0x6+1x1+0x1+1x7+0x4+1x3+0x3+1x1+0x4+1x1+0x2+1x2+0x4+1x1+0x6+1x1+0x6+1x8+0x3+1x1+0x5+1x1+0x7 '0x2+1x1+0x3+1x6+0x4+1x1+0x1+1x3+0x4+1x1+0x2+1x2+0x4+1x1+0x5+1x1+0x2+1x1+0x3+1x2+0x3+1x1+0x2+1x3+0x1+1x1+0x2+1x2+0x3+1x3+0x2+1x3+0x9+1x1+0x4+1x2+0x7+1x2''' s = s.replace("x", "'*").replace("+","+'") examp = s.split('\n') bits = [eval(i) for i in examp] print(bits)

Sekarang buat gambar menggunakan perpustakaan PIL. Mari kita tambahkan kode berikut, edit dan buka gambar yang dihasilkan.
from PIL import Image width, height = len(bits[0]), len(bits) pic = Image.new('RGB', (width, height)) pix = pic.load() for i in range(height): for j in range(width): pix[j,i] = ( bits[i][j]=='0' and (255,255,255) or (0,0,0) ) pic.save('pixel.png')

Saya memperbesar gambar, membaca kata SOLUSI. Faktanya, ada lebih banyak steg daripada crypts. Artikel ini akan menarik, kemungkinan besar, hanya untuk pemula.
Lebih jauh dan lebih rumit ... Anda dapat bergabung dengan kami di
Telegram . Di sana Anda dapat mengusulkan topik Anda sendiri dan memberikan suara pada pilihan topik untuk artikel berikut.