Точное дерево файлов для виртуальной системы Windows (и Linux)? | Взлом Симуляторов

407
Cyanite

Я создаю хакерский симулятор в Python, где пользователь должен взломать ПК (совершенно неожиданно, верно?)

Мне нужно минимальное файловое дерево для моего виртуального ПК с Windows (и также с Linux). (Дерево будет представлять только ОС в игре). Я пытался понять это сам, но я просто не знаю, какие папки важны или даже стандарт.

Мне не нужно ничего сложного, просто несколько папок с кратким описанием того, что должно быть в них (кроме очевидных, таких как Documents / Downloads / Pictures), но я хочу, чтобы дерево файлов выглядело корректно.

Бонусные баллы за идеи файла, чтобы пойти в них.

Редактировать: Мне просто нужно знать, что было бы хорошим минимальным файловым деревом, которое хорошо представляло бы систему Windows или Linux для моей игры. Например, какие папки из указанной ОС являются значимыми.

PS: мне сказали в GameDev спросить здесь.

-2
Я действительно дал вам предложение использовать виртуальную машину и использовать ее файловую систему для вашего симулятора. Я не буду давать ответ, потому что я чувствую, что я бы оказал вам медвежью услугу, если бы я сделал Ramhound 7 лет назад 0

1 ответ на вопрос

2
Theraot

Linux

В общем, я предлагаю взглянуть на структуру каталогов Linux, объясненную в HowToGeek, в которой приведены простые для понимания описания базовой структуры папок для Linux.

Примечание: могут быть расхождения от дистрибутива к дистрибутиву.

Я также предлагаю запустить jslinux с минимальной реализацией Linux, работающей на JavaScript, прямо в браузере.

Вы также можете получить live CD из дистрибутива Linux и использовать его для справки. Поскольку ваша игра ориентирована на взлом, вы можете рассмотреть дистрибутивы, посвященные тестированию на проникновение или компьютерной экспертизе.


Эти корневые папки из jslinux: /bin, /dev, /etc, /home, /lib, /lost+found, /mnt, /opt, /proc, /root, /sbin, /sys, /usr, /var.

«Знаковый» набор для Linux будет bin, etc, usr, home, var, и dev.

Я не буду вдаваться в детали каждой папки, но я хочу поговорить о некоторых из них. Во-первых /dev, где вы найдете файлы устройств. Это файлы, которые представляют устройства хранения (например, /dev/hdaустройство IDE, dev/hda1будет первым разделом первого устройства IDE и т. Д.). Ожидается найти несколько псевдо-устройств:

  • /dev/null: что, когда пишешь, принимай что-нибудь и отказывайся. При чтении это всегда в конце файла.
  • /dev/zeroтакже отбрасывает все При чтении он создает бесконечный поток NUL (символ 0).
  • dev/full: также создает бесконечный поток NUL, но если вы попытаетесь записать его, вы получите ошибку «диск заполнен».
  • dev/randomи /dev/urandom: когда вы читаете из них, они создают бесконечный поток псевдослучайных значений. Можно написать dev/random, это добавит энтропию к псевдослучайному генератору. Могут быть уязвимости, которые могут быть использованы при наводнении dev/randomтаким образом, что это влияет на программное обеспечение, которое использует его для криптографии. См. Анализ генератора случайных чисел в Linux.

Я также хочу упомянуть /bin, где вы найдете основные исполняемые файлы операционной системы. Вы также можете найти, /sbinкакие инструменты требуют повышенных привилегий для запуска. Кроме /usr/binтого, есть программы, установленные пользователем или несущественные пакеты, добавленные операционной системой.

Говоря о пользовательских данных, вы найдете эквивалент пользовательских папок в \home. В частности, я хочу упомянуть, что «корзина» является ответственностью среды рабочего стола (и, как вы, возможно, знаете, их много для Linux), но обычно она находится где-то в папке пользователя.

Еще одна важная папка /var, в которой, помимо прочего, будут находиться журналы активности, которые вы можете захотеть отредактировать игроку, чтобы удалить следы хакерских действий (примечание: если злоумышленник просто удалит журналы, будет возможность восстановить их с помощью судебной экспертизы). инструменты).

А потом знаменитые, /etcкоторые будут иметь конфигурационные файлы, в том числе /etc/passwdс хэшами паролей пользователей ... которые игра может захотеть взломать с помощью некоторого программного обеспечения для этой задачи. Вы также найдете, у /etc/hostsкого есть локальное сопоставление имен хостов с IP-адресами.

Примечание. Если вы хотите реалистично симулировать файловую систему, не забудьте разрешения.


Windows

Эти изменения от версии к версии, хотя любая современная версия (после Vista) Windows будет иметь Известные папки . Примерно так (на базе Windows 10):

