Pisanie niestandardowych zasobów DSC z MOF

15 June 2018

Pisanie niestandardowych zasobów DSC z MOF

DSC i MOF - power shell

https://docs.microsoft.com/pl-pl/powershell/dsc/authoringresourcemof

Kategorie Power Shell, Windows

Audit Windows Infrastructre

10 June 2018

WINSpect script provides audit checks and enumeration

  • Checking for installed security products.
  • Checking for DLL hijackability (Authenticated Users security context).
  • Checking for User Account Control settings.
  • Checking for unattended installs leftovers.
  • Enumerating world-exposed local filesystem shares.
  • Enumerating domain users and groups with local group membership.
  • Enumerating registry autoruns.
  • Enumerating local services that are configurable by Authenticated Users group members.
  • Enumerating local services for which corresponding binary is writable by Authenticated Users group members.
  • Enumerating non-system32 Windows Hosted Services and their associated DLLs.
  • Enumerating local services with unquoted path vulnerability.
  • Enumerating non-system scheduled tasks

https://github.com/A-mIn3/WINspect

https://isc.sans.edu/forums/diary/Windows+Auditing+with+WINspect/22810/

Command Line Kung Fu

14 March 2017

source: http://blog.commandlinekungfu.com/p/index-of-tips-and-tricks.html

Auditing

The Advantage of "sort" to View Passwords
Avoiding LANMAN False Positives
"chage" to Get/Set Password Security Parameters
Change a User's Password to Blank
Find Accounts With Superuser Privileges
Finding Duplicate User IDs
Finding Null Passwords
Lock Out Users Remotely While Preserving Session
Lock Screen With "tsdiscon"
"net use" and The Blank Passwords
Show Account Security Settings
Show Domain-Wide Settings For Accounts
Suspicious Password Entries
Why "wmic" Remote Lock Fails?
"wmic" to Display Users' SID
Workaround to View Windows Password Hashes


Forensics

Better "find" with touch
Determine where a USB device was plugged into
Display File Creation Time
Listing Files by Inode as a Proxy for Creation Time
Remotely Pull USB info
Show USB vendor/serial number 
USB History
Watch File Count in a Directory

Network Troubleshooting

Hack to Pull Out a Specific Protocol From "netstat" Output (Linux)
Kill Process by TCP/UDP port number
Learn About Network Traffic
"netstat" vs "lsof"
Protocol Stats
"watch" vs "netstat -c" 

Penetration Testing

The Broadcast Ping
Command-Line Ping Sweeper
Detecting when a scan reaches a given target
Firewall Chains
Look at Firewall Configs
Reverse DNS Records
See the Number of Times a Firewall Rule Was Triggered
Show Ports Allowed Through Firewall
Show Programs Allowed Through Firewall
Speed Up Ping


System Administration


Aborting a System Shutdown
Browsing the Registry with Powershell  
Careful with iptables "INPUT"
Converting Unix timestamps to human-readable form 
Disable The Guest Account 
Dropping Firewall Dead
Execute a Command En Mass
"find ...| xargs ..." vs "find ... -exec ..."
"findstr /m" to Print Only File Name
Find Files That Only Contain Printable ASCII With "findstr /p" (But be Aware)
Finding Names of Files Matching a String
Having Fun with Firewall
The Importance of Putting Your System's Hostname
IPTables or The Simplified Firewall Configuration
Linking Files
Listing Files and Their Sizes
Listing the largest 100 files
Poke Holes Through The Firewall
Reboot in [N] Seconds
Remote Command Execution
Simplify Your Life With "ufw"
SSH: Using "user@host" vs "-l" 
Symlink to an Entire Directory
What is hogging up the space?
WScript to Create Link For Files and Folders

Text Manipulation

Backup Before You Change With "sed"
Build Your Own "uniq" Command on Windows
Convert Multiple-Line Output into a Single Line Using "tr"
Convert Text Formats - Dos to Unix
Extra Little File to Help
"for" loops to parse text
Have "sed" Use Extended Regular Expressions
Replacing Strings in Multiple Files
Replacing Text Powershell Way
The Single Quote, The Double Quote, and The "FOR" Loop
When "sed" is better than "awk"

 

FruityWifi on Raspberry-Pi

13 December 2016

FruityWifi is an open source tool to audit wireless networks. It allows the user to deploy advanced attacks by directly using the web interface or by sending messages to it.

 

http://www.fruitywifi.com/index_eng.html

 

Wertyfikacja działania online (sandbox)

12 November 2016

Analiza Windows Active Directory

11 November 2016
https://gallery.technet.microsoft.com/Active-Directory-Audit-7754a877#!

User and Computer Remote AD

