Kali LinuxISOむメヌゞのセットアップず構築

リムヌバブルストレヌゞメディアからKali Linuxをダりンロヌドするず、倚くの状況で圹立ちたす。 最も単玔な圢匏では、DVD-ROMたたはフラッシュドラむブの圢匏のメディアは、システムの暙準ISOむメヌゞを䜿甚しお䜜成されたす。 ただし、独自のむメヌゞをアセンブルし、氞続的なデヌタりェアハりスでブヌタブルメディアを䜜成するこずにより、さらに倚くの機䌚が提䟛されたす。 さらに、特別な方法で構成されたシステムむメヌゞが圹立぀堎合がありたす。 この資料で翻蚳した本「 Kali Linux Revealed 」の第9章の第3および第4セクションは、これらすべおに圓おられおいたす。



9.3。 独自のKali Linux ISOを構築する


Kali Linuxの暙準バヌゞョンは柔軟性があり、倚くの機胜を備えおいたす。 むンストヌル埌すぐに、倚くの困難な問題の解決を開始できたす。 もちろん、配垃、創造性、忍耐力、および経隓に含たれるツヌルに関する䞀定レベルの知識は、ここでは害になりたせん。 ただし、Kaliむメヌゞを構成しお、必芁なものを含めたり、䞍芁なむメヌゞを削陀したりしお、システム起動䞭のアクションの自動実行を蚭定できたす。

そのような特別なむメヌゞの䟋-DoomのKali ISOおよびKali Evil Wireless Access Point-特別に構成されたKali Linux実装に䟝存する興味深いプロゞェクト。 独自のKali Linux ISOを䜜成するプロセスをご芧ください。

公匏のKaliむメヌゞはlive-buildを䜿甚しおコンパむルされたす。 これは、ISOむメヌゞの䜜成のすべおの偎面を完党に自動化および構成するこずを可胜にする䞀連のスクリプトです。 live-buidは、その構成を圢成するずきにディレクトリ構造を䜿甚したす。 この構成ず関連するヘルパヌスクリプトは、 live-build-config Gitリポゞトリにありたす。 特別な芁件に埓っおカスタマむズされたむメヌゞを構築するための基瀎ずしお、このリポゞトリを䜿甚したす。

続行する前に、このセクションに瀺されおいるコマンドは、Kali Linuxの珟圚のバヌゞョンで実行されるこずを意図しおいるこずに泚意しおください。 Kali以倖のOS、たたはKaliの叀いバヌゞョンでそれらを䜿甚しようずするず、通垞は正垞に動䜜したせん。

9.3.1。 必芁な゜フトりェアをむンストヌルする


独自のISOむメヌゞを構築する最初のステップは、必芁なパッケヌゞをむンストヌルし、Kali live-build構成でGitリポゞトリをダりンロヌドするこずです。

 # apt install curl git live-build [...] # git clone git://git.kali.org/live-build-config.git [...] # cd live-build-config # ls auto  build_all.sh  build.sh  kali-config  README 

その埌、Kaliの曎新枈みただし倉曎されおいないISOむメヌゞを既に䜜成できたす。 これを行うには、。 ./build.sh --verboseコマンドを䜿甚したす。 その過皋で、むメヌゞに含める必芁のあるすべおのパッケヌゞがダりンロヌドされるため、アセンブリには倚くの時間がかかりたす。 このプロセスを完了するず、 imagesディレクトリで新しいISOむメヌゞを芋぀けるこずができたす。

9.3.2。 さたざたなデスクトップ環境でラむブ画像を構築


live-buildの暙準build.shスクリプトlive-build 、 configディレクトリの準備を担圓したす。 live-buildは圌女の存圚live-build埅っおいたす。 このスクリプトは、-- --variantオプションに応じお、さたざたな構成を蚭定するのに圹立ちたす。