C:\ Windows\ Fonts\ Resources\ System32\ ProgramFiles\ CommonFiles\ Windows Sidebar\Gadgets\ ProgramData\ Microsoft\Windows\ Ringtones\ GameExplorer\ DeviceMetadataStore\ Templates\ Start Menu\ Programs\ Administrative Tools\ StartUp\ OEM Links\ Users\ Public\ Desktop\ Documents\ Downloads\ Music\ SampleMusic\ SamplePlaylists\ Pictures\ SamplePictures\ AccountPictures\ Videos\ SampleVideos\ TheUser\ Desktop\ Documents\ Downloads\ Favorites\ Music\ Playlists\ Pictures\ Videos\ OneDrive\ Documents\ Pictures\ CameraRoll AppData\ LocalLow\ Local\ Programs\ Common\ Microsoft\ Windows Sidebar\Gadgets\ Windows\ Burn\Burn\ Ringtones\ GameExplorer\ History\ RoamingTiles\ Roaming\Microsoft\ Internet Explorer\Quick Launch\ User Pinned\ ImplicitAppShortcuts\ Windows\ Templates\ SendTo\ Recent\ Network Shortcuts\ Printer Shortcuts\ Libraries\ Documents.library-ms Music.library-ms Pictures.library-ms Videos.library-ms AccountPictures\ Start Menu\ Programs\ Administrative Tools\ StartUp\ Application Shortcuts\ 

Примечание. Конечно, «TheUser» - это имя пользователя.

Вы можете видеть, что есть много вещей, поэтому я не даю описание каждого из них, но вы можете найти их по ссылке, которую я предоставил выше.

Итак, у вас есть «Program Files», «ProgramData» (обычно скрытые), «Windows» и «Users». Кроме того, вы можете найти папку «Recovery» и не забыть о корзине .

На самом деле, то, что я перечислил выше, это не все установки Windows, вы можете получить виртуальную машину Windows от Microsoft, которая является пробной копией, действительной в течение 90 дней, и использовать ее, чтобы увидеть, какие файлы и папки там находятся.

Я не могу сказать, что актуально для вашей хакерской игры (при условии, что вы не будете копировать определенные исполняемые файлы, не говоря уже о графическом интерфейсе). По крайней мере, вы, возможно, захотите знать, C:\Windows\System32\config\SAMкакие из них будут иметь хэши паролей, а, возможно C:\Windows\System32\drivers\etc\hosts, и эквивалент etc/hostsLinux.

Это замечательно. Я знаю, что вы можете найти установленное пользователем программное обеспечение Windows в / Program Files /, но где вы найдете их в Linux? Cyanite 7 лет назад 0
Также я хотел бы скопировать «некоторые» исполняемые файлы. В основном для миссий и тому подобного. Но они будут буквально текстовыми файлами, заполненными случайными значениями "1/0", которые я просто заменяю на файлы .exe. Просто для галочки. Cyanite 7 лет назад 0
И напоследок: уже поздно упоминать об этом (извините!), Но когда я сказал «минимальный», я имел в виду, как десять иконических папок для представления каждой ОС. Хотя все это определенно полезно, у меня уже были полные деревья файлов. Я просто не знал, какие папки считались «знаковыми» для суперпользователей. (Опять извините !!) Cyanite 7 лет назад 0
@Cyanite вы найдете установленные программы в `/ usr / bin` (расширенный ответ, чтобы упомянуть об этом, а также" иконический "список). Я предлагаю имитировать [подписи файлов] (http://www.garykessler.net/library/file_sigs.html), например, ваши файлы `.exe` могут начинаться с" MZ ". Theraot 7 лет назад 0
Большое вам спасибо, вы были так полезны. Я должен быть в состоянии построить надежную файловую структуру благодаря вам. Я понятия не имею, что делать с этими сигнатурами файлов, хотя XD Cyanite 7 лет назад 0
@Cyanite, вы сказали, что будете имитировать файлы со случайными нулями и единицами, верно? Ну, то же самое, но заставьте их начать с подписи для типа файла, который вы пытаетесь имитировать. Зачем? потому что любой, кто имеет некоторый опыт работы в области компьютерной безопасности, который открывает `.exe` и не видит« MZ »при запуске, скажет:« Это фальшивый файл! ». Вы можете попробовать сами, открыть `.exe` с помощью текстового редактора. Конечно, простое добавление «MZ» не сделает его действительным, но для этого может потребоваться обученный взгляд. Theraot 7 лет назад 0
Хороший звонок. Тем не менее, я уже открывал .exe. Все, что я когда-либо вижу, это куча "(нуль)". И если вы когда-нибудь играли в «HackNet» (вдохновение для моей игры), то если вы присматриваете за ним, вы просто видите около двух предложений, равных 1 и 0. Cyanite 7 лет назад 0
Не то чтобы я пытался избегать тебя или чего-то еще. Я просто излагаю свой опыт. Cyanite 7 лет назад 0
Я полагаю, я мог бы просто скомпилировать программу на Python, которая имеет только одну строку кода, если я хочу сделать вещи проще для меня. Я сомневаюсь, что кто-нибудь заметит, что все исполняемые файлы имеют одинаковые данные. (от меня не хотелось компилировать собственный exe-файл для каждой отдельной программы) XD Cyanite 7 лет назад 0
Я знаю, что эта тема в значительной степени закрыта, но у меня есть один последний вопрос: где журналы активности для Windows? Google просто включает программное обеспечение, которое очищает их для вас. Cyanite 7 лет назад 0
@Cyanite Event Viewer Ramhound 7 лет назад 0
@ Ramhound Я имею в виду, какую папку. Как Linux является / VAR / Cyanite 7 лет назад 0
https://technet.microsoft.com/en-us/library/dd277418.aspx Ramhound 7 лет назад 0
http://serverfault.com/questions/70328/where-how-does-windows-store-the-data-in-the-event-logs Ramhound 7 лет назад 0
Надлежащее исследование полезно: http://superuser.com/questions/359484/windows-7-move-location-of-eventlog Ramhound 7 лет назад 0