Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) – Cryptoworld

List all windows share folder details in a single command

This might be a better answer if you can run PowerShell. It is for me. I found this at https://winception.wordpress.com/2021/02/19/exporting-share-info-and-permissions-with-powershell-and-csv-files/ and made some minor changes.

[cmdletbinding()]
Param()
Set-StrictMode -Version Latest

# ExportShareInfo.ps1
# This script will export type 0 shares with security info, and provide a hash table of shares
# in which security info could not be found.
#
#reference: http://mow001.blogspot.com/2006/05/powershell-export-shares-and-security.html
#SID was removed from the script. Instead, the username is used to find SID when the import is run

# CHANGE TO SERVER THAT HAS SHARES TO EXPORT
$fileServer = 'localhost'

# CHANGE TO FILENAME FOR EXPORTED CSV
$filename = 'shares.csv'

$date = get-date
$datefile = get-date -uformat '%m-%d-%Y-%H%M%S'
#Store shares where security cant be found in this hash table
$problemShares = @{}

Function Get-ShareInfo($shares) {
    $arrShareInfo = @()
    Foreach ($share in $shares) {
        trap{continue;}
        Write-Verbose $share.name
        $strWMI = "\"   $fileServer   "rootcimv2:win32_LogicalShareSecuritySetting.Name='"   $share.name   "'"
        $objWMI_ThisShareSec = $null
        $objWMI_ThisShareSec = [wmi]$strWMI

        #In case the WMI query or 'GetSecurityDescriptor' fails, we retry a few times before adding to 'problem shares'
        For($i=0;($i -lt 5) -and ($objWMI_ThisShareSec -eq $null);$i  ) {
            sleep -milliseconds 200
            $objWMI_ThisShareSec = [wmi]$strWMI
        }

        $objWMI_SD = $null
        $objWMI_SD = $objWMI_ThisShareSec.invokeMethod('GetSecurityDescriptor',$null,$null)

        For($j=0;($j -lt 5) -and ($objWMI_SD -eq $null);$j  ) {
            sleep -milliseconds 200
            $objWMI_SD = $objWMI_ThisShareSec.invokeMethod('GetSecurityDescriptor',$null,$null)
        }

        If($objWMI_SD -ne $null) {
            $arrShareInfo  = $objWMI_SD.Descriptor.DACL | % {
                $_ | select @{e={$share.name};n='Name'},
                @{e={$share.Path};n='Path'},
                @{e={$share.Description};n='Description'},
                AccessMask,
                AceFlags,
                AceType,
                @{e={$_.trustee.Name};n='User'},
                @{e={$_.trustee.Domain};n='Domain'}
            }
        }   
        Else {
            $ProblemShares.Add($share.name, "failed to find security info")
        }
    }
    return $arrshareInfo
}

Write-Verbose "Finding Share Security Information"

# get Shares (Type 0 is "Normal" shares) # can filter on path, etc. with where
$shares = gwmi Win32_Share -computername $fileServer -filter ætype=0'

# get the security info from shares, add the objects to an array
Write-Verbose " Complete"
Write-Verbose "Preparing Security Info for Export"

$ShareInfo = Get-ShareInfo($shares)

Write-Verbose " Complete"
Write-Verbose "Exporting to CSV"

# Export them to CSV
$ShareInfo | select Name,Path,Description,User,Domain,
AccessMask,AceFlags,AceType | export-csv -noType $filename

Write-Verbose " Complete"
Write-Verbose "Your file has been saved to $filename"

If ($problemShares.count -ge 1) {
    Write-Verbose "These Shares Failed to Export:"
}
$problemShares

List network shares from command prompt

Is it possible to browse a network for shares from the Windows command prompt?

:/>  Быстрое удаление сочетание клавиш

I want to map a drive to a network share (pushd), but I can’t remember the exact name of the machine or share. Is there a way to browse the network to find the shares via the command prompt?

Background: my Windows install was corrupted after an update and nothing’s working now. I haven’t backed up in a month, and I’m trying to do one final backup before I wipe it clean.

Как дать общий доступ к папке через командную строку cmd. | soft setup

Процеcс предоставления общего доступа к папке через графический интерфейс более длителен чем через командную строку и к тому же не всегда есть возможность выполнить его таким способом. Например, операционная система запущена от имени пользователя, а для предоставления общего доступа к папке необходимо обладать правами администратора. Поэтому необходимо будет сменить учетную запись и уже от имени администратора выполнять все процедуры.