19 February 2016
  1. MS tool: http://www.microsoft.com/pl-pl/download/details.aspx?id=7887
  1. Run
 

dism /online /enable-feature /featurename:RemoteServerAdministrationTools

dism /online /enable-feature /featurename:RemoteServerAdministrationTools-Roles

dism /online /enable-feature /featurename:RemoteServerAdministrationTools-Roles-AD

dism /online /enable-feature /featurename:RemoteServerAdministrationTools-Roles-AD-DS

dism /online /enable-feature /featurename:RemoteServerAdministrationTools-Roles-AD-DS-SnapIns

  1. Run: dsa.msc
Kategorie Power Shell, Windows

Czy coś jest linkiem funkcja walidująca i normalizująca

8 May 2015
function isWebUrl([ref] $url)
{
############# jeżeli nie ma dwukropka dodaj http://
$test = $url.value
if(-not $test.Contains(":")){ $test = "http://$test"}

$normalizedURL = $test -as [System.URI]

if(($normalizedURL.HostNameType -eq 2) -and (-not $normalizedURL.IsFile) -and (-not $normalizedURL.IsLoopback) -and (-not $normalizedURL.IsUnc))
{
  $url.value = $normalizedURL.AbsoluteUri
 return $TRUE;
}
$url.value   >> "$savefolder\linki_badformated.txt"
return $FALSE;
}
 

 

Kategorie Power Shell

PowerShell z API Windows

28 March 2015
http://blogs.technet.com/b/heyscriptingguy/archive/2013/06/25/use-powershell-to-interact-with-the-windows-api-part-1.aspx

$MethodDefinition = @'

 

[DllImport("kernel32.dll", CharSet = CharSet.Unicode)]

 

public static extern bool CopyFile(string lpExistingFileName, string lpNewFileName, bool bFailIfExists);

 

'@

 

$Kernel32 = Add-Type -MemberDefinition $MethodDefinition -Name 'Kernel32' -Namespace 'Win32' -PassThru

 

# You may now call the CopyFile function

 

# Copy calc.exe to the user's desktop

 

$Kernel32::CopyFile("$($Env:SystemRoot)\System32\calc.exe", "$($Env:USERPROFILE)\Desktop\calc.exe", $False)

Kategorie Power Shell

SSH w powershell

27 March 2015

$IP="192.168.1.1"

$credS ="secretpasswordby" # $password = "mypassword" | ConvertTo-SecureString -asPlainText -Force | ConvertFrom-SecureString

$credN = "uzytkownik"

 

$cred = New-Object -TypeName System.Management.Automation.PSCredential -argumentlist $credN ,($credS | ConvertTo-SecureString)

New-SSHSession -ComputerName $IP -Credential ($cred)

Invoke-SSHCommand -Index 0 -Command "#bash command"
Kategorie Power Shell

Pobranie adresu email z wiadomości w formacie SMTP

26 March 2015

function GetSenderSMTPAddress([object] $mail)

{

    $PR_SMTP_ADDRESS =  "http://schemas.microsoft.com/mapi/proptag/0x39FE001E"

    if (!$mail)

    {

        $URL_Format_Error = "email object empty throw execption"

       Write-Error $URL_Format_Error

    }Po

    if ($mail.SenderEmailType -eq "EX")

    {

        $sender = $mail.Sender

        if  (-not (!$sender))

        {

            #Now we have an AddressEntry representing the Sender

            if (($sender.AddressEntryUserType -eq 0) -or ($sender.AddressEntryUserType -eq 5))

            {

                #Use the ExchangeUser object PrimarySMTPAddress

              $exchUser = $sender.GetExchangeUser()

                if (-not (!$exchUser))

                {

                    return $exchUser.PrimarySmtpAddress

                }

                else

                {

                    return "unknow@address"

                }

            }

            else

            {

                 

                return $($sender.PropertyAccessor.GetProperty($PR_SMTP_ADDRESS))

            }

        }

        else

        {

            return "unknow@address"

        }

    }

    else

    {

        return $mail.SenderEmailAddress

    }

}

Kategorie Power Shell

Iteracja po wielopoziomowych Hash'ach

25 March 2015

foreach($hash in $hashall.GetEnumerator()){

    write-host "$($hash.Name)"

        foreach ($property in $($hash.Value).GetEnumerator())

        {

            write-host "          $($property.Name)"

        }

}

Kategorie Power Shell

Outlook iteracja po mailach

23 March 2015

$skrzynka = "mail@test.pl"

$Folder = "Skrzynka odbiorcza"

 

Add-Type -assembly "Microsoft.Office.Interop.Outlook"

$Outlook = New-Object -ComObject Outlook.Application