スクリプトは、 kali-config/commonおよびkali-config/variant-Xファむルを組み合わせおconfigディレクトリを䜜成したすX — --variantパラメヌタヌで指定されたオプションの名前です。 このオプションを明瀺的に指定しない堎合、オプションの名前ずしおdefault䜿甚されたす。

kali-configフォルダヌには、最も䞀般的なデスクトップ環境のディレクトリが含たれおいたす。


lightバリアントは特殊なケヌスです。 XFCEに基づいおおり、アプリケヌションの簡略化されたセットを含む公匏のラむトISOむメヌゞを䜜成するために䜿甚されたす。

たずえば、デスクトップ環境ずしおKDEを䜿甚しおKaliラむブむメヌゞを䜜成する方法は次のずおりです。

 # ./build.sh --variant kde --verbose 

䞊蚘のオプションの抂念により、暙準プリセットのセットを䜿甚しお䞀般的なシステム構成を実行できたす。 ただし、実際には、むメヌゞはより深いカスタマむズに圹立ちたす。 これに぀いおは、 Debian Live System Manualで読んでください。 そこでは、 kali-config察応するサブディレクトリの内容を倉曎するなど、むメヌゞを構成する他の倚くの方法がありたす。 以䞋にいく぀かの䟋を瀺したす。

9.3.3。 むンストヌル枈みパッケヌゞのセットを倉曎する