В случае с командной строкой все гораздо проще. Под текущей учетной записью запускаем cmd от имени администратора и вводим команду:

net share sharename=c:sharefolder

где sharename – это имя общей папки в сети
sharefolder – это путь к папке на компьютере

Чтобы дать доступ к сетевой папке конкретному пользователю с определенными правами на чтение, изменение или полные, необходимо указать команду net share с параметром /GRANT.

net share sharename=d:foldername /GRANT:domainnameusername,FULL

Параметр /GRANT может принимать значения READ, CHANGE, FULL, что означает соответственно ЧТЕНИЕ, ИЗМЕНЕНИЕ, ПОЛНЫЙ.

Для удаление общего ресурса используется параметр /DELETE.

net share sharename /DELETE

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и psexec) – cryptoworld

Сегодня будет интересно, потому мы будем «заглядывать» в компьютеры к сотрудникам на их рабочих местах. Чудненько правда? В этой статье мы легко и просто научимся получать доступ ко всем жестким и съёмным дискам любого рабочего ПК. Делать это будем мастерски и в удалённом режиме. Ну что, поехали.

:/>  Командная строка; Что такое CMD, для чего он нужен и как он используется?

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

Схема типичная, поэтому у вас не должно будет возникнуть особых отличий.

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

Вот наглядная картина корпоративной сети в каждой компании, где существует множество рабочих станций, а также принтеров и другой техники.

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

Если мы попробуем зайти на какой-нибудь ПК в такой сети, мы можем увидеть либо пустой экран, либо расшареные ресурсы, либо сообщение об ошибке, что нет доступа к этому ПК.

Но есть волшебная штука, которая называется net share, и в ней есть прописанные пути, а именно c$,admin$, ipc$, может быть print$, либо любой другой локальный диск. И тогда мы получим такую картину:

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

Просто прописав путь \SADSDc$ мы получили доступ к диску C на удаленном ПК, тоже самое можно сделать и с диском D. Да и с любым другим диском на удаленном ПК.

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

Вопрос с flash-дисками немного сложнее, но и тут есть специальная программа, от Microsoft, которая является упрощенным Telnet и называется psExec.

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

Такой простой командой мы получили доступ до шела удаленной машины. И теперь самое интересное, в Windows есть интересные команды, которыми мы и воспользуемся.

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

Мы видим всё на удаленном ПК. Может сохранить информацию. Теперь остается подождать, когда пользователь вставит Flash в свой компьютер и когда это произойдет, мы увидим это:

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

Да, именно эту флешку. Но так просто ее мы не просмотрим, она не прописана в net share, поэтому видна она только на локальной машине. Но и этот вопрос решается.

Надо лишь ввести в cmd net share fl=f:, либо если со своей машины, то psexec \имя машины net share fl=f:. В результате увидим надпись, что ресурс успешно назначен общим.

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

В итоге мы видим всё, что находится на флешке у пользователя:

:/>  Как настроить и сохранить вид папок в Windows 10? - блог про компьютеры и их настройку

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

После просмотра надо не забыть удалить расшареную флешку, а то будет фонить на всю сеть.

Как удалённо получить доступ к информации в компьютерах корпоративной сети (net share и PsExec) - Cryptoworld

Вот и всё. Я написал эту статью, потому что многие думают, что если диск или папка на диске не расшарена в сети, то до неё ни у кого нет доступа. Как вы только что убедились, это не так.

Особенности

  • В операционной системе Windows XP Share не применяется. Она допускается при работе в MS-DOS.

Расшифровка значений

[диск_компьютера:]путь

Позволяет указать нахождение приложения SHARE.EXE.

/F:память

Задает некоторую область на диске компьютера. Требуется прописывать данный параметр в байтах. Пространство предназначается для выполнения записи сведений о совместном применении документов. Если ничего не задавать, то указывается значение 2048 байт. Требуется учитывать тот факт, что любой документ должен иметь возможность открываться, а также обладает маршрутом. Таким образом, следует задавать минимум 40 байт на файл.

/L:блок

Устанавливает количество одновременно блокируемых документов. Если не прописывать никаких значений, то искомое число будет составлять 20. Когда с одним документом работает одновременно несколько пользователей, то невозможно осуществить одновременную запись.

Синтаксис

share [/F:память] [/L:блок]


Можно осуществлять ввод не только в командной строке. Если прописывать информацию в документе CONFIG.SYS, предусматривается следующий вариант:

INSTALL=[[диск_компьютера:]путь]SHARE.EXE [/F:память] [/L:блок]

Оставьте комментарий