$Namespace = $Outlook.GetNameSpace("MAPI")

$AllEmail = $NameSpace.Folders.Item($skrzynka).Folders.Item($Folder).Items

Kategorie Power Shell

Pobranie metod obiektu w PS

20 March 2015

$obiekt | gm
Kategorie Power Shell

Mamy atak - co robić ?

z Archiwum razorCMS | 15 July 2012

Huston mamy problem ! Jesteśmy pod atakiem ! W takiej sytuacji wyłączenie systemu / restart komputera może uniemożliwić dojście do źródła problemu. Jeżeli już jesteśmy pewni, że jesteśmy zaatakowani musimy w jak najkrótszym czasie odpowiedzieć na 6 pytań:

  • KTO ?  - kto jest uczestnikiem zajścia w szczególności napastnikiem,a kto jest ofiarą ?
  • CO ? - co się stało w kontekście, co jest rezultatem zajścia ?
  • KIEDY ? - znalezienie przedziału czasowego kiedy zostało bezpieczeństwo naruszone, ile trwało oraz określenie czy już się skończyło ?
  • GDZIE ? - określenie w jakim miejscu wystąpił incydent zarówno w odniesieniu do fizycznej jak i wirtualnej lokalizacji.
  • DLACZEGO ? - zwykle w podstawowym momencie odpowiedź na to pytanie jest trudna , zawsze warto sformułować jakąś hipotezę
  • JAK ? - jakie zasoby, narzędzia, serwisy zostały użyte, żeby dokonać naruszenia bezpieczeństwa np. wykorzystanie jakiś podatności systemu operacyjnego, nieświadomość użytkownika, domyślne hasło a może źródłem może był phishing ?

Pytania te mają pomóc nam przekazać informacje, zebrać dane konieczne do stworzenia kompletnej i zrozumiałej historii zdarzenia.

Kategorie Power Shell

Studium przypadku CND w Kaspersky

z Archiwum razorCMS | 25 May 2012

Ciekawe beletrystyczne opracowanie historii pewnego ataku, a w szczegółach serii ataków... Barwnie opisane, wielu bohaterów, chodź technika przeprowadzenia ataku "mało"(?) zaawansowana :(. Szczególnie interesująca nowela pod kontem zweryfikowania i zbudowanie historii CND wskazywanej we wcześniejszym poście.

Szkoda, że nie ma zakończenia, ale historia  wciąga na kilka minut :)

Miłego czytania:
http://www.securelist.com/en/downloads/vlpdfs/winnti-more-than-just-a-game-130410.pdf

Kategorie Free Thinking

Read The Fuc***g Manual

z Archiwum razorCMS | 27 March 2012

Świat mediów działa w środowisku uproszeń z tą często stosowana jest błędna definicja słowa hakera. Środki publicznego przekazu osobie łamiącej zabezpieczenia komputerów w  nieuczciwy sposób tytułuje mianem hakera i ... przyległo.

Co ciekawsze wikipedia także niepoprawnie definiuje termin... Przyjrzyjmy, się zatem co w trawie piszczy. W RFC 1983, które zastąpiło wcześniejsze RFC 1392 zostały zdefinowane pojęcia: haker i craker.

Pierwszy: "Cracker - A cracker is an individual who attempts to access computer systems without authorization.  These individuals are often malicious, as opposed to hackers, and have many means at their disposal for breaking into a system.  See also: hacker, Computer Emergency Response Team, Trojan Horse, virus, worm."
odnosi się do tego złego, złośliwego geeka którego celem jest zaszkodzenie. Korzysta przy tym z wszelkich możliwych narzędzi od wirusów i koni trojańskich przez czarodziejskie różdżki itp podejrzane pomoce.

Drugi: "Hacker - A person who delights in having an intimate understanding of the internal workings of a system, computers and computer networks in particular. The term is often misused in a pejorative context, where "cracker" would be the correct term.  See also: cracker." jest osobą czerpiącą radość z weryfikowania sposobu działania systemów informatycznych, często ta natura poznawcza doprowadza takiego romantyka do miejsc w których zyskuje dodatkowe nienależne uprawnienia. W przeciwieństwie do crackera nie wykorzystuje ich do szkodzenia ale zgłasza swoje odkrycia w celu uzyskania glorii i chwały swojego nazwiska lub ksywki.

W trakcie analizy RFP natrafiłem na doskonale znany akronim RTFM oraz jego rozwinięciem : Read The F*cking Manual (RTFM) This acronym is often used when someone asks a simple or common question.

źródło: http://tools.ietf.org/html/rfc1983 i http://tools.ietf.org/html/rfc1392

Kategorie Power Shell