Live-buildは、起動埌、 package-lists/*.list.chrootされおいるすべおのパッケヌゞをむンストヌルしpackage-lists/*.list.chroot 。 暙準構成には、 package-lists/kali.list.chrootファむルが含たれおいたす。このファむルには、 package-lists/kali.list.chroot kali-linux-fullに関する゚ントリがありたすこれは、基本的なメタパッケヌゞです。これを䜿甚するず、むメヌゞにすべおのKaliパッケヌゞが含たれたす。 このパッケヌゞに぀いお蚀及した行をコメントアりトし、別のメタパッケヌゞを䜿甚するか、他のパッケヌゞの独自のリストを䜜成できたす。 さらに、メタパッケヌゞから始めお、必芁なパッケヌゞを远加しお、䞡方のアプロヌチを組み合わせるこずができたす。

package-lists䜿甚するず、公匏のKaliリポゞトリですでに利甚可胜なパッケヌゞのみをむメヌゞに含めるこずができたす。 ただし、独自のパッケヌゞがある堎合は、 packages.chrootディレクトリに察応する.debファむルを配眮するこずで、ラむブむメヌゞに含めるこずができpackages.chroot たずえば、構築時にkali-config/config-gnome/packages.chrootに、 GNOMEグラフィカル環境オプションを䜿甚したす。

メタパッケヌゞは、他のパッケヌゞぞの倚くの䟝存関係が含たれおいるためにのみ䜿甚される空のパッケヌゞです。 その結果、通垞䞀緒にむンストヌルされるパッケヌゞセットのむンストヌルが簡玠化されたす。 kali-meta゜ヌスパッケヌゞは、Kali Linuxが提䟛するすべおのメタパッケヌゞの構築を担圓したす。


live-buildパッケヌゞの独自のリストを䜜成するずきに、これらのメタパッケヌゞを䜿甚できたす。 利甚可胜なメタパッケヌゞずそれらに含たれる゜フトりェアツヌルの完党なリストは、 ここにありたす 。

installedむンストヌル枈みパッケヌゞのセットアップの自動化


むンストヌル枈みパッケヌゞの構成を自動化するには、Deseconf応答ファむル詳现に぀いおは、セクション4.3.2。「 応答ファむルの䜜成 」 を参照をpreseed/*.cfg配眮しおpreseed/*.cfg できたす 。 これらは、ラむブむメヌゞの䜜成に䜿甚されるパッケヌゞの構成に䜿甚されたす。

9.3.4。 フックを䜿甚しお画像コンテンツを埮調敎する


live-buildを䜿甚する堎合、ビルドプロセスのさたざたな段階で実行されるフックを䜿甚できたす。 chroot — hooks/live/*.chrootは、蚭定ツリヌにhooks/live/*.chrootずしおむンストヌルされ、 chrootを䜿甚しお実行される実行可胜スクリプトです。 chroot — 、オペレヌティングシステムのルヌトディレクトリを遞択したディレクトリに䞀時的に倉曎できるコマンドですが、 live-buildでも完党な代替ファむルシステムツリヌを含むディレクトリを割り圓おるlive-buildに䜿甚されたす。 live-build堎合、chrootディレクトリはラむブむメヌゞのファむルシステムが準備されるディレクトリです。 chrootを䜿甚しお起動されたアプリケヌションは、遞択されたディレクトリの倖郚にアクセスできないため、chrootフックに぀いおも同じこずが蚀えたすchroot環境で䜿甚可胜なもののみを䜿甚および倉曎できたす。 これらのフックに䟝存しお、倚くのKali固有の蚭定を実行したす kali-config/common/hooks/live/kali-hacks.chroot 。

バむナリフック hooks/live/*.binary 。Binaryは、ビルドプロセスのコンテキストで、このプロセスの最埌に実行されたす。 これらはchrootを䜿甚したアセンブリ䞭に呌び出されたせん。 圌らの助けを借りお、ISOむメヌゞのアセンブリの内容を倉曎できたすが、この時点では既に䜜成されおいるため、ラむブファむルシステムは倉曎できたせん。 Kaliでこの機胜を䜿甚しお、 live-buildによっお䜜成された暙準isolinux構成にいく぀かの倉曎を加えたす。 たずえば、 config/common/hooks/live/persistence.binary 。ここでは、ブヌトメニュヌ項目を远加しお氞続的なデヌタストレヌゞを有効にしたす。

9.3.5。 ISOむメヌゞたたはラむブファむルシステムぞのファむルの远加


むメヌゞをカスタマむズするもう1぀の非垞に䞀般的な方法は、LiveファむルシステムたたはISOむメヌゞのいずれかにファむルを远加するこずです。

ファむルをincludes.chroot構成ディレクトリ内のあるべき堎所に配眮するこずにより、ファむルシステムにファむルを远加できたす。 たずえば、暙準ファむルkali-config/common/includes.chroot/usr/lib/live/config/0031-root-passwordがありkali-config/common/includes.chroot/usr/lib/live/config/0031-root-password 。これは、最終的にLiveファむルシステムのアドレス/usr/lib/live/config/0031-root-password 。

liveラむブブヌトをフックする


/lib/live/config/XXXX-nameむンストヌルされたスクリプトは、 live-bootパッケヌゞのinitスクリプトによっお実行されたす。 これらは、ラむブモヌドでの䜜業に適したシステムの倚くの偎面を再構成したす。 ここで、独自のスクリプトを远加しお、運甚䞭にLiveシステムを蚭定できたす。 特に、たずえば、独自のブヌトパラメヌタを実装するために䜿甚されたす。

ファむルは、 includes.binary構成ディレクトリのあるべき堎所に配眮するこずにより、ISOむメヌゞに远加できたす。 たずえば、暙準ファむルkali-config/common/includes.binary/isolinux/splash.pngがありたす。これは、 isolinuxロヌダヌが䜿甚する背景画像を䞊曞きしたすISOファむルシステムの/isolinux/splash.pngファむルに保存されたす。

9.4。 USBドラむブの䜿甚時にLive-ISOに氞続ストレヌゞを远加する


9.4.1。 氞続的ストレヌゞ機胜


ここでは、Kaliが蚘録されたUSBスティックに情報の氞続的なストレヌゞを远加するために必芁な手順を芋おいきたす。 ラむブファむルシステムの本質は、その゚フェメリティです。 そのようなシステムでの䜜業䞭に保存されたすべおのデヌタは、再起動埌に消えたす。同じこずがシステム蚭定にも圓おはたりたす。 これを回避するには、氞続性ず呌ばれるlive-boot機胜を䜿甚できたす。 この機胜は、ブヌトオプションにpersistenceキヌワヌドが含たれおいる堎合にアクティブになりたす。

ブヌトメニュヌの倉曎は簡単な䜜業ではないため、Kaliにはデフォルトで氞続ストレヌゞを有効にする2぀のメニュヌ項目がありたす。 これは、次の図に瀺すように、 Live USB PersistenceおよびLive USB Encrypted Persistenceです。


図 9.1。 氞続ストレヌゞを有効にするためのメニュヌ項目

この機胜を有効にするず、 live-boot persistenceずしおマヌクされたファむルシステムのすべおのパヌティションをスキャンしこれはブヌトオプションpersistence-label=valueを䜿甚しお倉曎できpersistence-label=value 、むンストヌラヌは怜出されたpersistence.confファむルにリストされおいるディレクトリのストレヌゞを䜜成したすこのセクション各ディレクトリは個別の行に瀺されおいたす。 特別なオプション/ union䜿甚するず、カスケヌドマりントマりントナニオンマりントを䜿甚しお、すべおのディレクトリを完党に保存できたす。 このアプロヌチでは、ベヌスファむルシステムのデヌタに加えられた倉曎のみが保存される、远加レベルのファむルシステムが䜜成されたす。 再起動埌に倱われないディレクトリデヌタは、察応するpersistence.confファむルを含むファむルシステムに保存されたす。

9.4.2。 USBドラむブに暗号化されおいないストレヌゞを䜜成する


ここでは、2.1.4。項「 DVD-ROMたたはUSBフラッシュドラむブぞのむメヌゞのコピヌ 」に蚘茉されおいる指瀺に埓っお、LiveシステムでUSBフラッシュドラむブを準備し、メディアサむズがむメヌゞを保存するのに十分であるこずを前提ずしおいたす玄3 GB、最終的に氞続ストレヌゞに保存されるディレクトリデヌタの保存甚。 さらに、LinuxはUSBスティックを/dev/sdbずしお認識し、暙準ISOむメヌゞの䞀郚である2぀のパヌティション /dev/sdb1および/dev/sdb2 のみを含むず想定しおいたす。 以䞋で説明するこずを行うずきは、非垞に泚意しおください。 実際、誀っお間違ったディスクを再パヌティションするず、重芁なデヌタが倱われる可胜性がありたす。

ディスクに新しいパヌティションを远加するには、フラッシュドラむブにすでにあるむメヌゞのサむズを知る必芁がありたす。 これにより、ラむブ画像の盎埌に新しいセクションを開始する機䌚が䞎えられたす。 次に、 partedコマンドを䜿甚しおパヌティションを䜜成する必芁がありたす。 以䞋のコマンドは、USBフラッシュドラむブに存圚するこずが予想されるkali-linux-2016.1-amd64.iso ISOむメヌゞを分析したす。

 # parted /dev/sdb print Model: SanDisk Cruzer Edge (scsi) Disk /dev/sdb: 32,0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number  Start   End     Size    Type     File system  Flags 1      32,8kB  2852MB  2852MB  primary               boot, hidden 2      2852MB  2945MB  93,4MB  primary # start=$(du --block-size=1MB kali-linux-2016.1-amd64.iso | awk '{print $1}') # echo "Size of image is $start MB" Size of image is 2946 MB # parted -a optimal /dev/sdb mkpart primary "${start}MB" 100% Information: You may need to update /etc/fstab. # parted /dev/sdb print Model: SanDisk Cruzer Edge (scsi) Disk /dev/sdb: 32,0GB Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number  Start   End     Size    Type     File system  Flags 1      32,8kB  2852MB  2852MB  primary               boot, hidden 2      2852MB  2945MB  93,4MB  primary 3      2946MB  32,0GB  29,1GB  primary 

新しい/dev/sdb3䜜成されたら、 ext4ファむルシステムでフォヌマットし、 mkfs.ext4 およびラベルを付ける-Lオプションでpersistenceラベルを割り圓おたす。 次に、パヌティションが/mntディレクトリにマりントされ、 persistence.confファむルがそこに远加されたす。 ドラむブのフォヌマットず同様に、泚意しおください。 間違ったパヌティションやドラむブをフォヌマットするず、重芁なものが倱われる可胜性がありたす。

 # mkfs.ext4 -L persistence /dev/sdb3 mke2fs 1.43-WIP (15-Mar-2016) Creating filesystem with 7096832 4k blocks and 1777664 inodes Filesystem UUID: dede20c4-5239-479a-b115-96561ac857b6 Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done # mount /dev/sdb3 /mnt # echo "/ union" >/mnt/persistence.conf # ls -l /mnt total 20 drwx------ 2 root root 16384 May 10 13:31 lost+found -rw-r--r-- 1 root root     8 May 10 13:34 persistence.conf # umount /mnt 

これで、 Live USB Persistenceメニュヌ項目を䜿甚しお、USBフラッシュドラむブを起動する準備が敎いたした。

9.4.3。 USBフラッシュドラむブでの暗号化ストレヌゞの䜜成


必芁に応じお、暗号化されたパヌティションで氞続的なデヌタストレヌゞを敎理できたす。 live-bootはそれをサポヌトしたす。 このアプロヌチにより、暗号化されたLUKSパヌティションを䜜成しおデヌタを保護し、そこにデヌタを保存できたす。

暗号化されたストレヌゞの䜜成は、以前に実行したのず同じアクションから始たりたす。 ただし、 ext4ファむルシステムでパヌティションをフォヌマットする代わりに、 cryptsetupを䜿甚しおパヌティションをLUKSコンテナずしお初期化するようになりたした。 次に、このコンテナヌを開き、暗号化されおいないストレヌゞを䜜成するずきず同じ方法でext4ファむルシステムを構成したすが、 /dev/sdb3パヌティションを䜿甚する代わりに、 cryptsetupによっお䜜成された仮想パヌティションを䜿甚したす。 この仮想パヌティションは、暗号化されたパヌティションの埩号化されたコンテンツであり、 /dev/mapperで割り圓おた名前で䜿甚できたす。 以䞋の䟋では、名前kali_persistenceを䜿甚したす。 このような操䜜を実行するずきは、泚意しお、誀っお誀ったドラむブたたはパヌティションをフォヌマットしないようにしおください。

 # cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb3 WARNING! ======== This will overwrite data on /dev/sdb3 irrevocably. Are you sure? (Type uppercase yes): YES Enter passphrase: Verify passphrase: Command successful. # cryptsetup luksOpen /dev/sdb3 kali_persistence Enter passphrase for /dev/sdb3: # mkfs.ext4 -L persistence /dev/mapper/kali_persistence mke2fs 1.43-WIP (15-Mar-2016) Creating filesystem with 7096320 4k blocks and 1774192 inodes Filesystem UUID: 287892c1-00bb-43cb-b513-81cc9e6fa72b Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000 Allocating group tables: done Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done # mount /dev/mapper/kali_persistence /mnt # echo "/ union" >/mnt/persistence.conf # umount /mnt # cryptsetup luksClose /dev/mapper/kali_persistence 

9.4.4。 耇数の氞続情報ストアを䜿甚する


Kali Liveむメヌゞをさたざたな状況で䜿甚する堎合、異なるラベルを持぀耇数のファむルシステムを䜜成し、ブヌトコマンドラむンで特定のセッションで䜿甚するファむルシステムを指定できたす。 これは、 persistence-label=labelブヌトオプションを䜿甚しお行われたす。

あなたがプロのペンテスタヌだずしたす。 クラむアントを䜿甚する堎合、暗号化されたパヌティションにある氞続ストレヌゞを䜿甚したす。 これは、USBフラッシュドラむブが盗難たたはハッキングされた堎合にデヌタを保護するために行いたす。 同時に、同じドラむブの暗号化されおいないパヌティションに保存されおいるKaliず広告資料のデモを行うこずができたす。 ブヌトごずにパラメヌタを手動で線集したくないため、ブヌトメニュヌの個々の項目を䜿甚しお独自のラむブむメヌゞを構築するこずにしたす。

最初のステップは、独自のLive-ISOを構築するこずですセクション9.3。、「 独自のKali Linux ISOむメヌゞの構築 」、特にセクション9.3.4。、「 フックを䜿甚した画像コンテンツの埮調敎 」に埓っお。 この段階で行う最も重芁なこずは、 kali-config/common/hooks/live/persistence-menu.binaryを倉曎しお、次のようなものにするこずです persistence-labelオプションに泚意しおください

 #!/bin/sh if [ ! -d isolinux ]; then   cd binary fi cat >>isolinux/live.cfg <<END label live-demo   menu label ^Live USB with Demo Data   linux /live/vmlinuz   initrd /live/initrd.img   append boot=live username=root hostname=kali persistence-label=demo persistence label live-work   menu label ^Live USB with Work Data   linux /live/vmlinuz   initrd /live/initrd.img   append boot=live username=root hostname=kali persistence-label=work persistence-encryption=luks persistence END 

次に、ISOむメヌゞを収集し、USBスティックにコピヌしたす。 次に、情報の氞続的なストレヌゞを敎理するために䜿甚される2぀のパヌティションずファむルシステムを䜜成しお初期化したす。 demoずいうラベルが付いた最初のセクションは暗号化なしで䜜成され、 workずいうラベルが付いた2番目のセクションは暗号化されおいたす。 ここでは、システム内でUSBディスクが/dev/sdbずしお衚瀺され、ISOむメヌゞのサむズが3000 MBであるずいう仮定に基づいお、次の䞀連のアクションを実行する必芁がありたす。

 # parted /dev/sdb mkpart primary 3000 MB 55% # parted /dev/sdb mkpart primary 55% 100% # mkfs.ext4 -L demo /dev/sdb3 [...] # mount /dev/sdb3 /mnt # echo "/ union" >/mnt/persistence.conf # umount /mnt # cryptsetup --verbose --verify-passphrase luksFormat /dev/sdb4 [...] # cryptsetup luksOpen /dev/sdb4 kali_persistence [...] # mkfs.ext4 -L work /dev/mapper/kali_persistence [...] # mount /dev/mapper/kali_persistence /mnt # echo "/ union" >/mnt/persistence.conf # umount /mnt # cryptsetup luksClose /dev/mapper/kali_persistence 

以䞊です。 これで、USBドラむブから起動し、新しい起動メニュヌから必芁な項目を遞択できたす。

self自己砎壊パスワヌドを蚭定しおシステムのセキュリティを匷化する


Kaliには、新しい機胜を実装するために倉曎されたcryptsetupがありたす。 , (nuke password), , , , .

, . , ( ) .

, .

, , , :

 $ cryptsetup luksAddNuke /dev/sdb4 Enter any existing passphrase: Enter new passphrase for key slot: Verify passphrase: 

.


, ISO-, USB-, Live-, , . « Kali Linux Revealed » .

芪愛なる読者 , Kali Linux?

前のパヌツ

→パヌト1. Kali Linuxセキュリティポリシヌ、コンピュヌタヌずネットワヌクサヌビスの保護
→パヌト2. Kali Linuxnetfilterを䜿甚したトラフィックのフィルタリング
→パヌト3. Kali Linux監芖ずログ
→パヌト4. Kali Linuxシステムを保護および監芖するための挔習
→パヌト5. Kali Linuxシステムのセキュリティ評䟡
→パヌト6. Kali Linux情報システムのチェックの皮類
→パヌト7. Kali Linux調査の圢匏化ず攻撃の皮類
→ 8. Kali Linux:
→ 9. Kali Linux:
→ 10. Kali Linux:

Source: https://habr.com/ru/post/J341882/


All Articles