Data Mining w skrzynce pocztowej z użyciem obiektów COM – zajawka

28 marca 2017 at 21:48

Sytuacja awaryjna – tysiące wiadomości e-mail na skrzynce pocztowej, na które trzeba odpowiedzieć w krótkim czasie jedną uniwersalną wiadomością. Niestety o autoresponderze (Out-Of-Office) lub o regule na skrzynce pocztowej nikt nie pomyślał wcześniej, o regule transportowej na Exchange’u już nie wspominając… Mamy w zasadzie 2 alternatywy: Odpowiadać na wszystkie wiadomości po kolei (albo zbiorczo) z GUI, przy czym problematyczne będzie tutaj upchanie różnych odbiorców w pole BCC (UDW) Zebrać informację o nadawcach wiadomości i wysłać zbiorczego maila dodając ich wszystkich do pola BCC. Problem jest w zasadzie tylko z „zebraniem nadawców”. Można próbować kopiować, eksportować maile, cuda wianki ale zajmuje to mnóstwo czasu a i efekt mizerny.   Podejdźmy do tego jak na administratora przystało – użyjmy Powershella 😉 Wykorzystamy do tego obiekty COM’owe Outlooka. Szybkie googlowanie da podpowiedzi w stylu:

Po wykonaniu zonk – niemiła niespodzianka:

Inne odmiany z Load Assembly również zwracają ten sam błąd… A jakie jest rozwiązanie? Jak zwykle trywialne Outlook na 99% w wersji 32-bitowej a Powershell uruchomiony standardowo w wersji 64-bitowe i tu jest zgrzyt. Wystarczy uruchomić Powershella x84 I obiekt COM’owy nie okrzyczy nas już błędami Reszta jest już prosta, łatwa i przyjemna (jeśli ktoś jest zaznajomiony z programowaniem obiektowym i […]

Wieloskładnikowe uwierzytelnianie w Powershell

20 stycznia 2017 at 10:08

Czasami/Często albo nawet i częściej niż często zachodzi konieczność przekazania komuś kompetencji w zakresie danej technologii. Gdy tylko jest to możliwe odbywa się to poprzez delegację uprawnień na poziomie aplikacji. Niestety nie zawsze jest to możliwe i zdarzają się sytuacje, w których nie można/nie da się (lub nie jest to wygodne) wydelegować uprawnień. Wtedy zazwyczaj pojawia się konieczność wydelegowania uprawnień w ramach jakiegoś konta ‚X’ i przekazania poświadczeń tego konta do grupy użytkowników celem wykonania swoich zadań. Właśnie w tym miejscu pojawia się problem jak zrobić to dobrze aby uniknąć hardcodowania haseł w treści skryptów:

Nie tędy droga – nie idźmy nigdy tą drogą błagam Hasło czystym tekstem w skrypcie to nie jest dobry pomysł. NIGDY! Natomiast próby jego „ukrywania” czy „zaciemniania” są zawsze tylko półśrodkami. Zabieg zapisania hasła w formie:

Może i utrudnia odczytanie takiego hasła wprost, ale umówmy się że nie stanowi najmniejszego problemu aby zrobić „reverse-engeneering” i wyciągnąć hasełko Kolejnym sposobem jest wykorzystanie Secure-String. Pomysł lepszy, ale nadal to szyfrowanie jest słabe i stosunkowo prosto odczytywalne:

Wystarczy wykonać:

I już znamy hasło w postaci czystego tekstu. A dodatkowo w przypadku chęci skorzystania z zapisanych poświadczeń na innej stacji odbijemy się od komunikatów o […]

Wyszukiwanie odpiętych skrzynek Exchange 2013/2016

4 października 2016 at 07:45

Jeśli przytrafiło Ci się, że odpiąłeś komuś skrzynkę w Exchange’u 2013/2016 i nie wiesz jak ją odnaleźć, próbujesz poleceń typu Get-Mailbox, Get-Recipient etc. ale żadne z nich nie zwraca oczekiwanego wyniku, który będzie zawierać odłączoną skrzynkę oraz bazę, w której ta skrzynka się znajduje to nie wpadaj w panikę tylko wykonaj polecenie:

W rezultatach dostaniesz coś w stylu: DisplayName                DisconnectDate                 Database ———–                        ————–                        ——– Marcin Krzanowicz     2016-10-04 07:35:29       BAZA_1   Jeśli mimo wszystko nie widzisz odpiętej skrzynki wykonaj polecenie:

W przypadku gdy nie znasz bazy, w której znajduje się odpięta skrzynka wy-listuj wszystkie bazy (Get-MailboxDatabase) i wykonaj polecenie dla każdej z baz (ForEach). OK znalazłeś skrzynkę – możesz odetchnąć i przystąpić do jej podpięcia pod użytkownika „Użytkownik” :

I trzymać kciuki, żeby nikt nie zauważył tej małej wtopy… 😉

KB3148812 + WSUS = Awaria

22 kwietnia 2016 at 08:12

Instalując poprawki na serwerach WSUS pracujących pod kontrolą Windows Server 2012R2 oraz Windows Server 2012 trzeba szczególnie uważać. Dlaczego? Otóż po zainstalowaniu wszystkich poprawek „jak leci” mamy prawie pewność, że w chwili obecnej unieruchomimy na dobre nasze serwery WSUS Po takiej akcji znajdziemy w event logu dziesiątki błędów w stylu: „The Service Control Manager tried to take a corrective action (Restart the service) after the unexpected termination of the WSUS Service service, but this action failed with the following error: An instance of the service is already running.” „The WSUS administration console was unable to connect to the WSUS Server via the remote API. Verify that the Update Services service, IIS and SQL are running on the server. If the problem persists, try restarting IIS, SQL, and the Update Services Service. The WSUS administration console has encountered an unexpected error. This may be a transient error; try restarting the administration console. If this error persists, Try removing the persisted preferences for the console by deleting the wsus file under %appdata%\Microsoft\MMC\. System.IO.IOException — The handshake failed due to an unexpected packet format. Source System Stack Trace:    at System.Net.Security.SslState.StartReadFrame(Byte[] buffer, Int32 readBytes, AsyncProtocolRequest asyncRequest)    at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest)    […]

CryptoLocker, CryptoWall, Ransomeware… – Skuteczna ochrona? – Jak się bronić?

29 lipca 2015 at 07:08

Spis treści: 1. CryptoLocker, CryptoWall, Ransomeware… – Skuteczna ochrona? – Intro 2. CryptoLocker, CryptoWall, Ransomeware… – Skuteczna ochrona? – Skąd? 3. CryptoLocker, CryptoWall, Ransomeware… – Skuteczna ochrona? – Czym się bronić? 4. CryptoLocker, CryptoWall, Ransomeware… – Skuteczna ochrona? – Jak się bronić? Jako zakończenie cyklu dotyczącego ochrony przed złośliwym oprogramowaniem szyfrującym dane typu CryptoLocker, CryptoWall, Ransomeware itp. czas na sprawy techniczne – czyli to, co Tygryski lubią najbardziej Zacznijmy od sposobu działania oprogramowania szyfrującego. Te gorzej napisane programy działają na zasadzie „podmiany” plików lub z dopisaniem rozszerzenia, czyli mając u siebie plik o nazwie „jakisplik.txt”, złośliwe oprogramowanie próbuje na boku stworzyć plik o nazwie „jakisplik.txt.enrypted”, który będzie zaszyfrowany. Dlaczego akurat tak a nie inaczej? – Ponieważ Crypto* działają po to, aby od użytkownika wymusić opłatę za odszyfrowanie plików – więc musi być jakiś klucz wg. którego pliki zostaną odszyfrowane. I to jest świetna wiadomość! (Niestety czasem znalezienie tego klucza nie jest takie proste…) Jak się obronić przez tymi „najgłupszymi” programami? Przede wszystkim na serwerach plików uruchamiamy Aktywną ochronę plików, która odmawia zapisu plików z rozszerzeniem *.encrypted, *.encrypt, *.enc – skuteczność 110% Nie przywrócisz nawet plików z backupu z takim rozszerzeniem. Ale to działa tylko na serwerach. Co zrobić ze stacją […]

© Marcin Krzanowicz